Revision: 201033 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:45:17 +0300
branchRCL_3
changeset 43 7d48bed6ce0c
parent 41 594d59766373
child 44 987c9837762f
Revision: 201033 Kit: 201035
cbs/CbsServer/ClientInc/CbsCommon.h
cbs/CbsServer/ClientInc/ccbsmessageclientimpl.h
cbs/CbsServer/ClientSrc/ccbsmessageclient.cpp
cbs/CbsServer/Group/CbsServer.mmp
cbs/CbsServer/McnClientSrc/CCbsMcnListener.cpp
cbs/CbsServer/McnClientSrc/CMcn.cpp
cbs/CbsServer/McnClientSrc/CMcnTopicArray.cpp
cbs/CbsServer/McnClientSrc/CbsMcnPanic.cpp
cbs/CbsServer/McnClientSrc/Rcbsmcnsession.cpp
cbs/CbsServer/McnClientSrc/Rmcnsubsession.cpp
cbs/CbsServer/ServerInc/CCbsMcnSession.h
cbs/CbsServer/ServerInc/CCbsMessage.h
cbs/CbsServer/ServerInc/CCbsRecEtel.h
cbs/CbsServer/ServerInc/CbsLogger.h
cbs/CbsServer/ServerSrc/CCbsReceiverHelper.cpp
cbs/CbsServer/conf/cbsserver.confml
cbs/cbsui/AIF/CbsUiAppAif.rss
cbs/cbsui/Group/CbsUiApp_caption.rss
cbs/cbsui/Group/CbsUiApp_reg.rss
cbs/cbsui/Group/Cbsuiapp.hrh
cbs/cbsui/Group/bld.inf
cbs/cbsui/Group/cbsuiApp.mmp
cbs/cbsui/Group/cbsuiApp.rss
cbs/cbsui/Group/cbsui_icons_aif_bitmaps.mk
cbs/cbsui/Group/cbsui_icons_aif_bitmaps_dc.mk
cbs/cbsui/Group/cbsui_icons_aif_scalable.mk
cbs/cbsui/Group/cbsui_icons_aif_scalable_dc.mk
cbs/cbsui/Group/cbsui_icons_bitmaps.mk
cbs/cbsui/Group/cbsui_icons_bitmaps_dc.mk
cbs/cbsui/Group/cbsui_icons_scalable.mk
cbs/cbsui/Group/cbsui_icons_scalable_dc.mk
cbs/cbsui/Group/cbsuiapp.pkg
cbs/cbsui/Group/cbsuiapp_stub.SIS
cbs/cbsui/Group/cbsuiapp_stub.pkg
cbs/cbsui/Group/iconlist.txt
cbs/cbsui/UiInc/CCbsUIMsgView.h
cbs/cbsui/UiInc/CCbsUIMsgViewContainer.h
cbs/cbsui/UiInc/CCbsUiAddFromIndexDialog.h
cbs/cbsui/UiInc/CCbsUiConfirmationNote.h
cbs/cbsui/UiInc/CCbsUiEditTopicDlg.h
cbs/cbsui/UiInc/CCbsUiLanguageSettingPage.h
cbs/cbsui/UiInc/CCbsUiListQueryDialog.h
cbs/cbsui/UiInc/CCbsUiSettingsDialog.h
cbs/cbsui/UiInc/CCbsUiSettingsMonitor.h
cbs/cbsui/UiInc/CCbsUiSettingsView.h
cbs/cbsui/UiInc/CCbsUiTopicListMonitor.h
cbs/cbsui/UiInc/CCbsUiTopicListView.h
cbs/cbsui/UiInc/CCbsUiTopicListViewContainer.h
cbs/cbsui/UiInc/CCbsUiTopicView.h
cbs/cbsui/UiInc/CCbsUiTopicViewContainer.h
cbs/cbsui/UiInc/CCbsUiViewFactory.h
cbs/cbsui/UiInc/CCbsUiappAppUi.h
cbs/cbsui/UiInc/CCbsUiappApplication.h
cbs/cbsui/UiInc/CCbsUiappDocument.h
cbs/cbsui/UiInc/CCbsUiappDocument.inl
cbs/cbsui/UiInc/CbsUiConstants.h
cbs/cbsui/UiInc/CbsUiDebug.h
cbs/cbsui/UiInc/CbsUiId.h
cbs/cbsui/UiInc/CbsUiPanic.h
cbs/cbsui/UiInc/CbsUiUtility.h
cbs/cbsui/UiInc/MCbs.h
cbs/cbsui/UiInc/MCbsUiSettingsObserver.h
cbs/cbsui/UiInc/MCbsUiTopicMonitorObserver.h
cbs/cbsui/UiInc/MSaveMessageController.h
cbs/cbsui/UiInc/RCbsUi.h
cbs/cbsui/UiInc/ccbsuisettingsviewcontainer.h
cbs/cbsui/UiSrc/CCbsUiAddFromIndexDialog.cpp
cbs/cbsui/UiSrc/CCbsUiConfirmationNote.cpp
cbs/cbsui/UiSrc/CCbsUiEditTopicDlg.cpp
cbs/cbsui/UiSrc/CCbsUiLanguageSettingPage.cpp
cbs/cbsui/UiSrc/CCbsUiListQueryDialog.cpp
cbs/cbsui/UiSrc/CCbsUiMsgView.cpp
cbs/cbsui/UiSrc/CCbsUiMsgViewContainer.cpp
cbs/cbsui/UiSrc/CCbsUiSettingsMonitor.cpp
cbs/cbsui/UiSrc/CCbsUiSettingsView.cpp
cbs/cbsui/UiSrc/CCbsUiTopicListMonitor.cpp
cbs/cbsui/UiSrc/CCbsUiTopicListView.cpp
cbs/cbsui/UiSrc/CCbsUiTopicListViewContainer.cpp
cbs/cbsui/UiSrc/CCbsUiTopicView.cpp
cbs/cbsui/UiSrc/CCbsUiTopicViewContainer.cpp
cbs/cbsui/UiSrc/CCbsUiappAppUi.cpp
cbs/cbsui/UiSrc/CCbsUiappApplication.cpp
cbs/cbsui/UiSrc/CCbsUiappDocument.cpp
cbs/cbsui/UiSrc/CbsUiPanic.cpp
cbs/cbsui/UiSrc/CbsUiUtility.cpp
cbs/cbsui/UiSrc/RCbsUi.cpp
cbs/cbsui/UiSrc/ccbsuisettingsviewcontainer.cpp
cbs/cbsui/UiSrc/ccbsuiviewfactory.cpp
cbs/cbsui/cbsui.pro
cbs/cbsui/help/data/xhtml.zip
cbs/cbsui/help/group/bld.inf
cbs/cbsui/help/inc/cbs.hlp.hrh
cbs/cbsui/help/rom/cbsuihelps_variant.iby
cbs/cbsui/inc/cbslog.h
cbs/cbsui/inc/cbsuiconstants.h
cbs/cbsui/inc/cbsuidebug.h
cbs/cbsui/inc/cbsuimainwindow.h
cbs/cbsui/inc/cbsuitopiclistview.h
cbs/cbsui/inc/cbsuitopicview.h
cbs/cbsui/inc/cbsuiutility.h
cbs/cbsui/inc/cbsuiviewmanager.h
cbs/cbsui/inc/ccbsuisettingsmonitor.h
cbs/cbsui/inc/ccbsuitopiclistmonitor.h
cbs/cbsui/inc/mcbs.h
cbs/cbsui/inc/mcbsuisettingsobserver.h
cbs/cbsui/inc/mcbsuitopicmonitorobserver.h
cbs/cbsui/inc/msavemessagecontroller.h
cbs/cbsui/inc/rcbsui.h
cbs/cbsui/loc/cbsuiapp.loc
cbs/cbsui/resources/cbs_app.docml
cbs/cbsui/resources/cbs_app.qrc
cbs/cbsui/resources/cbs_topic_view.docml
cbs/cbsui/resources/cbsui_en.qm
cbs/cbsui/resources/cbsui_en.ts
cbs/cbsui/resources/cbsui_text_map.xls
cbs/cbsui/resources/icons/empty.png
cbs/cbsui/resources/icons/hotmark2.png
cbs/cbsui/resources/icons/qgn_menu_cb.svg
cbs/cbsui/resources/icons/qgn_menu_cb_2.svg
cbs/cbsui/resources/icons/save.png
cbs/cbsui/resources/icons/sub2.png
cbs/cbsui/rom/CbsUiApp.iby
cbs/cbsui/rom/CbsUiResources.iby
cbs/cbsui/rom/cbsui.iby
cbs/cbsui/rom/cbsui_stub.pkg
cbs/cbsui/rom/cbsui_stub.sis
cbs/cbsui/sis/cbsui.pkg
cbs/cbsui/src/cbsuimainwindow.cpp
cbs/cbsui/src/cbsuitopiclistview.cpp
cbs/cbsui/src/cbsuitopicview.cpp
cbs/cbsui/src/cbsuiutility.cpp
cbs/cbsui/src/cbsuiviewmanager.cpp
cbs/cbsui/src/ccbsuisettingsmonitor.cpp
cbs/cbsui/src/ccbsuitopiclistmonitor.cpp
cbs/cbsui/src/main.cpp
cbs/cbsui/src/rcbsui.cpp
cbs/group/bld.inf
cellular/PsetNotesUi/Group/Psui.mmp
cellular/PsetNotesUi/Group/bld.inf
cellular/PsetNotesUi/Inc/PsuiNoteController.h
cellular/PsetNotesUi/Inc/PsuiNoteMaster.h
cellular/PsetNotesUi/Inc/PsuiQueryDialog.h
cellular/PsetNotesUi/Inc/PsuiReqObserver.h
cellular/PsetNotesUi/Inc/PsuiVariationProxy.h
cellular/PsetNotesUi/Src/PsuiBarringObs.cpp
cellular/PsetNotesUi/Src/PsuiCliObserver.cpp
cellular/PsetNotesUi/Src/PsuiContainer.cpp
cellular/PsetNotesUi/Src/PsuiDivertObs.cpp
cellular/PsetNotesUi/Src/PsuiNoteController.cpp
cellular/PsetNotesUi/Src/PsuiNoteMaster.cpp
cellular/PsetNotesUi/Src/PsuiQueryDialog.cpp
cellular/PsetNotesUi/Src/PsuiReqObserver.cpp
cellular/PsetNotesUi/Src/PsuiResourceLoader.cpp
cellular/PsetNotesUi/Src/PsuiVariationProxy.cpp
cellular/PsetNotesUi/Src/PsuiWaitingObs.cpp
cellular/PsetNotesUi/tsrc/public/basic/Src/T_PSetNotesUi.cpp
cellular/SSSettings/Logger/SSSettingsLogger.h
cellular/SSSettings/group/SSSettings.mmp
cellular/SSSettings/group/bld.inf
cellular/SSSettings/inc/CSSSettingsAlsNotifier.h
cellular/SSSettings/inc/CSSSettingsNotifier.h
cellular/SSSettings/inc/CSSSettingsRefreshContainer.h
cellular/SSSettings/inc/CSSSettingsRefreshHandler.h
cellular/SSSettings/inc/MSSSettingsRefreshHandler.h
cellular/SSSettings/rom/SSSettings.iby
cellular/SSSettings/src/CSSSettingsActiveObject.cpp
cellular/SSSettings/src/CSSSettingsAlsNotifier.cpp
cellular/SSSettings/src/CSSSettingsNotifier.cpp
cellular/SSSettings/src/CSSSettingsRefreshContainer.cpp
cellular/SSSettings/src/CSSSettingsRefreshHandler.cpp
cellular/SSSettings/src/RCustomerServiceProfileCache.cpp
cellular/SSSettings/src/RSSSettings.cpp
cellular/SSSettings/tsrc/public/basic/EunitTest/Group/bld.inf
cellular/SSSettings/tsrc/public/basic/EunitTest/MT_SSSettings/MT_SSSettings.cpp
cellular/SSSettings/tsrc/public/basic/EunitTest/MT_SSSettings/MT_SSSettings.h
cellular/SSSettings/tsrc/public/basic/group/bld.inf
cellular/ServiceRequest/data/ServiceRequest.rss
cellular/ServiceRequest/group/ServiceRequest.mmp
cellular/ServiceRequest/group/bld.inf
cellular/ServiceRequest/inc/CServiceRequest.h
cellular/ServiceRequest/inc/ServiceRequest.hrh
cellular/ServiceRequest/rom/servicerequest.iby
cellular/ServiceRequest/rom/servicerequestResources.iby
cellular/ServiceRequest/src/CServiceRequest.cpp
cellular/group/bld.inf
cellular/psuinotes/bwins/psuinotesu.def
cellular/psuinotes/eabi/psuinotesu.def
cellular/psuinotes/inc/psuilogging.h
cellular/psuinotes/inc/psuiutils.h
cellular/psuinotes/psuinotes.pro
cellular/psuinotes/rom/psuinotes.iby
cellular/psuinotes/src/psuidivertnotehandler.cpp
cellular/psuinotes/src/psuilocalisation.cpp
cellular/psuinotes/src/psuinotes.cpp
cellular/psuinotes/src/psuiutils.cpp
cellular/psuinotes/src/psuiwaitingnotehandler.cpp
cellular/psuinotes/tsrc/mocks/mock_hbglobal.cpp
cellular/psuinotes/tsrc/mocks/mock_psetcalldivertingwrapper.cpp
cellular/psuinotes/tsrc/mocks/mock_psetcallwaitingwrapper.cpp
cellular/psuinotes/tsrc/mocks/mock_psetcallwaitingwrapper_p.cpp
cellular/psuinotes/tsrc/mocks/mock_psuilocalisation.cpp
cellular/psuinotes/tsrc/mocks/mock_psuinotes.cpp
cellular/psuinotes/tsrc/mocks/mock_psuiutils.cpp
cellular/psuinotes/tsrc/mocks/mock_qobject.cpp
cellular/psuinotes/tsrc/mocks/mock_qtranslator.cpp
cellular/psuinotes/tsrc/mocks/mock_xqsettingskey.cpp
cellular/psuinotes/tsrc/mocks/mock_xqsettingsmanager.cpp
cellular/psuinotes/tsrc/mocks/mock_xqsysinfo.cpp
cellular/psuinotes/tsrc/run_auto_tests_qt.bat
cellular/psuinotes/tsrc/ut_psuidivertnotehandler/qtestmains60.h
cellular/psuinotes/tsrc/ut_psuidivertnotehandler/ut_psuidivertnotehandler.cpp
cellular/psuinotes/tsrc/ut_psuidivertnotehandler/ut_psuidivertnotehandler.h
cellular/psuinotes/tsrc/ut_psuidivertnotehandler/ut_psuidivertnotehandler.pro
cellular/psuinotes/tsrc/ut_psuilocalisation/qtestmains60.h
cellular/psuinotes/tsrc/ut_psuilocalisation/ut_psuilocalisation.cpp
cellular/psuinotes/tsrc/ut_psuilocalisation/ut_psuilocalisation.h
cellular/psuinotes/tsrc/ut_psuilocalisation/ut_psuilocalisation.pro
cellular/psuinotes/tsrc/ut_psuinotes/qtestmains60ui.h
cellular/psuinotes/tsrc/ut_psuinotes/ut_psuinotes.cpp
cellular/psuinotes/tsrc/ut_psuinotes/ut_psuinotes.h
cellular/psuinotes/tsrc/ut_psuinotes/ut_psuinotes.pro
cellular/psuinotes/tsrc/ut_psuiutils/qtestmains60.h
cellular/psuinotes/tsrc/ut_psuiutils/ut_psuiutils.cpp
cellular/psuinotes/tsrc/ut_psuiutils/ut_psuiutils.h
cellular/psuinotes/tsrc/ut_psuiutils/ut_psuiutils.pro
cellular/psuinotes/tsrc/ut_psuiwaitingnotehandler/qtestmains60.h
cellular/psuinotes/tsrc/ut_psuiwaitingnotehandler/ut_psuiwaitingnotehandler.cpp
cellular/psuinotes/tsrc/ut_psuiwaitingnotehandler/ut_psuiwaitingnotehandler.h
cellular/psuinotes/tsrc/ut_psuiwaitingnotehandler/ut_psuiwaitingnotehandler.pro
cellular/sssettings/xqbindings/sssettingswrapper/bwins/sssettingswrapperu.def
cellular/sssettings/xqbindings/sssettingswrapper/eabi/sssettingswrapperu.def
cellular/sssettings/xqbindings/sssettingswrapper/rom/sssettingswrapper.iby
cellular/sssettings/xqbindings/sssettingswrapper/src/logging.h
cellular/sssettings/xqbindings/sssettingswrapper/src/sssettingswrapper.cpp
cellular/sssettings/xqbindings/sssettingswrapper/src/sssettingswrapper_p.cpp
cellular/sssettings/xqbindings/sssettingswrapper/src/sssettingswrapper_p.h
cellular/sssettings/xqbindings/sssettingswrapper/src/sssettingswrapper_s.cpp
cellular/sssettings/xqbindings/sssettingswrapper/sssettingswrapper.pri
cellular/sssettings/xqbindings/sssettingswrapper/sssettingswrapper.pro
cellular/sssettings/xqbindings/sssettingswrapper/tsrc/mocks/mock_rsssettings.cpp
cellular/sssettings/xqbindings/sssettingswrapper/tsrc/run_auto_tests_qt.bat
cellular/sssettings/xqbindings/sssettingswrapper/tsrc/ut_sssettingswrapper/qtestmains60.h
cellular/sssettings/xqbindings/sssettingswrapper/tsrc/ut_sssettingswrapper/ut_sssettingswrapper.cpp
cellular/sssettings/xqbindings/sssettingswrapper/tsrc/ut_sssettingswrapper/ut_sssettingswrapper.h
cellular/sssettings/xqbindings/sssettingswrapper/tsrc/ut_sssettingswrapper/ut_sssettingswrapper.pro
cellular/telephonysettings/Logger/PhoneSettingsLogger.h
cellular/telephonysettings/bwins/PHONESETTINGSU.DEF
cellular/telephonysettings/eabi/phonesettingsu.def
cellular/telephonysettings/group/bld.inf
cellular/telephonysettings/group/phonesettings.mmp
cellular/telephonysettings/inc/CNetworkResetHandler.h
cellular/telephonysettings/inc/MCallDiverting.h
cellular/telephonysettings/inc/MNetworkInfoObs.h
cellular/telephonysettings/inc/PSetCallDivertingBase.h
cellular/telephonysettings/inc/PSetCallDivertingBasicImpl.h
cellular/telephonysettings/inc/PSetCallDivertingCreator.h
cellular/telephonysettings/inc/PSetCallDivertingDualAffectImpl.h
cellular/telephonysettings/inc/PSetRefreshHandlerImpl.h
cellular/telephonysettings/inc/PSetUtility.h
cellular/telephonysettings/inc/PsetVariationProxy.h
cellular/telephonysettings/rom/PhoneSettings.iby
cellular/telephonysettings/src/CNetworkResetHandler.cpp
cellular/telephonysettings/src/PSetCallDivertingBase.cpp
cellular/telephonysettings/src/PSetCallDivertingBasicImpl.cpp
cellular/telephonysettings/src/PSetCallDivertingCreator.cpp
cellular/telephonysettings/src/PSetCallDivertingDualAffectImpl.cpp
cellular/telephonysettings/src/PSetRefreshHandlerImpl.cpp
cellular/telephonysettings/src/PSetSubscriberIdCheck.cpp
cellular/telephonysettings/src/PSetUtility.cpp
cellular/telephonysettings/src/PsetCSP.cpp
cellular/telephonysettings/src/PsetCallBarring.cpp
cellular/telephonysettings/src/PsetCallDiverting.cpp
cellular/telephonysettings/src/PsetCallWaiting.cpp
cellular/telephonysettings/src/PsetCli.cpp
cellular/telephonysettings/src/PsetContainer.cpp
cellular/telephonysettings/src/PsetNetwork.cpp
cellular/telephonysettings/src/PsetSAObserver.cpp
cellular/telephonysettings/src/PsetTelephony.cpp
cellular/telephonysettings/src/PsetVariationProxy.cpp
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestCallDivertingObserver.h
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestCallWaitingObserver.h
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestCliObserver.h
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestNetworkInfoObserver.h
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestNetworkModeObserver.h
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestParser.h
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestPsetRequestObserver.h
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestRefreshHandler.h
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestCSP.cpp
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestNetwork.cpp
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestNetworkInfoObserver.cpp
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestNetworkModeObserver.cpp
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestParser.cpp
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestSAObserver.cpp
cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestUtilities.cpp
cellular/telephonysettings/xqbindings/psetwrapper/bwins/psetwrapperu.def
cellular/telephonysettings/xqbindings/psetwrapper/eabi/psetwrapperu.def
cellular/telephonysettings/xqbindings/psetwrapper/psetwrapper.pri
cellular/telephonysettings/xqbindings/psetwrapper/psetwrapper.pro
cellular/telephonysettings/xqbindings/psetwrapper/rom/psetwrapper.iby
cellular/telephonysettings/xqbindings/psetwrapper/src/logging.h
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallbarringwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallbarringwrapper_p.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallbarringwrapper_p.h
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcalldivertingwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcalldivertingwrapper_p.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcalldivertingwrapper_p.h
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallwaitingwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallwaitingwrapper_p.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallwaitingwrapper_p.h
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcliwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcliwrapper_p.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetcliwrapper_p.h
cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkinfoconverter.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkinfoconverter.h
cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkwrapper_p.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkwrapper_p.h
cellular/telephonysettings/xqbindings/psetwrapper/src/psetwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/src/psetwrapper_s.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/common/qtestmains60.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/common/testutilities.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/common/testutilities.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cphcltemergencycall.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cphcltemergencycall.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cpsetrefreshhandler.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cpsetrefreshhandler.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cvoicemailbox.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cvoicemailboxentry.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcallbarring.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcallbarringwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcalldiverting.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcalldivertingwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcallwaiting.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcallwaitingwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcli.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcliwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcontainer.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcsp.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetnetwork.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetnetworkwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/run_auto_tests_qt.bat
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallbarringwrapper/ut_psetcallbarringwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallbarringwrapper/ut_psetcallbarringwrapper.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallbarringwrapper/ut_psetcallbarringwrapper.pro
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcalldivertingwrapper/ut_psetcalldivertingwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcalldivertingwrapper/ut_psetcalldivertingwrapper.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcalldivertingwrapper/ut_psetcalldivertingwrapper.pro
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallwaitingwrapper/ut_psetcallwaitingwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallwaitingwrapper/ut_psetcallwaitingwrapper.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallwaitingwrapper/ut_psetcallwaitingwrapper.pro
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcliwrapper/ut_psetcliwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcliwrapper/ut_psetcliwrapper.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcliwrapper/ut_psetcliwrapper.pro
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkinfoconverter/ut_psetnetworkinfoconverter.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkinfoconverter/ut_psetnetworkinfoconverter.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkinfoconverter/ut_psetnetworkinfoconverter.pro
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkwrapper/ut_psetnetworkwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkwrapper/ut_psetnetworkwrapper.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkwrapper/ut_psetnetworkwrapper.pro
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetwrapper/ut_psetwrapper.cpp
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetwrapper/ut_psetwrapper.h
cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetwrapper/ut_psetwrapper.pro
convergedcallengine/callprovider/group/callprovider.mmp
convergedcallengine/callprovider/rom/callprovider.iby
convergedcallengine/cce/group/cce.mmp
convergedcallengine/cce/inc/cccecall.h
convergedcallengine/cce/inc/cccecallcontainer.h
convergedcallengine/cce/inc/cccecallinfomediatorupdater.h
convergedcallengine/cce/inc/ccceconferencecall.h
convergedcallengine/cce/inc/cccedurationtimer.h
convergedcallengine/cce/inc/ccceemergencycall.h
convergedcallengine/cce/inc/ccceextension.h
convergedcallengine/cce/inc/ccceobserverasynchroniser.h
convergedcallengine/cce/inc/ccceplugin.h
convergedcallengine/cce/inc/cccepluginmanager.h
convergedcallengine/cce/inc/cccetransfercontroller.h
convergedcallengine/cce/src/ccce.cpp
convergedcallengine/cce/src/cccecall.cpp
convergedcallengine/cce/src/cccecallcontainer.cpp
convergedcallengine/cce/src/cccecallinfomediator.cpp
convergedcallengine/cce/src/cccecallinfomediatorupdater.cpp
convergedcallengine/cce/src/cccecallparameters.cpp
convergedcallengine/cce/src/ccceconferencecall.cpp
convergedcallengine/cce/src/cccedtmf.cpp
convergedcallengine/cce/src/cccedurationtimer.cpp
convergedcallengine/cce/src/ccceextension.cpp
convergedcallengine/cce/src/ccceobserverasynchroniser.cpp
convergedcallengine/cce/src/ccceplugin.cpp
convergedcallengine/cce/src/cccepluginmanager.cpp
convergedcallengine/cenrepdatabase/group/cenrepdatabase.mmp
convergedcallengine/cenrepdatabase/src/cenrepdatabaseutil.cpp
convergedcallengine/csplugin/data/102828e3.rss
convergedcallengine/csplugin/data/csplugin_stub.pkg
convergedcallengine/csplugin/data/csplugin_stub.sis
convergedcallengine/csplugin/group/bld.inf
convergedcallengine/csplugin/group/csplugin.mmp
convergedcallengine/csplugin/group/csplugin_UID_.cpp
convergedcallengine/csplugin/inc/cspaudiohandler.h
convergedcallengine/csplugin/inc/cspaudiostreams.h
convergedcallengine/csplugin/inc/cspcall.h
convergedcallengine/csplugin/inc/cspcalladdedhandler.h
convergedcallengine/csplugin/inc/cspcallarray.h
convergedcallengine/csplugin/inc/cspcallcommandhandler.h
convergedcallengine/csplugin/inc/cspcallinfomonitor.h
convergedcallengine/csplugin/inc/cspcenreplistener.h
convergedcallengine/csplugin/inc/cspcipheringstatusmonitor.h
convergedcallengine/csplugin/inc/cspclientvideocall.h
convergedcallengine/csplugin/inc/cspclientvoicecall.h
convergedcallengine/csplugin/inc/cspconferencecall.h
convergedcallengine/csplugin/inc/cspconsts.h
convergedcallengine/csplugin/inc/cspdevsound.h
convergedcallengine/csplugin/inc/cspdtmfprovider.h
convergedcallengine/csplugin/inc/cspetelcallcapsmonitor.h
convergedcallengine/csplugin/inc/cspetelcalleventmonitor.h
convergedcallengine/csplugin/inc/cspetelcallrequester.h
convergedcallengine/csplugin/inc/cspetelcallstatusmonitor.h
convergedcallengine/csplugin/inc/cspetelcallwaitingrequester.h
convergedcallengine/csplugin/inc/cspetelconferencecallrequester.h
convergedcallengine/csplugin/inc/cspetelconferencecapsmonitor.h
convergedcallengine/csplugin/inc/cspetelconferenceeventmonitor.h
convergedcallengine/csplugin/inc/cspetelconferencestatusmonitor.h
convergedcallengine/csplugin/inc/cspeteldtmfmonitor.h
convergedcallengine/csplugin/inc/cspeteldtmfstopmonitor.h
convergedcallengine/csplugin/inc/cspetelincomingcallmonitor.h
convergedcallengine/csplugin/inc/cspetellinestatusmonitor.h
convergedcallengine/csplugin/inc/cspetelvideocallcapsmonitor.h
convergedcallengine/csplugin/inc/cspforwardprovider.h
convergedcallengine/csplugin/inc/csplogger.h
convergedcallengine/csplugin/inc/cspmicrophone.h
convergedcallengine/csplugin/inc/csppanic.pan
convergedcallengine/csplugin/inc/csppubsublistener.h
convergedcallengine/csplugin/inc/cspremotealertingtonelistener.h
convergedcallengine/csplugin/inc/csprovider.h
convergedcallengine/csplugin/inc/cspservicesettingshandler.h
convergedcallengine/csplugin/inc/cspspeaker.h
convergedcallengine/csplugin/inc/cspsssettingshandler.h
convergedcallengine/csplugin/inc/cspsupplementaryservicesmonitor.h
convergedcallengine/csplugin/inc/csptimer.h
convergedcallengine/csplugin/inc/csptransferprovider.h
convergedcallengine/csplugin/inc/cspuuimessagesender.h
convergedcallengine/csplugin/inc/cspuuimonitor.h
convergedcallengine/csplugin/inc/cspvideocall.h
convergedcallengine/csplugin/inc/cspvideocallconnectionhandler.h
convergedcallengine/csplugin/inc/cspvoicecall.h
convergedcallengine/csplugin/inc/mcspaudiostreamobserver.h
convergedcallengine/csplugin/inc/mcspcalladdedobserver.h
convergedcallengine/csplugin/inc/mcspcallcommandhandling.h
convergedcallengine/csplugin/inc/mcspcallerrorobserver.h
convergedcallengine/csplugin/inc/mcspcallinformation.h
convergedcallengine/csplugin/inc/mcspcallobserver.h
convergedcallengine/csplugin/inc/mcspcenrepobserver.h
convergedcallengine/csplugin/inc/mcspcommoninfo.h
convergedcallengine/csplugin/inc/mcspconferencestatusobserver.h
convergedcallengine/csplugin/inc/mcspdevsoundobserver.h
convergedcallengine/csplugin/inc/mcspincomingcallobserver.h
convergedcallengine/csplugin/inc/mcsplinestatusobserver.h
convergedcallengine/csplugin/inc/mcsppubsubobserver.h
convergedcallengine/csplugin/inc/mcspremotealertingtoneobserver.h
convergedcallengine/csplugin/inc/mcspsecuritysettingobserver.h
convergedcallengine/csplugin/inc/mcsptimerobserver.h
convergedcallengine/csplugin/inc/mcspuusmessageobserver.h
convergedcallengine/csplugin/inc/rcsplinecontainer.h
convergedcallengine/csplugin/inc/tcspskypeidparser.h
convergedcallengine/csplugin/rom/csplugin.iby
convergedcallengine/csplugin/src/cspaudiohandler.cpp
convergedcallengine/csplugin/src/cspaudiostreams.cpp
convergedcallengine/csplugin/src/cspcall.cpp
convergedcallengine/csplugin/src/cspcalladdedhandler.cpp
convergedcallengine/csplugin/src/cspcallarray.cpp
convergedcallengine/csplugin/src/cspcallcommandhandler.cpp
convergedcallengine/csplugin/src/cspcallinfomonitor.cpp
convergedcallengine/csplugin/src/cspcenreplistener.cpp
convergedcallengine/csplugin/src/cspcipheringstatusmonitor.cpp
convergedcallengine/csplugin/src/cspclientvideocall.cpp
convergedcallengine/csplugin/src/cspclientvoicecall.cpp
convergedcallengine/csplugin/src/cspconferencecall.cpp
convergedcallengine/csplugin/src/cspdevsound.cpp
convergedcallengine/csplugin/src/cspdtmfprovider.cpp
convergedcallengine/csplugin/src/cspetelcallcapsmonitor.cpp
convergedcallengine/csplugin/src/cspetelcalleventmonitor.cpp
convergedcallengine/csplugin/src/cspetelcallrequester.cpp
convergedcallengine/csplugin/src/cspetelcallstatusmonitor.cpp
convergedcallengine/csplugin/src/cspetelcallwaitingrequester.cpp
convergedcallengine/csplugin/src/cspetelconferencecallrequester.cpp
convergedcallengine/csplugin/src/cspetelconferencecapsmonitor.cpp
convergedcallengine/csplugin/src/cspetelconferenceeventmonitor.cpp
convergedcallengine/csplugin/src/cspetelconferencestatusmonitor.cpp
convergedcallengine/csplugin/src/cspeteldtmfmonitor.cpp
convergedcallengine/csplugin/src/cspeteldtmfstopmonitor.cpp
convergedcallengine/csplugin/src/cspetelincomingcallmonitor.cpp
convergedcallengine/csplugin/src/cspetellinestatusmonitor.cpp
convergedcallengine/csplugin/src/cspetelvideocallcapsmonitor.cpp
convergedcallengine/csplugin/src/cspforwardprovider.cpp
convergedcallengine/csplugin/src/cspmicrophone.cpp
convergedcallengine/csplugin/src/csppanic.cpp
convergedcallengine/csplugin/src/cspproxy.cpp
convergedcallengine/csplugin/src/csppubsublistener.cpp
convergedcallengine/csplugin/src/cspremotealertingtonelistener.cpp
convergedcallengine/csplugin/src/csprovider.cpp
convergedcallengine/csplugin/src/cspservicesettingshandler.cpp
convergedcallengine/csplugin/src/cspspeaker.cpp
convergedcallengine/csplugin/src/cspsssettingshandler.cpp
convergedcallengine/csplugin/src/cspsupplementaryservicesmonitor.cpp
convergedcallengine/csplugin/src/csptimer.cpp
convergedcallengine/csplugin/src/csptransferprovider.cpp
convergedcallengine/csplugin/src/cspuuimessagesender.cpp
convergedcallengine/csplugin/src/cspuuimonitor.cpp
convergedcallengine/csplugin/src/cspvideocall.cpp
convergedcallengine/csplugin/src/cspvideocallconnectionhandler.cpp
convergedcallengine/csplugin/src/cspvoicecall.cpp
convergedcallengine/csplugin/src/rcsplinecontainer.cpp
convergedcallengine/csplugin/src/tcspskypeidparser.cpp
convergedcallengine/group/bld.inf
convergedcallengine/serviceselector/group/bld.inf
convergedcallengine/serviceselector/group/serviceselector.mmp
convergedcallengine/serviceselector/inc/cssconnectionhandler.h
convergedcallengine/serviceselector/inc/cssiconfileprovider.h
convergedcallengine/serviceselector/inc/cssservicehandlervoip.h
convergedcallengine/serviceselector/rom/serviceselector.iby
convergedcallengine/serviceselector/src/cssbshandler.cpp
convergedcallengine/serviceselector/src/cssconnectionhandler.cpp
convergedcallengine/serviceselector/src/cssnotedialog.cpp
convergedcallengine/serviceselector/src/cssuiutilities.cpp
convergedcallengine/serviceselector/srcdata/serviceselector.rss
convergedcallengine/spsettings/backuphelper/group/bld.inf
convergedcallengine/spsettings/backuphelper/group/spsbackuphelper.mmp
convergedcallengine/spsettings/backuphelper/inc/spsbackuphelpermonitor.h
convergedcallengine/spsettings/backuphelper/src/spsbackuphelpermonitor.cpp
convergedcallengine/spsettings/conf/spsettings.confml
convergedcallengine/spsettings/group/bld.inf
convergedcallengine/spsettings/group/serviceprovidersettings.mmp
convergedcallengine/spsettings/inc/spsettingsengine.h
convergedcallengine/spsettings/src/spentry.cpp
convergedcallengine/spsettings/src/spnotifychange.cpp
convergedcallengine/spsettings/src/spproperty.cpp
convergedcallengine/spsettings/src/spsbufferedpublisher.cpp
convergedcallengine/spsettings/src/spsettingsengine.cpp
convergedcallengine/spsettings/src/spsettingsvoiputils.cpp
engines/group/bld.inf
engines/vmbxengine/EABI/VMBXU.DEF
engines/vmbxengine/bwins/VMBXU.DEF
engines/vmbxengine/conf/101F874F.txt
engines/vmbxengine/conf/voicemailbox.confml
engines/vmbxengine/conf/voicemailbox_101F874F.crml
engines/vmbxengine/group/backup_registration.xml
engines/vmbxengine/group/bld.inf
engines/vmbxengine/group/vmbx.pkg
engines/vmbxengine/group/vmbx.sis
engines/vmbxengine/group/vmbx_stub.pkg
engines/vmbxengine/group/vmbx_stub.sis
engines/vmbxengine/group/vmbxengine.mmp
engines/vmbxengine/inc/vmblogger.h
engines/vmbxengine/inc/vmbshandler.h
engines/vmbxengine/inc/vmdialog.h
engines/vmbxengine/inc/vmlist.h
engines/vmbxengine/inc/vmsettingsuiiconfileprovider.h
engines/vmbxengine/inc/vmspshandler.h
engines/vmbxengine/inc/voicemailboxprivatecrkeys.h
engines/vmbxengine/loc/vmbx.loc
engines/vmbxengine/rom/vmbxengine.iby
engines/vmbxengine/rom/vmbxengineresources.iby
engines/vmbxengine/src/vmbshandler.cpp
engines/vmbxengine/src/vmbx.rss
engines/vmbxengine/src/vmdialog.cpp
engines/vmbxengine/src/vmlist.cpp
engines/vmbxengine/src/vmnumber.cpp
engines/vmbxengine/src/vmsettingsuiiconfileprovider.cpp
engines/vmbxengine/src/vmspshandler.cpp
group/bld.inf
layers.sysdef.xml
networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWGsmMessageHandler.h
networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWGsmNetworkCellReselectionHandler.h
networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWGsmSessionImplementation.h
networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkMCNEngine.h
networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkSystemEventMonitor.h
networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkViagBaseEngine.h
networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkViagCbEngine.h
networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkViagLcEngine.h
networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWGsmMessageHandler.cpp
networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWGsmNetworkCellReselectionHandler.cpp
networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWGsmSessionImplementation.cpp
networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkMCNEngine.cpp
networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkViagBaseEngine.cpp
networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkViagCbEngine.cpp
networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkViagLcEngine.cpp
networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/GsmNetworkHandlingProxy.cpp
networkhandling/networkhandlingengine/NetworkHandlingInc/CNWMessageHandler.h
networkhandling/networkhandlingengine/NetworkHandlingInc/CNWNetworkModeMonitor.h
networkhandling/networkhandlingengine/NetworkHandlingInc/CNWNetworkMonitorBase.h
networkhandling/networkhandlingengine/NetworkHandlingInc/CNWNetworkRegistrationStatusReceiver.h
networkhandling/networkhandlingengine/NetworkHandlingInc/CNWProgrammableOperatorNameCommand.h
networkhandling/networkhandlingengine/NetworkHandlingInc/cnwnetworkselectionsettingmonitor.h
networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWMessageHandler.cpp
networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkModeMonitor.cpp
networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkRegistrationStatusMonitor.cpp
networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWSession.cpp
networkhandling/networkhandlingengine/NetworkHandlingSrc/cnwnetworkselectionsettingmonitor.cpp
nwnotifier/data/nwnotifier.rss
nwnotifier/group/bld.inf
nwnotifier/group/nwnotifier.mmp
nwnotifier/inc/networknotifiernotewrapper.h
nwnotifier/inc/nwregistrationstatusmonitor.h
nwnotifier/loc/networknotifier.loc
nwnotifier/rom/nwnotifier.iby
nwnotifier/rom/nwnotifierresources.iby
nwnotifier/src/networknotifiernotewrapper.cpp
nwnotifier/src/nwnotifier.cpp
nwnotifier/src/nwregistrationstatusmonitor.cpp
phoneclientserver/CallUI/BMARM/DIALUTILSU.DEF
phoneclientserver/CallUI/BWINS/DIALUTILSU.DEF
phoneclientserver/CallUI/Data/101F868E.rss
phoneclientserver/CallUI/Data/CallUI.rss
phoneclientserver/CallUI/Group/CaUiEngine.mmp
phoneclientserver/CallUI/Group/CaUiPlugin.mmp
phoneclientserver/CallUI/Group/bld.inf
phoneclientserver/CallUI/Inc/CaUiEngine/CaUiActiveObject.h
phoneclientserver/CallUI/Inc/CaUiEngine/CaUiDialDataContainer.h
phoneclientserver/CallUI/Inc/CaUiEngine/CaUiDialogs.h
phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEng.h
phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngFactImpl.h
phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngine.h
phoneclientserver/CallUI/Inc/CaUiEngine/CaUiMessageSender.h
phoneclientserver/CallUI/Inc/CaUiEngine/CaUiVoIPExtension.h
phoneclientserver/CallUI/Inc/CaUiPlugin/CaUiPlugin.h
phoneclientserver/CallUI/Rom/CallUI.iby
phoneclientserver/CallUI/Rom/CallUI_Variant.iby
phoneclientserver/CallUI/Src/CaUiEngine/CaUiActiveObject.cpp
phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialDataContainer.cpp
phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialogs.cpp
phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngFactImpl.cpp
phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngine.cpp
phoneclientserver/CallUI/Src/CaUiEngine/CaUiMessageSender.cpp
phoneclientserver/CallUI/Src/CaUiEngine/CaUiQuery.cpp
phoneclientserver/CallUI/Src/CaUiEngine/CaUiVoIPExtension.cpp
phoneclientserver/CallUI/Src/CaUiEngine/ccauireconnectqueryimpl.cpp
phoneclientserver/CallUI/Src/CaUiPlugin/CaUIMain.cpp
phoneclientserver/CallUI/Src/CaUiPlugin/CaUiPlugin.cpp
phoneclientserver/CallUI/loc/callui.loc
phoneclientserver/EnPolicy/Group/DOSENPolicy.mmp
phoneclientserver/EnPolicy/Group/SOSENPolicy.mmp
phoneclientserver/EnPolicy/Group/bld.inf
phoneclientserver/EnPolicy/Inc/CEmergencyNumberPolicy.h
phoneclientserver/EnPolicy/Inc/DosEnPolicy/CDOSEmergencyNumberPolicy.h
phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyHandler.h
phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyManager.h
phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSosEnPolicyENListHandler.h
phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSosEnPolicySatRefresh.h
phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSosEnPolicySimStatusMonitor.h
phoneclientserver/EnPolicy/Src/DosEnPolicy/CDOSEmergencyNumberPolicy.cpp
phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEmergencyNumberPolicyHandler.cpp
phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEmergencyNumberPolicyManager.cpp
phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEnPolicyENListHandler.cpp
phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEnPolicySatRefresh.cpp
phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEnPolicySimStatusMonitor.cpp
phoneclientserver/EnPolicy/rom/enpolicy.iby
phoneclientserver/aiwdialdata/group/aiwdialdata.mmp
phoneclientserver/aiwdialdata/group/bld.inf
phoneclientserver/aiwdialdata/inc/aiwinternaldialdata.h
phoneclientserver/aiwdialdata/rom/aiwdialdata.iby
phoneclientserver/callui/inc/cauiengine/cauimessagesenderstub.h
phoneclientserver/callui/src/cauiengine/cauienginestub.cpp
phoneclientserver/callui/src/cauiengine/cauimessagesenderstub.cpp
phoneclientserver/dialutils/group/bld.inf
phoneclientserver/dialutils/group/dialutils.mmp
phoneclientserver/dialutils/inc/DialUtilsFactImpl.h
phoneclientserver/dialutils/inc/DialUtilsImpl.h
phoneclientserver/dialutils/src/DialUtilsFactImpl.cpp
phoneclientserver/dialutils/src/DialUtilsImpl.cpp
phoneclientserver/dialutils/tsrc/public/basic/DialUtilsTests/src/DialUtilsTestsCases.cpp
phoneclientserver/group/bld.inf
phoneclientserver/inc/cphcltdialer.h
phoneclientserver/inc/cphcltextphonebase.h
phoneclientserver/inc/cphcltextphonedialdata.h
phoneclientserver/inc/mphcltextphoneobserver.h
phoneclientserver/inc/rphcltemergencycall.h
phoneclientserver/phoneclient/Data/PhoneClient.rss
phoneclientserver/phoneclient/Group/PhoneClient.mmp
phoneclientserver/phoneclient/Group/bld.inf
phoneclientserver/phoneclient/Inc/CommandHandler/CPhCltComHandImplementation.h
phoneclientserver/phoneclient/Inc/CommandHandler/RPhCltCommandHandler.h
phoneclientserver/phoneclient/Inc/EmergencyNumber/CPhCltEmergencyTelNumber.h
phoneclientserver/phoneclient/Inc/EmergencyNumber/EmergencyNumber_Aiw/CPhCltEmergencyCallImpl.h
phoneclientserver/phoneclient/Inc/EmergencyNumber/EmergencyNumber_Aiw/RPhCltEmergencyCall.h
phoneclientserver/phoneclient/Inc/EmergencyNumber/RPhCltEmergencyNumber.h
phoneclientserver/phoneclient/Inc/ExtCall/ExtCall_Aiw/CPhCltExtPhoneDialData.h
phoneclientserver/phoneclient/Inc/ExtCall/ExtCall_Aiw/RPhCltCallNotify.h
phoneclientserver/phoneclient/Inc/ExtCall/ExtCall_Aiw/RPhCltExtCall.h
phoneclientserver/phoneclient/Inc/ExtCall/RPhCltExtCall.h
phoneclientserver/phoneclient/Inc/ExtCall/TPhCltExtPhoneDialData.h
phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.h
phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialerDlg.h
phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhone.h
phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhoneBase.h
phoneclientserver/phoneclient/Inc/Ihf/RPhCltIhf.h
phoneclientserver/phoneclient/Inc/ImageHandler/CPhCltImageHandlerImplementation.h
phoneclientserver/phoneclient/Inc/ImageHandler/CPhCltOperatorLogoContainer.h
phoneclientserver/phoneclient/Inc/ImageHandler/RPhCltImageHandler.h
phoneclientserver/phoneclient/Inc/Messenger/CPhCltMessengerImplementation.h
phoneclientserver/phoneclient/Inc/Messenger/RPhCltMessenger.h
phoneclientserver/phoneclient/Inc/Notifier/Notifier_Aiw/cphcltcomhandrequestmonitor.h
phoneclientserver/phoneclient/Inc/Notifier/Notifier_Aiw/cphcltdialemergencyrequestmonitor.h
phoneclientserver/phoneclient/Inc/Notifier/Notifier_Aiw/cphcltdialrequestmonitor.h
phoneclientserver/phoneclient/Inc/SharedClientServer/PhCltClientServer.h
phoneclientserver/phoneclient/Inc/Ussd/ussd_ext/rphcltussd.h
phoneclientserver/phoneclient/Inc/UssdWrapper/CPhCltUssdNoteController.h
phoneclientserver/phoneclient/Inc/UssdWrapper/CPhCltUssdRequestHandler.h
phoneclientserver/phoneclient/Inc/UssdWrapper/MPhCltUssdNoteControllerCallBack.h
phoneclientserver/phoneclient/Inc/UssdWrapper/Ussd_Ext/CPhCltUssdImp.h
phoneclientserver/phoneclient/Src/CommandHandler/CPhCltComHandImplementation.cpp
phoneclientserver/phoneclient/Src/CommandHandler/CPhCltCommandHandler.cpp
phoneclientserver/phoneclient/Src/CommandHandler/RPhCltCommandHandler.cpp
phoneclientserver/phoneclient/Src/CommandHandler/RPhCltCommandHandlerNotify.cpp
phoneclientserver/phoneclient/Src/EmergencyNumber/EmergencyNumber_Aiw/CPhCltEmergencyCall.cpp
phoneclientserver/phoneclient/Src/EmergencyNumber/EmergencyNumber_Aiw/CPhCltEmergencyCallImpl.cpp
phoneclientserver/phoneclient/Src/EmergencyNumber/EmergencyNumber_Aiw/RPhCltEmergencyCall.cpp
phoneclientserver/phoneclient/Src/ExtCall/ExtCall_Aiw/CPhCltExtPhoneDialData.cpp
phoneclientserver/phoneclient/Src/ExtCall/ExtCall_Aiw/RPhCltExtCall.cpp
phoneclientserver/phoneclient/Src/ExtCall/ExtCall_Aiw/cphcltdialdata.cpp
phoneclientserver/phoneclient/Src/ExtCall/RPhCltExtCall.cpp
phoneclientserver/phoneclient/Src/ExtCall/TPhCltExtPhoneDialData.cpp
phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltDialer.cpp
phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltDialerDlg.cpp
phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltExtPhone.cpp
phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltExtPhoneBase.cpp
phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.cpp
phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialerDlg.cpp
phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhone.cpp
phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhoneBase.cpp
phoneclientserver/phoneclient/Src/Ihf/RPhCltIhf.cpp
phoneclientserver/phoneclient/Src/Ihf/RPhCltIhfStub.cpp
phoneclientserver/phoneclient/Src/ImageHandler/CPhCltBaseImageParams.cpp
phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandler.cpp
phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandlerImplementation.cpp
phoneclientserver/phoneclient/Src/ImageHandler/CPhCltOperatorLogoContainer.cpp
phoneclientserver/phoneclient/Src/ImageHandler/RPhCltImageHandler.cpp
phoneclientserver/phoneclient/Src/Messenger/CPhCltMessenger.cpp
phoneclientserver/phoneclient/Src/Messenger/CPhCltMessengerImplementation.cpp
phoneclientserver/phoneclient/Src/Messenger/RPhCltMessenger.cpp
phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/CPhCltCallNotify.cpp
phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/RPhCltCallNotify.cpp
phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/cphcltcomhandrequestmonitor.cpp
phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/cphcltdialemergencyrequestmonitor.cpp
phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/cphcltdialrequestmonitor.cpp
phoneclientserver/phoneclient/Src/Notifier/RPhCltCallNotify.cpp
phoneclientserver/phoneclient/Src/Notifier/RPhCltExtCallNotify.cpp
phoneclientserver/phoneclient/Src/PhCltUtils.cpp
phoneclientserver/phoneclient/Src/RPhCltResourceFile.cpp
phoneclientserver/phoneclient/Src/Session/RPhCltServer.cpp
phoneclientserver/phoneclient/Src/Ussd/ussd_ext/rphcltussd.cpp
phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdExt.cpp
phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdImp.cpp
phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdInt.cpp
phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdNoteController.cpp
phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdRequestHandler.cpp
phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdSatClient.cpp
phoneclientserver/phoneclient/conf/ci_telephonyservices.confml
phoneclientserver/phoneclient/conf/telephonyservices.confml
phoneclientserver/phoneclient/inc/ussdwrapper/cphcltussdcommonconstant.h
phoneclientserver/phoneclient/inc/ussdwrapper/tflogger.h
phoneclientserver/phoneclient/rom/PhoneClient.iby
phoneclientserver/phoneclient/tsrc/public/basic/CommandHandlerTests/src/CommandHandlerTestsCases.cpp
phoneclientserver/phoneclient/tsrc/public/basic/EmergencyCallTests/inc/EmergencyCallTests.h
phoneclientserver/phoneclient/tsrc/public/basic/EmergencyCallTests/src/EmergencyCallTestsCases.cpp
phoneclientserver/phoneclient/tsrc/public/basic/ImageHandlerTests/src/ImageHandlerTestsCases.cpp
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/etel_mock.cpp
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/main.cpp
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/phoneclientserver_stubs.cpp
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/readme.txt
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/rphcltussd_glue.cpp
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_cphcltussdnotecontroller.cpp
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_cphcltussdnotecontroller.h
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_testenv.cpp
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_testenv.h
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_ussd.cpp
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_ussd.h
phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_ussd.pro
phoneclientserver/phoneserver/Group/PhoneServer.mmp
phoneclientserver/phoneserver/Group/bld.inf
phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvComHandRequest.h
phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvComHandRequestManager.h
phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvSubSessionCommandHandler.h
phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvSubSessionCommandHandlerNotify.h
phoneclientserver/phoneserver/Inc/CommandHandler/MPhSrvComHandInitiators.h
phoneclientserver/phoneserver/Inc/CommandHandler/MPhSrvComHandNegotiators.h
phoneclientserver/phoneserver/Inc/ImageHandler/CPhSrvSubSessionImageHandler.h
phoneclientserver/phoneserver/Inc/Messenger/CPhSrvMessengerObject.h
phoneclientserver/phoneserver/Inc/Messenger/CPhSrvMessengerRequestManager.h
phoneclientserver/phoneserver/Inc/Messenger/CPhSrvSubSessionMessenger.h
phoneclientserver/phoneserver/Inc/Messenger/MPhSrvMessengerNegotiators.h
phoneclientserver/phoneserver/Inc/Messenger/PhSrvMessengerTypes.h
phoneclientserver/phoneserver/Inc/Standard/CPhSrvEmergencyNumberManager.h
phoneclientserver/phoneserver/Inc/Standard/CPhSrvPhoneController.h
phoneclientserver/phoneserver/Inc/Standard/CPhSrvServer.h
phoneclientserver/phoneserver/Inc/Standard/CPhSrvSession.h
phoneclientserver/phoneserver/Inc/Standard/CPhSrvSubSessionBase.h
phoneclientserver/phoneserver/Inc/Standard/CPhSrvSubSessionExtCall.h
phoneclientserver/phoneserver/Inc/Standard/CPhSrvSubSessionUssd.h
phoneclientserver/phoneserver/Inc/Standard/PhSrvDebugInfo.h
phoneclientserver/phoneserver/Inc/Standard/PhSrvStartUp.h
phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequest.h
phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequestManager.h
phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvEmergencyRequestManager.h
phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvSubSessionEmergencyNum.h
phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvSubSessionNotifier.h
phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvEmergencyNegotiators.h
phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvEmergencyNumberManager.h
phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvObjectInitiators.h
phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvObjectNegotiators.h
phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvCallRequest.h
phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvCallRequestManager.h
phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvSubSessionEmergencyNum.h
phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvSubSessionNotifier.h
phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/MPhSrvEmergencyNumberManager.h
phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/MPhSrvObjectNegotiators.h
phoneclientserver/phoneserver/Inc/Ussd/CPhSrvUssdManager.h
phoneclientserver/phoneserver/Inc/Ussd/CUssdExtensionInterface.h
phoneclientserver/phoneserver/Inc/Ussd/CUssdExtensionInterface.inl
phoneclientserver/phoneserver/Inc/Ussd/ussdinterfaceconstants.hrh
phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvComHandRequest.cpp
phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandler.cpp
phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandlerNotify.cpp
phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandlerNotifyStub.cpp
phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandlerStub.cpp
phoneclientserver/phoneserver/Src/CommandHandler/CommandHandler_NoAiw/CPhSrvComHandRequestManager.cpp
phoneclientserver/phoneserver/Src/CommandHandler/CommandHandler_NoAiw/CPhSrvComHandRequestManagerStub.cpp
phoneclientserver/phoneserver/Src/CommandHandler/Commandhandler_Aiw/CPhSrvComHandRequestManager.cpp
phoneclientserver/phoneserver/Src/CommandHandler/Commandhandler_Aiw/CPhSrvComHandRequestManagerStub.cpp
phoneclientserver/phoneserver/Src/ImageHandler/CPhSrvSubSessionImageHandler.cpp
phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerObject.cpp
phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerRequestManager.cpp
phoneclientserver/phoneserver/Src/Messenger/CPhSrvSubSessionMessenger.cpp
phoneclientserver/phoneserver/Src/Standard/CPhSrvEmergencyNumberManager.cpp
phoneclientserver/phoneserver/Src/Standard/CPhSrvPhoneController.cpp
phoneclientserver/phoneserver/Src/Standard/CPhSrvResourceManager.cpp
phoneclientserver/phoneserver/Src/Standard/CPhSrvScheduler.cpp
phoneclientserver/phoneserver/Src/Standard/CPhSrvServer.cpp
phoneclientserver/phoneserver/Src/Standard/CPhSrvSession.cpp
phoneclientserver/phoneserver/Src/Standard/CPhSrvSubSessionBase.cpp
phoneclientserver/phoneserver/Src/Standard/CPhSrvSubSessionUssd.cpp
phoneclientserver/phoneserver/Src/Standard/PhSrvDebugInfo.cpp
phoneclientserver/phoneserver/Src/Standard/PhSrvStartUp.cpp
phoneclientserver/phoneserver/Src/Standard/PhSrvSubSessionFactory.cpp
phoneclientserver/phoneserver/Src/Standard/PhSrvUtils.cpp
phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhCltExtPhoneDialData.cpp
phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvCallRequest.cpp
phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvCallRequestManager.cpp
phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvEmergencyRequestManager.cpp
phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvSubSessionEmergencyNum.cpp
phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvSubSessionExtCall.cpp
phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvSubSessionNotifier.cpp
phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/cphcltdialdata.cpp
phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdManager.cpp
phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdNotifyNWRelease.cpp
phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdReceiveHandler.cpp
phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdReplyTimer.cpp
phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdSendHandler.cpp
phoneclientserver/phoneserver/rom/PhoneServer.iby
phoneclientserver/phoneserver/src/messenger/cphsrvmessengerrequestmanagerstub.cpp
phoneclientserver/phoneserver/src/messenger/cphsrvsubsessionmessengerstub.cpp
phonecmdhandler/phonecmdhnlr/eabi/phonecmdhandleru.def
phonecmdhandler/phonecmdhnlr/group/PhoneCmdHandler.mmp
phonecmdhandler/phonecmdhnlr/group/bld.inf
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerActive.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerAnswerCall.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerCallArray.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerCallBase.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerCallState.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerControl.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerDTMF.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerDialCall.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerEndCall.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerMultipartyCall.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerRedial.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerResponse.h
phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerVoiceDial.h
phonecmdhandler/phonecmdhnlr/src/PhoneHandler.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerActive.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerAnswerCall.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerCallArray.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerCallBase.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerCallState.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerDTMF.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerDialCall.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerEndCall.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerMultipartyCall.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerRedial.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerResponse.cpp
phonecmdhandler/phonecmdhnlr/src/PhoneHandlerVoiceDial.cpp
phonesrv.pro
phonesrv_plat/call_information_api/group/bld.inf
phonesrv_plat/call_information_api/inc/ccallinformation.h
phonesrv_plat/call_information_api/inc/xqcallinfo.h
phonesrv_plat/call_information_api/tsrc/group/MT_CallInformation.mmp
phonesrv_plat/call_information_api/tsrc/run_auto_tests.bat
phonesrv_plat/call_information_api/tsrc/src/CPEMessageWaiter.cpp
phonesrv_plat/call_information_api/tsrc/src/CPhoneEngineCreator.cpp
phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.cpp
phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.h
phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation_DllMain.cpp
phonesrv_plat/call_remote_party_information_api/group/bld.inf
phonesrv_plat/call_remote_party_information_api/inc/ccallremotepartyinformation.h
phonesrv_plat/call_remote_party_information_api/tsrc/src/cdialer.cpp
phonesrv_plat/call_remote_party_information_api/tsrc/src/cdialer.h
phonesrv_plat/cbs_mcn_client_api/group/bld.inf
phonesrv_plat/cbs_mcn_client_api/inc/CCbsMcnListener.h
phonesrv_plat/cbs_mcn_client_api/inc/CMcn.h
phonesrv_plat/cbs_mcn_client_api/inc/RCbsMcnSession.h
phonesrv_plat/cbs_mcn_client_api/inc/RMcnSubSession.h
phonesrv_plat/cbs_message_api/group/bld.inf
phonesrv_plat/cbs_message_api/inc/ccbsmessageclient.h
phonesrv_plat/cenrep_database_api/group/bld.inf
phonesrv_plat/cenrep_database_api/inc/cenrepdatabaseproperty.h
phonesrv_plat/cenrep_database_api/inc/cenrepdatabaseutil.h
phonesrv_plat/converged_call_engine_api/inc/ccce.h
phonesrv_plat/converged_call_engine_api/inc/cccecallparameters.h
phonesrv_plat/converged_call_engine_api/inc/mccecall.h
phonesrv_plat/converged_call_engine_api/inc/mccecallobserver.h
phonesrv_plat/converged_call_engine_api/inc/mcceconferencecall.h
phonesrv_plat/converged_call_engine_api/inc/mcceconferencecallobserver.h
phonesrv_plat/converged_call_engine_api/inc/mccecscall.h
phonesrv_plat/converged_call_engine_api/inc/mcceextensioninterface.h
phonesrv_plat/converged_call_engine_api/inc/mcceextensionobserver.h
phonesrv_plat/converged_call_engine_api/inc/mcceforwardinterface.h
phonesrv_plat/converged_call_engine_api/inc/mcceobserver.h
phonesrv_plat/converged_call_engine_api/inc/mccessobserver.h
phonesrv_plat/converged_call_engine_api/inc/mccetransferinterface.h
phonesrv_plat/converged_call_provider_api/inc/cconvergedcallprovider.h
phonesrv_plat/converged_call_provider_api/inc/cconvergedcallprovider.inl
phonesrv_plat/converged_call_provider_api/inc/ccpdefs.h
phonesrv_plat/converged_call_provider_api/inc/mccpcallobserver.h
phonesrv_plat/converged_call_provider_api/inc/mccpconferencecall.h
phonesrv_plat/converged_call_provider_api/inc/mccpconferencecallobserver.h
phonesrv_plat/converged_call_provider_api/inc/mccpcscall.h
phonesrv_plat/converged_call_provider_api/inc/mccpcsobserver.h
phonesrv_plat/converged_call_provider_api/inc/mccpdtmfprovider.h
phonesrv_plat/converged_call_provider_api/inc/mccpemergencycall.h
phonesrv_plat/converged_call_provider_api/inc/mccpextensionobserver.h
phonesrv_plat/converged_call_provider_api/inc/mccpextensionprovider.h
phonesrv_plat/converged_call_provider_api/inc/mccpforwardobserver.h
phonesrv_plat/converged_call_provider_api/inc/mccpforwardprovider.h
phonesrv_plat/converged_call_provider_api/inc/mccpobserver.h
phonesrv_plat/converged_call_provider_api/inc/mccpssobserver.h
phonesrv_plat/converged_call_provider_api/inc/mccptransferprovider.h
phonesrv_plat/dial_utils_api/group/bld.inf
phonesrv_plat/dialpad_api/dialpad_api.metaxml
phonesrv_plat/dialpad_api/group/bld.inf
phonesrv_plat/dialpad_api/inc/dialpad.h
phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h
phonesrv_plat/dialpad_api/inc/dialpadvtkeyhandler.h
phonesrv_plat/group/bld.inf
phonesrv_plat/network_handling_engine_api/group/bld.inf
phonesrv_plat/network_handling_engine_api/inc/CNWSession.h
phonesrv_plat/network_handling_engine_api/inc/NWHandlingEngine.h
phonesrv_plat/network_handling_engine_api/inc/NetworkHandlingProxy.h
phonesrv_plat/phone_client_api/group/bld.inf
phonesrv_plat/phone_client_api/inc/RPhCltServer.h
phonesrv_plat/phone_client_command_handler_api/group/bld.inf
phonesrv_plat/phone_client_command_handler_api/inc/CPhCltCommandHandler.h
phonesrv_plat/phone_client_emergency_call_api/group/bld.inf
phonesrv_plat/phone_client_emergency_call_api/tsrc/src/it_emergencycalltests.cpp
phonesrv_plat/phone_client_emergency_call_api/tsrc/src/it_emergencycalltests.h
phonesrv_plat/phone_client_image_handler_api/group/bld.inf
phonesrv_plat/phone_client_image_handler_api/inc/CPhCltBaseImageParams.h
phonesrv_plat/phone_client_image_handler_api/inc/CPhCltImageHandler.h
phonesrv_plat/phone_client_messenger_api/group/bld.inf
phonesrv_plat/phone_client_notify_api/group/bld.inf
phonesrv_plat/phone_client_notify_api/inc/CPhCltCallNotify.h
phonesrv_plat/phone_client_notify_api/inc/cphcltdialdata.h
phonesrv_plat/phone_client_server_information_api/group/bld.inf
phonesrv_plat/phone_client_server_information_api/inc/PhoneClientServerDomainPSkeys.h
phonesrv_plat/phone_client_ussd_api/group/bld.inf
phonesrv_plat/phone_client_ussd_api/tsrc/mt_ussd.cpp
phonesrv_plat/phone_client_ussd_api/tsrc/mt_ussd.h
phonesrv_plat/phone_client_ussd_api/tsrc/mt_ussd.pro
phonesrv_plat/phone_client_ussd_internal_api/group/bld.inf
phonesrv_plat/phone_client_ussd_internal_api/inc/CPhCltUssdInt.h
phonesrv_plat/phone_client_ussd_internal_api/tsrc/mt_ussdinternal.pro
phonesrv_plat/phone_client_ussd_internal_api/tsrc/mt_ussdsat.cpp
phonesrv_plat/phone_client_ussd_internal_api/tsrc/mt_ussdsat.h
phonesrv_plat/phone_client_utility_api/group/bld.inf
phonesrv_plat/phone_settings_api/group/bld.inf
phonesrv_plat/phone_settings_api/inc/MPsetNetworkSelect.h
phonesrv_plat/phone_settings_api/inc/PSetRefreshHandler.h
phonesrv_plat/phone_settings_api/inc/PsetCSP.h
phonesrv_plat/phone_settings_api/inc/PsetCallBarring.h
phonesrv_plat/phone_settings_api/inc/PsetCallDiverting.h
phonesrv_plat/phone_settings_api/inc/PsetCallWaiting.h
phonesrv_plat/phone_settings_api/inc/PsetCli.h
phonesrv_plat/phone_settings_api/inc/PsetContainer.h
phonesrv_plat/phone_settings_api/inc/PsetNetwork.h
phonesrv_plat/phone_settings_api/inc/PsetSAObserver.h
phonesrv_plat/phone_settings_api/inc/nwdefs.h
phonesrv_plat/phone_settings_api/inc/psetcallbarringwrapper.h
phonesrv_plat/phone_settings_api/inc/psetcalldivertingwrapper.h
phonesrv_plat/phone_settings_api/inc/psetcallwaitingwrapper.h
phonesrv_plat/phone_settings_api/inc/psetcliwrapper.h
phonesrv_plat/phone_settings_api/inc/psetnetworkwrapper.h
phonesrv_plat/phone_settings_api/inc/psetwrapper.h
phonesrv_plat/phone_settings_api/inc/psetwrappertypes.h
phonesrv_plat/phone_settings_notes_ui_api/group/bld.inf
phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiBarringObs.h
phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiCliObserver.h
phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiContainer.h
phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiDivertObs.h
phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiWaitingObs.h
phonesrv_plat/phone_settings_observer_api/group/bld.inf
phonesrv_plat/phone_settings_observer_api/inc/MPsetBarringObs.h
phonesrv_plat/phone_settings_observer_api/inc/MPsetCallWaitingObs.h
phonesrv_plat/phone_settings_observer_api/inc/MPsetCliObserver.h
phonesrv_plat/phone_settings_observer_api/inc/MPsetDivertObs.h
phonesrv_plat/phone_settings_observer_api/inc/MPsetNetworkInfoObs.h
phonesrv_plat/phone_settings_ui_notes_api/group/bld.inf
phonesrv_plat/phone_settings_ui_notes_api/inc/psuidivertnotehandler.h
phonesrv_plat/phone_settings_ui_notes_api/inc/psuilocalisation.h
phonesrv_plat/phone_settings_ui_notes_api/inc/psuinotes.h
phonesrv_plat/phone_settings_ui_notes_api/inc/psuiwaitingnotehandler.h
phonesrv_plat/phone_settings_ui_notes_api/phone_settings_ui_notes_api.metaxml
phonesrv_plat/sat_client_api/group/bld.inf
phonesrv_plat/sat_configuration_api/group/bld.inf
phonesrv_plat/sat_refresh_api/group/bld.inf
phonesrv_plat/sat_refresh_api/inc/RSatRefresh.h
phonesrv_plat/service_provider_settings_api/inc/mspnotifychangeobserver.h
phonesrv_plat/service_provider_settings_api/inc/spdefinitions.h
phonesrv_plat/service_provider_settings_api/inc/spentry.h
phonesrv_plat/service_provider_settings_api/inc/spnotifychange.h
phonesrv_plat/service_provider_settings_api/inc/spproperty.h
phonesrv_plat/service_provider_settings_api/inc/spsettings.h
phonesrv_plat/service_provider_settings_api/inc/spsettingsvoiputils.h
phonesrv_plat/ss_settings_api/group/bld.inf
phonesrv_plat/ss_settings_api/inc/MSSSettingsObserver.h
phonesrv_plat/ss_settings_api/inc/MSSSettingsRefreshObserver.h
phonesrv_plat/ss_settings_api/inc/RSSSettings.h
phonesrv_plat/ss_settings_api/inc/sssettingswrapper.h
phonesrv_plat/ss_settings_api/inc/sssettingswrappertypes.h
phonesrv_plat/string_parser_api/group/bld.inf
phonesrv_plat/string_parser_api/inc/CPhoneGsmEmergencyNumberHandler.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmHandlerContainer.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmManufacturerHandler.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmMiscHandler.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmParserBase.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmParserResult.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmPcnProcedureHandler.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmPhoneNumberHandler.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmSimControlHandler.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmSsCallHandler.h
phonesrv_plat/string_parser_api/inc/CPhoneGsmSsHandler.h
phonesrv_plat/string_parser_api/inc/CPhoneVoipNumberHandler.h
phonesrv_plat/telephony_mediator_api/inc/callremotepartyinformation.h
phonesrv_plat/telephony_network_information_api/group/bld.inf
phonesrv_plat/telephony_network_information_api/inc/NetworkHandlingDomainPSKeys.h
phonesrv_plat/voice_mailbox_number_api/group/bld.inf
phonesrv_plat/voice_mailbox_number_api/inc/cvoicemailbox.h
phonesrv_plat/voice_mailbox_number_api/inc/cvoicemailboxentry.h
phonesrv_plat/voice_mailbox_number_api/inc/mvoicemailboxobserver.h
phonesrv_plat/voice_mailbox_number_api/inc/vmnumber.h
phonesrv_plat/voice_mailbox_number_api/inc/voicemailboxdefs.h
phonesrv_plat/voice_mailbox_number_api/tsrc/bwins/vmbxenginetestu.def
phonesrv_plat/voice_mailbox_number_api/tsrc/conf/ui_vmbxenginetest.cfg
phonesrv_plat/voice_mailbox_number_api/tsrc/eabi/vmbxenginetestu.def
phonesrv_plat/voice_mailbox_number_api/tsrc/group/bld.inf
phonesrv_plat/voice_mailbox_number_api/tsrc/group/vmbxenginetest.mmp
phonesrv_plat/voice_mailbox_number_api/tsrc/group/vmbxenginetest.pkg
phonesrv_plat/voice_mailbox_number_api/tsrc/inc/vmbxenginetest.h
phonesrv_plat/voice_mailbox_number_api/tsrc/init/TestFramework.ini
phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp
phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.h
phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.pro
phonesrv_plat/voice_mailbox_number_api/tsrc/src/vmbxenginetest.cpp
phonesrv_plat/voice_mailbox_number_api/voice_mailbox_number_api.metaxml
phonesrv_plat/voice_mailbox_settings_api/group/bld.inf
satengine/SatServer/Commands/LaunchBrowserCmd/src/CLaunchBrowserHandler.cpp
satengine/SatServer/Commands/OpenChannelCmd/src/COpenChannelHandler.cpp
satengine/SatServer/Commands/PlayToneCmd/src/CPlayToneHandler.cpp
satengine/SatServer/Commands/SendSSCmd/inc/csatsendssbarringnouiobs.h
satengine/SatServer/Commands/SendSSCmd/inc/csatsendsscallwaitingnouiobs.h
satengine/SatServer/Commands/SendSSCmd/inc/csatsendssclinouiobs.h
satengine/SatServer/Commands/SendSSCmd/inc/csatsendssdivertnouiobs.h
satengine/SatServer/Commands/SendSSCmd/inc/csatsendsshandler.h
satengine/SatServer/Commands/SendSSCmd/src/CSendSsHandler.cpp
satengine/SatServer/Commands/SendSSCmd/src/csatsendsshandler.cpp
satengine/SatServer/Commands/SendUSSDCmd/group/SendUssdCmd.mmp
satengine/SatServer/Commands/SendUSSDCmd/inc/CSendUssdHandler.h
satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp
satengine/SatServer/Commands/SetUpCallCmd/group/SetUpCallCmd.mmp
satengine/SatServer/Commands/SetUpCallCmd/group/UT_CSetUpCallHandler.pkg
satengine/SatServer/Commands/SetUpCallCmd/inc/CSetUpCallHandler.h
satengine/SatServer/Commands/SetUpCallCmd/src/CSetUpCallHandler.cpp
satengine/SatServer/Commands/SetUpIdleModeTextCmd/inc/CSetUpIdleModeTextHandler.h
satengine/SatServer/Commands/SetUpIdleModeTextCmd/src/CSetUpIdleModeTextHandler.cpp
satengine/SatServer/Commands/SetUpMenuCmd/group/UT_CSetUpMenuHandler.pkg
satengine/SatServer/Engine/group/SatEngine.mmp
satengine/SatServer/Engine/group/bld.inf
satengine/SatServer/Engine/inc/CSatApnHandler.h
satengine/SatServer/Engine/inc/CSatCommandContainer.h
satengine/SatServer/Engine/inc/csatmultimodeapi.h
satengine/SatServer/Engine/src/CSatApnHandler.cpp
satengine/SatServer/Engine/src/CSatCommandContainer.cpp
satengine/SatServer/Engine/src/CSatSIconSubSession.cpp
satengine/SatServer/Engine/src/SatServer.rss
satengine/SatServer/Engine/src/csatmediatoreventprovider.cpp
satengine/SatServer/Engine/src/csatmultimodeapi.cpp
satengine/SatServer/Engine/src/csatprofilechangeobserver.cpp
satengine/SatServer/SystemState/src/CSatSystemState.cpp
satengine/SatServer/SystemState/src/TSatSystemStateFactory.cpp
satengine/SatServer/conf/sat.confml
satengine/SatServer/conf/sat_102078E1.crml
satengine/SatServer/group/bld.inf
satengine/SatServer/inc/CSatCommandHandler.h
satengine/SatServer/inc/SATPrivateCRKeys.h
satengine/SatServer/inc/msatmultimodeapi.h
satengine/SatServer/loc/SatServer.loc
satengine/SatServer/rom/SatServerResources.iby
satengine/group/bld.inf
satengine/satserver/Commands/SetUpCallCmd/inc/csetupcalldtmfsender.h
satengine/satserver/Commands/SetUpCallCmd/inc/csetupcallrequesthandler.h
satengine/satserver/Commands/SetUpCallCmd/src/csetupcalldtmfsender.cpp
satengine/satserver/Commands/SetUpCallCmd/src/csetupcallrequesthandler.cpp
satui/group/bld.inf
satui/satapp/EABI/SatShellCntrlU.DEF
satui/satapp/Group/SatApp_stub.pkg
satui/satapp/Group/SatShellCntrl.mmp
satui/satapp/Group/SatUI.mmp
satui/satapp/Group/bld.inf
satui/satapp/Group/satui_icons.mk
satui/satapp/Group/satui_icons_aif_bitmaps.mk
satui/satapp/Group/satui_icons_aif_bitmaps_dc.mk
satui/satapp/Group/satui_icons_aif_scalable.mk
satui/satapp/Group/satui_icons_aif_scalable_dc.mk
satui/satapp/Group/satui_icons_dc.mk
satui/satapp/SATShellControllerInc/CSatShellController.h
satui/satapp/SATShellControllerInc/tflogger.h
satui/satapp/SATShellControllerSrc/CSatShellController.cpp
satui/satapp/SATUIInc/CSatUiActionPerformer.h
satui/satapp/SATUIInc/CSatUiApplication.h
satui/satapp/SATUIInc/CSatUiDocument.h
satui/satapp/SATUIInc/CSatUiMessageQueryIcon.h
satui/satapp/SATUIInc/CSatUiTextQueryDialog.h
satui/satapp/SATUIInc/CSatUiView.h
satui/satapp/SATUIInc/CSatUiViewAppUi.h
satui/satapp/SATUIInc/CSatUiViewContainer.h
satui/satapp/SATUIInc/CSatUiWaitDialog.h
satui/satapp/SATUIInc/MSatUiActionImplementer.h
satui/satapp/SATUIInc/csatuiiconhandler.h
satui/satapp/SATUIInc/satui.hrh
satui/satapp/SATUIInc/tflogger.h
satui/satapp/SATUISrc/CSatUiActionPerformer.cpp
satui/satapp/SATUISrc/CSatUiApplication.cpp
satui/satapp/SATUISrc/CSatUiDocument.cpp
satui/satapp/SATUISrc/CSatUiMessageQueryIcon.cpp
satui/satapp/SATUISrc/CSatUiTextQueryDialog.cpp
satui/satapp/SATUISrc/CSatUiView.cpp
satui/satapp/SATUISrc/CSatUiViewAppUi.cpp
satui/satapp/SATUISrc/CSatUiViewContainer.cpp
satui/satapp/SATUISrc/CSatUiWaitDialog.cpp
satui/satapp/SATUISrc/csatuiiconhandler.cpp
satui/satapp/aif/Satui.rss
satui/satapp/aif/Satui_caption.rss
satui/satapp/aif/TSatui.rss
satui/satapp/bmarm/SATSHELLCNTRLU.DEF
satui/satapp/bwins/SATSHELLCNTRLU.DEF
satui/satapp/data/SatApp_stub.SIS
satui/satapp/data/SatUi.rss
satui/satapp/data/Satui_reg.rss
satui/satapp/help/data/xhtml.zip
satui/satapp/help/group/bld.inf
satui/satapp/help/inc/sat.hlp.hrh
satui/satapp/help/rom/satuihelps_variant.iby
satui/satapp/inc/satappaction.h
satui/satapp/inc/satappconfirmprovider.h
satui/satapp/inc/satappconstant.h
satui/satapp/inc/satappinputprovider.h
satui/satapp/inc/satappmainhandler.h
satui/satapp/inc/satappmenuprovider.h
satui/satapp/inc/satapppopupprovider.h
satui/satapp/inc/satappserverdispatcher.h
satui/satapp/inc/satapptoneprovider.h
satui/satapp/loc/satui.loc
satui/satapp/resource/qtg_large_sat.svg
satui/satapp/resource/sat_text_map.xls
satui/satapp/resource/satapp.docml
satui/satapp/resource/satapp.qm
satui/satapp/resource/satapp.qrc
satui/satapp/resource/satapp.ts
satui/satapp/rom/SatUiResources.iby
satui/satapp/rom/satapp.iby
satui/satapp/rom/satapp.pkg
satui/satapp/rom/satapp_stub.pkg
satui/satapp/rom/satapp_stub.sis
satui/satapp/rom/satui.iby
satui/satapp/satapp.pro
satui/satapp/src/main.cpp
satui/satapp/src/satappaction.cpp
satui/satapp/src/satappconfirmprovider.cpp
satui/satapp/src/satappinputprovider.cpp
satui/satapp/src/satappmainhandler.cpp
satui/satapp/src/satappmenuprovider.cpp
satui/satapp/src/satapppopupprovider.cpp
satui/satapp/src/satappserverdispatcher.cpp
satui/satapp/src/satapptoneprovider.cpp
satui/satapp/tsrc/ut_satapp/inc/ut_satappaction.h
satui/satapp/tsrc/ut_satapp/inc/ut_satappconfirmprovider.h
satui/satapp/tsrc/ut_satapp/inc/ut_satappinputprovider.h
satui/satapp/tsrc/ut_satapp/inc/ut_satappmainhandler.h
satui/satapp/tsrc/ut_satapp/inc/ut_satappmenuprovider.h
satui/satapp/tsrc/ut_satapp/inc/ut_satapppopupprovider.h
satui/satapp/tsrc/ut_satapp/inc/ut_satappserverdispatcher.h
satui/satapp/tsrc/ut_satapp/inc/ut_satapptoneprovider.h
satui/satapp/tsrc/ut_satapp/sis/utsatapp_template.SIS
satui/satapp/tsrc/ut_satapp/sis/utsatapp_template.pkg
satui/satapp/tsrc/ut_satapp/src/main.cpp
satui/satapp/tsrc/ut_satapp/src/rsat_stub.cpp
satui/satapp/tsrc/ut_satapp/src/ut_satappaction.cpp
satui/satapp/tsrc/ut_satapp/src/ut_satappconfirmprovider.cpp
satui/satapp/tsrc/ut_satapp/src/ut_satappinputprovider.cpp
satui/satapp/tsrc/ut_satapp/src/ut_satappmainhandler.cpp
satui/satapp/tsrc/ut_satapp/src/ut_satappmenuprovider.cpp
satui/satapp/tsrc/ut_satapp/src/ut_satapppopupprovider.cpp
satui/satapp/tsrc/ut_satapp/src/ut_satappserverdispatcher.cpp
satui/satapp/tsrc/ut_satapp/src/ut_satapptoneprovider.cpp
satui/satapp/tsrc/ut_satapp/ut_satapp.pro
satui/satplugin/aisatplugininc/aisatcontentmodel.h
satui/satplugin/aisatplugininc/aisatpluginuids.hrh
satui/satplugin/aisatplugininc/caisatengine.h
satui/satplugin/aisatplugininc/caisatnotifier.h
satui/satplugin/aisatplugininc/caisatplugin.h
satui/satplugin/aisatplugininc/mpluginapi.h
satui/satplugin/aisatplugininc/tflogger.h
satui/satplugin/aisatpluginsrc/caisatengine.cpp
satui/satplugin/aisatpluginsrc/caisatnotifier.cpp
satui/satplugin/aisatpluginsrc/caisatplugin.cpp
satui/satplugin/data/SatPlugin_Stub.SIS
satui/satplugin/data/aisatplugin.rss
satui/satplugin/group/SatPlugin_stub.pkg
satui/satplugin/group/aisatplugin.mmp
satui/satplugin/group/bld.inf
satui/satplugin/rom/aisatplugin.iby
satui/satshellcontroller/bwins/SATSHELLCNTRLU.DEF
satui/satshellcontroller/eabi/SatShellCntrlU.DEF
satui/satshellcontroller/group/bld.inf
satui/satshellcontroller/group/satshellcntrl.mmp
satui/satshellcontroller/inc/csatshellcontroller.h
satui/satshellcontroller/inc/tflogger.h
satui/satshellcontroller/src/csatshellcontroller.cpp
sysdef_1_4_0.dtd
sysdef_1_5_1.dtd
telutils/dialpad/bwins/dialpadu.def
telutils/dialpad/dialpad.pro
telutils/dialpad/dialpad.qrc
telutils/dialpad/eabi/dialpadu.def
telutils/dialpad/inc/dialpadbackground.h
telutils/dialpad/inc/dialpadbluetootheventfilter.h
telutils/dialpad/inc/dialpadbutton.h
telutils/dialpad/inc/dialpademergencycalleventfilter.h
telutils/dialpad/inc/dialpadhasheventfilter.h
telutils/dialpad/inc/dialpadinputfield.h
telutils/dialpad/inc/dialpadkeypad.h
telutils/dialpad/inc/dialpadkeysequenceeventfilter.h
telutils/dialpad/inc/dialpadmailboxeventfilterbase.h
telutils/dialpad/inc/dialpadmultitaphandler.h
telutils/dialpad/inc/dialpadnumericbutton.h
telutils/dialpad/inc/dialpadsymbianwrapper.h
telutils/dialpad/inc/dialpadsymbianwrapper_p.h
telutils/dialpad/inc/dialpadsymbianwrapper_p_stub.h
telutils/dialpad/inc/dialpadvideomailboxeventfilter.h
telutils/dialpad/inc/dialpadvoicemailboxeventfilter.h
telutils/dialpad/resources/dialpad.css
telutils/dialpad/resources/dialpad_color.css
telutils/dialpad/resources/dialpad_to_lsc.fxml
telutils/dialpad/resources/dialpad_to_prt.fxml
telutils/dialpad/rom/dialpad.iby
telutils/dialpad/src/dialpad.cpp
telutils/dialpad/src/dialpadbackground.cpp
telutils/dialpad/src/dialpadbluetootheventfilter.cpp
telutils/dialpad/src/dialpadbutton.cpp
telutils/dialpad/src/dialpademergencycalleventfilter.cpp
telutils/dialpad/src/dialpadhasheventfilter.cpp
telutils/dialpad/src/dialpadinputfield.cpp
telutils/dialpad/src/dialpadkeyhandler.cpp
telutils/dialpad/src/dialpadkeypad.cpp
telutils/dialpad/src/dialpadkeysequenceeventfilter.cpp
telutils/dialpad/src/dialpadmailboxeventfilterbase.cpp
telutils/dialpad/src/dialpadmultitaphandler.cpp
telutils/dialpad/src/dialpadnumericbutton.cpp
telutils/dialpad/src/dialpadsymbianwrapper.cpp
telutils/dialpad/src/dialpadsymbianwrapper_p.cpp
telutils/dialpad/src/dialpadsymbianwrapper_p_stub.cpp
telutils/dialpad/src/dialpadvideomailboxeventfilter.cpp
telutils/dialpad/src/dialpadvoicemailboxeventfilter.cpp
telutils/dialpad/src/dialpadvtkeyhandler.cpp
telutils/dialpad/tsrc/dialpadtest/dialpadtest.pro
telutils/dialpad/tsrc/dialpadtest/dialpadtestview.cpp
telutils/dialpad/tsrc/dialpadtest/dialpadtestview.h
telutils/dialpad/tsrc/dialpadtest/main.cpp
telutils/dialpad/tsrc/dialpadtest/resources/dialpadtest.qrc
telutils/dialpad/tsrc/dialpadtest/resources/qgn_prop_pb_comm_call_large.svg
telutils/dialpad/tsrc/dialpadtest/resources/qtg_large_tb_dialler.svg
telutils/dialpad/tsrc/dialpadtest/rom/dialpadtest.iby
telutils/dialpad/tsrc/unit/checkcoverage.cmd
telutils/dialpad/tsrc/unit/mt_dialpad/mt_dialpad.cpp
telutils/dialpad/tsrc/unit/mt_dialpad/mt_dialpad.pro
telutils/dialpad/tsrc/unit/mt_keyhandler/mt_keyhandler.cpp
telutils/dialpad/tsrc/unit/mt_keyhandler/mt_keyhandler.pro
telutils/dialpad/tsrc/unit/runall.cmd
telutils/dialpad/tsrc/unit/runtest.cmd
telutils/dialpad/tsrc/unit/runtest_w32.cmd
telutils/dialpad/tsrc/unit/shared/dialpadtest.h
telutils/dialpad/tsrc/unit/shared/dialpadtestutil.cpp
telutils/dialpad/tsrc/unit/shared/dialpadtestutil.h
telutils/dialpad/tsrc/unit/shared/mock_cenrep.cpp
telutils/dialpad/tsrc/unit/shared/mock_centralrepository.h
telutils/dialpad/tsrc/unit/shared/mock_cphcltemergencycall.cpp
telutils/dialpad/tsrc/unit/shared/mock_cphcltemergencycall.h
telutils/dialpad/tsrc/unit/shared/mock_cvoicemailbox.cpp
telutils/dialpad/tsrc/unit/shared/mock_dialpad.cpp
telutils/dialpad/tsrc/unit/shared/mock_dialpadbluetootheventfilter.cpp
telutils/dialpad/tsrc/unit/shared/mock_dialpademergencycalleventfilter.cpp
telutils/dialpad/tsrc/unit/shared/mock_dialpadhasheventfilter.cpp
telutils/dialpad/tsrc/unit/shared/mock_dialpadkeysequenceeventfilter.cpp
telutils/dialpad/tsrc/unit/shared/mock_dialpadmailboxeventfilterbase.cpp
telutils/dialpad/tsrc/unit/shared/mock_dialpadvideomailboxeventfilter.cpp
telutils/dialpad/tsrc/unit/shared/mock_dialpadvoicemailboxeventfilter.cpp
telutils/dialpad/tsrc/unit/shared/mock_featmgr.cpp
telutils/dialpad/tsrc/unit/shared/mock_hblineedit.cpp
telutils/dialpad/tsrc/unit/shared/mock_hbmainwindow.cpp
telutils/dialpad/tsrc/unit/shared/mock_hbnotificationdialog.cpp
telutils/dialpad/tsrc/unit/shared/mock_xqaiwinterfacedescriptor.cpp
telutils/dialpad/tsrc/unit/shared/mock_xqaiwrequest.cpp
telutils/dialpad/tsrc/unit/shared/mock_xqappmgr.cpp
telutils/dialpad/tsrc/unit/shared/mock_xqrequestinfo.cpp
telutils/dialpad/tsrc/unit/shared/mock_xqservicerequest.cpp
telutils/dialpad/tsrc/unit/shared/mock_xqsettingskey.cpp
telutils/dialpad/tsrc/unit/shared/mock_xqsettingsmanager.cpp
telutils/dialpad/tsrc/unit/unit.pro
telutils/dialpad/tsrc/unit/ut_dialpadbluetootheventfilter/ut_dialpadbluetootheventfilter.cpp
telutils/dialpad/tsrc/unit/ut_dialpadbluetootheventfilter/ut_dialpadbluetootheventfilter.pro
telutils/dialpad/tsrc/unit/ut_dialpadbluetootheventfilter/xqservicerequest.h
telutils/dialpad/tsrc/unit/ut_dialpadbutton/ut_dialpadbutton.cpp
telutils/dialpad/tsrc/unit/ut_dialpadbutton/ut_dialpadbutton.pro
telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/ut_dialpademergencycalleventfilter.cpp
telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/ut_dialpademergencycalleventfilter.pro
telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/hblineedit.h
telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/ut_dialpadhasheventfilter.cpp
telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/ut_dialpadhasheventfilter.h
telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/ut_dialpadhasheventfilter.pro
telutils/dialpad/tsrc/unit/ut_dialpadkeyhandler/ut_dialpadkeyhandler.cpp
telutils/dialpad/tsrc/unit/ut_dialpadkeyhandler/ut_dialpadkeyhandler.h
telutils/dialpad/tsrc/unit/ut_dialpadkeyhandler/ut_dialpadkeyhandler.pro
telutils/dialpad/tsrc/unit/ut_dialpadkeysequenceeventfilter/hblineedit.h
telutils/dialpad/tsrc/unit/ut_dialpadkeysequenceeventfilter/ut_dialpadkeysequenceeventfilter.cpp
telutils/dialpad/tsrc/unit/ut_dialpadkeysequenceeventfilter/ut_dialpadkeysequenceeventfilter.h
telutils/dialpad/tsrc/unit/ut_dialpadkeysequenceeventfilter/ut_dialpadkeysequenceeventfilter.pro
telutils/dialpad/tsrc/unit/ut_dialpadmultitaphandler/ut_dialpadmultitaphandler.cpp
telutils/dialpad/tsrc/unit/ut_dialpadmultitaphandler/ut_dialpadmultitaphandler.pro
telutils/dialpad/tsrc/unit/ut_dialpadnumericbutton/ut_dialpadnumericbutton.cpp
telutils/dialpad/tsrc/unit/ut_dialpadnumericbutton/ut_dialpadnumericbutton.pro
telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/ut_dialpadvideomailboxeventfilter.cpp
telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/ut_dialpadvideomailboxeventfilter.pro
telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/xqservicerequest.h
telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.cpp
telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.pro
telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/xqservicerequest.h
telutils/keysequencerecognitionservice/inc/imeikeysequencehandler.h
telutils/keysequencerecognitionservice/inc/keysequencehandler.h
telutils/keysequencerecognitionservice/inc/keysequencerecognitionprovider.h
telutils/keysequencerecognitionservice/inc/keysequencerecognitionservicedefs.h
telutils/keysequencerecognitionservice/inc/keysequencerecognitionservicelog.h
telutils/keysequencerecognitionservice/inc/lifetimerkeysequencehandler.h
telutils/keysequencerecognitionservice/inc/manufacturerkeysequencehandler.h
telutils/keysequencerecognitionservice/inc/simcontrolkeysequencehandler.h
telutils/keysequencerecognitionservice/keysequencerecognitionservice.pri
telutils/keysequencerecognitionservice/keysequencerecognitionservice.pro
telutils/keysequencerecognitionservice/resources/keysequencerecognitionservice_conf.xml
telutils/keysequencerecognitionservice/rom/keysequencerecognitionservice.iby
telutils/keysequencerecognitionservice/rom/keysequencerecognitionservice_resources.iby
telutils/keysequencerecognitionservice/src/imeikeysequencehandler.cpp
telutils/keysequencerecognitionservice/src/keysequencehandler.cpp
telutils/keysequencerecognitionservice/src/keysequencerecognitionprovider.cpp
telutils/keysequencerecognitionservice/src/lifetimerkeysequencehandler.cpp
telutils/keysequencerecognitionservice/src/main.cpp
telutils/keysequencerecognitionservice/src/manufacturerkeysequencehandler.cpp
telutils/keysequencerecognitionservice/src/simcontrolkeysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/run_auto_tests_qt.bat
telutils/keysequencerecognitionservice/tsrc/shared/mock_centralrepository.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_etel.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_etelmm.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_hbdevicemessagebox.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_imeikeysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_keysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_lifetimerkeysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_manufacturerkeysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_qsysteminfo.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_qtranslator.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_rmmcustomapi.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_secui.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_secuimanualsecuritysettings.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_simcontrolkeysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_tstasksettings.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_xqaiwrequest.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_xqappmgr.cpp
telutils/keysequencerecognitionservice/tsrc/shared/mock_xqservicerequest.cpp
telutils/keysequencerecognitionservice/tsrc/shared/qtestmains60.h
telutils/keysequencerecognitionservice/tsrc/ut_imeikeysequencehandler/ut_imeikeysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/ut_imeikeysequencehandler/ut_imeikeysequencehandler.h
telutils/keysequencerecognitionservice/tsrc/ut_imeikeysequencehandler/ut_imeikeysequencehandler.pro
telutils/keysequencerecognitionservice/tsrc/ut_keysequencehandler/ut_keysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/ut_keysequencehandler/ut_keysequencehandler.h
telutils/keysequencerecognitionservice/tsrc/ut_keysequencehandler/ut_keysequencehandler.pro
telutils/keysequencerecognitionservice/tsrc/ut_keysequencerecognitionprovider/ut_keysequencerecognitionprov.pro
telutils/keysequencerecognitionservice/tsrc/ut_keysequencerecognitionprovider/ut_keysequencerecognitionprovider.cpp
telutils/keysequencerecognitionservice/tsrc/ut_keysequencerecognitionprovider/ut_keysequencerecognitionprovider.h
telutils/keysequencerecognitionservice/tsrc/ut_lifetimerkeysequencehandler/ut_lifetimerkeysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/ut_lifetimerkeysequencehandler/ut_lifetimerkeysequencehandler.h
telutils/keysequencerecognitionservice/tsrc/ut_lifetimerkeysequencehandler/ut_lifetimerkeysequencehandler.pro
telutils/keysequencerecognitionservice/tsrc/ut_manufacturerkeysequencehandler/ut_manufacturerkeysequencehandle.pro
telutils/keysequencerecognitionservice/tsrc/ut_manufacturerkeysequencehandler/ut_manufacturerkeysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/ut_manufacturerkeysequencehandler/ut_manufacturerkeysequencehandler.h
telutils/keysequencerecognitionservice/tsrc/ut_simcontrolkeysecuencehandler/ut_simcontrolkeysecuencehandler.pro
telutils/keysequencerecognitionservice/tsrc/ut_simcontrolkeysecuencehandler/ut_simcontrolkeysequencehandler.cpp
telutils/keysequencerecognitionservice/tsrc/ut_simcontrolkeysecuencehandler/ut_simcontrolkeysequencehandler.h
telutils/phoneparser/group/bld.inf
telutils/phoneparser/group/phoneparser.mmp
telutils/phoneparser/inc/CPhoneGsmDummyParser.h
telutils/phoneparser/inc/CPhoneGsmEmergencyNumberParser.h
telutils/phoneparser/inc/CPhoneGsmImeiParser.h
telutils/phoneparser/inc/CPhoneGsmManufacturerParser.h
telutils/phoneparser/inc/CPhoneGsmOptionContainer.h
telutils/phoneparser/inc/CPhoneGsmParser.h
telutils/phoneparser/inc/CPhoneGsmParserContainer.h
telutils/phoneparser/inc/CPhoneGsmPcnProcedureParser.h
telutils/phoneparser/inc/CPhoneGsmPhoneNumberParser.h
telutils/phoneparser/inc/CPhoneGsmSimControlParser.h
telutils/phoneparser/inc/CPhoneGsmSsCallParser.h
telutils/phoneparser/inc/CPhoneGsmSsParser.h
telutils/phoneparser/inc/CPhoneParserFeatures.h
telutils/phoneparser/inc/CPhoneVoipNumberParser.h
telutils/phoneparser/rom/Phoneparser.iby
telutils/phoneparser/src/CPhoneGsmDummyParser.cpp
telutils/phoneparser/src/CPhoneGsmEmergencyNumberHandler.cpp
telutils/phoneparser/src/CPhoneGsmEmergencyNumberParser.cpp
telutils/phoneparser/src/CPhoneGsmHandlerContainer.cpp
telutils/phoneparser/src/CPhoneGsmImeiParser.cpp
telutils/phoneparser/src/CPhoneGsmManufacturerHandler.cpp
telutils/phoneparser/src/CPhoneGsmManufacturerParser.cpp
telutils/phoneparser/src/CPhoneGsmMiscHandler.cpp
telutils/phoneparser/src/CPhoneGsmOptionContainer.cpp
telutils/phoneparser/src/CPhoneGsmParser.cpp
telutils/phoneparser/src/CPhoneGsmParserBase.cpp
telutils/phoneparser/src/CPhoneGsmParserContainer.cpp
telutils/phoneparser/src/CPhoneGsmParserResult.cpp
telutils/phoneparser/src/CPhoneGsmPcnProcedureHandler.cpp
telutils/phoneparser/src/CPhoneGsmPcnProcedureParser.cpp
telutils/phoneparser/src/CPhoneGsmPhoneNumberHandler.cpp
telutils/phoneparser/src/CPhoneGsmPhoneNumberParser.cpp
telutils/phoneparser/src/CPhoneGsmSimControlHandler.cpp
telutils/phoneparser/src/CPhoneGsmSimControlParser.cpp
telutils/phoneparser/src/CPhoneGsmSsCallHandler.cpp
telutils/phoneparser/src/CPhoneGsmSsCallParser.cpp
telutils/phoneparser/src/CPhoneGsmSsHandler.cpp
telutils/phoneparser/src/CPhoneGsmSsParser.cpp
telutils/phoneparser/src/CPhoneParserFeatures.cpp
telutils/phoneparser/src/CPhoneVoipNumberHandler.cpp
telutils/phoneparser/src/CPhoneVoipNumberParser.cpp
telutils/phoneparser/src/PhoneGsmParser.cpp
telutils/telephonyservice/group/bld.inf
telutils/telephonyservice/group/telephonyservice.mmp
telutils/telephonyservice/inc/ccallremotepartyinformationimpl.h
telutils/telephonyservice/inc/cmediatorservice.h
telutils/telephonyservice/rom/telephonyservice.iby
telutils/telephonyservice/src/ccallinformation.cpp
telutils/telephonyservice/src/ccallinformationimpl.cpp
telutils/telephonyservice/src/ccallremotepartyinformationimpl.cpp
telutils/telephonyservice/src/cmediatorservice.cpp
telutils/xqtelephonyservice/bwins/xqtelephonyserviceu.def
telutils/xqtelephonyservice/eabi/xqtelephonyserviceu.def
telutils/xqtelephonyservice/inc/qtphonesrvlog.h
telutils/xqtelephonyservice/inc/xqcallinfoimpl.h
telutils/xqtelephonyservice/rom/xqtelephonyservice.iby
telutils/xqtelephonyservice/src/xqcallinfo.cpp
telutils/xqtelephonyservice/src/xqcallinfoimpl.cpp
telutils/xqtelephonyservice/tsrc/unit/runall.cmd
telutils/xqtelephonyservice/tsrc/unit/runtest.cmd
telutils/xqtelephonyservice/tsrc/unit/runtest_w32.cmd
telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/stubs/ccallinformation.cpp
telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/stubs/ccallinformation.h
telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/stubs/ccallinformationimpl.cpp
telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/stubs/ccallinformationimpl.h
telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/unit_tests.cpp
telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/ut_xqcallinfo.pro
telutils/xqtelephonyservice/xqtelephonyservice.pri
telutils/xqtelephonyservice/xqtelephonyservice.pro
vmbx/vmbxcpplugin/inc/actioncustomitem.h
vmbx/vmbxcpplugin/inc/customedit.h
vmbx/vmbxcpplugin/inc/loggerutil.h
vmbx/vmbxcpplugin/inc/vmbxcpgroup.h
vmbx/vmbxcpplugin/inc/vmbxcpplugin.h
vmbx/vmbxcpplugin/inc/vmbxuiengine.h
vmbx/vmbxcpplugin/rom/rom.pri
vmbx/vmbxcpplugin/rom/vmbxcpplugin.iby
vmbx/vmbxcpplugin/rom/vmbxcpplugin.pkg
vmbx/vmbxcpplugin/rom/vmbxcpplugin_stub.pkg
vmbx/vmbxcpplugin/rom/vmbxcpplugin_stub.sis
vmbx/vmbxcpplugin/src/actioncustomitem.cpp
vmbx/vmbxcpplugin/src/customedit.cpp
vmbx/vmbxcpplugin/src/vmbxcpgroup.cpp
vmbx/vmbxcpplugin/src/vmbxcpplugin.cpp
vmbx/vmbxcpplugin/src/vmbxuiengine.cpp
vmbx/vmbxcpplugin/tsrc/inc/ut_actioncustomitem.h
vmbx/vmbxcpplugin/tsrc/inc/ut_customedit.h
vmbx/vmbxcpplugin/tsrc/inc/ut_vmbxcpplugin.h
vmbx/vmbxcpplugin/tsrc/inc/ut_vmbxuiengine.h
vmbx/vmbxcpplugin/tsrc/src/main.cpp
vmbx/vmbxcpplugin/tsrc/src/ut_actioncustomitem.cpp
vmbx/vmbxcpplugin/tsrc/src/ut_customedit.cpp
vmbx/vmbxcpplugin/tsrc/src/ut_dummyvoicemailbox.cpp
vmbx/vmbxcpplugin/tsrc/src/ut_dummyvoicemailboxentry.cpp
vmbx/vmbxcpplugin/tsrc/src/ut_vmbxcpplugin.cpp
vmbx/vmbxcpplugin/tsrc/src/ut_vmbxuiengine.cpp
vmbx/vmbxcpplugin/tsrc/ut_vmbxcpplugin.pro
vmbx/vmbxcpplugin/vmbxcpplugin.pri
vmbx/vmbxcpplugin/vmbxcpplugin.pro
vmbx/vmbxcpplugin_version_history.txt
vmbx/vmbxengine/bwins/vmbxengineu.def
vmbx/vmbxengine/cenrep/101f874f.txt
vmbx/vmbxengine/cenrep/backup_registration.xml
vmbx/vmbxengine/conf/CI_voicemailbox.confml
vmbx/vmbxengine/conf/voicemailbox.confml
vmbx/vmbxengine/conf/voicemailbox_101F874F.crml
vmbx/vmbxengine/eabi/vmbxengineu.def
vmbx/vmbxengine/inc/dialogwaiter.h
vmbx/vmbxengine/inc/mvmbxcenrephandler.h
vmbx/vmbxengine/inc/mvmbxcenrepobserver.h
vmbx/vmbxengine/inc/mvmbxchangeobserver.h
vmbx/vmbxengine/inc/mvmbxresourceprovider.h
vmbx/vmbxengine/inc/mvmbxsatrefreshobserver.h
vmbx/vmbxengine/inc/mvmbxservicenotify.h
vmbx/vmbxengine/inc/mvmbxsimstoreobserver.h
vmbx/vmbxengine/inc/mvmbxuihandler.h
vmbx/vmbxengine/inc/mvmbxuiutilities.h
vmbx/vmbxengine/inc/vmbshandler.h
vmbx/vmbxengine/inc/vmbxcenrephandler.h
vmbx/vmbxengine/inc/vmbxcenrepobserver.h
vmbx/vmbxengine/inc/vmbxcsvideoengine.h
vmbx/vmbxengine/inc/vmbxcsvoiceengine.h
vmbx/vmbxengine/inc/vmbxemergencycall.h
vmbx/vmbxengine/inc/vmbxenginebase.h
vmbx/vmbxengine/inc/vmbxenginefactory.h
vmbx/vmbxengine/inc/vmbxetelconnection.h
vmbx/vmbxengine/inc/vmbxlogger.h
vmbx/vmbxengine/inc/vmbxobserver.h
vmbx/vmbxengine/inc/vmbxpbkstore.h
vmbx/vmbxengine/inc/vmbxqtuihandler.h
vmbx/vmbxengine/inc/vmbxsatrefreshobserver.h
vmbx/vmbxengine/inc/vmbxsimhandler.h
vmbx/vmbxengine/inc/vmbxsimstoreobserver.h
vmbx/vmbxengine/inc/vmbxuihandler.h
vmbx/vmbxengine/inc/vmbxuiutilities.h
vmbx/vmbxengine/inc/vmbxutilities.h
vmbx/vmbxengine/inc/vmbxvoipengine.h
vmbx/vmbxengine/inc/vmsettingsuiiconfileprovider.h
vmbx/vmbxengine/inc/vmspshandler.h
vmbx/vmbxengine/inc/voicemailboxdefsinternal.h
vmbx/vmbxengine/inc/voicemailboxdomaincrkeys.h
vmbx/vmbxengine/inc/voicemailboximpl.h
vmbx/vmbxengine/inc/voicemailboxprivatecrkeys.h
vmbx/vmbxengine/rom/backup_registration.xml
vmbx/vmbxengine/rom/vmbxengine.iby
vmbx/vmbxengine/rom/vmbxengine.pkg
vmbx/vmbxengine/rom/vmbxengine_stub.pkg
vmbx/vmbxengine/rom/vmbxengine_stub.sis
vmbx/vmbxengine/rom/vmbxresources.iby
vmbx/vmbxengine/src/cvoicemailbox.cpp
vmbx/vmbxengine/src/cvoicemailboxentry.cpp
vmbx/vmbxengine/src/dialogwaiter.cpp
vmbx/vmbxengine/src/vmbshandler.cpp
vmbx/vmbxengine/src/vmbxcenrephandler.cpp
vmbx/vmbxengine/src/vmbxcenrepobserver.cpp
vmbx/vmbxengine/src/vmbxcsvideoengine.cpp
vmbx/vmbxengine/src/vmbxcsvoiceengine.cpp
vmbx/vmbxengine/src/vmbxemergencycall.cpp
vmbx/vmbxengine/src/vmbxenginebase.cpp
vmbx/vmbxengine/src/vmbxenginefactory.cpp
vmbx/vmbxengine/src/vmbxetelconnection.cpp
vmbx/vmbxengine/src/vmbxobserver.cpp
vmbx/vmbxengine/src/vmbxpbkstore.cpp
vmbx/vmbxengine/src/vmbxqtuihandler.cpp
vmbx/vmbxengine/src/vmbxsatrefreshobserver.cpp
vmbx/vmbxengine/src/vmbxsimhandler.cpp
vmbx/vmbxengine/src/vmbxsimstoreobserver.cpp
vmbx/vmbxengine/src/vmbxuihandler.cpp
vmbx/vmbxengine/src/vmbxuiutilities.cpp
vmbx/vmbxengine/src/vmbxutilities.cpp
vmbx/vmbxengine/src/vmbxvoipengine.cpp
vmbx/vmbxengine/src/vmsettingsuiiconfileprovider.cpp
vmbx/vmbxengine/src/vmspshandler.cpp
vmbx/vmbxengine/src/voicemailboximpl.cpp
vmbx/vmbxengine/tsrc/ut_vmbxengine/inc/ut_pbkstore.h
vmbx/vmbxengine/tsrc/ut_vmbxengine/inc/ut_simhandler.h
vmbx/vmbxengine/tsrc/ut_vmbxengine/inc/ut_vmbxengine.h
vmbx/vmbxengine/tsrc/ut_vmbxengine/src/cenrep_mock.cpp
vmbx/vmbxengine/tsrc/ut_vmbxengine/src/etel_mock.cpp
vmbx/vmbxengine/tsrc/ut_vmbxengine/src/main.cpp
vmbx/vmbxengine/tsrc/ut_vmbxengine/src/mpbutil_mock.cpp
vmbx/vmbxengine/tsrc/ut_vmbxengine/src/qtuihandler_mock.cpp
vmbx/vmbxengine/tsrc/ut_vmbxengine/src/ut_pbkstore.cpp
vmbx/vmbxengine/tsrc/ut_vmbxengine/src/ut_simhandler.cpp
vmbx/vmbxengine/tsrc/ut_vmbxengine/src/ut_vmbxengine.cpp
vmbx/vmbxengine/tsrc/ut_vmbxengine/ut_vmbxengine.pro
vmbx/vmbxengine/vmbxengine.pro
--- a/cbs/CbsServer/ClientInc/CbsCommon.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/ClientInc/CbsCommon.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 //  INCLUDES
 #include <e32base.h>
 #include <s32std.h>
-#include <CbsCommonTypes.h>
+#include <cbscommontypes.h>
 
 // CONSTANTS
 
--- a/cbs/CbsServer/ClientInc/ccbsmessageclientimpl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/ClientInc/ccbsmessageclientimpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "CCbsMessageClient.h"
+#include <ccbsmessageclient.h>
 #include "RCbs.h"
 
 //  CLASS DECLARATION 
--- a/cbs/CbsServer/ClientSrc/ccbsmessageclient.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/ClientSrc/ccbsmessageclient.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDE FILES
-#include "CCbsMessageClient.h"
+#include <ccbsmessageclient.h>
 #include "ccbsmessageclientimpl.h"
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/cbs/CbsServer/Group/CbsServer.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/Group/CbsServer.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -39,6 +39,7 @@
 
 START RESOURCE  ../Data/CbsServer.rss
 HEADER
+TARGET          CbsServer.rsg
 TARGETPATH      RESOURCE_FILES_DIR
 LANGUAGE_IDS
 END
--- a/cbs/CbsServer/McnClientSrc/CCbsMcnListener.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/McnClientSrc/CCbsMcnListener.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,9 +19,9 @@
 
 // INCLUDE FILES
 
-#include "CCbsMcnListener.h"
-#include "RCbsMcnSession.h"
-#include "CMcn.h"
+#include <ccbsmcnlistener.h>
+#include <rcbsmcnsession.h>
+#include <cmcn.h>
 #include "CbsLogger.h"
 
 // CONSTANTS
--- a/cbs/CbsServer/McnClientSrc/CMcn.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/McnClientSrc/CMcn.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,12 +17,12 @@
 
 
 // INCLUDE FILES
-#include "CMcn.h"
-#include "CCbsMcnListener.h"
-#include "MCbsMcnObserver.h"
-#include "CbsMcnPanic.h"
+#include <cmcn.h>
+#include <ccbsmcnlistener.h>
+#include <mcbsmcnobserver.h>
+#include <cbsmcnpanic.h>
 #include "CbsLogger.h"
-#include <CMcnTopicArray.h>
+#include <cmcntopicarray.h>
 
 // CONSTANTS
 const TInt KReservedSpaceForMcnObservers = 3;
--- a/cbs/CbsServer/McnClientSrc/CMcnTopicArray.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/McnClientSrc/CMcnTopicArray.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 
-#include "CMcnTopicArray.h"
+#include <cmcntopicarray.h>
 
 // CONSTANTS
 
--- a/cbs/CbsServer/McnClientSrc/CbsMcnPanic.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/McnClientSrc/CbsMcnPanic.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 // INCLUDE FILES
 
 #include <e32svr.h>
-#include "CbsMcnPanic.h"        // common header
+#include <cbsmcnpanic.h>        // common header
 
 // CONSTANTS
 
--- a/cbs/CbsServer/McnClientSrc/Rcbsmcnsession.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/McnClientSrc/Rcbsmcnsession.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,11 +19,11 @@
 // INCLUDE FILES
 
 #include "CbsServerConstants.h"
-#include "CbsMcnPanic.h"
-#include "CMcn.h"
-#include "RCbsMcnSession.h"
-#include "CCbsMcnListener.h"
-#include "CMcnTopicArray.h"
+#include <cbsmcnpanic.h>
+#include <cmcn.h>
+#include <rcbsmcnsession.h>
+#include <ccbsmcnlistener.h>
+#include <cmcntopicarray.h>
 #include "CbsLogger.h"
 
 // ================= MEMBER FUNCTIONS =======================
--- a/cbs/CbsServer/McnClientSrc/Rmcnsubsession.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/McnClientSrc/Rmcnsubsession.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,11 +18,11 @@
 
 // INCLUDE FILES
 #include "CbsServerConstants.h"
-#include "CbsMcnPanic.h"
-#include "RCbsMcnSession.h"
-#include "RMcnSubSession.h"
-#include "CCbsMcnListener.h"
-#include "CMcnTopicArray.h"
+#include <cbsmcnpanic.h>
+#include <rcbsmcnsession.h>
+#include <rmcnsubsession.h>
+#include <ccbsmcnlistener.h>
+#include <cmcntopicarray.h>
 #include "CbsLogger.h"
 
 // ================= MEMBER FUNCTIONS =======================
--- a/cbs/CbsServer/ServerInc/CCbsMcnSession.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/ServerInc/CCbsMcnSession.h	Tue Aug 31 15:45:17 2010 +0300
@@ -27,7 +27,7 @@
 #include <e32base.h>
 #include "CCbsObject.h"
 #include "MCbsMcnSubscriptionsProvider.h"
-#include "CbsMcnCommon.h"
+#include <cbsmcncommon.h>
 
 //  FORWARD DECLARATIONS
 
--- a/cbs/CbsServer/ServerInc/CCbsMessage.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/ServerInc/CCbsMessage.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 #include <etelmm.h>
 #include "CbsReceiverTypes.h"
 #include "CbsCommon.h"
-#include "CbsMcnCommon.h"
+#include <cbsmcncommon.h>
 
 //  CONSTANTS  
 // If this constant is set to iPLMN.iMCC, iPLMN does not contain network info
--- a/cbs/CbsServer/ServerInc/CCbsRecEtel.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/ServerInc/CCbsRecEtel.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 
 //  INCLUDES
-#include "CMcn.h"
+#include <cmcn.h>
 #include "MCbsEtelMessaging.h"
 
 		/*****************************************************
--- a/cbs/CbsServer/ServerInc/CbsLogger.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/ServerInc/CbsLogger.h	Tue Aug 31 15:45:17 2010 +0300
@@ -15,6 +15,8 @@
 *
 */
 
+
+
 #ifndef CBSLOGGER_H
 #define CBSLOGGER_H
 
@@ -28,11 +30,12 @@
     #define CBS_LOGGING_METHOD  0   // No logging in UREL builds
 #else
     // UDEB BUILD:
-    #define CBS_LOGGING_METHOD  2   // 0 = No logging, 
-                                    // 1 = Flogger, 
-                                    // 2 = RDebug
+    #define CBS_LOGGING_METHOD  1   // 0 = No logging, 
+                                        // 1 = Flogger, 
+                                        // 2 = RDebug
 #endif //_DEBUG
 
+
 #if CBS_LOGGING_METHOD > 0
     #define CBS_LOGGING_ENABLED     // This is for backward compatibility
 #endif //CBS_LOGGING_METHOD 
@@ -55,6 +58,7 @@
 
 #endif //CBS_LOGGING_METHOD
 
+
 /*
 -----------------------------------------------------------------------------
     LOGGING MACROs
@@ -63,6 +67,7 @@
 -----------------------------------------------------------------------------
 */
 
+
 #if CBS_LOGGING_METHOD == 1      // Flogger
 
 #define CBSLOGTEXT(AAA) /*lint -save -e960 */              { RFileLogger::Write(KCbsLogFolder(),KCbsLogFile(),EFileLoggingModeAppend,AAA); } /*lint -restore */
--- a/cbs/CbsServer/ServerSrc/CCbsReceiverHelper.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/CbsServer/ServerSrc/CCbsReceiverHelper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -40,16 +40,20 @@
 #include "CCbsDbImpTopicMessages.h"
 #include "CCbsDbImpTopicCollection.h"
 #include "CCbsRecMessage.h"
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <viewcli.h>            // View server access
-#else
-#include <viewclipartner.h>
-#endif
-#include <AknNotifyStd.h>       // ECellBroadcastNotification
-#include <AknSoftNotifier.h>    // Soft Notification API
+// <-- QT PHONE START -->
+//#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+//#include <viewcli.h>            // View server access
+//#else
+//#include <viewclipartner.h>
+//#endif
+//#include <AknNotifyStd.h>       // ECellBroadcastNotification
+//#include <AknSoftNotifier.h>    // Soft Notification API
+// <-- QT PHONE END -->
 #include <e32property.h>
 #include <coreapplicationuisdomainpskeys.h>
-#include <NcnListDomainPSKeys.h>
+// <-- QT PHONE START -->
+//#include <NcnListDomainPSKeys.h> 
+// <-- QT PHONE END -->
 
 #include <data_caging_path_literals.hrh>
 #include "CbsLogger.h"
@@ -60,15 +64,20 @@
 
 // CONSTANTS
 
+// <-- QT PHONE START -->
 // UID of CBS UI application
-#define KUidCbsUiappDef 0x101F4CD3
-const TUid KUidCbsUiappApp = { KUidCbsUiappDef };
+//#define KUidCbsUiappDef 0x101F4CD3
+//const TUid KUidCbsUiappApp = { KUidCbsUiappDef };
+// <-- QT PHONE END -->
 
-const TInt KCbsImmediateMessageIdInt = 313;
-const TUid KCbsImmediateMessageId = { KCbsImmediateMessageIdInt };
+// <-- QT PHONE START -->
+//const TInt KCbsImmediateMessageIdInt = 313;
+//const TUid KCbsImmediateMessageId = { KCbsImmediateMessageIdInt };
+// <-- QT PHONE END -->
 
-const TInt KCbsMessageTone  = 2; // See SharedDataKeysVariant.h or NcnListInternalPSKeys.h
-
+// <-- QT PHONE START -->
+//const TInt KCbsMessageTone  = 2; // See SharedDataKeysVariant.h or NcnListInternalPSKeys.h
+// <-- QT PHONE END -->
 // DATA TYPES
 // CbsUi application view ID's
 enum TCbsUiViewIds
@@ -323,7 +332,11 @@
     {
     CBSLOGSTRING("CBSSERVER: >>> CCbsReceiverHelper::ConstructL()");
 
+    // <-- QT PHONE START -->
+    /*
     iVwsSession = CVwsSessionWrapper::NewL();
+    */
+    // <-- QT PHONE END-->
 
     // Array for SIM Topic numbers. This way we know which topics
     // to delete also from the SIM card (when deleting all topics).
@@ -364,7 +377,11 @@
     CBSLOGSTRING("CBSSERVER: >>> CCbsReceiverHelper::~CCbsReceiverHelper()");
 
     delete iSimTopics;
+    // <-- QT PHONE START -->
+    /*
     delete iVwsSession;
+    */
+    // <-- QT PHONE END-->
 
     CBSLOGSTRING("CBSSERVER: <<< CCbsReceiverHelper::~CCbsReceiverHelper()");
     }
@@ -833,8 +850,10 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void CCbsReceiverHelper::LaunchMessageSoftNotificationL( const TBool aPlayTone )
+void CCbsReceiverHelper::LaunchMessageSoftNotificationL( const TBool /*aPlayTone*/ )
     {
+    // <-- QT PHONE START -->
+    /*
     TInt numberOfHotMsgs( 0 );
     numberOfHotMsgs = iDatabase.TopicListL().UnreadHotmarkedMessageCount();
 
@@ -849,6 +868,8 @@
 
     notifier->SetNotificationCountL( ECellBroadcastNotification, numberOfHotMsgs );
     CleanupStack::PopAndDestroy( notifier );
+    */
+    // <-- QT PHONE END-->
     }
 
 // -----------------------------------------------------------------------------
@@ -858,14 +879,18 @@
 // -----------------------------------------------------------------------------
 //
 void CCbsReceiverHelper::LaunchMessageImmediateDisplay(
-    const TCbsDbMessage& aMessage )
+    const TCbsDbMessage& /*aMessage*/ )
     {
+    // <-- QT PHONE START -->
+    /*
     TUid uiViewUid( TUid::Uid( ECbsUiMsgViewId ) );
     TVwsViewId id( KUidCbsUiappApp, uiViewUid );
     TPckgBuf<TCbsMessageHandle> pckg( aMessage.iHandle );
 
     // Ignore result value.
     iVwsSession->CreateActivateViewEvent( id, KCbsImmediateMessageId, pckg );
+    */
+    // <-- QT PHONE END-->
     }
 
 // -----------------------------------------------------------------------------
@@ -888,9 +913,13 @@
 //
 void CCbsReceiverHelper::PlayCbsTone()
     {
+    // <-- QT PHONE START -->
+    /*
     RProperty::Define( KPSUidNcnList, KNcnPlayAlertTone, RProperty::EInt,
         ECapability_None , ECapabilityWriteDeviceData );
     RProperty::Set( KPSUidNcnList, KNcnPlayAlertTone, KCbsMessageTone );
+    */
+    // <-- QT PHONE END-->
     }
 
 // ================= OTHER EXPORTED FUNCTIONS ==============
Binary file cbs/CbsServer/conf/cbsserver.confml has changed
--- a/cbs/cbsui/AIF/CbsUiAppAif.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /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 all the resources for the module.
-*
-*
-*/
-
-
-//  INCLUDES
-
-#include <aiftool.rh>
-#include "CbsUiId.h"
-
-
-
-//  RESOURCE DEFINITIONS
-
-/*
------------------------------------------------------------------------------
-    
-    AIF_DATA
-
-    Standard Symbian OS application information structure.
-
------------------------------------------------------------------------------
-*/
-RESOURCE AIF_DATA
-	{
-	// App UID
-	app_uid=KUidCbsUiappDef;
-
-	// Number of icons
-	num_icons=2;
-
-	// Application capabilities
-	embeddability=KAppNotEmbeddable;
-
-	hidden = KAppIsHidden;
-	}
-          
-// End of File
--- a/cbs/cbsui/Group/CbsUiApp_caption.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*     This file contains all the resources for the CbsUiApp.app
-*     
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME CBSC   // from CBS Caption
-
-//  INCLUDES
-
-#include <apcaptionfile.rh>
-#include <cbsuiapp.loc>
-
-  
-//  RESOURCE DEFINITIONS 
-
-
-RESOURCE CAPTION_DATA
-	{
-	caption = qtn_cb_title_cbs;
-	shortcaption = qtn_cb_title_grid;
-	}
-
-
-// End of File
--- a/cbs/cbsui/Group/CbsUiApp_reg.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /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 cbs ui application.
-*
-*/
-
-
-#include <appinfo.rh>
-#include <cbsuiApp.rsg>
-#include <data_caging_paths_strings.hrh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x101F4CD3
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "Cbsuiapp";
-    localisable_resource_file = APP_RESOURCE_DIR"\\CBSUIAPP";
-    localisable_resource_id = R_CBSUIAPP_LOCALISABLE_APP_INFO;
-    hidden = KAppIsHidden;
-    embeddability=KAppNotEmbeddable;
-    }
-
-// End of File
--- a/cbs/cbsui/Group/Cbsuiapp.hrh	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*  Enumerations for commands, control and view id's.
-*
-*
-*/
-
-
-
-
-#ifndef CBSUIAPP_HRH
-#define CBSUIAPP_HRH
-
-//  CONSTANTS  
-//
-enum TCbsUiCommands
-	{
-	ECbsUiappCmdSwitchOpen = 1,
-	ECbsUiappCmdSwitchSubscribe,
-	ECbsUiappCmdSwitchUnsubscribe,
-	ECbsUiappCmdSwitchHotmark,
-	ECbsUiappCmdSwitchUnhotmark,
-	ECbsUiappCmdSwitchSettings,
-	ECbsUiappCmdSwitchTopic,
-	ECbsUiappCmdSwitchAddManually,
-	ECbsUiappCmdSwitchAddFromIndex,
-	ECbsUiappCmdSwitchEdit,
-	ECbsUiappCmdSwitchDelete,
-	ECbsUiappCmdSwitchDeleteAll,	
-	ECbsUiCmdCopyToClipboard,
-	ECbsUiappCmdOkKey,
-	ECbsUiappCmdTopicMenuRead,
-	ECbsUiappCmdTopicMenuKeep,
-	ECbsUiappCmdMessageDelete,
-	ECbsUiappCmdMsgMenuKeep,
-	ECbsUiappTopicViewReadMessage,
-	ECbsUiappTopicViewKeepMessage,
-	ECbsUiappTopicViewCmdGoToPrevTopic,
-	ECbsUiappTopicViewCmdGoToNextTopic,
-	ECbsUiappCmdMsgMenuDelete,
-	ECbsUiappSettingsViewCmdChange,
-	ECbsUiCmdFindItem,
-	ECbsUiappCmdTopicMSKRead,
-	ECbsUiappNullCmd
-	};
-
-// CbsUi Control id's
-enum TCbsUiControlIds
-	{
-	ECbsUiAddFromIndexDlgLine = 1,
-	ECbsUiLanguageDlg,
-	ECbsMemoryFullNote,	
-	ECbsCannotSubscribeErrorNote,
-	ECbsMessageKeptNote,
-	ECbsMessageCopiedNote,
-	ECbsChangeNumberErrorNote,
-	ECbsLowMemoryErrorNote,
-	ENewTopicAddedDlg
-	};
-	
-// CbsUi application view ID's
-enum TCbsUiViewIds
-    {
-    /// Names list view
-    ECbsUiTopicViewId = 1,
-	ECbsUiTopicListViewId,
-    ECbsUiListAppColumnViewId,
-	ECbsUiMsgViewId,
-	ECbsUiAddFromIndexViewId,
-	ECbsUiSettingsViewId
-    };
-
-enum { EMaxTopicNumberLength = 3};
-
-#endif
-
-// End of File
--- a/cbs/cbsui/Group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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: 
-*       The build information file of Cell Broadcast Service
-*
-*
-*/
-
-#include  <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-//  Help exports
-#include "../help/group/bld.inf"
-
-PRJ_EXPORTS
-./cbsuiapp_stub.SIS             /epoc32/data/z/system/install/cbsuiapp_stub.sis
-
-../rom/CbsUiApp.iby             CORE_MW_LAYER_IBY_EXPORT_PATH(CbsUiApp.iby)
-
-../rom/CbsUiResources.iby       LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(CbsUiResources.iby)
-    
-../loc/cbsuiapp.loc             MW_LAYER_LOC_EXPORT_PATH(cbsuiapp.loc)
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE cbsuiapp.mif
-  OPTION HEADERFILE cbsuiapp.mbg
-  OPTION SOURCEFILE iconlist.txt
-END
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE cbsuiapp_aif.mif
-  OPTION SOURCES -c8,8 qgn_menu_cb
-END
-
-PRJ_MMPFILES
-//gnumakefile cbsui_icons_scalable_dc.mk
-//gnumakefile cbsui_icons_aif_scalable_dc.mk
-../Group/cbsuiApp.mmp
-
-
-PRJ_TESTMMPFILES
-//../tsrc/CbsUiCVTTest.mmp
-
-
-// End of File
--- a/cbs/cbsui/Group/cbsuiApp.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +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 project specification file for the cbsuiapp.app
-*     
-*
-*/
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET      cbsuiApp.exe
-EPOCSTACKSIZE   0x5000
-TARGETTYPE  exe
-
-UID         0x100039CE 0x101F4CD3
-
-VENDORID    VID_DEFAULT
-CAPABILITY  CAP_APPLICATION NetworkControl
-
-
-SOURCEPATH      ../UiSrc
-
-SOURCE      CCbsUiappAppUi.cpp
-SOURCE      CCbsUiappApplication.cpp
-SOURCE      CCbsUiappDocument.cpp
-SOURCE      CCbsUiTopicListView.cpp
-SOURCE      CCbsUiTopicListViewContainer.cpp
-SOURCE      CCbsUiTopicView.cpp
-SOURCE      CCbsUiTopicViewContainer.cpp
-SOURCE      ccbsuisettingsviewcontainer.cpp
-SOURCE      CCbsUiMsgView.cpp
-SOURCE      CCbsUiMsgViewContainer.cpp
-SOURCE      CCbsUiAddFromIndexDialog.cpp
-SOURCE      CCbsUiSettingsMonitor.cpp
-SOURCE      CCbsUiTopicListMonitor.cpp
-SOURCE      CCbsUiSettingsView.cpp
-SOURCE      CCbsUiListQueryDialog.cpp
-SOURCE      CCbsUiLanguageSettingPage.cpp
-SOURCE      CCbsUiEditTopicDlg.cpp
-SOURCE      CbsUiUtility.cpp
-SOURCE      CbsUiPanic.cpp
-SOURCE      ccbsuiviewfactory.cpp
-SOURCE      RCbsUi.cpp
-
-
-START RESOURCE ../Group/cbsuiApp.rss
-TARGETPATH APP_RESOURCE_DIR
-HEADER
-LANGUAGE_IDS
-END  // RESOURCE
-
-START RESOURCE ../Group/CbsUiApp_reg.rss
-DEPENDS cbsuiapp.rsg
-TARGETPATH /private/10003a3f/apps
-END  // RESOURCE
-
-USERINCLUDE . ../UiInc  ../AIF
-SYSTEMINCLUDE ../../../inc
-USERINCLUDE   ../loc
-
-// app layer used due to xSymbian header relocation
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY     bafl.lib
-LIBRARY     euser.lib 
-LIBRARY     apparc.lib 
-LIBRARY     cone.lib 
-LIBRARY     eikcore.lib 
-LIBRARY     eikcoctl.lib 
-LIBRARY     eikctl.lib 
-LIBRARY     avkon.lib
-LIBRARY     cbsclient.lib
-LIBRARY     eikdlg.lib
-LIBRARY     etext.lib
-LIBRARY     commonui.lib
-LIBRARY     commonengine.lib
-LIBRARY     EGUL.LIB
-LIBRARY     FORM.LIB
-LIBRARY     hlplch.lib      // Help application
-LIBRARY     FeatMgr.lib
-LIBRARY     aknnotify.lib   // Soft notifications
-LIBRARY     sysutil.lib     // FFS critical level check
-LIBRARY     AknSkins.lib    // Skins support
-library     efsrv.lib       // TParse
-LIBRARY     centralrepository.lib
-LIBRARY     cdlengine.lib
-LIBRARY     AknLayout2Scalable.lib
-LIBRARY     gdi.lib
-
-
-
-// End of File
--- a/cbs/cbsui/Group/cbsuiApp.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1482 +0,0 @@
-/*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Resource file for cbs ui application.
-*
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME LIST
-
-
-//  INCLUDES
-#include <bldvariant.hrh>
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.hrh>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <cbsuiapp.mbg>
-#include <AvkonIcons.hrh>   // AVKON_ICON_FILE( Path to avkon.mbm file )
-#include <appinfo.rh>
-#include "Cbsuiapp.hrh"
-#include <cbsuiapp.loc>
-
-
-#define cbs_image_library "Z:\\resource\\apps\\cbsuiapp.mbm"
-
-
-
-// ---------------------------------------------------------
-//   
-//    Standard resource file signature
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------
-//   
-//    App caption and default filename
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF 
-    { 
-    buf = "Cbsuiapp"; 
-    }
-
-// ---------------------------------------------------------
-//   
-//    App information
-//
-// ---------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    }
-
-
-//----------------------------------------------------
-//   
-//    r_cbsuiapp_localisable_app_info
-//    Localisable app info
-//
-//----------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_cbsuiapp_localisable_app_info
-    {
-    short_caption = qtn_cb_title_grid;
-    caption_and_icon = 
-    CAPTION_AND_ICON_INFO
-        {
-        caption = qtn_cb_title_cbs;
-#ifdef __SCALABLE_ICONS
-        number_of_icons = 1;
-        icon_file = "Z:\\resource\\apps\\CBSUIAPP_aif.mif";
-#else // !__SCALABLE_ICONS
-        number_of_icons = 2;
-        icon_file = "Z:\\resource\\apps\\CBSUIAPP_aif.mbm";
-#endif // __SCALABLE_ICONS
-        };
-    }
-
-
-
-
-//  RESOURCE DEFINITIONS 
-// ---------------------------------------------------------
-//   
-//    r_cbsui_msgview
-//    Message view.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_cbsui_msgview
-    {
-    menubar = r_cbsui_msgview_menubar;
-    cba = r_cbs_softkeys_options_back__contextoptions;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_msgview_menubar
-//    Message view menu bar definition.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_cbsui_msgview_menubar
-    {
-    titles =
-        {
-        MENU_TITLE 
-        { 
-        menu_pane = r_cbsui_msgview_menu; 
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_msgview_menu
-//    Message view menu.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cbsui_msgview_menu
-    {
-    items =
-    {
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdMsgMenuKeep;
-        txt = qtn_cb_cmd_keep_topic;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdMsgMenuDelete;
-        txt = qtn_cb_cmd_del_msg;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiCmdCopyToClipboard; 
-        txt = qtn_cb_cmd_copy_clip;
-        },
-    MENU_ITEM
-        {
-        command = EAknCmdHelp;
-        txt = qtn_options_help;
-        },
-    MENU_ITEM 
-        { 
-        command = EAknCmdExit;
-        txt = qtn_cb_cmd_exit;
-        }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_topicview
-//    Topic view.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_cbsui_topicview
-    {
-    menubar = r_cbsui_topicview_menubar; 
-    cba = r_cbs_softkeys_options_back__open;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_topicview_menubar
-//    Topic view menu bar.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_cbsui_topicview_menubar
-    {
-     titles=
-    {
-    MENU_TITLE 
-        { 
-        menu_pane = r_cbsui_topicview_menu;
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_topicview_menu
-//    Topic view menu.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cbsui_topicview_menu
-    {
-    items=
-    {
-    MENU_ITEM 
-        {  
-        command = ECbsUiappCmdTopicMenuRead;
-        txt=qtn_cb_cmd_msg_open;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        {  
-        command = ECbsUiappCmdTopicMenuKeep;
-        txt=qtn_cb_cmd_keep_topic;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        {  
-        command = ECbsUiappCmdMessageDelete;
-        txt=qtn_cb_cmd_del_msg;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM
-        {
-        command = EAknCmdHelp;
-        txt = qtn_options_help;
-        },
-    MENU_ITEM 
-        {  
-        command = EAknCmdExit;
-        txt=qtn_cb_cmd_exit;
-        }
-    };
-    }
-
-// ---------------------------------------------------------
-//   
-//    r_cbs_softkeys_options_exit__open
-//    Topic list view softkeys.
-//
-// ---------------------------------------------------------
-//
-
-RESOURCE CBA r_cbs_softkeys_options_exit__open
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt= text_softkey_exit;},
-        CBA_BUTTON {id=ECbsUiappCmdSwitchOpen; txt=qtn_msk_open;}
-        };
-    }
-    
-// ---------------------------------------------------------
-//   
-//    r_cbs_softkeys_options_back__open
-//    Topic view softkeys.
-//
-// ---------------------------------------------------------
-//
-
-RESOURCE CBA r_cbs_softkeys_options_back__open
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt= text_softkey_back;},
-        CBA_BUTTON {id=ECbsUiappCmdTopicMSKRead; txt=qtn_msk_open;}
-        };
-    }    
-
-// ---------------------------------------------------------
-//   
-//    r_cbs_softkeys_options_back__contextoptions
-//    Message view context sensitive softkeys.
-//
-// ---------------------------------------------------------
-//
-
-RESOURCE CBA r_cbs_softkeys_options_back__contextoptions
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt= text_softkey_back;},
-        CBA_BUTTON {id=EAknSoftkeyContextOptions; txt=text_softkey_option;}
-        };
-    }
-    
-// ---------------------------------------------------------
-//   
-//    r_cbs_softkeys_options_back__change
-//    Settings view softkeys.
-//
-// ---------------------------------------------------------
-//
-
-RESOURCE CBA r_cbs_softkeys_options_back__change
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt= text_softkey_back;},
-        CBA_BUTTON {id=EAknSoftkeyChange; txt=qtn_msk_change;}
-        };
-    }
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_topiclistview
-//    Topic list view.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_cbsui_topiclistview
-    {
-    menubar = r_cbsui_topiclistview_menubar; 
-    cba = r_cbs_softkeys_options_exit__open;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_topiclistview_menubar
-//    Topic list view menu bar.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_cbsui_topiclistview_menubar
-    {
-    titles=
-    {
-    MENU_TITLE 
-        {   
-        menu_pane = r_cbsui_topiclistview_menu; 
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_topiclistview_menu
-//    Topic list view menu.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cbsui_topiclistview_menu
-    {
-    items=
-    {
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchOpen; 
-        txt=qtn_cb_cmd_open;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchSubscribe;
-        txt=qtn_cb_cmd_subscribe;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchUnsubscribe;
-        txt=qtn_cb_cmd_unsubscribe;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchHotmark;
-        txt=qtn_cb_cmd_hotmark;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchUnhotmark; 
-        txt=qtn_cb_cmd_unhotmark;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        {
-        command = ECbsUiappCmdSwitchTopic;
-        cascade = r_cbsui_topic_menu;
-        txt = qtn_cb_cmd_topic;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchSettings;
-        txt=qtn_cb_cmd_settings;
-        },
-    MENU_ITEM
-        {
-        command = EAknCmdHelp;
-        txt = qtn_options_help;
-        },
-    MENU_ITEM 
-        {
-        command = EAknCmdExit;
-        txt = qtn_cb_cmd_exit;
-        }
-    };
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_cbsui_topic_menu
-//    Topic sub menu.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cbsui_topic_menu
-    {
-    items=
-    {
-        MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchAddManually;
-        txt = qtn_cb_topic_add_man;
-        },
-        MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchAddFromIndex;
-        txt = qtn_cb_topic_add_f_index;
-        },
-        MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchEdit;
-        txt = qtn_cb_topic_edit;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchDelete;
-        txt = qtn_cb_topic_delete;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdSwitchDeleteAll;
-        txt = qtn_cb_topic_delete_all;
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_delete_topic_confirmation_query
-//    Query for topic deletion.
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_delete_topic_confirmation_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-
-    items =
-    {
-    DLG_LINE
-        {
-        type = EAknCtQuery;
-        id = EGeneralQuery;
-        control = AVKON_CONFIRMATION_QUERY
-        { 
-        layout = EConfirmationLayout;
-        label = qtn_cb_query_delete_topic;
-        };
-        }
-    };
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_delete_msg_confirmation_query
-//    Query for message deletion.
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_delete_msg_confirmation_query
-    {
-    flags = EGeneralQueryFlags;
-
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-
-    items=
-    {
-    DLG_LINE
-        {
-        type=EAknCtQuery;
-        id=EGeneralQuery;
-        control= AVKON_CONFIRMATION_QUERY
-        { 
-        layout = EConfirmationQueryLayout;
-        label = qtn_cb_note_delete_msg;
-        };
-        }
-    };
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_delete_all_topics_confirmation_query
-//    Query for all topics deletion.
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_delete_all_topics_confirmation_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-    {
-    DLG_LINE
-        {
-        type = EAknCtQuery;
-        id = EGeneralQuery;
-        control = AVKON_CONFIRMATION_QUERY
-        { 
-        layout = EConfirmationLayout;
-        label = qtn_cb_query_delete_all_topic;
-        };
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_cbs_add_from_index_dialog
-//    Add from index dialog.
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_cbs_add_from_index_dialog
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | 
-        EEikDialogFlagFillAppClientRect |
-        EEikDialogFlagCbaButtons | EEikDialogFlagWait;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
-    items =
-    {
-    DLG_LINE
-        {
-        id = ECbsUiAddFromIndexDlgLine;     
-        type = EAknCtSingleGraphicListBox;
-        itemflags = EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys;
-            control = LISTBOX 
-        {
-        flags = EAknListBoxMultiselectionList | 
-                EAknListBoxStylusMultiselectionList;
-        height = 5;
-        };
-        }
-        };
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_qtn_cb_title_cbs
-//    Text for cbs title pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_qtn_cb_title_cbs 
-    { 
-    txt = qtn_cb_title_cbs; 
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_qtn_cb_title_add_topics
-//    Title pane for add from index dialog.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_qtn_cb_title_add_topics 
-    { 
-    txt = qtn_cb_title_addtopics; 
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_qtn_cb_ad_sel_top
-//    In add from index dialog. (Select topics...)
-//
-// ---------------------------------------------------------
-//
-RESOURCE NAVI_DECORATOR r_qtn_cb_ad_sel_top
-    {
-    type = ENaviDecoratorLabel;  
-    control = NAVI_LABEL 
-    { 
-    txt = qtn_cb_ad_sel_top; 
-    };
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_cb_tl_no_new_messages
-//    Text No new messages.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_cb_tl_no_new_messages
-    {
-    buf = qtn_cb_tl_no_new_messages; 
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cb_tl_one_new_message
-//    Text One new message.
-//
-// ---------------------------------------------------------
-//  
-RESOURCE TBUF r_cb_tl_one_new_message
-    {
-    buf = qtn_cb_tl_one_new_message; 
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cb_tl_new_messages
-//    Text ?N new messages.
-//
-// ---------------------------------------------------------
-//  
-RESOURCE TBUF r_cb_tl_new_messages
-    {
-    buf = qtn_cb_tl_new_messages; 
-    }
-
-/******* NOTES ******/
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_note_msg_to_clip
-//    Note text.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_note_msg_to_clip 
-    { 
-    buf = qtn_cb_note_msg_to_clip; 
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_note_number_error
-//    Note text.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_note_number_error 
-    { 
-    buf = qtn_cb_note_change_number; 
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_note_memory_full_error
-//    Note text.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_note_memory_full_error 
-    { 
-    buf = qtn_cb_note_mem_full_del_msg; 
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_note_cannot_subscribe_error
-//    Note text.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_note_cannot_subscribe_error 
-    { 
-    buf = qtn_cb_note_can_not_subs; 
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_note_msg_kept
-//    Note text.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_note_msg_kept 
-    { 
-    buf = qtn_logs_info_msg_kept; 
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_note_new_topic_added
-//    Note text.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_note_new_topic_added 
-    { 
-    buf = qtn_cb_note_new_to_added; 
-    }
-
-/******* NOTES END ******/
-
-
-
-// ---------------------------------------------------------
-//   
-//    r_edit_topic_query
-//    Dialog for editing topic.
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_edit_topic_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-    {
-    DLG_LINE
-        {
-        type = EAknCtMultilineQuery;
-        id = EMultilineFirstLine;
-        control = AVKON_DATA_QUERY
-        { 
-        layout = EMultiDataFirstEdwinAllowEmpty;
-        label = qtn_cb_litext_name;
-        control = EDWIN
-            {
-            flags = 0;
-            width = 5;
-            lines = 1;
-            maxlength = 20;
-            };
-        };
-        },
-    DLG_LINE
-        {
-        type = EAknCtMultilineQuery;
-        id = EMultilineSecondLine;
-        control = AVKON_DATA_QUERY
-        { 
-        layout = EMultiDataSecondEdwin;
-        label = qtn_cb_litext_number;
-        control = EDWIN
-            {
-            flags = 0;
-            avkon_flags = EAknEditorFlagSupressShiftMenu;
-            width = 5;
-            lines = 1;
-            maxlength = EMaxTopicNumberLength;
-            allowed_input_modes = EAknEditorNumericInputMode;
-            default_input_mode = EAknEditorNumericInputMode;
-            numeric_keymap = EAknEditorPlainNumberModeKeymap;
-            };
-        };
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_msg_reader
-//    Resource definition for message reading component.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RTXTED r_msg_reader
-    {
-    width = 176;
-    height = 142; // 144 for whole window
-    numlines = 7;
-    
-    flags = EEikEdwinNoHorizScrolling | EEikEdwinNoAutoSelection | 
-                      EEikEdwinWidthInPixels | EEikEdwinInclusiveSizeFixed;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_plural_topic_added
-//    Topic count information
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_plural_topic_added 
-    { 
-    buf = qtn_cb_note_new_tos_added; 
-    }
-
-
-
-// ---------------------------------------------------------
-//   
-//    r_checkbox_icons
-//    Array for check box icons
-//
-// ---------------------------------------------------------
-//
-RESOURCE AKN_ICON_ARRAY r_checkbox_icons
-    {
-    bmpfile = AVKON_ICON_FILE;
-    icons =
-    {
-    AKN_ICON
-        {                    
-        iconId = EMbmAvkonQgn_indi_checkbox_on;
-        maskId = EMbmAvkonQgn_indi_checkbox_on_mask;
-        },
-    AKN_ICON
-        {
-        iconId = EMbmAvkonQgn_indi_checkbox_off;
-        maskId = EMbmAvkonQgn_indi_checkbox_off_mask;
-        }
-    };
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_cbs_image_library
-//    Locations to the cbs image library.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_cbs_image_library 
-    { 
-    buf = cbs_image_library; 
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_cbsui_msg_keep_and_delete_context_menubar
-//    Context menu bar for delete and keep.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_cbsui_msg_keep_and_delete_context_menubar
-    {
-    titles=
-    {
-    MENU_TITLE 
-        { 
-        menu_pane = r_cbsui_msg_keep_and_delete_context_menu;
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_msg_keep_and_delete_context_menu
-//    Context menu for keep and delete.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cbsui_msg_keep_and_delete_context_menu
-    {
-    items=
-    {
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdMsgMenuKeep;
-        txt = qtn_cb_cmd_keep_topic;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdMsgMenuDelete;
-        txt = qtn_cb_cmd_del_msg;
-        flags = EEikMenuItemSpecific;
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_msg_delete_context_menubar
-//    Context menu bar for delete.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_cbsui_msg_delete_context_menubar
-    {
-    titles =
-    {
-    MENU_TITLE 
-        { 
-        menu_pane = r_cbsui_msg_delete_context_menu;
-        }
-    };
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_cbsui_msg_delete_context_menu
-//    Context menu pane for delete.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cbsui_msg_delete_context_menu
-    {
-    items=
-    {
-    MENU_ITEM 
-        { 
-        command = ECbsUiappCmdMsgMenuDelete;
-        txt = qtn_cb_cmd_del_msg;
-        flags = EEikMenuItemSpecific;
-        }
-    };
-    }
-
-
-/**
-* Settings view.
-*/
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_settingsview
-//    Settings view.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_cbsui_settingsview
-    {
-    menubar = r_cbsui_settingsview_menubar;
-    cba = r_cbs_softkeys_options_back__change;
-    }
-
-
- 
-// ---------------------------------------------------------
-//   
-//    r_cbsui_settingsview_menubar
-//    Settings view.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_cbsui_settingsview_menubar
-    {
-    titles =
-        {
-        MENU_TITLE 
-        { 
-        menu_pane = r_cbsui_settingsview_file_menu; 
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbsui_settingsview_file_menu
-//    Settings view.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cbsui_settingsview_file_menu
-    {
-    items=
-    {
-    MENU_ITEM 
-        { 
-        command = ECbsUiappSettingsViewCmdChange;
-        txt = qtn_mce_settings_change;
-        flags = EEikMenuItemSpecific;
-        },
-    MENU_ITEM
-        {
-        command = EAknCmdHelp;
-        txt = qtn_options_help;
-        },
-    MENU_ITEM 
-        { 
-        command = EAknCmdExit; 
-        txt = qtn_mce_settings_exit;
-        }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    cbs_long_array
-//    Array for LONG items.
-//
-// ---------------------------------------------------------
-//
-
-STRUCT CBS_LONG_ARRAY
-    {
-    LONG elements[];
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbs_date_format_array
-//    Array for date and time formats, which are added
-//    to the end of each CBS message and in this order.
-// ---------------------------------------------------------
-//
-RESOURCE CBS_LONG_ARRAY r_cbs_date_format_array
-    {
-    elements = 
-    { 
-    R_QTN_DATE_USUAL,
-    R_QTN_TIME_USUAL
-    };
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_text_reception
-//    Text reception on.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_reception
-    {
-    buf = qtn_mce_settings_cb_reception;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_topic_detection
-//    Text Topic detection.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_topic_detection
-    {
-    buf = qtn_mce_settings_cb_topic;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_reception_on
-//    Text reception on.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_reception_on 
-    {
-    buf = " \t"qtn_mce_settings_cb_reception"\t\t"qtn_mce_settings_cb_re_on;
-    }
-
- 
-// ---------------------------------------------------------
-//   
-//    r_text_reception_off
-//    Text reception off.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_reception_off 
-    {
-    buf = " \t"qtn_mce_settings_cb_reception"\t\t"qtn_mce_settings_cb_re_off;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_detection_on
-//    Text detection on.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_detection_on 
-    {
-    buf = " \t"qtn_mce_settings_cb_topic"\t\t"qtn_mce_settings_cb_topic_detection_on;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_detection_off
-//    Text detection off.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_detection_off 
-    {
-    buf = " \t"qtn_mce_settings_cb_topic"\t\t"qtn_mce_settings_cb_topic_detection_off;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_language
-//    Text language.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_language 
-    {
-    buf = " \t"qtn_mce_settings_cb_language"\t\t";
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_language_all
-//    Text Language all.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_language_all 
-    {
-    buf = " \t"qtn_mce_settings_cb_language"\t\t"qtn_mce_settings_cb_all;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_language_selected
-//    Text language selected.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_language_selected 
-    {
-    buf = " \t"qtn_mce_settings_cb_language"\t\t"qtn_mce_settings_cb_selected;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_text_language_other
-//    Text Language Other.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_language_other
-    {
-    buf = " \t"qtn_mce_settings_cb_language"\t\t"qtn_mce_settings_cb_other;
-    }
-
-
-
-
-// ---------------------------------------------------------
-//   
-//    r_listbox_language
-//    List box for languages.
-//
-// ---------------------------------------------------------
-//
-RESOURCE LISTBOX r_listbox_language
-    {
-    flags = EEikListBoxMultipleSelection;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_language_setting_page
-//    Dialog for the All and Selected values.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_language_setting_page
-    { 
-    label = qtn_mce_settings_cb_language;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL;
-    type = EAknSetListBox;
-    editor_resource_id = r_listbox_language;
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_on_off_setting_page
-//    Dialog for the All, Selected and Other.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_on_off_setting_page
-    { 
-    label = qtn_mce_settings_cb_reception;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL;
-    type = EAknSetListBox;
-    editor_resource_id = r_listbox_language;
-    }
-
-
-
-// ---------------------------------------------------------
-//   
-//    r_language_multiselection_list_query
-//    Resource structure for CCbsUiListQueryDialog.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_MULTISELECTION_LIST_QUERY r_language_multiselection_list_query
-    {
-    softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
-
-    items =
-    {
-    AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE 
-        {
-        control = AVKON_LIST_QUERY_CONTROL
-        {
-        listtype = EAknCtSingleGraphicPopupMenuListBox;
-        listbox = AVKON_MULTISELECTION_LIST_QUERY_LIST
-            {
-            flags = EAknListBoxMultiselectionList | EAknListBoxPointerMultiselectionList;
-            array_id = r_cbs_languages_array;
-            };
-        heading = qtn_mce_settings_cb_quest_langu;
-        };
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbs_languages_array
-//    Array for languages.
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_cbs_languages_array
-    {
-    items =
-    {
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_german; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_english; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_italian; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_french; 
-        },
-    LBUF
-        { 
-        txt = "1\t" qtn_mce_settings_cb_spanish; 
-        },
-    LBUF
-        { 
-        txt = "1\t" qtn_mce_settings_cb_dutch; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_swedish; 
-        },
-    LBUF
-        { 
-        txt = "1\t" qtn_mce_settings_cb_danish; 
-        },
-    LBUF
-        { 
-        txt = "1\t" qtn_mce_settings_cb_portuguese; 
-        },
-    LBUF
-        { 
-        txt = "1\t" qtn_mce_settings_cb_finnish; 
-        },
-    LBUF
-        { 
-        txt = "1\t" qtn_mce_settings_cb_norwegian; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_greek;
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_turkish; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_hungarian; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_polish; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_czech; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_hebrew; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_arabic; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_russian; 
-        },
-    LBUF 
-        { 
-        txt = "1\t" qtn_mce_settings_cb_icelandic; 
-        }
-    };
-    }
-
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbs_language_setting_page_array
-//    Array for languages.
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_cbs_language_setting_page_array
-    {
-    items =
-    {
-    LBUF
-        {
-        txt = qtn_mce_settings_cb_all;
-        },
-    LBUF
-        {
-        txt = qtn_mce_settings_cb_selected;
-        },
-    LBUF
-        {
-        txt = qtn_mce_settings_cb_other;
-        }
-    };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_cbs_on_off_array
-//    Array for on and off values.
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_cbs_on_off_array
-    {
-    items =
-    {
-    LBUF
-        {
-        txt = qtn_mce_settings_cb_re_on;
-        },
-    LBUF
-        {
-        txt = qtn_mce_settings_cb_re_off;
-        }           
-    };
-    }
-
-
- 
-// ---------------------------------------------------------
-//   
-//    r_cbs_topic_detection_on_off_array
-//    Array for topic detection on and off values.
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_cbs_topic_detection_on_off_array
-    {
-    items =
-    {
-    LBUF
-        {
-        txt = qtn_mce_settings_cb_topic_detection_on;
-        },
-    LBUF
-        {
-        txt = qtn_mce_settings_cb_topic_detection_off;
-        }           
-    };
-    }
-
-
- 
-// ---------------------------------------------------------
-//   
-//    r_message_location_in_topic
-//    Text in navi pane in message view.
-//    
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_message_location_in_topic 
-    { 
-    buf = qtn_cb_msg_message; 
-    }
-
-
-
-// ---------------------------------------------------------
-//   
-//    r_qtn_offline_not_possible
-//    Error note text when offline mode is on and user try 
-//    to set reception on.
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_offline_not_possible
-    { 
-    buf = qtn_offline_not_possible; 
-    }
-
-
-// ---------------------------------------------------------
-//   
-//    r_qtn_offline_not_possible_sap
-//    The note that is shown when the user attempts to connect 
-//    the network when in SIM Access Profile mode.
-//
-//    
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_offline_not_possible_sap
-    { 
-    buf = qtn_offline_not_possible_sap; 
-    }
-
-
-// End of File
--- a/cbs/cbsui/Group/cbsui_icons_aif_bitmaps.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /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:
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-
-TARGETDIR=$(ZDIR)\system\apps\cbsuiapp
-ICONTARGETFILENAME=$(TARGETDIR)\cbsuiapp_aif.mbm
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-	    /c8,8 qgn_menu_cb_cxt.bmp \
-	    /c8,8 qgn_menu_cb_lst.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/cbs/cbsui/Group/cbsui_icons_aif_bitmaps_dc.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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:
-#
-
-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)\cbsuiapp_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_cb_cxt.bmp \
-        /c8,8 qgn_menu_cb_lst.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-  
\ No newline at end of file
--- a/cbs/cbsui/Group/cbsui_icons_aif_scalable.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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:
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-
-TARGETDIR=$(ZDIR)\system\apps\cbsuiapp
-ICONTARGETFILENAME=$(TARGETDIR)\cbsuiapp_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-	    /c8,8 qgn_menu_cb.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/cbs/cbsui/Group/cbsui_icons_aif_scalable_dc.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /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:
-#
-
-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)\cbsuiapp_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_cb.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-  
\ No newline at end of file
--- a/cbs/cbsui/Group/cbsui_icons_bitmaps.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-#
-# Copyright (c) 2003-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:  Icon makefile for CBSUi application#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-	ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-	ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\system\data
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\cbsuiapp.mif
-HEADERFILENAME=$(HEADERDIR)\cbsuiapp.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# CBSUi icons
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-		/c8,1 qgn_indi_cb_hot_add.bmp \
-		/c8,1 qgn_indi_cb_kept_add.bmp \
-		/c8,8 qgn_menu_cb_2_cxt.bmp \
-		/c8,8 qgn_menu_cb_cxt.bmp \
-		/c8,1 qgn_prop_cb_msg.bmp \
-		/c8,1 qgn_prop_cb_msg_unread.bmp \
-		/c8,1 qgn_prop_cb_subs.bmp \
-		/c8,1 qgn_prop_cb_subs_unread.bmp \
-		/c8,1 qgn_prop_cb_unsubs.bmp \
-		/c8,1 qgn_prop_cb_unsubs_unread.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/cbs/cbsui/Group/cbsui_icons_bitmaps_dc.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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:
-#
-
-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)\cbsuiapp.mif
-
-HEADERDIR=\epoc32\include
-HEADERFILENAME=$(HEADERDIR)\cbsuiapp.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,1 qgn_indi_cb_hot_add.bmp \
-		/c8,1 qgn_indi_cb_kept_add.bmp \
-		/c8,8 qgn_menu_cb_2_cxt.bmp \
-		/c8,8 qgn_menu_cb_cxt.bmp \
-		/c8,1 qgn_prop_cb_msg.bmp \
-		/c8,1 qgn_prop_cb_msg_unread.bmp \
-		/c8,1 qgn_prop_cb_subs.bmp \
-		/c8,1 qgn_prop_cb_subs_unread.bmp \
-		/c8,1 qgn_prop_cb_unsubs.bmp \
-		/c8,1 qgn_prop_cb_unsubs_unread.bmp
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-  
\ No newline at end of file
--- a/cbs/cbsui/Group/cbsui_icons_scalable.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-#
-# Copyright (c) 2003-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:  Icon makefile for CBSUi application#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-	ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-	ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\system\data
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\cbsuiapp.mif
-HEADERFILENAME=$(HEADERDIR)\cbsuiapp.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# CBSUi icons
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-		/c8,1 qgn_indi_cb_hot_add.bmp \
-		/c8,1 qgn_indi_cb_kept_add.bmp \
-		/c8,8 qgn_menu_cb_2.svg \
-		/c8,8 qgn_menu_cb.svg \
-		/c8,1 qgn_prop_cb_msg.bmp \
-		/c8,1 qgn_prop_cb_msg_unread.bmp \
-		/c8,1 qgn_prop_cb_subs.bmp \
-		/c8,1 qgn_prop_cb_subs_unread.bmp \
-		/c8,1 qgn_prop_cb_unsubs.bmp \
-		/c8,1 qgn_prop_cb_unsubs_unread.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/cbs/cbsui/Group/cbsui_icons_scalable_dc.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +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:
-#
-
-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)\cbsuiapp.mif
-
-HEADERDIR=\epoc32\include
-HEADERFILENAME=$(HEADERDIR)\cbsuiapp.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,1 qgn_indi_cb_hot_add.bmp \
-		/c8,1 qgn_indi_cb_kept_add.bmp \
-		/c8,8 qgn_menu_cb_2.svg \
-		/c8,8 qgn_menu_cb.svg \
-		/c8,1 qgn_prop_cb_msg.bmp \
-		/c8,1 qgn_prop_cb_msg_unread.bmp \
-		/c8,1 qgn_prop_cb_subs.bmp \
-		/c8,1 qgn_prop_cb_subs_unread.bmp \
-		/c8,1 qgn_prop_cb_unsubs.bmp \
-		/c8,1 qgn_prop_cb_unsubs_unread.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-  
\ No newline at end of file
--- a/cbs/cbsui/Group/cbsuiapp.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-; Languages
-&EN
-
-; Header
-#{"CbsUI patch"},(0x101F4CD3),10,1,0,TYPE=PU
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-"\epoc32\release\armv5\urel\cbsuiapp.exe"-"!:\sys\bin\cbsuiapp.exe"
-"\epoc32\data\z\resource\apps\cbsuiapp.rsc"-"!:\resource\apps\cbsuiapp.rsc"
-"\epoc32\data\z\resource\apps\cbsuiapp_aif.mif"-"!:\resource\apps\cbsuiapp_aif.mif"
-"\epoc32\data\z\resource\apps\cbsuiapp.mif"-"!:\resource\apps\cbsuiapp.mif"
-"\epoc32\data\z\private\10003a3f\apps\cbsuiapp_reg.rsc"-"!:\private\10003a3f\import\apps\cbsuiapp_reg.rsc"
Binary file cbs/cbsui/Group/cbsuiapp_stub.SIS has changed
--- a/cbs/cbsui/Group/cbsuiapp_stub.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-; Languages
-&EN
-
-; Header
-#{"CbsUI"}, (0x101F4CD3), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\cbsuiapp.exe"
-""-"z:\resource\apps\cbsuiapp.rsc"
-""-"z:\resource\apps\cbsuiapp_aif.mif"
-""-"z:\resource\apps\cbsuiapp.mif"
-""-"z:\private\10003a3f\import\apps\cbsuiapp_reg.rsc"
--- a/cbs/cbsui/Group/iconlist.txt	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
--c8,1 qgn_indi_cb_hot_add
--c8,1 qgn_indi_cb_kept_add
--c8,8 qgn_menu_cb_2
--c8,8 qgn_menu_cb
--c8,1 qgn_prop_cb_msg
--c8,1 qgn_prop_cb_msg_unread
--c8,1 qgn_prop_cb_subs
--c8,1 qgn_prop_cb_subs_unread
--c8,1 qgn_prop_cb_unsubs
--c8,1 qgn_prop_cb_unsubs_unread
\ No newline at end of file
--- a/cbs/cbsui/UiInc/CCbsUIMsgView.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*   Class for viewing messages.
-*
-*
-*/
-
-
-#ifndef __CBSMSGVIEW_H
-#define __CBSMSGVIEW_H
-
-//  INCLUDES
-#include <CbsCommon.h>
-#include <aknview.h>
-#include <AknNaviDecoratorObserver.h>
-#include "MCbsUiTopicMonitorObserver.h"
-#include "MSaveMessageController.h"
-#include "CbsUiDebug.h"
-
-
-// FORWARD DECLARATIONS
-class CCbsUiTopicView;
-class CCbsUiMsgViewContainer;
-class CAknNavigationDecorator;
-class CFindItemMenu;
-class MCbs;
-class CAknNavigationControlContainer;
-
-// CLASS DECLARATION
-/**
-*	It is the class for viewing messages.
-*/
-class CCbsUiMsgView : public CAknView,
-                      public MCbsUiTopicMonitorObserver,
-                      public MSaveMessageController,
-                      public MAknNaviDecoratorObserver                      
-    {
-    public: // Constructors and destructor   
-        
-        /**
-        * Destructor.
-        */
-        ~CCbsUiMsgView();
-        
-        /**
-        * Two-phased constructor.
-        *
-        * @param aServer Reference to cbs server.
-        */
-        static CCbsUiMsgView* NewL( MCbs& aServer );
-        
-    private: // From MEikMenuObserver
-
-        /*
-        * Adds find item and checks weather delete, keep or both of
-        * them should be removed.
-        *
-        * @param aResourceId resource ID for identifying the menu pane being 
-        *                    initialised.
-        * @param aMenuPane the in-memory representation of the menu pane.
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-        
-    private: // From MAknNaviDecoratorObserver
-        
-		/**
-		* Method for handling touch events on navigator (navi pane)
-		* 
-		* @param aEventID Id of the event.
-		*/
-    	void HandleNaviDecoratorEventL( TInt aEventID );
-        
-    public: // From MEikCommandObserver
-        
-        /**
-        * Closes context menu if it exists.
-        *
-        * @param aCommandId Command id, which has been pressed.
-        */
-        void ProcessCommandL( TInt aCommandId );
-       
-    public: // From CAknView
-
-        /**
-        * Returns view id.
-        * 
-        * @return View ID.
-        */
-        TUid Id() const;
-        
-        /**
-        * Handles the command.
-        *
-        * @param aCommand menu command which user has selected from 
-        *                 option menu
-        */
-        void HandleCommandL( TInt aCommand );        
-        
-        /**
-        * Activates the message view. Actiovation depends on the message.
-        * Three variations are: normal, immediate and 
-        *                       soft notification messages.
-        *
-        * @param aPrevViewId Previous view id.
-        * @param aCustomMessageId With this different mechanism of activations
-        *                          are used. Immediate message uses 
-        *                          KCbsImmediateMessageIdInt and normal message
-        *                          uses KCbsUiCustomMessageId. If the message id
-        *                          differ from these, the message is activated
-        *                          by soft notification
-        * @param aCustomMessage Message content.
-        */
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId, 
-            TUid aCustomMessageId, 
-            const TDesC8& aCustomMessage );
-        
-        /**
-        * Deactivates the view and destroys needed objects.
-        */
-        void DoDeactivate();     
-
-    public: // From MSaveMessageController, these are called from 
-            // CbsUiUtility
-
-        /**
-        *   Saves a message (the saved message won't be deleted to make 
-        *   room for new messages).
-        *
-        *   Return codes:
-        *   KErrNone            Message is saved.
-        *   KErrGeneral         Message not saved -- total maximum of saved 
-        *                       messages reached.
-        *   KErrNotFound        Message not saved -- no message associated
-        *                       with the given handle.
-        *   KErrDiskFull        Message not saved -- FFS out of space.
-        *
-        *   @param  aHandle     Handle to the message to be saved.
-        *   @return             Return code.
-        */
-        TInt SaveMessage( const TCbsMessageHandle& aHandle );
-
-    public:        
-
-        /**
-        * Sets the message information to navi pane. e.g. Message 1/3.
-        */    
-        void UpdateNaviPaneL();
-        
-        /**
-        * When called, next message is displayed
-        */
-        void MoveToNextMessageL();
-        
-        /**
-        * When called, previous message is displayed
-        */
-        void MoveToPreviousMessageL();
-        
-        /**
-        * Topic list or topic messages are changed.
-        *
-        * @param aEvent reason for event
-        * @param aTopicNumber topic number, which caused the event
-        */
-        void TopicListChangedL(
-            TCbsTopicListEvent aEvent, TCbsTopicNumber aTopicNumber );
-
-        /**
-        * Handle changes in container when rect changes.
-        * Update message and set new rect to container.
-        */
-        void HandleRectChangeInContainerL();
-
-    private: // Data structures
-
-        enum TMsgViewSetHandle
-            {
-            EToNext,
-            EToPrevious
-            };
-      
-    private:  // New functions
-
-        /**
-        * Creates a find item dialog and pass a message to
-        * it and gives the search case, what to look.
-        *
-        * @param aCommand search case
-        */
-        void DoSearchL( TInt aCommand );
-        
-        /**
-        * Removes and destroys the context menu.
-        */
-        void CloseContextMenu();
-
-        /**
-        * Launch the context menu.
-        */
-        void LaunchContextMenuL();
-
-        /**
-        * Deletes a old message.
-        */ 
-        void DeleteOldMessage();
-
-        /**
-        * Loads a message from topic view.
-        *
-        * @return error code if Loading of message has been leaved and catched.
-        */
-        TInt DoLoadMessageL();
-
-        /**
-        * Activates topic view with defined topic number and message handle.
-        *
-        * @param aTopicNumber which topic the message belongs
-        * @param aHandle which message handle is activating topic view.
-        */
-        void ActivateTopicViewL(
-            TCbsTopicNumber aTopicNumber, TCbsMessageHandle aHandle);
-
-        /**
-        * Sets current message handle to aMessageHandle.
-        *
-        * @param aMessageHandle message handle         
-        */
-        void SetCurrentMessageHandle( const TDesC8& aMessageHandle );
-
-        /**
-        * Loads current message buffer.
-        */
-        void LoadMessageL();
-
-        /**
-        * Adds date and time to a aMessage.
-        *
-        * @param aTime A time when message was received.
-        * @param aMessage Address of actual pointer variable. So after 
-        *                 reallocation real message content is also changed.
-        * @param aResourceArrayId Used resource array for date and time format.
-        */
-        void AddDateAndTimeL( 
-            const TInt64 aTime, HBufC** aMessage, TUint aResourceArrayId ) const;
-
-        /**
-        * Returns topic number of current message.
-        *
-        * @return current topic number
-        */
-        TCbsTopicNumber CurrentTopicNumber() const;
-
-        /**
-        * Gets message position in topic where th aHandle belongs.
-        *
-        * @param aHandle message handle
-        * @param aPosition It will contain the message position in topic.
-        * @param aTotal It will contain the total message count in topic,
-        * @return error code
-        */
-        TInt GetMessagePosition(
-            TCbsMessageHandle aHandle, TInt& aPosition, TInt& aTotal );
-
-        /**
-        * Sets aHandle to previous or next according to aTo
-        * if possible.
-        *
-        * @param aTo sets aHandle to prev or next
-        * @return ETrue if aHandle has been set.
-        */
-        TBool SetHandleTo( TCbsMessageHandle& aHandle, TMsgViewSetHandle aTo );
-
-        /**
-        * Deletes a message according to a aHandle.
-        *
-        * @param aHandle handle to be deleted.
-        * @return ETrue if message was deleted
-        */
-        TBool DeleteMessageL( TCbsMessageHandle aHandle );
-
-        /**
-        * Activates topic list view.
-        */
-        void ActivateTopicListViewL() const;
-
-        /**
-        * Sets current message to newest hot marked message or
-        * activates the topic list view.
-        *
-        * @return ETrue if new view is launched
-        */
-        TBool HandleSoftNotificationL();
-
-    private: 
-
-        /**
-        * C++ constructor.
-        *
-        * @param aServer Reference to cbs server.   
-        */
-        CCbsUiMsgView( MCbs& aServer );
-
-        /**
-        * Two-phased constructor.
-        */
-        void ConstructL();
-        
-    private: // Data
-        
-        // message buffer
-        HBufC* iMessage;
-        
-        // Container class
-        CCbsUiMsgViewContainer* iContainer;
-
-        // Navi pane variables
-        CAknNavigationControlContainer* iNaviContainer;
-
-        // NaviPaneDecorator
-        CAknNavigationDecorator* iDecoratedLabel;
-        
-        // NaviPaneDecorator
-        CAknNavigationDecorator* iPreviousDecoratedLabel;        
-      
-        // Find item common component        
-        CFindItemMenu* iFindItemMenu;
-        
-        // Context sensitive menu, which appears when pushed ok key        
-        CEikMenuBar* iContextMenu;
-
-        // To get a topic count and messages inside
-        // a topic.
-        MCbs& iServer;
-
-        // Tells if the message is class 0.
-        TBool iIsClass0;
-
-        // Current message handle
-        TCbsMessageHandle iCurrentHandle;
-
-        // True if launched from the other application.
-        TBool iFromOtherApplication;
-
-    };
-    
-#endif //__CBSMSGVIEW_H
-
-
-// End of file
--- a/cbs/cbsui/UiInc/CCbsUIMsgViewContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +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:  Header file for the CCbsUiMsgViewContainer class.
-*
-*
-*/
-
-
-#ifndef __CCBSUIMSGVIEWCONTAINER_H
-#define __CCBSUIMSGVIEWCONTAINER_H
-
-//  INCLUDES
-#include <coecntrl.h>
-
-
-// FORWARD DECLARATIONS
-class CCbsUiMsgView;
-class CEikRichTextEditor;
-class CRichText;
-class CCbsUiMsgView;
-class CEikButtonGroupContainer;
-class CEikScrollBarFrame;
-class CAknsBasicBackgroundControlContext;
-
-// CLASS DECLARATION
-/**
-* It is the container class viewing messages.
-*/
-class CCbsUiMsgViewContainer : public CCoeControl,
-                               public MEikScrollBarObserver
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        *
-        * @param aMsgView Referenceo to message view.
-        * @param aRect Rectangle, which container can use.
-        */
-        static CCbsUiMsgViewContainer* NewL( 
-            CCbsUiMsgView& aMsgView, 
-            const TRect& aRect );
-
-        /**
-        * Destructor.
-        */
-        ~CCbsUiMsgViewContainer();
-        
-    public: // From CCoeControl 
-        
-        /**
-        * Returns the numbers of components.
-        * 
-        * @return Number of components in the container
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * Returns a component.  
-        *
-        * @param aIndex component index which is required
-        * @return required component
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * Sets new rectangle to the editor.
-        */
-        void SizeChanged();
-        
-        /**
-        * Handles a needed key events.
-        * 
-        * @param aKeyEvent what kind of key produced this event
-        * @param aType Which kind of action produced this event
-        * @return EKeyWasConsumed
-        */
-        TKeyResponse OfferKeyEventL(
-            const TKeyEvent& aKeyEvent, TEventCode aType );
- 
-        /**
-        * Gets the control's help context.
-        * 
-        * @param aContext The control's help context
-        */
-        void GetHelpContext(TCoeHelpContext& aContext) const;
-
-    public: // New functions    
-
-        /**
-        * Gets new message from messag view and sets the editor.
-        */
-        void UpdateMessageL( const TDesC& aMessage );
-        
-        /**
-        * Returns the text in Rich Text editor.
-        *
-        * @return the text
-        */
-        CRichText* GetEditor() const;    
-        
-        /**
-        * Copies the message to clipboard.
-        */
-        void CopyToClipboardL() const;  
-        
-        /**
-        * From CCoeControl  Receives notification on resource changes
-        * @param aType type of the resource change
-        */
-        void HandleResourceChange( TInt aType );
-        
-        /**
-        * From MEikScrollBarObserver  Receives and handles
-        * scroll bar events 
-        * @param aScrollBar A pointer to scrollbar which created the event
-        * @param aEventType The event occured on the scroll bar
-        */
-        void HandleScrollEventL( CEikScrollBar* aScrollBar, TEikScrollEvent aEventType );
-        
-    private: // New functions
-
-        /**
-        * Sets the viewing component to read only mode
-        *
-        * @param aReadOnly value to set to
-        */
-        void SetReadOnly( TBool aReadOnly );        
-      
-        /**
-        * Sets the contents of viewing component
-        *
-        * @param aBuf A new content for editor.
-        */
-        void SetData16L( const TDesC& aBuf );
-        
-        /**
-        * Sets the contents of viewing component
-        * 
-        * @param aText Text to be inserted.
-        */
-        void SetDataContentL( CRichText& aText );
-        
-        /**    
-        * Created a new editor. 
-        *
-        * @return Component for viewing
-        */
-        CEikRichTextEditor* CreateEditorL() const;  
-        
-        /**
-        * Clears the area between CEikRichTextEditor and Client regtangle.
-        * 
-        * @param aRect Outer rect.
-        */
-        void Draw( const TRect& aRect ) const;
-
-        /**
-        * Initializes a variables, which are needed to create
-        * scroll indicator. Has to be called every time the 
-        * content of the message has changed.
-        */
-        void InitializeMessageInfoL();
-        
-        /**
-        * Creates scroll bar indicator.
-        */
-        void CreateScrollBarFrameL();    
-        
-        /**
-        * Updates the scroll indicator based on the iCurrentScreen and 
-        * information, which has been set in the InitializeMessageInfoL()
-        */
-        void UpdateScrollIndicatorL() const;
-
-        /**
-        * Updates the current screen position. 
-        * 
-        * @param aIncrease direction where to modify current screen
-        */
-        void UpdateCurrentScreen( TBool aIncrease );
-        
-        /**
-        * Scrolls message up. 
-        */
-        void ScrollMessageUpL();
-        
-        /**
-        * Scrolls message down. 
-        */
-        void ScrollMessageDownL();
-
-    private: 
-
-        /**
-        * Constructor.
-        *
-        * @param aListView reference to the msg view.
-        */
-        CCbsUiMsgViewContainer( CCbsUiMsgView& aListView );
-
-        /**
-        * Two-phased constructor.
-        *
-        * @param aRect Rect to be used by this container.
-        */
-        void ConstructL( const TRect& aRect );            
-        
-    private: // Data 
-
-        // It is the view class
-        CCbsUiMsgView& iMsgView;
-        
-        // It is the component for viewing message
-        CEikRichTextEditor* iEditor;
-        
-        // ScrollBarFrame
-        CEikScrollBarFrame* iSBFrame;
-
-        // How many screens the message contains.
-        TInt iNumberOfScreens;
-
-        // Current message screen. It is updated every time
-        // the page is changed.
-        TInt iCurrentScreen;
-
-        CAknsBasicBackgroundControlContext* iBackGroundControlContext;
-        
-    };
-    
-    
-#endif // __CCBSUIMSGVIEWCONTAINER_H
-    
-// End of file
--- a/cbs/cbsui/UiInc/CCbsUiAddFromIndexDialog.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +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: 
-*   Dialog which shows topics, which are not yet 
-*   in the topic list view. Enables topics adding manually.
-*
-*
-*/
-
-
-#ifndef __CCBSADDFROMINDEXDIALOG_H
-#define __CCBSADDFROMINDEXDIALOG_H
-
-// INCLUDES
-#include <AknDialog.h>
-#include <CbsCommon.h>
-#include "CbsUiConstants.h"
- 
-
-// FORWARD DECLARATIONS
-class MCbs;
-class CEikColumnListBox;
-class CAknNavigationDecorator;
-
-
-// CLASS DECLARATION
-
-
-/**
-*  Class CCbsUiAddFromIndexDialog is used to add topics. Topics
-*  are shown in listbox. User can select topics which will be added.
-*/
-class CCbsUiAddFromIndexDialog: public CAknDialog
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ constructor.
-        *
-        * @param aServer Reference to cbs server.
-        */
-        CCbsUiAddFromIndexDialog( MCbs& aServer );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CCbsUiAddFromIndexDialog();
-
-    private: // From CEikDialog
-
-        /**
-        * Creates the controls, which are shown in this dialog.
-        */
-        void PreLayoutDynInitL();
-
-        /**
-        * Checks if the user has selected the ok softkey. In that case,
-        * the marked topics are send to AddTopicL member function.
-        *
-        * @param aKeycode pressed key code
-        * @return ETrue, to close the dialog
-        */
-        TBool OkToExitL( TInt aKeycode );
-        
-    private: // New functions
-        
-        /**
-        * Parses IndexNumber from TopicInfo.
-        *
-        * @param aTopicInfo Topic information 
-        * @param aIndexNumber the pared index number
-        * @return none
-        */
-        void GetIndexNumber( 
-            const TCbsTopicInfo& aTopicInfo , 
-            TBuf<KTopicNumberWidth>& aIndexNumber) const;
-
-        /**
-        * Adds a Topic to the server.
-        *
-        * @param aTopicInfo Topic information         
-        * @return error code
-        */
-        TInt AddTopicL( const TCbsTopicInfo aTopicInfo );
-
-        /**
-        * Sets the icons to the listbox.        
-        */
-        void SetIconsL() const;
-
-        /**
-        * Sets the topics to the listbox. Set Topic reads topic informations
-        * from cbsserver.
-        */
-        void SetTopicsL();
-
-        /**
-        * Creates a title pane.
-        */
-        void CreateAddFromIndexTitlePaneL() const;
-
-    private: // Data
-
-        // List of handles
-        typedef CArrayFixFlat< TCbsTopicInfo > TCbsTopicInfoHandleList;
-
-        // pointer to a handle list
-        TCbsTopicInfoHandleList* iHandles;
-    
-        // Server
-        MCbs& iServer;
-
-        // ListBox
-        CEikColumnListBox* iListBox;                
-        
-        /// Own: Navi pane control
-        CAknNavigationDecorator* iNaviDecorator;
-    };
-
-#endif      // __CCBSADDFROMINDEXDIALOG_H
-            
-
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiConfirmationNote.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +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: 
-*       Shows global confirmation note and instance of this class
-*       has to be a member variable.
-*
-*
-*/
-
-
-#ifndef __CCbsUiConfirmationNote_h
-#define __CCbsUiConfirmationNote_h
-
-//  INCLUDES
-#include <e32base.h>
-
-
-// FORWARD DECLARATIONS
-class CAknGlobalConfirmationQuery;
-
-// CLASS DECLARATION
-
-class CCbsUiConfirmationNote : public CBase
-    {
-    public: // Constructor and destructor
-
-        /**
-        * Constructor. Prohibited to make a instance.
-        */
-        CCbsUiConfirmationNote();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CCbsUiConfirmationNote();
-
-    public: // New functions
-
-        /**
-        * Shows global confirmation note, not enough memory...
-        */
-        void ShowGlobalConfirmationNoteL( CCoeEnv& aCoeEnv );
-
-    private:
-
-        // Own: Confirmation query
-        CAknGlobalConfirmationQuery* iGlobalConfirmationQuery;
-
-        // Forward declaration
-        class CGlobalConfirmationQueryObserver;
-
-        // Own: Confirmation query observer
-        CGlobalConfirmationQueryObserver* iConfQueryObserver;
-
-    };
-
-#endif // __CCbsUiConfirmationNote_h
-
-//  End of File  
--- a/cbs/cbsui/UiInc/CCbsUiEditTopicDlg.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +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 file for the CCbsUiEditTopicDlg class.
-*
-*
-*/
-
-
-#ifndef __CBS_UI_TOPIC_QUERY_H
-#define __CBS_UI_TOPIC_QUERY_H
-
-//  INCLUDES
-#include <AknQueryDialog.h>  // CAknMultiLineDataQueryDialog
-
-
-// FORWARD DECLARATIONS
-class CCbsUiTopicListView;
-
-
-// CLASS DECLARATION
-
-/**
-* Class CCbsUiEditTopicDlg implements a dialog for 
-* Edit and Add topics.
-*/
-class CCbsUiEditTopicDlg : public CAknMultiLineDataQueryDialog
-    {
-    public:  // Constructors and destructor
-        
-        /** 
-        * Two-phased constructor.
-        *
-        * @param aDataText topic name
-        * @param aDataText2 topic number
-        * @param aTopicListView for adding a topic
-        * @param aType EFalse is Edit and ETrue is Add query
-        */
-        static CCbsUiEditTopicDlg* NewL(            
-                    TDes& aDataText,
-                    TDes& aDataText2,
-                    CCbsUiTopicListView& aTopicListView,
-                    TBool aType);
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CCbsUiEditTopicDlg();
-   
-    public: // From CAknNoteDialog
-       
-        /**
-        * Adds or over writes topic. On error shows a error note.
-        *
-        * @param aButtonId button which has been selected
-        */
-        TBool OkToExitL( TInt aButtonId );
-
-        // From CeikDialog
-        /**
-        * Handles changes required when switching to a specified line.
-        *
-        * @param aControlId The Id of the control being switched to.
-        */
-        void LineChangedL( TInt aControlId );
-
-        /**
-        * Handles a change to the control's resources.
-        * @param aType A message UID value.
-        */
-        void HandleResourceChange( TInt aType );
-
-
-	protected: // From CAknMultiLineDataQueryDialog
-
-        /**
-        * Changes left soft key to visible if number line is valid
-        */
-	    void UpdateLeftSoftKeyL();
-
-    private: // New functions
-
-        /**
-        * Sets cursor in the end of number line.
-        */
-        void SetCursorAndFocusL();
-
-    private: 
-
-        /**
-        * C++ constructor.
-        *
-        * @param aTopicListView for adding a topic
-        * @param aType EFalse is Edit and ETrue is Add query
-        */
-        CCbsUiEditTopicDlg(
-            CCbsUiTopicListView& aTopicListView,
-            TBool aType );
-
-        /**
-        * Symbian OS constructor
-        *
-        * @param aDataText topic name
-        * @param aDataText2 topic number
-        */
-        void ConstructL( TDes& aDataText, TDes& aDataText2 );
-
-    private: // Data
-
-        // to add or change a topic
-        CCbsUiTopicListView& iTopicListView;
-
-        // EFalse is Edit query and ETrue is Add query
-        const TBool iType;
-
-        // iUpdateLeftSoftKeyFirstTime is used when update first time Left soft key method.
-        TBool iUpdateLeftSoftKeyFirstTime; 
-
-    };
-
-#endif      // __CBS_UI_TOPIC_QUERY_H
-            
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiLanguageSettingPage.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Shows which of the language setting has been selected,
-*     All, Selected or Other.
-*
-*
-*/
-
-
-#ifndef __CBS_UI_LANGUAGE_SETTING_PAGE_H
-#define __CBS_UI_LANGUAGE_SETTING_PAGE_H
-
-//  INCLUDES
-#include <aknradiobuttonsettingpage.h> // CAknRadioButtonSettingPage
-#include <CbsCommon.h>
-
-
-// FORWARD DECLARATIONS
-class MCbs;
-
-// CLASS DECLARATION
-
-/**
-* This settings page is popped up if a user selects a language setting 
-* from the SettingsView.
-*/
-class CCbsUiLanguageSettingPage : public CAknRadioButtonSettingPage
-    {            
-    public: // Constructor
-
-        /**
-        * C++ constructor.
-        *
-        * @param aRerourceID Resource id.
-        * @param aCurrentSelectionIndex item to be selected
-        * @param aItemArray array of items
-        * @param aServer to update this level selections
-        */
-        CCbsUiLanguageSettingPage( 
-            TInt aResourceID,     
-            TInt& aCurrentSelectionIndex,
-            CDesCArrayFlat* aItemArray,
-            MCbs& aServer );
-
-
-    protected:  // From CEikDialog
-
-        /**
-        * Sets the selected languages into the server.
-        *
-        * @param aAccept selected key
-        */
-        TBool OkToExitL( TBool aAccept );
-
-    protected: // From CCoeControl
-
-        /*
-        * Launches a CCbsUiLanguageDlg if EKeyOk is pressed and the focus
-        * is on the selected.
-        *
-        * @param aKeyEvent what kind of key produced this event
-        * @param aType Which kind of action produced this event
-        */
-        TKeyResponse OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent, TEventCode aType );
-
-    private: // New functions
-
-        /**
-        * Gets languages from the server and marks selected languages to
-        * aIndexArray.
-        *
-        * @param aIndexArray indexes of selected languages
-        * @param aLanguages it will contain selected languages from the server
-        */
-        void GetLanguagesL( CArrayFix<TInt>& aIndexArray, TCbsDbLanguages& aLanguages );
-
-        /**
-        * Launches the language dialog.
-        */
-        void LaunchLanguageDialogL();
-
-        /**
-        * Sets selected languages into server according to aIndexArray.
-        *
-        * @param aIndexArray    contains selected languages
-        * @param aLanguages     Contains information about previously selected
-        *                       languages.
-        */
-        void SetLanguagesL( CArrayFix<TInt>& aIndexArray, TCbsDbLanguages& aLanguages );
-
-    private: // Data
-
-        // The server. This class doesn't own this.        
-        MCbs& iServer;
-
-        // Current selection index
-        TInt& iSelectionIndex;
-
-        // To update the selection
-        CDesCArrayFlat& iArray;
-
-        // it should be possible to launch language dialog only once
-        TInt iCurrentLaunchingId;
-
-    };
-
-#endif      // __CBS_UI_LANGUAGE_SETTING_PAGE_H
-            
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiListQueryDialog.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*     This is a dialog which is used to shows different language options in the
-*     settings view
-*
-*
-*/
-
-
-#ifndef __CCbsUiListQueryDialog_h
-#define __CCbsUiListQueryDialog_h
-
-//  INCLUDES
-#include <aknlistquerydialog.h>
-
-
-// CLASS DECLARATION
-
-/**
-* This is a dialog, which can be initialized with selected items.
-*/
-class CCbsUiListQueryDialog : public CAknListQueryDialog
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ constructor.
-        *
-        * @param aIndexArray Sets selection indexes and will contain
-        *                    user changed indexes.
-        */
-        CCbsUiListQueryDialog( CArrayFix<TInt>& aIndexArray );
-
-    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 );
-
-    private: // Data
-
-        // contains selected indexes
-        CArrayFix<TInt>& iIndexArray;
-
-    };
-
-#endif      // __CCbsUiListQueryDialog_h
-            
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiSettingsDialog.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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 file for the CCbsUisettingsDialog class.
-*
-*
-*/
-
-
-#ifndef __CCBSUISETTINGSDIALOG_H
-#define __CCBSUISETTINGSDIALOG_H
-
-//  INCLUDES
-#include <eikdialg.h>
-#include <eiklbx.h>
-#include <aknappui.h>
-#include <RCbs.h>
-#include <CbsCommon.h>
-
-
-
-// CLASS DECLARATION
-/**
-*	It is the container class viewing messages.
-*/
-
-class CCbsUiSettingsDialog : public CEikDialog, MEikListBoxObserver
-    {
-public:
-    ~CCbsUiSettingsDialog();
-    CCbsUiSettingsDialog( RCbs* aServer );
-
-private:
-	TBool OkToExitL(TInt aButtonId);
-	void PreLayoutDynInitL();
-	void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
-	void HandleListViewActionL( CEikListBox* aListBox );
-
-private:
-	CEikListBox* iInbox;
-	RCbs* iServer;
-
-    };
-
-#endif // __CCBSUISETTINGSDIALOG_H
-
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiSettingsMonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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 file for the CCbsUiSettingsMonitor class.
-*
-*
-*/
-
-
-#ifndef     CCBSUISETTINGSMONITOR_H
-#define     CCBSUISETTINGSMONITOR_H
-
-//  INCLUDES
-#include <e32base.h>
-
-#include <CbsCommon.h>
-
- 
-//  FORWARD DECLARATIONS
-class MCbs;
-class CCbsUiappAppUi;
-class MCbsUiSettingsObserver;
-
-//  CLASS DEFINITIONS 
-
-
-/**
-* Server notifies this class if settings are changed.
-* 
-*/
-class CCbsUiSettingsMonitor : public CActive
-    {
-    public:     // New functions
-        /**
-        * Create an instance of the class. 
-        *
-        * @param aServer cbs server
-        * @param aObserver settings observer
-        */
-        static CCbsUiSettingsMonitor* NewL(
-            MCbs& aServer , MCbsUiSettingsObserver& aObserver );
-
-        /**
-        * Destructor.
-        */
-        ~CCbsUiSettingsMonitor();
-
-    public: // From CActive
-        
-        /**
-        * It is called when server notifies.
-        */
-        void RunL();
-
-        /**
-        * Cancels the request.
-        */
-        void DoCancel();
-
-    private: // New functions
-
-        /**
-        * Issues the request..
-        */
-        void IssueRequest();
-
-    private:
-
-        /**
-        * Constructor.
-        *
-        * @param aServer cbs server
-        */
-        CCbsUiSettingsMonitor( 
-            MCbs& aServer, MCbsUiSettingsObserver& aObserver );
-
-        /**
-        * Finalizes the construction.
-        */
-        void ConstructL();
-
-    private: // Data
-
-        // ETrue if request is continued.
-        TBool iContinue;
-        
-        // Server subsession for settings        
-        MCbs& iServer;
-
-        // Event which is registered to server
-        TCbsSettingsEvent iEvent;
-
-        // Observer who is interested about settings changes.       
-        MCbsUiSettingsObserver& iObserver;
-    };
-
-#endif      //  CCBSUISETTINGSMONITOR_H
-
-            
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiSettingsView.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +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 file for the CCbsSettingsView class.
-*
-*
-*/
-
-
-#ifndef __CBSSETTINGSVIEW_H
-#define __CBSSETTINGSVIEW_H
-
-//  INCLUDES
-#include <aknsettingpage.h>  // MAknSettingPageObserver
-#include <CbsCommon.h>
-#include <aknview.h>
-#include "MCbsUiSettingsObserver.h"
-
-
-
-// FORWARD DECLARATIONS
-class CCbsUiSettingsViewContainer;
-class CLanguageViewContainer;
-class CAknSettingPage;
-class MCbs;
-class CCbsUiLanguageSettingPage;
-class CAknNavigationDecorator;
-class CCbsUiSettingsMonitor;
-
-
-// CLASS DECLARATION
-
-/**
-*  This class is used from messenge center. 
-*  With settings view cbs-settings 
-*/
-class CCbsUiSettingsView : public CAknView, 
-                           public MCbsUiSettingsObserver
-	{
-    public: // Constructors and destructor
-
-        /**
-        * C++ constructor.
-        *
-        * @param aServer cbs server
-        */
-        CCbsUiSettingsView( MCbs& aServer );    
-
-        /**
-        * Two-phased constructor.
-        *
-        * @param aServer cbs server
-        */
-        static CCbsUiSettingsView* NewL( MCbs& aServer );
-
-        /**
-        * Destructor.
-        */
-        ~CCbsUiSettingsView();
-
-    public: // From CAknView
-
-        /**
-        * Returns the ID of this view.
-        * 
-        * @return ID
-        */
-        TUid Id() const;
-
-        /**
-        * Handles commands from options menu
-        *
-        * @param aCommand Command user has selected from options menu
-        */
-        void HandleCommandL( TInt aCommand );
-        
-        /**
-        * WindowServer calls when the wiev is activated
-        *
-        * @param aPrevViewId Previous view id.
-        * @param aCustomMessageId message id
-        * @param aCustomMessage message content
-        */
-	    void DoActivateL( const TVwsViewId& aPrevViewId, 
-                          TUid aCustomMessageId, 
-                          const TDesC8& aCustomMessage );
-
-        /**
-        * WindowServer calls when the wiev is deactivated
-        */
-        void DoDeactivate();
-
-    public: // New functions
-
-        /**
-        * Called when navigation pane needs be updated
-        */
-        void UpdateNaviPaneL();
-
-        /**
-        * If there has come any changes to settings, then 
-        * this function will be called.
-        */ 
-        void UpdateSettingsL();     
-
-        /**
-        * Sets the context pane icon. State can reception on or
-        * off.
-        */
-        void UpdateContextPaneL();
-
-        /**
-        * Sets title pane text. 
-        */        
-        void UpdateTitlePaneL() const;
-
-    public: // From MCbsUiSettingsObserver
-
-        /**
-        * Settings monitor calls this function when settings has been
-        * changed.
-        *
-        * @param aEvent What kind of event caused the settings change
-        */        
-        void SettingsChangedL( TCbsSettingsEvent aEvent );
-
-        /**
-        * Handle changes in container when rect changes.
-        */
-        void HandleRectChangeInContainer();
-
-	private: // MEikMenuObserver 
-
-        /**
-        * Delete help menu item if help is not in use
-        *
-        * @param aResourceId resource id of the menu
-        * @param aMenuPane used to modify menu dynamically
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); 
-
-    private: // New functions
-
-        /**
-        * Activates topic list view.
-        */
-        void ActivateTopicListViewL() const;
-
-    private:
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    private: // Data
-        
-        // Pointer to the container class        
-        CCbsUiSettingsViewContainer* iContainer;
-
-        // NaviPane        
-        CAknNavigationDecorator* iDecoratedLabel;
-
-        // Reference to the server session. It's owned by uiappappui        
-        MCbs& iServer;
-
-        // Previous application and view which has louch this view
-        TVwsViewId iPrevViewId;
-
-        // True if launched from the other application.
-        TBool iFromOtherApplication;
-
-        // Own: Where the images are located.
-        HBufC* iImageLibrary;
-
-        // Settings Monitor
-        CCbsUiSettingsMonitor* iSettingsMonitor;
-
-	};
-
-#endif // __CBSSETTINGSVIEW_H
-
-
-// End of file
--- a/cbs/cbsui/UiInc/CCbsUiTopicListMonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Header file for the CCbsUiTopicListMonitor class.
-*
-*
-*/
-
-
-#ifndef     CCBSUITOPICLISTMONITOR_H
-#define     CCBSUITOPICLISTMONITOR_H
-
-// INCLUDES
-#include <e32base.h>
-#include <CbsCommon.h>
-
- 
-//  FORWARD DECLARATIONS
-class MCbs;
-class MCbsUiTopicMonitorObserver;
-
-//  CLASS DEFINITIONS 
-
-
-/**
-*  Monitors topic related events.  
-*/
-class CCbsUiTopicListMonitor : public CActive
-    {
-    public: // New functions
-
-        /**
-        * Create an instance of the class. 
-        *
-        * @param aServer cbs server
-        */
-        static CCbsUiTopicListMonitor* NewL( MCbs& aServer );
-
-        /**
-        * Destructor.
-        */
-        ~CCbsUiTopicListMonitor();
-
-        /**
-        * Issues the request.
-        */
-        void IssueRequest();
-
-    public: // From CActive
-        
-        /**
-        * It is called when server notifies.
-        */
-        void RunL();
-
-        /**
-        * Cancels the request.
-        */
-        void DoCancel();
-
-    public: // New functions
-
-        /**
-        * Adds a observer to this monitor.
-        *
-        * @param aObserver Observer to be added.
-        */
-        void AddObserverL( MCbsUiTopicMonitorObserver* aObserver );
-
-    private:
-
-        typedef CArrayFixFlat<MCbsUiTopicMonitorObserver*>
-            TCbsUiMonitorObservers;
-
-        /**
-        * Constructor.
-        *
-        * @param aServer cbs server
-        */
-        CCbsUiTopicListMonitor( MCbs& aServer );
-
-        /**
-        * Finalizes the construction.
-        */
-        void ConstructL();
-
-    private: // Data
-
-        // ETrue if request is active.
-        TBool iContinue;
-
-        // To issue the request.
-        MCbs& iServer;
-
-        // Observers who are interested in topic changes.
-        // Monitor doesn't own the observers.
-        TCbsUiMonitorObservers* iObservers;
-
-        // Which topic handle the event is conserning.
-        TCbsTopicNumber iTopicNumber;
-
-        // What kind of event has been.
-        TCbsTopicListEvent iEvent;
-    };
-
-#endif      //  CCBSUITOPICLISTMONITOR_H
-            
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiTopicListView.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*  This is the application main view. Shows all the topics which
-*  has been received and their status: subscribed, hotmarked, new messages
-*
-*
-*/
-
-
-#ifndef __CCBSTOPICLISTVIEW_H
-#define __CCBSTOPICLISTVIEW_H
-
-// INCLUDES
-#include <aknview.h>
-#include <CbsCommon.h>
-#include "MCbsUiTopicMonitorObserver.h"
-#include "CbsUiDebug.h"
-	
-// CONSTANTS  
-const TInt KNumberOfStandardTopics = 17;
-
- 
-// FORWARD DECLARATIONS
-
-class CSelectionList;
-class CListBoxNumbers;
-class CCbsUiTopicListViewContainer;
-class MCbs;
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-
-// CLASS DECLARATION
-
-/**
-* This is the application main view. Shows all the topics which
-* has been received and their status: subscribed, hotmarked, new messages
-*  
-*/
-class CCbsUiTopicListView : public CAknView, 
-                            public MCbsUiTopicMonitorObserver
-    {
-    private: // Data declaration
-
-        enum TTopicListViewFocusState
-            {
-            ESetFocusToCurrentHandle,
-            ESetFocusToFirstItem,
-            ESetFocusToNewestItem,
-            ENoFocusUpdate 
-            };
-
-    public: // Constructors and destructor
-
-        /**
-        * Creates an instance of the class.
-        *
-        * @param aServer It is the server.
-        * @return It returns a pointer to the created class.
-        */
-        static CCbsUiTopicListView* NewL( MCbs& aServer );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CCbsUiTopicListView();
-        
-    public: // New functions
-
-        /**
-        * Calls the server to add or change a topic. Which is called
-        * depends on the type of the dialog.
-        *
-        * @param aType is it a edit or add query. True is add query
-        * @param aNumber topic number to add or change
-        * @param aName topic name to add or change
-        * @return error code if something goes wrong
-        */
-        TInt EditTopic( 
-            TBool aType, 
-            TCbsTopicNumber aNumber, 
-            const TCbsTopicName aName );
-
-        /** 
-        * Adds a topic with specified number and name.
-        *
-        * @param  aNumber It is the number of the topic.
-        * @param  aName It is the name of the topic.
-        * @return a error code if the addition fails
-        */
-        TInt AddTopic( 
-            const TCbsTopicNumber& aNumber, 
-            const TCbsTopicName& aName );       
-
-        /**
-        * Marks topic which is focused. This should be called only when 
-        * the Options menu is created and when the Ok (selection) key
-        * has been pressed. Focus behaviour is based on this.
-        */
-        void MarkCurrentHandle();
-        
-    public: // From MCbsUiTopicMonitorObserver
-
-        /**
-        * Topic list or topic messages are changed.
-        *
-        * @param aEvent reason for event
-        * @param aTopicNumber Topic number, which caused the event
-        */
-        void TopicListChangedL(
-            TCbsTopicListEvent aEvent, TCbsTopicNumber aTopicNumber );
-     
-    public: // from CAknView
-        
-        /**
-        * Returns the identifier of the view.
-        *
-        * @return It returns the identifier.
-        */
-        TUid Id() const;        
-    
-        /**
-        * Handles the options menu commands.
-        *
-        * @param aCommand command to be executed
-        */
-        void HandleCommandL( TInt aCommand );
-
-    public: // New function
-        /**
-        * Handle changes in container when rect changes.
-        */
-        void HandleRectChangeInContainer();
-
-    private: // from CAknView
-        
-        /**
-        * Activates the view.
-        *
-        * @param aPrevViewId
-        * @param aCustomMessageId
-        */
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId, 
-            TUid aCustomMessageId, 
-            const TDesC8& aCustomMessage );
-        
-        /**
-        * Deactivates the view.
-        */
-        void DoDeactivate();     
-
-        /**
-        * Checks new topic count, if it has been changed after
-        * application switch.
-        */
-        void ViewActivatedL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,const 
-            TDesC8& aCustomMessage );
-
-        void ViewDeactivated();
-      
-    private: // MEikMenuObserver 
-
-        /**
-        * Sets the menu items according to the state of the topic, which
-        * is focused on. Used when options menu is opened. Marks also 
-        * a current topic handle.
-        *
-        * @param aResourceId resource id of the menu
-        * @param aMenuPane used to modify menu dynamically
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );         
-
-    private: // New functions
-
-        /**
-        * Sets current topic number according to aTopicNumber.
-        *
-        * @param aTopicNumber contains current topic number.
-        */
-        void SetCurrentTopicNumber( const TDesC8& aTopicNumber );
-
-        /**
-        * Sets current topic number according to aTopicNumber.
-        *
-        * @param aTopicNumber new current topic number.
-        */
-        void SetCurrentTopicNumber( const TCbsTopicNumber aTopicNumber );
-
-        /**
-        * Updates the topics information.
-        */
-        void ReloadTopicsL();
-
-        /**
-        * Prepares container for reloading.
-        */
-        void PrepareReloading();
-
-        /**
-        * Reloads topics from the server.
-        */
-        void ReloadL();
-
-        /**
-        * Ends reloading.
-        */
-        void EndReloadingL();
-
-        /**
-        * Sets focus after reload. Should be called after ReloadTopicsL().
-        *
-        * @param aFocusState focus is set according to this
-        */
-        void SetFocusAfterReload( TTopicListViewFocusState aFocusState );
-
-        /**
-        * Sets focus to aIndex.
-        *
-        * @param aIndex new focused index
-        */
-        void SetFocusToTopic( TInt aIndex );
-
-        /**
-        * Updates the focus according to Selection Service after deletion.
-        *
-        * @param aDeletedTopic Calculates the new focus according to deleted
-        *                      topic.
-        */
-        void UpdateCurrentTopicAfterDeletion( TCbsTopicNumber aDeletedTopic );
-        
-        /**
-        * Returns the total amount of topics.
-        *
-        * @return It is the amount of topics.
-        */
-        TInt TotalTopics() const;                      
-       
-        /**
-        * Requests the view to move to the previous topic.
-        */
-        void MoveToPreviousTopic();
-   
-        /**
-        * Writes a CBS to title pane.
-        */
-        void UpdateTitlePaneL() const;
-
-        /**
-        * Writes to navi pane a right message:
-        * No new messages
-        * One new message
-        * %N new messages
-        */
-        void UpdateNaviPaneL();
-
-        /**
-        * Gets resouce id for text to be displayed.
-        *
-        * @param aUnreadMessages Number of unread messages.
-        * @return resource id for text
-        */ 
-        TInt GetInfoResourceId( TInt aUnreadMessages ) const;
-
-        /**
-        * Creates a new decorated label to navi pane.
-        *
-        * @param aResourceId text resource id.
-        * @param aUnreadMessages number of unread messages
-        */
-        void CreateNewLabelL( TInt aResourceId, TInt aUnreadMessages );
-
-        /**
-        * Launches an edit or add topic query dialog.
-        *
-        * @param aType          type of the query. 
-        *                       ETrue is add and EFalse is edit query.
-        * @param aTopicName     name of the topic
-        * @param aTopicNumber   number of the topic
-        */
-        void ShowTopicQueryL( 
-            TBool aType, 
-            TDes& aTopicName, 
-            TDes& aTopicNumber );
-
-        /**
-        * Launchs the edit topic query with the right parameters.
-        */
-        void ShowEditTopicQueryL();
-
-        /**
-        * Checks if there has come new topics while this function was
-        * last called. Shows a note how many new topics has been added,
-        * since last been in TopicListView.
-        */
-        void CheckNewTopicCountL();
-
-        /**
-        * Returns the new topics count from server.
-        * 
-        * @return new topic count
-        */
-        TInt GetNewTopicsCount();
-
-        /**
-        * Changes the topic name and number to the specified.
-        *
-        * @param  aHandle It is the handle to the topic.
-        * @param  aNumber It is the new number of the topic.
-        * @param  aName It is the name of the topic.
-        * @return error code in case fail
-        */
-        TInt UpdateTopic( 
-            const TCbsTopicNumber& aOldNumber,
-            const TCbsTopicNumber& aNumber,
-            const TCbsTopicName& aName );
-
-        /**
-        * Finds topic index by topic number.
-        *
-        * @param aIndex it will contain the topic index
-        * @param aTopicNumber topic number
-        * @return KErrNone if no errors
-        */
-        TInt FindTopicIndexByNumber( 
-            TInt& aIndex, 
-            const TCbsTopicNumber& aTopicNumber );
-
-        /**
-        * Activates the topic view.
-        */
-        void ActivateTopicViewL() const;
-
-        /**
-        * Activates settings view.
-        */
-        void ActivateSettingsViewL() const;
-
-        /**
-        * Activates a add from index dialog.
-        */
-        void ActivateAddFromIndexViewL();
-
-        /**
-        * Activates an idle object to show an information note. 
-        * Used in call back function.
-        *
-        * @param aNewTopics count of new topics
-        * @return always KErrNone
-        */
-        static TInt ActivateBackgroundNoteL( TAny* aNewTopics );
-        
-    private:
-        
-        /**
-        * It is type for topic handles array.
-        */
-        typedef CArrayFixFlat< TCbsTopicNumber > TCbsUiTopicNumberList;
-        
-        /**
-        * Constructor.
-        * 
-        * @param aServer connection to the server
-        */
-        CCbsUiTopicListView(MCbs& aServer);
-        
-        /**
-        * Finalizes the construction.
-        *
-        * Note that it is assumed that the server exists for the life 
-        * time of the class.
-        */
-        void ConstructL();
-     
-    private: // Data        
-
-        // It is the control for the view.
-        CCbsUiTopicListViewContainer* iContainer;
-        
-        // It is the label in status pane.
-        CAknNavigationDecorator* iDecoratedLabel;        
-   
-        // Pointer to server session. Owned by UiApp
-        MCbs& iServer;        
-       
-        // It is the array that contains the topic numbers.
-        TCbsUiTopicNumberList* iTopicNumberList;
-       
-        // Handle that is focused.        
-        TCbsTopicNumber iCurrentTopicNumber;
-
-        // For updating information about messages to navi pane.
-        CAknNavigationControlContainer* iNaviPane;
-
-        // iFocusState is set in HandleCommandL and focus is set in 
-        // TopicListChangedL.
-        TTopicListViewFocusState iFocusState;
-
-        // To see wheather it is needed to update navi pane.
-        // if ETrue: navi pane is not updated
-        TBool iAddFromIndexDialogIsActive;
-
-        // for showing background note
-        CIdle* iBackgroundNote;
-
-        // Count of new topics.
-        TInt iNewTopicsCount;
-
-
-    };
-    
-    
-#endif // __CCBSTOPICLISTVIEW_H
-    
-    
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiTopicListViewContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +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: 
-*       TopicListViewContainer owns the list box which shows
-*       topics.
-*
-*
-*/
-
-
-
-#ifndef __CCBSUITOPICLISTVIEWCONTAINER_H
-#define __CCBSUITOPICLISTVIEWCONTAINER_H
-
-//  INCLUDES
-#include <coeccntx.h>
-#include <CbsCommon.h>
-#include <AknIconArray.h>  // CAknIconArray
-
-//  CONSTANTS  
-const TInt KTopicNumberLength = 3;
-
- 
-//  FORWARD DECLARATIONS
-
-class CCbsUiTopicListView;
-class CEikColumnListBox;
-
-
-
-// CLASS DECLARATION
-
-/**
-*  TopicListView container class
-* 
-*/
-class CCbsUiTopicListViewContainer : public CCoeControl,
-									 public MEikListBoxObserver
-	{
-
-    public: // Constructors and destructor    
-
-        /**
-        * Two-phased constructor.
-        *
-        * @param aListView to update view
-        * @param aRect rectangle for which container can use
-        */
-        static CCbsUiTopicListViewContainer* NewL( 
-            CCbsUiTopicListView& aListView, 
-            const TRect& aRect );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CCbsUiTopicListViewContainer();
-
-    public: // New functions
-        
-        /**
-        * Resests the array of list box. This should be called when 
-        * before ReloadOfferTopic.
-        */  
-        void ReloadStarts() const;
-
-        /**
-        * Adds topic information to the topic.
-        *
-        * @param aTopic for setting name and topic number to the list box
-        */  
-        void ReloadOfferTopicL( const TCbsTopic& aTopic ) const;
-
-        /**
-        * Handles a list box item addition. This should be called
-        * when reload is done. 
-        */
-        void ReloadEndsL();
-
-        /**
-        * Returns current position, i.e. Current listbox item.
-        *
-        * @return currentposition
-        */ 
-        TInt CurrentPosition() const;
-
-        /**
-        * Sets the current item index in the list box.
-        *
-        * @param aItemIndex new focused item index
-        */
-        void SetCurrentItemIndex( TInt aItemIndex ) const;
-
-    public: // From CCoeControl 
-
-        /**
-        * Returns the count of components.
-        * 
-        * @return number of components
-        */    	   
-        TInt CountComponentControls() const;
-
-        /**
-        * Returns a component. 
-        *
-        * @param aIndex component index to return
-        * @return requested component
-        */    	   
-	    CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * Sets a new size to the list box.
-        */    	   
-	    void SizeChanged();
-
-        /**
-        * Informs that the focus is changed.
-        * @param aDrawNow Contains the value that was passed to it by SetFocus()
-        */
-		void FocusChanged( TDrawNow aDrawNow );
-
-        /**
-        * Handles a needed key events.
-        *
-        * @param aKeyEvent what kind of key produced this event
-        * @param aType Which kind of action produced this event
-        * @return EKeyWasConsumed or EKeyWasNotConsumed 
-        */    	   
-	    TKeyResponse OfferKeyEventL(
-            const TKeyEvent& aKeyEvent, 
-            TEventCode aType );	        	      
-
-        /**
-        * Gets the control's help context.
-        * 
-        * @param aContext The control's help context
-        */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-    public: 
-        /**
-        * 
-        */
-        void HandleResourceChange( TInt aType );
-        
-    public: // From MEikListBoxObserver
-    	
-    	/**
-        * Handles list box events,
-        * 
-        * @param aEventType The event identifier.
-        */
-        void HandleListBoxEventL( CEikListBox* /*aListBox*/,
-        						  TListBoxEvent aEventType );
-
-    private: // New functions
-
-        /**
-        * Indicates, which icon to use:
-        * '0' = subscribed and there are no messages
-        * '1' = subscribed and there are messages
-        * '2' = not subscribed and there are no messages
-        * '3' = not subscribed, but are messages
-        *
-        * @param aTopic to check the topic status
-        * @return char which indicates, which icon to use.
-        */ 
-	    TChar GetStatus( const TCbsTopic& aTopic ) const;
-
-        /**
-        * Sets topic index to given buffer.
-        *
-        * @param aTopic a topic, from which will be used topic number
-        * @param aIndexNumber buffer to be filled with topic number
-        */
-	    void GetIndexNumber( 
-            const TCbsTopic& aTopic, TBuf<KTopicNumberLength>& aIndexNumber ) const;
-
-    private: 
-
-        /**
-        * Constructor.
-        *
-        * @param aListView to update view
-        */
-        CCbsUiTopicListViewContainer(CCbsUiTopicListView& aListView);
-        
-        /**
-        * Symbian OS constructor.
-        *
-        * @param aRect size of client area
-        */
-        void ConstructL(const TRect& aRect);
-        
-        /**
-        * LoadIconsL
-        *
-        * Loads icons to CAknIconArray and set this iconarray 
-        * to list iListBox(CEikColumnListBox)
-        */
-        void LoadIconsL();
-
-        /**
-         *  Append icon to icon array.
-         *
-         *  @param aId                    Icon id
-         *  @param aIcons                 Icon array
-         *  @param aIconFileWithPath      Icon file name with path
-         *  @param aIconGraphicsIndex     Picture index.
-         *  @param aIconGraphicsMaskIndex Mask index.
-         *  @param aColorIcon             Is icon colored
-         */
-        void AddIconL( TAknsItemID aId, CAknIconArray* aIcons,
-                       const TDesC& aIconFileWithPath,
-                       TInt aIconGraphicsIndex,
-                       TInt aIconGraphicsMaskIndex,
-                       TBool aColorIcon = EFalse );
-
-
-        /**
-         * Change bitmaps when skin changes.
-         */
-        void SkinBitmapChangesL( );
-        
-        /**
-        * Construct icon
-        *
-        * @param aColourIcon    Is icon a colour icon
-        * @param aInstance      Current skin instance
-        * @param aID            Icon ID
-        * @param aFilename      Icon file name with path
-        * @param aFileBitmapId  ID of the bitmap in the file   
-        * @param aFileMaskId    ID of the mask in the file
-        *
-        * @return   The constructed icon
-        */
-        CGulIcon* ConstructIconL( TBool& aColourIcon, 
-                            MAknsSkinInstance* aInstance, 
-                            const TAknsItemID& aID,                            
-                            const TDesC& aFilename,
-                            const TInt aFileBitmapId, 
-                            const TInt aFileMaskId );
-
-    private: // Data
-
-        // Reference to TopicListView.
-        CCbsUiTopicListView& iListView;
-
-        // For data to be shown in the view.
-        CEikColumnListBox* iListBox;
-
-	};
-
-
-#endif // __CCBSUITOPICLISTVIEWCONTAINER_H
-
-
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiTopicView.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,391 +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 file for the CCbsUiTopicView class.
-*
-*
-*/
-
-
-#ifndef __CCBSUITOPICVIEW_H
-#define __CCBSUITOPICVIEW_H
-
-//  INCLUDES
-#include <aknview.h>
-#include <CbsCommon.h>
-#include <AknNaviDecoratorObserver.h>
-#include "MCbsUiTopicMonitorObserver.h"
-#include "MSaveMessageController.h"
-#include "CbsUiDebug.h"
-
-  
-//  FORWARD DECLARATIONS
-
-class CCbsUiTopicViewContainer;
-class MCbs;
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-
-//  CLASS DEFINITIONS 
-
-/**
-* For showing message in one topic.
-*/
-class CCbsUiTopicView : public CAknView, 
-                        public MCbsUiTopicMonitorObserver,
-                        public MSaveMessageController,
-                        public MAknNaviDecoratorObserver
-    {
-    private: // Data declaration
-
-        enum TTopicViewFocusState 
-            {
-            ESetFocusToCurrentHandle, 
-            ESetFocusToFirstItem, 
-            ESetFocusToNewestMessage, 
-            ENoFocusUpdate 
-            };
-
-    public: // Constructors and destructor        
-      
-        /**
-        * Creates instance of the class.
-        *    
-        * @param aServer reference to the server
-        * @return It is the created instance.
-        */
-        static CCbsUiTopicView* NewL( MCbs& aServer );
-        
-        /**
-        * Destructor.
-        */
-        ~CCbsUiTopicView();
-        
-    public: // New functions        
-     
-        /**
-        * Marks the current handle. This should be called only when 
-        * the Options menu is created and when the Ok (selection) key
-        * has been pressed.
-        */
-        void MarkCurrentlyFocusedHandle();
-
-        /**
-        * Handle changes in container when rect changes.
-        */
-        void HandleRectChangeInContainer();
-
-    public: // From MCbsUiTopicMonitorObserver
-
-        /**
-        * Topic list or topic messages are changed.
-        *
-        * @param aEvent reason for event
-        * @param aTopicNumber Topic number, which caused the event
-        */
-        void TopicListChangedL(
-            TCbsTopicListEvent aEvent, TCbsTopicNumber aTopicNumber );
-
-    public: // From MSaveMessageController
-
-        /**
-        *   Saves a message (the saved message won't be deleted to make 
-        *   room for new messages).
-        *
-        *   Return codes:
-        *   KErrNone            Message is saved.
-        *   KErrGeneral         Message not saved -- total maximum of saved 
-        *                       messages reached.
-        *   KErrNotFound        Message not saved -- no message associated
-        *                       with the given handle.
-        *   KErrDiskFull        Message not saved -- FFS out of space.
-        *
-        *   @param  aHandle     Handle to the message to be saved.
-        *   @return             Return code.
-        */
-        TInt SaveMessage( const TCbsMessageHandle& aHandle );
-
-    private: // from MEikMenuObserver
-    
-        /**
-        * Sets the options menu according to the current message.
-        *
-        * @param aResouceId Id of the resouce.
-        * @param aMenuPane Pointer to the menu pane.
-        */ 
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-        /**
-        * Overrides MEikMenuObserver function SetEmphasis. Default 
-        * implementation has been copied here. 
-        * 
-        * Checks if the menu pane is showing. If the menu pane is not
-        * showing, message is unlocked, because it has been locked when
-        * the menu pane was created. 
-        * 
-        * @param aMenuControl pointer to the menu control
-        * @param aEmphasis ETrue if menu is showing; otherwise EFalse
-        */
-    	void SetEmphasis( CCoeControl* aMenuControl,TBool aEmphasis );
-    
-    public: // from CAknView
-        
-        /**
-        * Returns the view id.
-        */
-        TUid Id() const;        
-
-        /**
-        * To catch which command is selected before menu pane is closed.
-        *
-        * @param aCommand command to be processed
-        */
-        void ProcessCommandL( TInt aCommand );
-       
-        /**
-        * Processes the command.
-        *    
-        * @param aCommand It is the command to be processed.
-        */
-        void HandleCommandL( TInt aCommand );         
-       
-    protected: // from CAknView
-        
-        /**
-        * Activates the view.
-        *
-        * @param aPrevViewId previous view id
-        * @param aCustomMessageId id of the custom message
-        * @param aCustomMessage message data
-        */
-        void DoActivateL(
-            const TVwsViewId& aPrevViewId, 
-            TUid aCustomMessageId, const TDesC8& aCustomMessage );
-        
-        /**
-        * Deactivates the view.
-        */
-        void DoDeactivate();        
-
-    private: // New functions
-
-        /**
-        * Sets focus to message, according to aIndex.
-        *
-        * @param aIndex Index of the focused message.
-        */
-        void SetFocusToMessage( TInt aIndex );
-       
-        /**
-        * Reloads the messages.
-        */
-        void ReloadMessagesL();        
-      
-        /**
-        * Return the total amount of messages. ("loaded").
-        *
-        * @return total amount of messages
-        */
-        TInt TotalMessages() const;
-
-        /**
-        * Locks the message in the server. Only one message can locked
-        * at same time. When new message is locked, old message is unlocked.
-        *
-        * @param aHandle Message handle to be locked.
-        */
-        TInt LockMessage( TCbsMessageHandle aHandle );
-
-        /**
-        * Unlocks the message from the server.
-        */
-        void UnLockMessage();
-
-        /**
-        * Updates the status pane.
-        */
-        void UpdateTitlePaneL( const TCbsTopic& aTopic ) const;
-
-        /**
-        * Updates the title pane.
-        */
-        void UpdateNaviPaneL( const TCbsTopic& aTopic );
-        
-        /**
-        * Shows the message in a dialog.
-        */
-        void ShowMessageL();
-
-        /**
-        * Finds message index by handle.
-        *
-        * @param aIndex it will contain the topic index
-        * @param aMessageHandle handle to the message
-        * @return KErrNone if handle exists
-        */
-        TInt FindMessageIndexByHandle(
-            TInt& aIndex,
-            const TCbsMessageHandle& aMessageHandle );
-        
-        /**
-        * Loads all message titles from the server in one topic and offers
-        * those to the container.
-        *
-        * @param aTopicNumber Message headers will be loaded from this topic.
-        */
-        void LoadAllMessageTitlesL( TCbsTopicNumber aTopicNumber );
-
-        /**
-        * Prepares container for reloading.
-        */
-        void PrepareReloading();
-
-        /**
-        * Sets focus in the list box according to current topic number.
-        * It also set the focus according to the view focus state.
-        *
-        * @param aFocusState indicates where to put the focus
-        */
-        void SetFocusAfterReloading( TTopicViewFocusState aFocusState );
-
-        /**
-        * Sets a new current handle according to aDeletedHandle.
-        *
-        * @param aDeletedHandle A handle to message which has been deleted.
-        */
-        void SetNewCurrentHandle( TCbsMessageHandle aDeletedHandle );
-
-        /**
-        * Sets current topic number according to aToPrev
-        * 
-        * @param aToPrev Sets current topic number to previous if ETrue
-        */
-        void SetCurrentTopicNumber( TBool aToPrev );
-
-        /**
-        * Sets current topic number to aTopicNumberDes. It is used in
-        * view activation.
-        *
-        * @param aTopicNumberDes new current topic number
-        */
-        void SetCurrentTopicNumberAndMessageHandle( const TDesC8& aTopicNumberDes );
-
-        /**
-        * Activates message view with the aMsgHandle.
-        *
-        * @param aMsgHandle A message handle to be activeted.
-        */
-        void ActivateMsgViewL( TCbsMessageHandle aMsgHandle ) const;
-
-        /**
-        * Activates topic list view with topic number.
-        *
-        * @param aTopicNumber sets the topic number in topic list view.
-        */
-        void ActivateTopicListViewL( TCbsTopicNumber aTopicNumber ) const;
-
-        /**
-        * Checks if it is possible to move to previous, next
-        * or both directions.
-        *
-        * @param aToPrevious ETrue if it is possible to move to previous topic
-        * @param aToNext ETrue if it is possible to move to next topic
-        * @param error code
-        */
-        TInt CheckIfCanMove( TBool& aToPrevious, TBool& aToNext );
-
-        /**
-        * Activates the list box after changes. List box is owned by 
-        * the container.
-        */
-        void ActivateListBoxL();
-        
-        /**
-        * Set the middle soft key text.
-        *
-        * @param aResourceId    Resource to be read (text label)
-        * @param aCommandId     Command ID for MSK command
-        */
-        void SetMiddleSoftKeyLabelL( const TInt aResourceId, const TInt aCommandId );
-        
-        /**
-        * Removes MSK command mappings.       
-        */
-        void RemoveCommandFromMSK();
-
-    private:
-        
-        /**
-        * It defines the type for message handle lists.
-        */
-        typedef CArrayFixFlat< TCbsMessageHandle > TCbsUiMessageHandleList;       
-      
-        /**
-        * Constructor.
-        *
-        * @param aServer reference to the server
-        * @param aApplication reference to the application
-        */
-        CCbsUiTopicView( MCbs& aServer );
-        
-        /**
-        * Finalizes the construction.
-        */
-        void ConstructL(); 
-        
-    private: // From MAknNaviDecoratorObserver
-        
-        /**
-         * Method for handling touch events on navigator (navi pane)
-         * 
-         * @param aEventID Id of the event.
-         */
-        void HandleNaviDecoratorEventL( TInt aEventID );
-
-    private: // Data
-       
-        // container to the CCbsUiTopicView
-        CCbsUiTopicViewContainer* iContainer; 
-        
-        // navi pane variables
-        CAknNavigationControlContainer* iNaviContainer;
-      
-        // navi pane
-        CAknNavigationDecorator* iDecoratedLabel;
-        
-        // navi pane
-        CAknNavigationDecorator* iPreviousDecoratedLabel;
-     
-        // reference to server
-        MCbs& iServer;
-        
-        // array for message handles
-        TCbsUiMessageHandleList* iHandles;
-
-        // handle to a message, which is focused on.
-        TCbsMessageHandle iCurrentHandle;
-
-        // Topic number, which this view is currently handling.
-        TCbsTopicNumber iCurrentTopicNumber;
-
-        // If this is ETrue, message can be unlocked and there fore
-        // deleted. It is set EFalse in ProcessCommandL, ETrue
-        // in DoActivateL and in HandleCommandL.
-        TBool iCanUnlock;
-        
-    };
-    
-    
-#endif // __CCBSUITOPICVIEW_H
-    
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiTopicViewContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +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: 
-*       CCbsUiTopicViewContainer is container for CCbsUiTopicView. 
-*       It has one control, a list box, which is showing information
-*       about messages in one topic.
-*
-*
-*/
-
-
-#ifndef CCBSUITOPICVIEWCONTAINER_H
-#define CCBSUITOPICVIEWCONTAINER_H
-
-//  INCLUDES
-#include <AknIconArray.h>  // CAknIconArray
-#include <coecntrl.h>
-#include <eiklbo.h>
-#include <CbsCommon.h>
-
-  
-//  FORWARD DECLARATIONS 
-
-class CSelectionList;
-class CEikColumnListBox;
-class CListBoxNumbers;
-class CFbsBitmap;
-class CCbsUiTopicView;
-
-
-//  CLASS DEFINITIONS 
-
-/**
-* Container for CCbsUiTopicView.
-*/
-class CCbsUiTopicViewContainer : public CCoeControl,
-								 public MEikListBoxObserver
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Creates an instance of the class.
-        *  
-        * @param aTopicView For handling key events.
-        * @param aRect An area ment for container.
-        */
-        static CCbsUiTopicViewContainer* NewL( 
-            CCbsUiTopicView& aTopicView, 
-            const TRect& aRect );
-        
-        /**
-        * Destructor.
-        */
-        ~CCbsUiTopicViewContainer();
-        
-    public: // New functions
-
-        /**
-        * Resets list box items. This should be called before ReloadOfferL.
-        */
-        void ReloadStarts() const;        
-        
-        /**
-        * During reloading offers the view a single message and the 
-        * beginning of it.
-        *
-        * Note that the text part must be less than 100 characters
-        * (Well, there is only room for 20 characters, I suppose).
-        *  
-        * @param  aMessage                It is the message.
-        * @param  aBuffer                 It is the beginning of the contents.
-        */
-        void ReloadOfferL( const TCbsMessage& aMessage, const TDesC& aBuffer ) const;
-        
-        /**
-        * Handles a list box item addition. This should be called
-        * when reload is done.
-        */
-        void ReloadEndsL();
-        
-        /**
-        * Returns the current position.
-        * 
-        * @return Current position in the list.
-        */
-        TInt CurrentPosition() const;
-        
-        /**
-        * Sets current item index and draws.
-        *
-        * @param aItemIndex index to be focused
-        */
-        void SetCurrentItemIndex( TInt aItemIndex ) const;
-        
-        /**
-        * Returns the list box
-        *
-        * @return list box
-        */
-        CEikColumnListBox* GetListBox();        
-        
-    public: // from CCoeControl
-        
-        /**
-        * Return the amount of controls.
-        *    
-        * @return amount of controls.
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * Return a control.
-        *
-        * @param aIndex It is the index to the control.
-        * @return It returns the control.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * Sets a new size to the list box.
-        */
-        void SizeChanged();
-
-        /**
-        * Informs that the focus is changed.
-        * @param aDrawNow Contains the value that was passed to it by SetFocus()
-        */
-		void FocusChanged( TDrawNow aDrawNow );
-        
-        /**
-        * Offers a key to the view for handling.
-        *
-        * @param aKeyEvent what kind of key produced this event
-        * @param aType Which kind of action produced this event
-        * @return It tells whether the view consumed the keypress or not.
-        */
-        TKeyResponse OfferKeyEventL(
-            const TKeyEvent& aKeyEvent, TEventCode aType );        
-
-        /**
-        * Gets the control's help context.
-        * 
-        * @param aContext The control's help context
-        */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-    public: 
-        /**
-        * 
-        */
-        void HandleResourceChange( TInt aType );
-        
-    public: // From MEikListBoxObserver
-    	
-    	/**
-        * Handles list box events.
-        * 
-        * @param aEventType The event identifier.
-        */
-        void HandleListBoxEventL( CEikListBox* /*aListBox*/,
-        						  TListBoxEvent aEventType );
-
-    private: 
-
-        /**
-        * Constructor.
-        *
-        * @param aTopicView It is the topic view.
-        */
-        CCbsUiTopicViewContainer( CCbsUiTopicView& aTopicView );
-        
-        /**
-        * Finalizes the construction.
-        *
-        * @param aRect It is the client rectangle.
-        */
-        void ConstructL( const TRect& aRect );
-
-        /**
-        * LoadIconsL
-        *
-        * Loads icons to CAknIconArray and set this iconarray 
-        * to list iListBox(CEikColumnListBox)
-        */
-        void LoadIconsL();
-
-        /**
-         *  Append icon to icon array.
-         *
-         *  @param aId                    Icon id
-         *  @param aIcons                 Icon array
-         *  @param aIconFileWithPath      Icon file name with path
-         *  @param aIconGraphicsIndex     Picture index.
-         *  @param aIconGraphicsMaskIndex Mask index.
-         */
-        void AddIconL( TAknsItemID aId, CAknIconArray* aIcons,
-                       const TDesC& aIconFileWithPath,
-                       TInt aIconGraphicsIndex,
-                       TInt aIconGraphicsMaskIndex,
-                       TBool aColorIcon = EFalse );
-
-        /**
-         * Change bitmaps when skin changes.
-         */
-        void SkinBitmapChangesL( );
-
-        /**
-        * Construct icon
-        *
-        * @param aColourIcon    Is icon a colour icon
-        * @param aInstance      Current skin instance
-        * @param aID            Icon ID
-        * @param aFilename      Icon file name with path
-        * @param aFileBitmapId  ID of the bitmap in the file   
-        * @param aFileMaskId    ID of the mask in the file
-        *
-        * @return   The constructed icon
-        */
-        CGulIcon* ConstructIconL( TBool& aColourIcon, 
-                            MAknsSkinInstance* aInstance, 
-                            const TAknsItemID& aID,                            
-                            const TDesC& aFilename,
-                            const TInt aFileBitmapId, 
-                            const TInt aFileMaskId );
-
-    private: // Data
-        
-        // It is the listbox.
-        CEikColumnListBox* iListBox;       
-       
-        // For handling some key pressures and for marking a current 
-        // topic handle.
-        CCbsUiTopicView& iTopicView;        
-        
-    };
-    
-#endif  // CCBSUITOPICVIEWCONTAINER_H
-    
-    // End of File
--- a/cbs/cbsui/UiInc/CCbsUiViewFactory.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*    Works as a mediator to different views
-*
-*
-*/
-
-
-#ifndef CCBS_UI_VIEW_FACTORY_H
-#define CCBS_UI_VIEW_FACTORY_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <CbsCommon.h>
-
-
-// FORWARD DECLARATIONS
-class MCbs;
-class CCbsUiTopicListView;
-class CCbsUiTopicView;
-class CCbsUiMsgView;
-class CCbsUiTopicListMonitor;
-class CCbsUiSettingsView;
-class CAknView;
-class CCbsUiTopicListMonitor;
-
-// CLASS DECLARATION
-
-
-/**
-*  For creating views in cbsui.
-*  
-*/
-class CCbsUiViewFactory : public CBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * C++ constructor.
-        */
-        CCbsUiViewFactory(
-            MCbs& aServer, CCbsUiTopicListMonitor& aTopicMonitor );        
-       
-        /**
-        * Destructor.
-        */
-        virtual ~CCbsUiViewFactory();
-
-    public: // New functions
-        
-        /**
-        * Returns pointer to topic list view and keeps a reference
-        * to that object.
-        * 
-        * @return created view
-        */
-        CAknView* CreateTopicListViewLC();
-
-        /**
-        * Returns pointer to topioc view and keeps a reference
-        * to that object.
-        *
-        * @return created view
-        */
-        CAknView* CreateTopicViewLC();
-
-        /**
-        * Returns pointer to msg view and keeps a reference
-        * to that object.
-        *
-        * @return created view
-        */
-        CAknView* CreateMsgViewLC();
-
-        /**
-        * Returns pointer to settings view and keeps a reference
-        * to that object.
-        *
-        * @return created view
-        */
-        CAknView* CreateSettingsViewLC();
-
-    private:    // Data
-
-        // Ref:
-        CCbsUiTopicListMonitor& iTopicMonitor;
-
-        // Ref:
-        MCbs& iServer;
-    };
-
-#endif      // CCBS_UI_VIEW_FACTORY_H
-            
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiappAppUi.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*   User Interface class.    
-*
-*
-*/
-
-
-#ifndef __CBSUIAPPAPPUI_H
-#define __CBSUIAPPAPPUI_H
-
-// INCLUDES
-#include <aknViewAppUi.h> // CAknViewAppUi
-
-
-// FORWARD DECLARATIONS
-class CCbsUiTopicListMonitor;
-class MCbs;
-
-// CLASS DECLARATION
-
-/**
-* It is the application user interface. Creates all the views and
-* handles their activation.
-*/
-class CCbsUiappAppUi : public CAknViewAppUi
-    {
-
-    public: // Constructors and destructor
-               
-        /**
-        * C++ constructor.
-        */
-        CCbsUiappAppUi(MCbs& aServer);    
-            
-        /**
-        * Destructor.
-        */
-        virtual ~CCbsUiappAppUi();
-
-    public: // From CEikAppUi
-
-        /**
-        * Update context icon when parameter aType is KAknsMessageSkinChange 
-        */
-        void HandleResourceChangeL( TInt aType );
-
-    private: // From CEikAppUi
-
-        /**
-        * Handles common commands.
-        *
-        * @param aCommand It is command to be processed.
-        */
-	    void HandleCommandL( TInt aCommand );
-
-    private:
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-        /**
-        * Checks the SIM status
-        * @return TInt, value of sim state
-        */
-        TInt CheckSimStateL();
-
-    private: // Data
-    
-        // Ref: It is the connection to the server.
-        MCbs& iServer;
-
-        // TopicListMonitor
-        CCbsUiTopicListMonitor* iTopicListMonitor;
-
-    };
-
-
-#endif      // __CBSUIAPP_H
-
-            
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiappApplication.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*   The application class.
-*
-*
-*/
-
-
-#ifndef __CBSUIAPPAPPLICATION_H
-#define __CBSUIAPPAPPLICATION_H
-
-//  INCLUDES
-#include <aknapp.h>
-
-
-// CLASS DECLARATION
-
-
-/**
-*  The Application class
-*/
-class CCbsUiappApplication : public CAknApplication
-    {
-    private: // Functions from base classes
-
-        /**
-        * From CApaApplication
-        */
-        CApaDocument* CreateDocumentL();
-
-        /**
-        * From CApaApplication.
-        */
-        TUid AppDllUid() const;
-    };
-
-
-#endif      // __CBSUIAPPAPPLICATION_H
-            
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiappDocument.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  Header file for the CCbsUiappDocument class.
-*
-*
-*/
-
-
-#ifndef __CBSUIAPPDOCUMENT_H
-#define __CBSUIAPPDOCUMENT_H
-
-//  INCLUDES
-#include <eikdoc.h>
-  
-
-// FORWARD DECLARATIONS
-class MCbs;
-
-// CLASS DECLARATION
-
-/**
-*  The Document class
-*/
-class CCbsUiappDocument : public CEikDocument
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Returns new instance of CbsUiDocument.
-        *
-        * @param aApp application
-        * @return new instance of CbsUiDocument
-        */
-        static CCbsUiappDocument* NewL( CEikApplication& aApp );
-     
-        /**
-        * Destructor.
-        */
-        ~CCbsUiappDocument();
-        
-    public: // From CEikDocument
-        
-        /**
-        * Stop doc file being created
-        * @param aDoOpen not used
-        * @param aFilename not used 
-        * @param aFs not used
-        * @return NULL
-        */
-        inline CFileStore* OpenFileL( TBool /*aDoOpen*/, 
-            const TDesC& /*aFilename*/,
-            RFs& /*aFs*/);
-
-        /**
-        * Since 3.0
-        * Stop doc file being created
-        * @param aFileStore not used
-        * @param aFile not used
-        */
-        inline void OpenFileL( CFileStore*& /*aFileStore*/, RFile& /*aFile*/ );
-
-    private: // Constructors
-
-        /**
-        * C++ default constructor.
-        *
-        * @param aApp application
-        */
-        CCbsUiappDocument( CEikApplication& aApp );
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-        
-    private: // Functions from base classes
-
-        /**
-        * From CEikDocument
-        * Creates and returns an instance of CBSUI application
-        *
-        * @return an instance of CBSUI application
-        */
-        CEikAppUi* CreateAppUiL();
-
-    private: // Data
-
-        // Own: For creating connection to the server
-        MCbs* iServer;
-    };
-
-
-#include "CCbsUiappDocument.inl"
-
-#endif      // __CBSUIAPPDOCUMENT_H
-
-// End of File
--- a/cbs/cbsui/UiInc/CCbsUiappDocument.inl	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  Inline implementation of CCbsUiappDocument class.
-*
-*
-*/
-
-
-
-// ---------------------------------------------------------
-// CCbsUiappDocument::OpenFileL
-// 
-// Stop doc file being created
-//
-// ---------------------------------------------------------
-//
-CFileStore* CCbsUiappDocument::OpenFileL( TBool /*aDoOpen*/, 
-                             const TDesC& /*aFilename*/,
-                             RFs& /*aFs*/)
-    { 
-    return NULL; 
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiappDocument::OpenFileL
-// 
-// Stop doc file being created
-//
-// ---------------------------------------------------------
-//
-void CCbsUiappDocument::OpenFileL( CFileStore*& /*aFileStore*/, RFile& /*aFile*/ )
-    {  
-    }
-
-// End of file
--- a/cbs/cbsui/UiInc/CbsUiConstants.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Contains constants which are used in CBSUI application.
-*
-*
-*/
-
-
-#ifndef __CBS_UI_CONSTANTS_H
-#define __CBS_UI_CONSTANTS_H
-
-//  INCLUDES
-#include "Cbsuiapp.hrh"
-
-
-// CONSTANTS
-const TInt KCbsUiCustomMessageIdInt = 11;
-const TUid KCbsUiCustomMessageId = { KCbsUiCustomMessageIdInt };
-                                    // When message view is launched by other
-                                    // application its message id is 0, this 
-                                    // just has to differ from the other 
-                                    // applications message id.
-
-// When view is launched with this id it knows to set the focus to id, 
-// which is passed as parameter to DoActivateL.
-const TUid KSetFocusToId = { 12 };
-
-// activates view to its current id.
-const TUid KSetFocusToCurrentId = { 13 };
-
-// How many digits there are in topic number
-const TInt KTopicNumberWidth = EMaxTopicNumberLength; 
-
-const TInt KNumberOfTemporaryMessages = 3;
-
-// Error value used in Cbs ui.
-const TInt KCbsErrValue = -1;
-
-// This kind of topic number cannot exists
-const TInt KCbsInvalidTopicNumber = 22000;
-
-// max message title length
-const TInt KMaxMessageTitleLength = 40;
-
-
-// DATA TYPES
-enum { EMinTopicNumber = 0, EMaxTopicNumber = 999 };
-
-enum TCbsUiLanguageSelectionIndex
-    { 
-    ECbsUiAll = 0, 
-    ECbsUiSelected = 1, 
-    ECbsUiOther = 2
-    };
-
-// for activating topic view with right state
-struct TCbsUiTopicActivationPckg
-    {
-    // current topic number
-    TCbsTopicNumber iTopicNumber;
-
-    // current message handle
-    TCbsMessageHandle iMessageHandle;
-    };
-
-#endif      // __CBS_UI_CONSTANTS_H
-
-// End of File
--- a/cbs/cbsui/UiInc/CbsUiDebug.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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 testing.
-*
-*
-*/
-
-
-#ifndef CBS_UI_DEBUG_H
-#define CBS_UI_DEBUG_H
-
-
-////////////////////////////
-// MEMORY TEST MACRO     //
-
-
-#ifdef _DEBUG
-#define __CBSUI_DEBUG
-#endif // _DEBUG
-
-#ifdef __CBSUI_DEBUG
-    #define __CBSUI_ASSERT(condition, function) \
-            __ASSERT_DEBUG(condition, function)
-    #define __CBSUI_ASSERT_E(condition, error) \
-            __ASSERT_DEBUG(condition, CbsUiPanic(error) )
-#else
-    #define __CBSUI_ASSERT(condition, function)
-    #define __CBSUI_ASSERT_E(condition, error)
-#endif //__CBSUI_DEBUG
-
-
-#endif // CBS_UI_DEBUG_H
-
-// End of File
--- a/cbs/cbsui/UiInc/CbsUiId.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*     Contains applications uid.
-*
-*
-*/
-
-
-#ifndef __CBS_UI_ID_H
-#define __CBS_UI_ID_H
-
-// MACROS
-#define KUidCbsUiappDef 0x101F4CD3
-
-#endif      // __CBS_UI_ID_H
-            
-// End of File
--- a/cbs/cbsui/UiInc/CbsUiPanic.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*   Contains the panic function for CbsUiApp.
-*
-*
-*/
-
-
-#ifndef __CBS_UI_PANIC_H
-#define __CBS_UI_PANIC_H
-
-//  INCLUDES
-#include <e32def.h>
-
-
-// DATA TYPES
-enum TCbsUiPanic
-    {
-    ECbsUiError                         = 0,  // not used at the moment
-    EStatusPaneError                    = 1,  // if status pane is null
-    EStatusOrTitlePaneError             = 2,  // if status or title pane is null
-    ENaviPaneError                      = 3,  // if navi pane is null
-    ENaviDecoratorError                 = 4,  // navi decorator null error
-    EListBoxInDialogError               = 5,  // list box creation error
-    ETopicHandleError                   = 6,  // handles creation error
-    EServerCreationFailedError          = 7,  // server creation failed
-    EServerNullError                    = 8,  // server null error
-    EListBoxNullError                   = 9,  // list box null error
-    EMenuPaneNullError                  = 10, // menu pane null error
-    EFindItemNullError                  = 11, // find item null error
-    ETopicCountError                    = 12, // error when counting new topics
-    EContainerNullError                 = 13, // container null error
-    EMessageListNullError               = 14, // not used at the moment
-    EMessageContentsError               = 15, // message content is not valid
-    EListBoxAlreadyExistsError          = 16, // list box already exists error
-    EEditorNullError                    = 17, // editor null error
-    ETopicNumberError                   = 18, // topic number is invalid
-    EEditorCreationError                = 19, // not used at the moment
-    EWrongViewIdError                   = 20, // not used at the moment
-    EContextMenuAlreadeyExists          = 21, // not used at the moment
-    EErrEditTopicDlgOkToExit            = 22, // null pointer error in edit 
-                                              // dialog
-    EErrMsgContents                     = 23, // not used at the moment
-    EErrNotAMsgHandle                   = 24, // invalid message handle
-    EErrNotANumber                      = 25, // converting a descriptor 
-                                              // to number error
-    EErrScrollIndicatorAllreadyExists   = 26, // scroll indicator allready 
-                                              // exists
-    EErrAlgorithm                       = 27, // not used at them moment
-    EErrIndexOutOfBounds                = 28, // index out of bounds error
-    EErrMsgNotFound                     = 29, // message not found error
-    EErrMsgHandleNotFound               = 30, // message handle not found error
-    EErrNoSuchMessageHandle             = 31, // not used at the moment
-    EErrTopicsCountError                = 32, // topics count error
-    EErrBadIndex                        = 33, // bad index error
-    EErrWrongNotify                     = 34, // not used
-    EErrTopicNotFound                   = 35, // topic not found error
-    EErrBadHandle                       = 36, // not used
-    EErrMsgReadError                    = 37, // message read error
-    EErrNullPointer                     = 38, // null pointer
-    EErrBadSelection                    = 39, // selection error
-    EErrAllocation                      = 40, // not used
-    EErrInvalidValue                    = 41, // invalid value error
-    EErrNotATopicNumber                 = 42, // invalid topic number
-    EErrServerDisconnected              = 43, // server not connected error
-    EErrAllreadyExists                  = 44, // trying to creat item, which is
-                                              // allready created
-    EErrInvalidEvent                    = 45, // invalid event
-    EErrBadLength                       = 46, // descriptor too big
-    EErrEmptyDesc                       = 47, // empty descriptor error
-    EErrMsgImbalance                    = 48, // message postion is invalid
-    EErrMsgNotExists                    = 49, // not used
-    EErrTopicNumberNotFound             = 50, // topic number not found
-    EErrNotAValidObserver               = 51, // not used
-    EErrServerError                     = 52  // not used
-    };
-
-// FUNCTION PROTOTYPES
-GLDEF_C void CbsUiPanic( TCbsUiPanic aPanic );
-
-#endif      // __CBS_UI_PANIC_H
-            
-// End of File
--- a/cbs/cbsui/UiInc/CbsUiUtility.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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 different utility functions for CBSUI.
-*
-*
-*/
-
-
-#ifndef __CBS_UI_CLEANUP_HANDLER_H
-#define __CBS_UI_CLEANUP_HANDLER_H
-
-//  INCLUDES
-#include    <aknnotedialog.h> // CAknNoteDialog
-
-
-// FORWARD DECLARATIONS
-class MSaveMessageController;
-class MCbs;
-
-
-// CLASS DECLARATION
-
-/**
-* Offers utility functions for CBSUI.
-*
-*/
-class CbsUiUtility
-    {
-
-    public: // New functions
-        
-        /**
-        * Shows confirmation note with text accordingly to aResourceId.
-        *
-        * @param aResourceId resource id
-        * @param aWaitingDialog if ETrue dialog waits before continues
-        */
-        LOCAL_C void ShowConfirmationNoteL(
-            const TInt aResourceId, TBool aWaitingDialog = EFalse );
-
-        /**
-        * Shows error note with text accordingly to aResourceId.
-        *
-        * @param aResourceId resource id
-        */
-        LOCAL_C void ShowErrorNoteL( const TInt aResourceId );
-
-        /**
-        * Shows warning note with text accordingly to aResourceId.
-        *
-        * @param aResourceId resource id
-        */
-        LOCAL_C void ShowWarningNoteL( const TInt aResourceId );
-
-        /**
-        * Shows a note accordingly to parameters.
-        * 
-        * @param aResource note resource id
-        * @param aTimeout duration
-        * @param aTone sound
-        */
-        LOCAL_C void ShowNoteL( const TInt aResource, 
-                                const CAknNoteDialog::TTimeout aTimeout,
-                                const CAknNoteDialog::TTone aTone );
-
-        /**
-        * Returns a new navigation pane. Remember to delete a memory area!
-        *
-        * @return new empty decorated label
-        */
-        LOCAL_C CAknNavigationDecorator* CreateEmptyNavigationPaneL();
-
-        /**
-        * Returns ETrue if message is saved
-        *
-        * @param aHandle message to be checked
-        * @param aServer is needed to get information
-        * @return ETrue if current message is saved
-        */
-        LOCAL_C TBool IsSavedL( const TCbsMessageHandle aHandle, MCbs& aServer );
-
-        /**
-        * Saves the message and shows a error message in case
-        * something went wrong.
-        *
-        * @param aHandle message to be saved
-        * @param aSaver saves the message and shows global error note if needed
-        * @return Error code
-        */
-        LOCAL_C TInt SaveCurrentMessageL(
-            const TCbsMessageHandle aHandle, 
-            MSaveMessageController& aSaver );
-
-    };
-
-#endif      // __CBS_UI_CLEANUP_HANDLER_H
-            
-// End of File
--- a/cbs/cbsui/UiInc/MCbs.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,558 +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 for cbs client.
-*
-*
-*/
-
-
-#ifndef __MCbs_h
-#define __MCbs_h
-
-// INCLUDES
-#include <CbsCommon.h>
-
-/**
-* Interface MCbs is used to change real client server
-* connection to some test stub implementation.
-*/
-class MCbs
-    {
-    public:
-        
-        /**
-        * Destructor.
-        */
-        virtual ~MCbs() {}
-        
-        /**
-        *   Creates connection to the server.
-        *
-        *   Note that the method must be called before calling any other 
-        *   methods. The method returns an error code and, therefore, 
-        *   the caller is responsible of checking that everything went just 
-        *   fine.
-        *
-        *   @return                 Error code.
-        */
-        virtual TInt Connect() = 0;
-        
-        /**
-        *   Closes the session to the server.
-        */
-        virtual void Close() = 0;
-        
-        /**
-        *   Returns the version of CbsClient.
-        *
-        *   CbsServer and CbsClient must be of same version.
-        *
-        *   @return                 Returns the version of CbsClient.
-        */
-        virtual TVersion Version() const = 0;
-        
-        // === Settings-related methods
-        
-        /**
-        *   Returns the reception status in aStatus, which is ETrue if the reception is
-        *   on. Otherwise it is EFalse.
-        *
-        *   @param  aStatus     The method returns the reception status in this parameter.
-        */
-        virtual void GetReceptionStatus( TBool& aStatus ) = 0;
-        
-        /**
-        *   Changes the reception status to aStatus.
-        *
-        *   @param  aStatus     It contains the new reception status.
-        *   @return             Error code.
-        */
-        virtual TInt SetReceptionStatus( TBool aStatus ) = 0;
-        
-        /**
-        *   Returns the topic detection status in aStatus, which is ETrue if the detection
-        *   is on. Otherwise it is EFalse.
-        *
-        *   @param  aStatus     The method returns the topic detection status in this parameter.
-        */
-        virtual void GetTopicDetectionStatus( TBool& aStatus ) = 0;
-        
-        /**
-        *   Changes the topic detection status to aStatus.
-        *
-        *   @param  aStatus     It contains the new topic detection status.
-        *   @return             Error code.
-        */
-        virtual TInt SetTopicDetectionStatus( TBool aStatus ) = 0;
-        
-        /**
-        *   Returns the preferred languages in aLanguages.
-        *
-        *   @param aLanguages   The method returns the languages in this parameter.
-        */
-        virtual void GetLanguages( TCbsSettingsLanguages& aLanguages ) = 0;
-        
-        /**
-        *   Changes the preferred languages to aLanguages.
-        *
-        *   @param aLanguages   It contains the new preferred languages.
-        *   @return             Error code.
-        */
-        virtual TInt SetLanguages( const TCbsSettingsLanguages& aLanguages ) = 0;
-        
-        /**
-        *   Requests the server to notify the client whenever any settings will be 
-        *   changed.
-        *
-        *   Note that for each subsession only one this kind of request can be pending. Each
-        *   client is responsible of assuring this.
-        *
-        *   @param  aStatus     It is the variable that the server will modify whenever an event occurs.
-        *   @param  aEvent      The server will store the type of occurred event to this variable.
-        */
-        virtual void NotifySettingsChanged( TRequestStatus& aStatus, TCbsSettingsEvent& aEvent ) = 0;
-        
-        /**
-        *   Cancels the request to notify the client.
-        */
-        virtual void NotifySettingsChangedCancel() = 0;
-        
-        //  === Topic Collection-related methods
-        
-        /**
-        *   Resets the iterator. Must be called prior any call to HasNextTopic() 
-        *   or NextTopic()!
-        */
-        virtual void StartCollectionBrowsing() = 0;
-        
-        /**
-        *   Returns ETrue, if there is a topic not accessed with NextTopic()
-        *    
-        *   @return     ETrue, if there is a topic. EFalse if the end of the collection
-        *               has been reached.
-        */
-        virtual TBool HasNextCollectionTopic() = 0;                            
-        
-        /**
-        *   Returns the next topic in the topic collection skipping all topics with 
-        *   a topic number matching a topic already listed in the current topic list.
-        *   This function will return KErrNotFound if the collection is tried to 
-        *   access beyond the end of the list. Otherwise the error code will be 
-        *   the same returned by GetTopicInfo().
-        *
-        *   @param aInfo        The topic information will be stored here.
-        *   @return             The error code. KErrNotFound if there are no topics left.
-        */
-        virtual TInt NextCollectionTopic( TCbsTopicInfo& aInfo ) = 0;
-        
-        //  === Topic list-related methods
-        
-        /**
-        *   Returns the total amount of topics the topic list contains.
-        *
-        *   @param aCount       It will contain the total amount of topics.
-        */
-        virtual void GetTopicCount( TInt& aCount ) = 0;
-        
-        /**
-        *   Returns information about a topic from the topic list.
-        *
-        *   Return values:
-        *   KErrArgument        Topic was not found.
-        *    
-        *   Rest of return values indicate a file error.
-        *
-        *   @param aIndex       It is the index to the topic.
-        *   @param aTopic       It will contain the topic information.
-        *   @return             Error code.
-        */
-        virtual TInt GetTopic( const TInt aIndex, TCbsTopic& aTopic ) = 0;
-        
-        /**
-        *   Finds the topic by the given number.
-        *
-        *   Return values:
-        *   KErrNone            Topic returned in parameter aTopic.
-        *   KErrNotFound        Topic was not found.
-        *
-        *   @param aNumber      Number of the topic
-        *   @param aTopic       Return: contains the topic information
-        *   @return             Error code
-        */
-        virtual TInt FindTopicByNumber( TCbsTopicNumber aNumber,
-            TCbsTopic& aTopic ) = 0;
-        
-            /** 
-            *   Deletes an existing topic.
-            *
-            *   @param  aNumber         Number of the topic to be deleted
-            *   @return                 Error code
-        */
-        virtual TInt DeleteTopic( TCbsTopicNumber aNumber ) = 0;
-        
-        /**
-        *   Delete all topics.
-        *
-        *   @return             Error code.
-        */
-        virtual TInt DeleteAllTopics() = 0;
-        
-        /**
-        *   Adds a new topic. The handle assigned to the topic will be returned
-        *   in aTopic.
-        *
-        *   Return values:
-        *   KErrNone            Topic was successfully added.
-        *   KErrAlreadyExists   A topic of the same number already exists in DB
-        *   KErrArgument        Topic number given was not in a proper range.
-        *   KErrDiskFull        Topic not added - FFS out of space
-        *
-        *   Note that the number of the new topic must be unused.
-        *
-        *   @param aTopic       Contains the information of the new topic.
-        *                       On return, aTopic also contains the topic 
-        *                       handle.
-        *   @return             Error code.
-        */
-        virtual TInt AddTopic( TCbsTopic& aTopic ) = 0;
-        
-        /**
-        *   Changes the name and number of the existing topic.
-        *
-        *   Note that the changing fails in case there is another topic with
-        *   the new topic number. It also fails if the topic is protected.
-        *
-        *   Return values:
-        *   KErrNone            Topic name and number successfully changed.
-        *   KErrDiskFull        Topic information not changed - FFS out of space
-        *
-        *   @param  aOldNumber      Number of the topic to be changed
-        *   @param  aNewNumber      Number to be given for the topic
-        *   @param  aName           Name to be given for the topic
-        *   @return                 Error code
-        */  
-        virtual TInt ChangeTopicNameAndNumber( 
-            TCbsTopicNumber aOldNumber,
-            TCbsTopicNumber aNewNumber, 
-            const TCbsTopicName& aName ) = 0;
-        
-        /**
-        *   Changes topic subscription status.
-        *
-        *   @param  aNumber         Number of the topic
-        *   @param  aNewStatus      New subscription status
-        *   @return                 Error code
-        */
-        virtual TInt ChangeTopicSubscriptionStatus( 
-            TCbsTopicNumber aNumber, TBool aNewStatus ) = 0;
-        
-        /**
-        *   Changes topic hotmark status.
-        *
-        *   @param  aNumber         Number of the topic
-        *   @param  aNewStatus      New hotmark status
-        *   @return                 Error code
-        */
-        virtual TInt ChangeTopicHotmarkStatus( TCbsTopicNumber aNumber,
-            TBool aNewStatus ) = 0;
-        
-        /**
-        *   Requests the server to notify the client whenever an event occurs 
-        *   that changes the information of the topics. 
-        *   
-        *   Note that the client may select what kind of events it is 
-        *   interested in. Note also that there can be at most one pending
-        *   request per instance of the class.
-        *
-        *   @param aStatus      The variable that the server will modify
-        *                       whenever an event occurs.
-        *   @param aRequested   Events the client is interested in
-        *   @param aEvent       Indicates the variable that will contain the
-        *                       type of event that occured.
-        *   @param aNumber      Indicates the variable that will contain the
-        *                       topic number that was changed in event.
-        */
-        virtual void NotifyOnTopicListEvent( 
-            TRequestStatus& aStatus, 
-            const TInt aRequested, 
-            TCbsTopicListEvent& aEvent, 
-            TCbsTopicNumber& aNumber ) = 0;
-        
-        /**
-        *   Cancels the pending notify request.
-        */
-        virtual void NotifyOnTopicListEventCancel() = 0;
-        
-        /**
-        *   Returns the number of topics added since last GetNewTopicsCount()
-        *   by the topic detection feature.
-        *
-        *   @param aCount       It will contain the amount of new topics.
-        *   @return TInt Result code.
-        */
-        virtual TInt GetNewTopicsCount( TInt& aCount ) = 0;
-        
-        /**
-        *   Returns the number of the topic which was last added 
-        *   to topic list.
-        *
-        *   Note: if a topic list cache is maintained by the client
-        *   (as CBS UI application does), this function has to 
-        *   be called BEFORE calling GetTopicCount() and GetTopic() 
-        *   to make sure that no topic is added in between 
-        *   GetTopic() and GetLatestTopicHandle() calls. If this
-        *   happens, GetLatestTopicHandle() will return a handle
-        *   to a topic that is not cached client-side.            
-        *        
-        *   Return codes:
-        *   KErrNone        aNumber is a valid topic number.
-        *   KErrNotFound    No topic added since server start, 
-        *                   aNumber is not valid.
-        *
-        *   @param  aNumber         Returns: number of the topic last added
-        *   @return                 Result code
-        */
-        virtual TInt GetLatestTopicNumber( TCbsTopicNumber& aNumber ) = 0;
-        
-        /**
-        *   Returns the total amount of unread messages.
-        *
-        *   @param  aCount          Return: number of unread messages
-        */
-        virtual void GetUnreadMessageCount( TInt& aCount ) = 0;
-        
-        /**
-        *   Returns the handle to the latest hotmarked message that has been
-        *   received after the system has started up.
-        *   
-        *   @param  aMessage        Handle to the message
-        */
-        virtual void GetHotmarkedMessageHandle( TCbsMessageHandle& aMessage ) = 0;
-        
-        /**
-        *   Returns the number of unread messages in hotmarked topics.
-        *
-        *   This function is to used by the client when deciding whether
-        *   the message or topic list view should be opened to display
-        *   a hotmarked message(s).
-        *
-        *   @return                 Number of unread hotmarked messages
-        */
-        virtual TInt NumberOfUnreadHotmarkedMessages() = 0;
-        
-        /**
-        *   Returns the numbers of topics that precede and succeed the given 
-        *   topic in server-side topic list.
-        *
-        *   If the given topic is the first topic in list, aPosition has 
-        *   ECbsHead bit up. If the given topic is the last topic in list,
-        *   aPosition has ECbsTail bit up.
-        *    
-        *   Return code values:
-        *   KErrNone		aPrevTopicNumber, aNextTopicNumber and aPosition 
-        *		            contain valid values.
-        *   KErrNotFound	aCurrentTopicNumber specified a topic that was not
-        *                   on topic list.
-        *
-        *   @param  aCurrentTopicNumber	    Number that specifies the topic 
-        *                                   whose surroundings are returned
-        *   @param  aPrevTopicNumber		Returns: number of topic preceding 
-        *                                   the given topic
-        *   @param  aNextTopicNumber		Returns: number of topic succeeding
-        *                                   the given topic
-        *   @param  aPosition			    Returns: position of current 
-        *                                   topic in list.
-        *   @return 				        Result code
-        */
-        virtual TInt GetNextAndPrevTopicNumber( 
-            const TCbsTopicNumber& aCurrentTopicNumber,
-            TCbsTopicNumber& aPrevTopicNumber,
-            TCbsTopicNumber& aNextTopicNumber,
-            TInt& aPosition ) = 0;
-        
-        // === Topic Messages-related methods
-        
-        /**
-        *   Returns the total amount of messages the topic contains.    
-        *
-        *   Return codes:
-        *   KErrNotFound            Invalid handle.
-        *   KErrNone                aCount contains the number of messages 
-        *                           in topic
-        *
-        *   @param  aNumber         Number of the topic.
-        *   @param  aCount          Number of messages in given topic.
-        *   @return                 Result code
-        */
-        virtual TInt GetMessageCount( TCbsTopicNumber aNumber,
-            TInt& aCount ) = 0;
-        
-        /**
-        *   Returns message information.
-        *
-        *   Return codes:
-        *   KErrNotFound        Topic or message not found.
-        *   KErrNone            aMessage contains the message information.
-        *
-        *   @param  aNumber     Number of the topic
-        *   @param  aIndex      Index to the message in topic.
-        *   @param  aMessage    Returns: the message information
-        *   @return             Error code
-        */
-        virtual TInt GetMessage( TCbsTopicNumber aNumber, TInt aIndex,
-            TCbsMessage& aMessage ) = 0;
-        
-        /**
-        *   Finds a message by given handle.
-        *
-        *   @param  aHandle     Handle to the message.
-        *   @param  aMessage    Return: contains the message information.
-        *   @return             Error code.
-        */
-        virtual TInt FindMessageByHandle( 
-            const TCbsMessageHandle& aHandle, 
-            TCbsMessage& aMessage ) = 0;
-        
-        /**
-        *   Returns the index of a message with given handle in topic.
-        *
-        *   Result code KErrNotFound indicates that no message was found with
-        *   the given handle.
-        *
-        *   @param  aHandle     Handle of the message
-        *   @param  aIndex      Return: index of the message in message topic
-        *   @return             Result code
-        */
-        virtual TInt GetMessageIndexByHandle( 
-            const TCbsMessageHandle& aHandle, TInt& aIndex ) = 0;
-        
-        /**
-        *   Deletes an existing message.
-        *
-        *   Note that it does not care a lot about the status of the message.
-        *   
-        *   Please check also the description of LockMessage().
-        *
-        *   @param  aHandle     It is handle to the message.
-        *   @return             Error code.
-        */
-        virtual TInt DeleteMessage( const TCbsMessageHandle& aHandle ) = 0;
-        
-        /**
-        *   Saves a message (the saved message won't be deleted to make 
-        *   room for new messages).
-        *
-        *   Return codes:
-        *   KErrNone            Message is saved.
-        *   KErrGeneral         Message not saved -- total maximum of saved 
-        *                       messages reached.
-        *   KErrNotFound        Message not saved -- no message associated
-        *                       with the given handle.
-        *   KErrDiskFull        Message not saved -- FFS out of space.
-        *
-        *   @param  aHandle     Handle to the message to be saved.
-        *   @return             Return code.
-        */
-        virtual TInt SaveMessage( const TCbsMessageHandle& aHandle ) = 0;
-        
-        /**
-        *   Locks the message.
-        *
-        *   Note that a single topic messages subsession can have at most one locked
-        *   message. 
-        *
-        *   Message can be unlocked by trying to lock a null message. Locked message
-        *   will also be automatically unlocked when subsession is closed. If a message
-        *   is locked, then it will not be deleted from the database. Thus, deleting a 
-        *   message or trying to delete a topic that contains such a message will fail.
-        *
-        *   Locking a message does not prevent to save the message nor read the message.
-        *
-        *   @param  aHandle     It is handle to the message to be locked.
-        *   @return             Error code.
-        */
-        virtual TInt LockMessage( const TCbsMessageHandle& aHandle ) = 0;
-        
-        /**
-        *   Sets the message as read.
-        *
-        *   @param  aHandle     It is handle to the message to be set read.
-        */
-        virtual TInt ReadMessage( const TCbsMessageHandle& aHandle ) = 0;
-        
-        /**
-        *   Returns the message contents.
-        *
-        *   @param  aHandle     It is handle to the message.
-        *   @param  aBuffer     It will contain the contents (as much as it fits).
-        *   @return             Error code.
-        */
-        virtual TInt GetMessageContents( 
-            const TCbsMessageHandle& aHandle, 
-            TDes& aBuffer ) = 0;
-        
-        /**
-        *   Returns the handles of messages that precede and succeed the 
-        *   given message in server-side list of topic messages.
-        *
-        *   Topic is resolved from the given message handle
-        *
-        *   If the given handle specifies the first message in topic,
-        *   aPosition has ECbsHead bit up. If the given handle specifies 
-        *   the last message in topic, aPosition has ECbsTail bit up.
-        *    
-        *    Return code values:
-        *    KErrNone       aPrevMsgHandle, aNextMsgHandle and aPosition
-        *                   contain valid values.
-        *    KErrNotFound	aCurrentMsgHandle specified a message that was not
-        *			        found.
-        *
-        *    @param  aCurrentMsgHandle		Handle that specifies the message 
-        *                                   whose surroundings are returned
-        *    @param  aPrevMsgHandle		    Returns: handle of message 
-        *                                   preceding the given message
-        *    @param  aNextMsgHandle		    Returns: handle of message 
-        *                                   succeeding the given topic
-        *    @param  aPosition			    Returns: position of current topic 
-        *                                   in list
-        *    @return 				        Result code
-        */
-        virtual TInt GetNextAndPrevMessageHandle(
-            const TCbsMessageHandle& aCurrentMsgHandle,
-            TCbsMessageHandle& aPrevMsgHandle,
-            TCbsMessageHandle& aNextMsgHandle,
-            TInt& aPosition ) = 0;
-        
-        // Other methods
-        
-        /**
-        *   Returns ETrue if CbsServer session has been established.
-        *
-        *   @return                     ETrue, if session open.
-        */
-        virtual TBool Connected() const = 0;
-        
-        /**
-        *   Forces the server to shut down.
-        *
-        *   NOTE: Shutdown not fully implemented in CbsServer yet.
-        */
-        virtual void Shutdown() const = 0;
-        
-    };
-    
-#endif // __MCbs_h
-
-// End of file
--- a/cbs/cbsui/UiInc/MCbsUiSettingsObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*    Observes settings monitor.
-*
-*
-*/
-
-
-#ifndef CBS_UI_SETTINGS_OBSERVER_H
-#define CBS_UI_SETTINGS_OBSERVER_H
-
-
-
-// CLASS DECLARATION
-
-
-/**
-*  Observes settings monitor.
-*  
-*/
-class MCbsUiSettingsObserver
-    {
-    public:
-
-        /**
-        * Settings monitor calls this function when settings has been
-        * changed.
-        *
-        * @param aEvent What kind of event caused the settings change
-        */
-        virtual void SettingsChangedL( TCbsSettingsEvent aEvent ) = 0;
-
-    };
-
-#endif      // CBS_UI_SETTINGS_OBSERVER_H
-            
-// End of File
-
--- a/cbs/cbsui/UiInc/MCbsUiTopicMonitorObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*    Observes topic monitor.
-*
-*
-*/
-
-
-#ifndef CBS_UI_TOPIC_MONITOR_OBSERVER_H
-#define CBS_UI_TOPIC_MONITOR_OBSERVER_H
-
-//  INCLUDES
-#include <CbsCommon.h>
-
-
-
-// CLASS DECLARATION
-
-/**
-* Observes topic monitor.
-*  
-*/
-class MCbsUiTopicMonitorObserver
-    {
-    public:
-
-        /**
-        * Topic list or topic messages are changed.
-        *
-        * @param aEvent reason for event
-        * @param aTopicNumber Topic number, which caused the event
-        */
-        virtual void TopicListChangedL(
-            TCbsTopicListEvent aEvent, TCbsTopicNumber aTopicNumber ) = 0;
-
-    };
-
-#endif      // CBS_UI_TOPIC_MONITOR_OBSERVER_H
-            
-// End of File
--- a/cbs/cbsui/UiInc/MSaveMessageController.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +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 functions needed to save message.
-*
-*
-*/
-
-
-#ifndef __MSaveMessageController_h
-#define __MSaveMessageController_h
-
-//  INCLUDES
-#include    <CbsCommon.h>
-
-
-
-// CLASS DECLARATION
-
-/**
-* Helper class for saving message.
-*/
-class MSaveMessageController
-    {
-    public: // New functions
-
-        /**
-        *   Saves a message (the saved message won't be deleted to make 
-        *   room for new messages).
-        *
-        *   Return codes:
-        *   KErrNone            Message is saved.
-        *   KErrGeneral         Message not saved -- total maximum of saved 
-        *                       messages reached.
-        *   KErrNotFound        Message not saved -- no message associated
-        *                       with the given handle.
-        *   KErrDiskFull        Message not saved -- FFS out of space.
-        *
-        *   @param  aHandle     Handle to the message to be saved.
-        *   @return             Return code.
-        */
-        virtual TInt SaveMessage( const TCbsMessageHandle& aHandle ) = 0;
-    };
-
-#endif // __MSaveMessageController_h
-
-// END OF FILE
--- a/cbs/cbsui/UiInc/RCbsUi.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +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 for CBS Client
-*
-*/
-
-
-#ifndef __RCbsUi_h
-#define __RCbsUi_h
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <CbsCommon.h>
-#include <RCbs.h>
-
-#include "MCbs.h"
-
-
-// CLASS DECLARATION
-
-/**
-* Delecates calls to RCbs.
-*/
-class RCbsUi : public MCbs
-    {
-    public: // Constructor and destructor
-
-        /**
-        * Constructor.
-        */
-        RCbsUi();
-       
-        /**
-        * Destructor.
-        */
-        ~RCbsUi();
-        
-    public: // From MCbs
-
-        TInt Connect();        
-        void Close();
-        TVersion Version() const;
-        
-        // === Settings-related methods        
-        void GetReceptionStatus( TBool& aStatus );        
-        TInt SetReceptionStatus( TBool aStatus );        
-        void GetTopicDetectionStatus( TBool& aStatus );        
-        TInt SetTopicDetectionStatus( TBool aStatus );        
-        void GetLanguages( TCbsSettingsLanguages& aLanguages );
-        TInt SetLanguages( const TCbsSettingsLanguages& aLanguages );
-        void NotifySettingsChanged( TRequestStatus& aStatus, TCbsSettingsEvent& aEvent );
-        void NotifySettingsChangedCancel();
-        
-        //  === Topic Collection-related methods        
-        void StartCollectionBrowsing();        
-        TBool HasNextCollectionTopic();                            
-        TInt NextCollectionTopic( TCbsTopicInfo& aInfo );
-        
-        //  === Topic list-related methods        
-        void GetTopicCount( TInt& aCount );
-        TInt GetTopic( const TInt aIndex, TCbsTopic& aTopic );
-        TInt FindTopicByNumber( TCbsTopicNumber aNumber, TCbsTopic& aTopic );
-        TInt DeleteTopic( TCbsTopicNumber aNumber );      
-        TInt DeleteAllTopics();
-        TInt AddTopic( TCbsTopic& aTopic );
-        TInt ChangeTopicNameAndNumber( 
-                TCbsTopicNumber aOldNumber,
-                TCbsTopicNumber aNewNumber, 
-                const TCbsTopicName& aName );
-        TInt ChangeTopicSubscriptionStatus( 
-                TCbsTopicNumber aNumber, TBool aNewStatus );
-        TInt ChangeTopicHotmarkStatus( TCbsTopicNumber aNumber,
-                TBool aNewStatus );
-        void NotifyOnTopicListEvent( 
-                TRequestStatus& aStatus, 
-                const TInt aRequested, 
-                TCbsTopicListEvent& aEvent, 
-                TCbsTopicNumber& aNumber );
-        void NotifyOnTopicListEventCancel();
-        TInt GetNewTopicsCount( TInt& aCount );
-        TInt GetLatestTopicNumber( TCbsTopicNumber& aNumber );
-        void GetUnreadMessageCount( TInt& aCount );
-        void GetHotmarkedMessageHandle( TCbsMessageHandle& aMessage );
-        TInt NumberOfUnreadHotmarkedMessages();
-        TInt GetNextAndPrevTopicNumber( 
-            const TCbsTopicNumber& aCurrentTopicNumber,
-            TCbsTopicNumber& aPrevTopicNumber,
-            TCbsTopicNumber& aNextTopicNumber,
-            TInt& aPosition );
-        
-        // === Topic Messages-related methods       
-        TInt GetMessageCount( TCbsTopicNumber aNumber, TInt& aCount );
-        TInt GetMessage( TCbsTopicNumber aNumber, TInt aIndex,
-                TCbsMessage& aMessage );
-        TInt FindMessageByHandle( 
-                const TCbsMessageHandle& aHandle, 
-                TCbsMessage& aMessage );
-        TInt GetMessageIndexByHandle( 
-                const TCbsMessageHandle& aHandle, TInt& aIndex );
-        TInt DeleteMessage( const TCbsMessageHandle& aHandle );
-        TInt SaveMessage( const TCbsMessageHandle& aHandle );
-        TInt LockMessage( const TCbsMessageHandle& aHandle );
-        TInt ReadMessage( const TCbsMessageHandle& aHandle );
-        TInt GetMessageContents( 
-                const TCbsMessageHandle& aHandle, 
-                TDes& aBuffer );
-        TInt GetNextAndPrevMessageHandle(
-                const TCbsMessageHandle& aCurrentMsgHandle,
-                TCbsMessageHandle& aPrevMsgHandle,
-                TCbsMessageHandle& aNextMsgHandle,
-                TInt& aPosition );
-        
-        // Other methods
-        TBool Connected() const;
-        void Shutdown() const;
-
-    private: // Data
-
-        // Real cbs client
-        RCbs iServer;
-        
-    };
-    
-#endif // __RCbsUi_h
-
-// End of file 
--- a/cbs/cbsui/UiInc/ccbsuisettingsviewcontainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +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 file for the CCbsUiSettingsViewContainer class.
-*
-*
-*/
-
-
-#ifndef __CCBSUISETTINGSVIEWCONTAINER_H
-#define __CCBSUISETTINGSVIEWCONTAINER_H
-
-//  INCLUDES
-#include <bldvariant.hrh>
-#include <coecntrl.h>
-#include <eiklbo.h>            // MEikListBoxObserver
-#include <CbsCommon.h>
-#include "CbsUiConstants.h"
-
-
-// FORWARD DECLARATIONS
-class CCbsUiMsgView;
-class MCbs;
-class CCbsUiSettingsView;
-class CAknSettingStyleListBox;
-class CSelectionItemList;
-
-// CLASS DECLARATION
-
-/**
-*  Container for settings view components.
-*  
-*/
-class CCbsUiSettingsViewContainer : public CCoeControl,
-                                    public MEikListBoxObserver
-	{
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        *
-        * @param aView settings view
-        * @param aRect containers area
-        * @param aServer cbs server
-        */
-        static CCbsUiSettingsViewContainer* NewL( CCbsUiSettingsView& aView,
-                                                  const TRect& aRect,
-                                                  MCbs& aServer );
-        
-        /**
-        * Destructor.
-        */
-	    ~CCbsUiSettingsViewContainer();
-    
-    public: // From CCoeControl
-
-        /**
-        * Returns the numbers of components.
-        * 
-        * @return Number of components in the container
-        */
-	    TInt CountComponentControls() const;
-
-        /**
-        * Returns a component.  
-        *
-        * @param aIndex component index which is required
-        * @return required component
-        */
-	    CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * Sets a new size to list box.
-        */
-	    void SizeChanged();
-
-        /**
-        * Informs that the focus is changed.
-        * @param aDrawNow Contains the value that was passed to it by SetFocus()
-        */
-		void FocusChanged( TDrawNow aDrawNow );
-
-        /**
-        * Offers key event to list box.
-        * 
-        * @param aKeyEvent what kind of key produced this event
-        * @param aType Which kind of action produced this event
-        * @return EKeyWasConsumed
-        */
-	    TKeyResponse OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent, TEventCode aType );
-
-        /**
-        * Gets the control's help context.
-        * 
-        * @param aContext The control's help context
-        */
-	    void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-        /**
-        * Handles a change to the control's resources.
-        * @param aType A message UID value.
-        */
-        void HandleResourceChange( TInt aType );
-
-    public: // New functions
-
-        /**
-        * Changes the value which the user has pushed and asks
-        * server to save that value. If the user has choosed the 
-        * language item the language page will show up. Calls
-        * private HandleListViewActionL.
-        *
-        * @param aLaunchedFromOptionMenu if ETrue pop_up_setting_item 
-        *                                will be launhed
-        * @return EKeyWasConsumed
-        */
-        TKeyResponse HandleListViewActionL( TBool aLaunchedFromOptionMenu );
-
-        /**
-        * Offers public interface to update all settings.
-        * Is needed if operator changes some values during in settings view.
-        */
-        void UpdateSettingsL();
-
-        /**
-        * Sets focus to first item in settings list box. Needed, because
-        * sometimes view is not activated correctly.
-        */
-        void SetFocusToFirstItem() const;
-
-    protected: // From MEikListBoxObsever
-        
-        /**
-        * Handles list box events.
-        *
-        * @param aListBox the originating list box
-        * @param aEventType a code for the event.
-        */
-        void HandleListBoxEventL( CEikListBox* aListBox, 
-                                  TListBoxEvent aEventType ); 
-
-    private: // New functions
-
-        /**
-        * With this settings view can update the text in the 
-        * list box for language item. This can only be called from 
-        * GetSettingsL!
-        */
-        void SetLanguageSelectionL( CDesCArray& aItemArray );
-
-        /**
-        * Creates a list box.
-        */
-        void CreateListBoxL();
-
-        /**
-        * Gets the settings of reception, language and detection from the 
-        * sserver and sets these values to list box.
-        */
-        void GetSettingsL();
-
-        /**
-        * Changes the value which the user has pushed and asks
-        * server to save that value. If the user has choosed the 
-        * language item the language page will show up.
-        *
-        * @param aListBox changes are focused on this list box
-        * @param aLaunchedFromOptionMenu if ETrue pop_up_setting_item 
-        *                                will be launhed
-        * @return EKeyWasConsumed
-        */
-        TKeyResponse HandleListViewActionL( 
-            const CEikListBox* aListBox, TBool aLaunchedFromOptionMenu );
-
-        /**
-        * Launches a dialog for On and Off setting items.
-        * 
-        * @param aValue it will contain selected value in dialog
-        * @param aUpdate if aValue has changed in dialog
-        * @param aResouceId setting text resource id
-        */
-        void LaunchDialogOnOffL(
-            const TBool& aValue, TBool& aUpdate, TInt aResouceId ) const;
-
-        /**
-        * Launches a topic detection dialog for On and Off setting items.
-        * 
-        * @param aValue it will contain selected value in dialog
-        * @param aUpdate if aValue has changed in dialog
-        * @param aResouceId setting text resource id
-        */
-        void LaunchTopicDetectionDialogOnOffL(
-            const TBool& aValue, TBool& aUpdate, TInt aResouceId ) const;
-
-        /**
-        * Prepares the language setting page with the values stored in 
-        * the server.
-        */
-		void PrepareLanguageSettingPageL();
-
-        /**
-        * Returns selected item in settings page.
-        *
-        * @return selected item
-        */
-        TCbsUiLanguageSelectionIndex GetSelected();
-
-        /**
-        * Launchs language setting page with aItems.
-        *
-        * @param aItems items in language setting page.
-        * @param aCurrentSelectionIndex item to be selected
-        */
-        void LaunchLanguageSettingPageL(
-            CDesCArrayFlat& aItems, TInt& aCurrentSelectionIndex );
-
-        /**
-        * Sets items to a aItemList from resource array.
-        *
-        * @param aResourceId resource array
-        * @param aItemList list to be filled
-        */
-        void AddItemsToListL( 
-            TInt aResourceId, 
-            CDesCArrayFlat& aItemList ) const;
-
-    private:
-
-        /**
-        * C++ constructor.
-        *
-        * @param aView settings view
-        * @param aServer cbs server
-        */
-        CCbsUiSettingsViewContainer( CCbsUiSettingsView& aView, 
-                                     MCbs& aServer );
-
-        /**
-        * Symbian OS default constructor.
-        */ 
-        void ConstructL( const TRect& aRect );
-
-
-        /**
-        * Checks if phone is in offline mode or not
-        * @return ETrue if phone is in offline mode
-        *         Otherwise EFalse.
-        */
-        TBool IsPhoneOfflineL() const;
-
-
-    private: // Data
-        
-        // List box object in dialog.        
-        CAknSettingStyleListBox* iListBox;
-
-        // For setting mop parent
-        CCbsUiSettingsView& iView;
-
-        // With the help of server it is possible to set and get
-        // setting information.        
-        MCbs& iServer;
-
-        // If ofline feature is supported then this is ETrue.
-        TBool iOfflineFeatureSupported;
-
-	};
-
-
-#endif //__CCBSUISETTINGSVIEWCONTAINER_H
-
-// End of file
--- a/cbs/cbsui/UiSrc/CCbsUiAddFromIndexDialog.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +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:  Dialog which shows topics, which are not yet in 
-*               the topic list view. Enables topics adding manually.
-*
-*
-*/
-
-
-// INCLUDES
-#include <barsread.h>
-#include <gulicon.h>
-#include <eikclbd.h>
-#include <eikspane.h>
-#include <aknnavide.h>
-#include <akntitle.h>
-#include <avkon.hrh>
-#include <aknnotewrappers.h>
-#include <cbsuiApp.rsg>
-#include <aknlists.h>
-#include <AknIconArray.h>
-#include "CCbsUiAddFromIndexDialog.h"
-#include "Cbsuiapp.hrh"
-#include "CbsUiPanic.h"
-#include "MCbs.h"
-
-// CONSTANTS        
-const TInt KAssumedAverageOfItems = 5;
-const TInt KNumberOfIconsInAddFromIndexDialog = 4;
-_LIT(KCbsIconListSeparator, "1\t");
-_LIT(KCbsColumnListSeparator, " ");
-
-// if the aTopicInfo.iNumber is shorter than KWidth,
-// this character will be used to fill empty spaces.
-const TUint KZeroFill = '0'; 
-
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiAddFromIndexDialog::CCbsUiAddFromIndexDialog( MCbs& aServer ) : 
-iServer(aServer)
-    {
-    }
-
-// Destructor  
-CCbsUiAddFromIndexDialog::~CCbsUiAddFromIndexDialog()
-    {
-    delete iHandles;  
-    delete iNaviDecorator;
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    CCbsUiAddFromIndexDialog::PreLayoutDynInitL()
-//
-//    Sets the choices to controls in AddFromIndexdialog
-//
-//-----------------------------------------------------------------------------
-void CCbsUiAddFromIndexDialog::PreLayoutDynInitL()
-    {
-    CEikDialog::PreLayoutDynInitL();
-    
-    CAknNavigationControlContainer* naviPane = 
-        STATIC_CAST( CAknNavigationControlContainer*, 
-        iEikonEnv->AppUiFactory()->StatusPane()->ControlL(
-        TUid::Uid( EEikStatusPaneUidNavi) ) );
-    
-    __ASSERT_DEBUG( naviPane, CbsUiPanic( ENaviPaneError ) );
-    
-    TResourceReader reader;
-    iCoeEnv->CreateResourceReaderLC( reader, R_QTN_CB_AD_SEL_TOP );
-    
-    delete iNaviDecorator;
-    iNaviDecorator = NULL;
-    
-    iNaviDecorator = naviPane->
-        ConstructNavigationDecoratorFromResourceL( reader );
-    
-    __ASSERT_DEBUG( iNaviDecorator, CbsUiPanic( ENaviDecoratorError ) );
-    
-    naviPane->PushL( *iNaviDecorator );
-    CleanupStack::PopAndDestroy();      
-    
-    iListBox = STATIC_CAST(
-        CAknSingleGraphicStyleListBox*, Control(ECbsUiAddFromIndexDlgLine) );
-    
-    __ASSERT_DEBUG( iListBox, CbsUiPanic( EListBoxInDialogError ) );
-    
-    SetIconsL();
-    SetTopicsL();
-    
-    // Scrollbar
-    iListBox->CreateScrollBarFrameL(ETrue);
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
-    
-    // order has to be this; otherwise on error add from index title pane
-    // remains.
-    CreateAddFromIndexTitlePaneL();
-    
-    MEikAppUiFactory* appUiFactory = iEikonEnv->AppUiFactory();
-    TRect rect = appUiFactory->ClientRect();
-    iListBox->SetRect( rect );    
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    CCbsUiAddFromIndexDialog::OkToExitL()
-//
-//    Handles keyevents. In case "Softkey OK" it
-//    add selected topics using member function addtopic
-//
-//-----------------------------------------------------------------------------
-TBool CCbsUiAddFromIndexDialog::OkToExitL( TInt aKeycode )
-    {            
-    TBool result( EFalse );
-    switch ( aKeycode )
-        {
-        case EAknSoftkeyOk:
-            {
-            const CListBoxView::CSelectionIndexArray* selArray = 
-            iListBox->SelectionIndexes();
-        
-            if ( selArray )
-                {
-                // Initialize the marked contact id array using selArray
-                TInt count( selArray->Count() );
-                TInt ret( KErrNone );
-                for ( TInt i = 0; i < count && ret == KErrNone; ++i )
-                    {
-                    const TInt selIndex( (*selArray)[i] );
-                    ret = AddTopicL( iHandles->At(selIndex) );
-                    }
-                }
-            // Ok to exit, dialog is also removed from the stack
-            result = ETrue;
-            iEikonEnv->RemoveFromStack( this );
-            break;
-            }
-        // If Mark or Unmark is pressed, the dialog must not exit.
-        // Dialog must also stay in stack.
-        case EAknSoftkeyMark:            
-        case EAknSoftkeyUnmark:
-            {
-            result = EFalse;
-            break;
-            }
-        default:
-            break;
-        }           
-            
-    return result;
-    }
-
-
-//-----------------------------------------------------------------------------
-//
-//    CCbsUiAddFromIndexDialog::GetIndexNumber()
-//
-//    Parses Indexnumber from topic info. Is used by
-//    SetTopics-member function.
-//
-//-----------------------------------------------------------------------------
-void CCbsUiAddFromIndexDialog::GetIndexNumber( const TCbsTopicInfo& aTopicInfo , 
-                                              TBuf<KTopicNumberWidth>& aIndexNumber ) const
-    {	    
-    TBuf<KTopicNumberWidth> ind;
-    ind.AppendNum( TInt(aTopicInfo.iNumber) );
-    aIndexNumber.Justify(ind , KTopicNumberWidth, ERight, KZeroFill);
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    CCbsUiAddFromIndexDialog::AddTopicL()
-//
-// 
-//
-//-----------------------------------------------------------------------------
-TInt CCbsUiAddFromIndexDialog::AddTopicL( const TCbsTopicInfo aTopicInfo )
-    {
-    TCbsTopic topic;
-    
-    topic.iHotmarked = EFalse;
-    topic.iName = aTopicInfo.iName;
-    topic.iNumber = aTopicInfo.iNumber;
-    topic.iProtected = EFalse;
-    topic.iSavedMessages = 0;
-    topic.iUnreadMessages = 0;
-    topic.iSubscribed = 0;
-    
-    TInt ret( iServer.AddTopic(topic) );
-    
-    switch ( ret )
-        {
-        case KErrNone:
-            // ok, do nothing
-            break;
-        case KErrAlreadyExists: // same handling
-        case KErrArgument:      // same handling
-            // after this error still tryes to append other items if exists
-            ret = KErrNone;
-            break;
-        default:
-            User::LeaveIfError(ret);
-            break;
-        }
-    
-    return ret;
-    } 
-
-//-----------------------------------------------------------------------------
-//
-//    CCbsUiAddFromIndexDialog::SetIconsL()
-//
-//    Sets the multiselction box-images.
-//
-//-----------------------------------------------------------------------------
-void CCbsUiAddFromIndexDialog::SetIconsL() const
-    {
-    CAknIconArray* icons = new (ELeave) 
-        CAknIconArray(KNumberOfIconsInAddFromIndexDialog);
-    
-    CleanupStack::PushL(icons);
-    icons->ConstructFromResourceL(R_CHECKBOX_ICONS);
-    CleanupStack::Pop(); // icons
-    
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray(icons);
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    CCbsUiAddFromIndexDialog::SetTopicsL()
-//
-//
-//-----------------------------------------------------------------------------
-void CCbsUiAddFromIndexDialog::SetTopicsL()
-    {
-    TCbsTopicInfo topicinfo;    
-    
-    iServer.StartCollectionBrowsing();
-    
-    iHandles = new (ELeave) TCbsTopicInfoHandleList(KAssumedAverageOfItems);
-    
-    __ASSERT_DEBUG( iHandles, CbsUiPanic( ETopicHandleError ) );
-    
-    iHandles->Reset();
-    TInt err(KErrNone);
-    
-    while( iServer.HasNextCollectionTopic() && err == KErrNone )
-        {
-        err = iServer.NextCollectionTopic(topicinfo);
-        if ( err == KErrNone )
-            {
-            MDesCArray* itemList = iListBox->Model()->ItemTextArray();
-            CDesCArray* itemArray = STATIC_CAST(CDesCArray*, itemList);
-            
-            TBuf<KTopicNumberWidth> index;
-            GetIndexNumber( topicinfo, index );
-            
-            HBufC* buffer = HBufC::NewMaxLC(
-                KCbsIconListSeparator().Length() + index.Length() + 
-                KCbsColumnListSeparator().Length() + topicinfo.iName.Length() );
-            
-            TPtr ptr = buffer->Des();
-            
-            ptr = KCbsIconListSeparator;
-            ptr.Append(index);
-            ptr.Append(KCbsColumnListSeparator);
-            ptr.Append(topicinfo.iName);
-            
-            itemArray->AppendL(*buffer);	
-            iHandles->AppendL(topicinfo);
-            CleanupStack::PopAndDestroy();  // buffer
-            }
-        }
-    
-    iListBox->HandleItemAdditionL();
-    if ( iListBox->Model()->NumberOfItems() == 0 )
-        {
-        // No warning, but we can close the dialog
-        User::Leave(KErrNone);
-        }
-    }
-
-//-----------------------------------------------------------------------------
-//
-//    CCbsUiAddFromIndexDialog::CreateAddFromIndexTitlePaneL()
-//
-//
-//-----------------------------------------------------------------------------
-void CCbsUiAddFromIndexDialog::CreateAddFromIndexTitlePaneL() const
-    {
-    CEikStatusPane* sp = STATIC_CAST( CAknAppUi*, CEikonEnv::Static()->
-        EikAppUi() )->StatusPane();
-    
-    CAknTitlePane* title = STATIC_CAST(CAknTitlePane*, sp->
-        ControlL( TUid::Uid(EEikStatusPaneUidTitle) ));
-    
-    __ASSERT_DEBUG( sp && title, CbsUiPanic( EStatusOrTitlePaneError ) );
-    
-    TResourceReader titlereader;
-    iCoeEnv->CreateResourceReaderLC( titlereader, R_QTN_CB_TITLE_ADD_TOPICS );
-    title->SetFromResourceL( titlereader );
-    CleanupStack::PopAndDestroy();  // resource title
-    }
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiConfirmationNote.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +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 for CCbsUiConfirmationNote.
-*
-*
-*/
-
-
-// INCLUDES
-#include <AknGlobalConfirmationQuery.h>
-#include <StringLoader.h>
-#include <CbsUiApp.rsg>
-#include "CCbsUiConfirmationNote.h"
-
-
-// MODULE DATA STRUCTURES
-
-/**
- * Global Confirmation query observer. Doesn't do anything.
- */
-class CCbsUiConfirmationNote::CGlobalConfirmationQueryObserver : 
-    public CActive
-    {
-    public: // constructor
-
-        inline CGlobalConfirmationQueryObserver() : CActive(EPriorityIdle) 
-            {
-            }
-
-        inline ~CGlobalConfirmationQueryObserver() 
-            { 
-            Cancel(); 
-            }
-
-        inline void ConstructL() 
-            {
-            CActiveScheduler::Add(this);
-            SetActive();
-            }
-
-    public: // from CActive
-
-    	void DoCancel() 
-            { 
-            }
-
-	    void RunL() 
-            {
-            Cancel(); 
-            }
-    };
-
-// ================= MEMBER FUNCTIONS =======================
-
-CCbsUiConfirmationNote::CCbsUiConfirmationNote()
-    {
-    }
-
-CCbsUiConfirmationNote::~CCbsUiConfirmationNote()
-    {
-    delete iConfQueryObserver;
-    delete iGlobalConfirmationQuery;
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiConfirmationNote::ShowGlobalConfirmationNoteL
-// 
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CCbsUiConfirmationNote::ShowGlobalConfirmationNoteL( CCoeEnv& aCoeEnv )
-    {
-    // create active object
-    CGlobalConfirmationQueryObserver* observer = 
-        new (ELeave) CGlobalConfirmationQueryObserver();
-
-    if (iConfQueryObserver)
-        {
-        delete iConfQueryObserver;
-        iConfQueryObserver = NULL;
-        }
-    iConfQueryObserver = observer;
-    iConfQueryObserver->ConstructL();
-
-    // show critical level note
-    CAknGlobalConfirmationQuery* dlg = CAknGlobalConfirmationQuery::NewL();
-    if (iGlobalConfirmationQuery)
-        {
-        delete iGlobalConfirmationQuery;
-        iGlobalConfirmationQuery = NULL;
-        }
-    iGlobalConfirmationQuery = dlg;
-
-    HBufC* noteText = StringLoader::LoadLC(
-        R_TEXT_NOTE_NOT_ENOUGH_MEMORY, &aCoeEnv);
-    
-    iGlobalConfirmationQuery->ShowConfirmationQueryL(
-        iConfQueryObserver->iStatus,
-        *noteText, 
-        R_AVKON_SOFTKEYS_OK_EMPTY);
-
-    CleanupStack::PopAndDestroy(noteText);
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiEditTopicDlg.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +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 CCbsUiEditTopicDlg.
-*
-*
-*/
-
-
-// INCLUDES
-#include    <avkon.hrh>             // EMultilineFirstLine, EMultilineSecondLine
-#include    <layoutmetadata.cdl.h>  // Layout_Meta_Data::IsLandscapeOrientation()  
-#include    <AknUtils.h>            // AknTextUtils
-#include    <aknQueryControl.h>
-#include    <cbsuiApp.rsg>
-#include    <StringLoader.h>
-#include    <AknDef.h>              // KEikDynamicLayoutVariantSwitch
-#include    "Cbsuiapp.hrh"
-#include    "CCbsUiEditTopicDlg.h"
-#include    "CCbsUiTopicListView.h"
-#include    "CbsUiPanic.h"
-#include    "CbsUiUtility.h"
-
-
-//CONSTANTS
-_LIT(KDummyString,"");
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiEditTopicDlg::CCbsUiEditTopicDlg( CCbsUiTopicListView& aTopicListView,
-                                       TBool aType ) 
-                                       : 
-CAknMultiLineDataQueryDialog(ENoTone),    
-iTopicListView(aTopicListView),
-iType(aType)   
-    {
-    }
-
-// ---------------------------------------------------------
-// CCbsUiEditTopicDlg::ConstructL
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiEditTopicDlg::ConstructL( TDes& aDataText, TDes& aDataText2 )
-    {
-    SetDataL(aDataText, aDataText2);
-    iUpdateLeftSoftKeyFirstTime = ETrue;   
-    }
-
-// ---------------------------------------------------------
-// CCbsUiEditTopicDlg::NewL
-// 
-// ---------------------------------------------------------
-//
-CCbsUiEditTopicDlg* CCbsUiEditTopicDlg::NewL( TDes& aDataText, TDes& aDataText2,
-                                             CCbsUiTopicListView& aTopicListView, TBool aType )
-    {
-    CCbsUiEditTopicDlg* self = 
-        new (ELeave) CCbsUiEditTopicDlg(aTopicListView, aType);
-    CleanupStack::PushL(self);
-    self->ConstructL(aDataText, aDataText2);
-    CleanupStack::Pop(); // self
-    
-    return self;
-    }
-
-// Destructor
-CCbsUiEditTopicDlg::~CCbsUiEditTopicDlg()
-    {
-    }
-
-// ---------------------------------------------------------
-// CCbsUiEditTopicDlg::OkToExitL
-// 
-// ---------------------------------------------------------
-//
-TBool CCbsUiEditTopicDlg::OkToExitL( TInt aButtonId )
-    {
-    // just to update the values
-    TBool okToExit( CAknMultiLineDataQueryDialog::OkToExitL( aButtonId ) );
-    if ( okToExit )
-        {
-        TBuf<KCbsDbTopicNameLength> dummy( KDummyString );
-        TBuf<KCbsDbTopicNameLength> topicNumberStr;
-        topicNumberStr = SecondData( dummy );
-        AknTextUtils::ConvertDigitsTo( topicNumberStr, EDigitTypeWestern );
-        TLex lex( topicNumberStr );
-        TCbsTopicNumber tn;
-        
-        // No need to panic!
-        User::LeaveIfError( lex.Val( tn, EDecimal ) );
-        
-        TCbsTopicName topicName;
-        
-        topicName.Append( FirstData( dummy ) );
-        
-        TInt ret( KErrGeneral ); // just to differ from KErrNone
-        
-        ret = iTopicListView.EditTopic( iType, tn, topicName );
-        
-        switch ( ret )
-            {
-            case KErrDiskFull:
-                User::Leave( KErrDiskFull );
-                break;
-            case KErrNone:
-                // do nothing
-                break;
-            default:
-                // shows the error note and the dialog is not closed
-                CbsUiUtility::ShowErrorNoteL( R_TEXT_NOTE_NUMBER_ERROR );
-                okToExit = EFalse;
-                SetCursorAndFocusL();
-                break;
-            }
-        }
-    
-    return okToExit;    
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiEditTopicDlg::LineChangedL
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiEditTopicDlg::LineChangedL( TInt /*aControlId*/ )
-    {
-    UpdateLeftSoftKeyL();
-    }
-
-
-// ----------------------------------------------------
-// CCbsUiEditTopicDlg::HandleResourceChange
-//
-// ----------------------------------------------------
-void CCbsUiEditTopicDlg::HandleResourceChange( TInt aType )
-    {
-    CAknMultiLineDataQueryDialog::HandleResourceChange( aType );
-    
-    if( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        TRAPD( ignore, UpdateLeftSoftKeyL( ) );
-        if( ignore )
-            {
-            ignore = KErrNone; //Prevent ARMV5 compilation varning
-            }
-        }    
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiEditTopicDlg::UpdateLeftSoftKeyL
-// Note: iUpdateLeftSoftKeyFirstTime must use because when we
-// go to UpdateLeftSoftKeyL() method first time then IdOfFocusControl()
-// method doesn't work ok yet.
-// ---------------------------------------------------------
-//
-void CCbsUiEditTopicDlg::UpdateLeftSoftKeyL()
-    {
-    if( ( Layout_Meta_Data::IsLandscapeOrientation() ) && 
-        ( ( IdOfFocusControl() == EMultilineFirstLine) || iUpdateLeftSoftKeyFirstTime ) )
-        {
-        MakeLeftSoftkeyVisible( ETrue );
-        }
-    else
-        {
-        TBuf<EMaxTopicNumberLength> buf;
-        SecondControl()->GetText( buf );
-        AknTextUtils::ConvertDigitsTo( buf, EDigitTypeWestern );
-        TLex lex( buf );
-        TInt topicNumber( -1 );
-        if ( lex.Val( topicNumber ) == KErrNone )
-            {
-            MakeLeftSoftkeyVisible( ETrue );
-            }
-        else
-            {
-            MakeLeftSoftkeyVisible( EFalse );
-            }
-        }
-    iUpdateLeftSoftKeyFirstTime = EFalse;  
-    }
-
-// ---------------------------------------------------------
-// CCbsUiEditTopicDlg::SetCursorAndFocusL
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiEditTopicDlg::SetCursorAndFocusL()
-    {
-    TryChangeFocusToL(EMultilineSecondLine);
-    CAknQueryControl* control = 
-        STATIC_CAST( CAknQueryControl*, 
-        Control(EMultilineSecondLine) );
-    CEikEdwin* edwin = STATIC_CAST(
-        CEikEdwin*, control->ControlByLayoutOrNull(EDataLayout) );
-    edwin->SetSelectionL( control->GetTextLength(),0 );  
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiLanguageSettingPage.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +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 CCbsUiLanguageSettingPage.
-*
-*
-*/
-
-
-// INCLUDES
-#include    <cbsuiApp.rsg>
-#include    <AknQueryDialog.h>
-#include    "CCbsUiLanguageSettingPage.h"
-#include    "CCbsUiListQueryDialog.h"
-#include    "CbsUiPanic.h"
-#include    "CbsUiConstants.h"
-#include    "MCbs.h"
-
-
-
-// CONSTANTS
-const TInt KFirstLaunch = 1;
-const TInt KAverageReceivedLanguages = 4;
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiLanguageSettingPage::CCbsUiLanguageSettingPage( 
-    TInt aResourceID, 
-    TInt& aCurrentSelectionIndex,
-    CDesCArrayFlat* aItemArray,
-    MCbs& aServer ) 
-    : 
-    CAknRadioButtonSettingPage(aResourceID, aCurrentSelectionIndex, aItemArray),
-    iServer(aServer),
-    iSelectionIndex(aCurrentSelectionIndex),
-    iArray(*aItemArray)    
-    {
-    }
-
-// ---------------------------------------------------------
-// CCbsUiLanguageSettingPage::OkToExitL
-// 
-// (other iItems were commented in a header).
-// ---------------------------------------------------------
-//
-TBool CCbsUiLanguageSettingPage::OkToExitL( TBool aAccept )
-    {   
-    __ASSERT_DEBUG( &iServer, CbsUiPanic(EServerNullError) );
-
-    // if ok key has been pushed, then this level options
-    // settings will be made
-    if ( aAccept )
-        {        
-        TCbsDbLanguages lang;
-        iServer.GetLanguages(lang);
-        
-        switch ( iSelectionIndex )
-            {
-            case ECbsUiAll:
-                lang.iLanguages[ECbsAll] = ETrue;
-                lang.iLanguages[ECbsOther] = EFalse;
-                break;
-            case ECbsUiSelected: 
-                // don't set languages after this, allready set in language dlg
-                LaunchLanguageDialogL();
-                break;
-            case ECbsUiOther:
-                lang.iLanguages[ECbsAll] = EFalse;
-                lang.iLanguages[ECbsOther] = ETrue;
-                break;
-            default:
-                __ASSERT_DEBUG( 0, CbsUiPanic(EErrInvalidValue) );
-                break;
-            }    
-
-        if ( iSelectionIndex == ECbsUiAll || iSelectionIndex == ECbsUiOther )
-            {
-            User::LeaveIfError( iServer.SetLanguages(lang) );
-            }
-        }
-
-
-    return ETrue;
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiLanguageSettingPage::OfferKeyEventL
-// 
-// (other iItems were commented in a header).
-// ---------------------------------------------------------
-//
-TKeyResponse CCbsUiLanguageSettingPage::OfferKeyEventL( 
-    const TKeyEvent& aKeyEvent, 
-    TEventCode aType )
-    {
-    __ASSERT_DEBUG( ListBoxControl(), CbsUiPanic(EListBoxNullError) );
-    
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyOK:
-            LaunchLanguageDialogL();
-            break;       
-        default:
-            break;
-        }
-
-    return CAknSettingPage::OfferKeyEventL( aKeyEvent, aType );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiLanguageSettingPage::GetLanguagesL
-// 
-// (other iItems were commented in a header).
-// ---------------------------------------------------------
-//
-void CCbsUiLanguageSettingPage::GetLanguagesL(
-    CArrayFix<TInt>& aIndexArray, TCbsDbLanguages& aLanguages )
-    {
-    iServer.GetLanguages(aLanguages);
-    
-    for ( TInt j(0); j < ECbsOther; j++ )
-        {
-        if ( aLanguages.iLanguages[j] )
-            {
-            aIndexArray.AppendL(j);
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiLanguageSettingPage::LaunchLanguageDialogL
-// 
-// (other iItems were commented in a header).
-// ---------------------------------------------------------
-//
-void CCbsUiLanguageSettingPage::LaunchLanguageDialogL()
-    {
-    iCurrentLaunchingId++;
-    
-    if ( iCurrentLaunchingId == KFirstLaunch )
-        {        
-        if ( ListBoxControl()->CurrentItemIndex() == ECbsUiSelected )
-            {
-            CArrayFixFlat<TInt>* indexArray = 
-                new (ELeave) CArrayFixFlat<TInt>(KAverageReceivedLanguages);
-            CleanupStack::PushL(indexArray);
-            
-            TCbsDbLanguages languages;        
-            GetLanguagesL(*indexArray, languages);
-            
-            CCbsUiListQueryDialog* dlg = new (ELeave)
-                CCbsUiListQueryDialog(*indexArray);
-            TInt ret( dlg->ExecuteLD(R_LANGUAGE_MULTISELECTION_LIST_QUERY) );
-            
-            if( ret )
-                {
-                SetLanguagesL(*indexArray, languages);
-                }
-            else
-                {
-                iCurrentLaunchingId--;
-                User::Leave( KErrNone );
-                }
-            
-            CleanupStack::PopAndDestroy(); // indexArray;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiLanguageSettingPage::SetLanguagesL
-// 
-// (other iItems were commented in a header).
-// ---------------------------------------------------------
-//
-void CCbsUiLanguageSettingPage::SetLanguagesL(
-    CArrayFix<TInt>& aIndexArray, TCbsDbLanguages& aLanguages )
-    {     
-    // just clearing the language selection before setting them
-    for ( TInt i(0); i < ECbsOther; i++ )
-        {
-        aLanguages.iLanguages[i] = EFalse;
-        }
-
-    // set the values which are chosen
-    if ( &aIndexArray )
-        {        
-        TInt count( aIndexArray.Count() );
-
-        for (TInt i(0); i < count; i++)
-            {
-            TInt selectedIndex( aIndexArray.At(i) );
-            __ASSERT_DEBUG( selectedIndex < ECbsOther, 
-                CbsUiPanic(EErrIndexOutOfBounds) );
-            aLanguages.iLanguages[selectedIndex] = ETrue;
-            }
-       
-        TBool languageSelected( count > 0 );
-        if ( languageSelected )
-            {
-            aLanguages.iLanguages[ECbsAll] = EFalse;            
-            aLanguages.iLanguages[ECbsOther] = EFalse;
-            }
-        else 
-            {
-            // The user can clear the languages and then previously
-            // defined value will be selected.
-            // If other has not been previously selected, then
-            // all has to be selected
-            if ( !aLanguages.iLanguages[ECbsOther] )
-                {                
-                aLanguages.iLanguages[ECbsAll] = ETrue;
-                }
-            }       
-
-        User::LeaveIfError( iServer.SetLanguages( aLanguages ) );
-        }      
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiListQueryDialog.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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 CCbsUiListQueryDialog
-*
-*
-*/
-
-
-// INCLUDES
-#include <eikclb.h>	// CEikColumnListBox
-#include <eikaufty.h>	// MEikAppUiFactory
-#include <aknlists.h>	// CAknSingleGraphicStyleListBox
-#include <gulicon.h>	// CGulIcon
-#include <eikclbd.h> 	// CColumnListBoxData
-#include <aknnavide.h> 	// CAknNavigationDecorator
-#include <akntitle.h> 	// CAknTitlePane
-#include <barsread.h> 	// TResourceReader
-#include <AknIconArray.h>
-#include <StringLoader.h>
-#include "CCbsUiListQueryDialog.h"
-#include "CbsUiPanic.h"
-#include "MCbs.h"
-
-
-
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiListQueryDialog::CCbsUiListQueryDialog(
-    CArrayFix<TInt>& aIndexArray ) : 
-    CAknListQueryDialog( &aIndexArray ),
-    iIndexArray( aIndexArray )    
-    {
-    }
-
-// ---------------------------------------------------------
-// CCbsUiListQueryDialog::PostLayoutDynInitL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiListQueryDialog::PostLayoutDynInitL()
-    {
-    CAknListQueryDialog::PostLayoutDynInitL();
-    ListBox()->SetSelectionIndexesL( &iIndexArray );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiListQueryDialog::OkToExitL
-// 
-// 
-// ---------------------------------------------------------
-//
-TBool CCbsUiListQueryDialog::OkToExitL( TInt aKeyCode )
-    {    
-    if ( aKeyCode == EEikBidOk )
-        {        
-        iIndexArray.Reset();
-        }
-                
-    return CAknListQueryDialog::OkToExitL( aKeyCode );
-    }
-
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiMsgView.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1030 +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 CCbsUiMsgView.
-*
-*
-*/
-
-
-
-// INCLUDES
-#include <AknUtils.h>        //AknTextUtils
-#include <bldvariant.hrh>    // for feature flags
-#include <featmgr.h>  	     // for feature manager
-#include <aknappui.h>
-#include <aknViewAppUi.h>
-#include <eikmenup.h>
-#include <avkon.hrh>
-#include <aknnavide.h>
-#include <txtrich.h>         // CRichText
-#include <AknProgressDialog.h>
-#include <eikmenub.h>
-#include <hlplch.h>
-#include <avkon.rsg>
-#include <StringLoader.h>
-#include <cbsuiApp.rsg>
-#include <barsread.h>
-#include <AknQueryDialog.h>
-#include <eikmop.h>
-#include <FindItemmenu.rsg>
-#include <finditemmenu.h>
-#include <finditemdialog.h>
-#include <akntitle.h>
-#include "CCbsUIMsgView.h"
-#include "Cbsuiapp.hrh"
-#include "CCbsUIMsgViewContainer.h"
-#include "CbsUiPanic.h"
-#include "CbsUiConstants.h"
-#include "CbsUiUtility.h"
-#include "CbsUiDebug.h"
-#include "MCbs.h"
-#include "CbsUiId.h"  //KUidCbsUiappDef
-
- 
-
-// CONSTANTS
-
-static const TUid KUidCbsUiappApp = { KUidCbsUiappDef };
-const TInt KCbsImmediateMessageIdInt = 313;
-const TInt KMaxAssumedDateTimeLength = 30;
-
-_LIT(KSpace, " ");
-_LIT(KLineBreak, "\n");
-const TInt KMaxSeparatorLenght = 5;
-const TInt KOneHotMarkedMessage = 1;
-
-
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-
-CCbsUiMsgView::CCbsUiMsgView( MCbs& aServer )
-: 
-iServer( aServer )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CCbsUiMsgView::ConstructL()
-    {
-    BaseConstructL( R_CBSUI_MSGVIEW );   
-    iFindItemMenu = CFindItemMenu::NewL( ECbsUiCmdFindItem );
-    iFromOtherApplication = EFalse;
-
-    CEikStatusPane* statusPane = StatusPane();
-        
-    iNaviContainer = 
-    STATIC_CAST( CAknNavigationControlContainer*, statusPane->
-    		ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );    
-    
-    }
-
-// Two-phased constructor.
-CCbsUiMsgView* CCbsUiMsgView::NewL( MCbs& aServer )
-    {
-    CCbsUiMsgView* self = new (ELeave) CCbsUiMsgView( aServer );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// Destructor
-CCbsUiMsgView::~CCbsUiMsgView()
-    {
-    CloseContextMenu();
-    
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-    
-    delete iContainer;
-    delete iFindItemMenu;
-
-    if ( iNaviContainer && iDecoratedLabel )
-    	{
-    	iNaviContainer->Pop ( iDecoratedLabel );
-    	delete iDecoratedLabel;
-    	}
-	iDecoratedLabel = NULL;
-
-	if ( iNaviContainer && iPreviousDecoratedLabel )
-		{
-		iNaviContainer->Pop ( iPreviousDecoratedLabel );
-		delete iPreviousDecoratedLabel;
-		}
-	iPreviousDecoratedLabel = NULL;
-
-    delete iMessage;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::HandleNaviDecoratorEventL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::HandleNaviDecoratorEventL( TInt aEventID )
-	{
-	
-    switch ( aEventID )
-    	{
-		// Left arrow tapped from the navi pane
-    	case MAknNaviDecoratorObserver::EAknNaviDecoratorEventLeftTabArrow:
-		    {
-		    if( AknLayoutUtils::LayoutMirrored() )
-		    	{
-		        MoveToNextMessageL();
-		        }
-		    else
-		        {
-		        MoveToPreviousMessageL();
-		        }
-		    break;
-		    }               
-		// Right arrow tapped from the navi pane
-    	case MAknNaviDecoratorObserver::EAknNaviDecoratorEventRightTabArrow:
-		    {
-		    if( AknLayoutUtils::LayoutMirrored() )
-		    	{
-		        MoveToPreviousMessageL();
-		        }
-		    else
-		        {
-		        MoveToNextMessageL();
-		        }
-		    break;
-		    }
-		default:
-		    {
-		    break;
-		    }
-    	}
-
-	}
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::DynInitMenuPaneL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::DynInitMenuPaneL( TInt aResourceId,
-                                     CEikMenuPane* aMenuPane )
-    {
-    __ASSERT_DEBUG( aMenuPane, CbsUiPanic( EMenuPaneNullError ) );
-    __ASSERT_DEBUG( iFindItemMenu, CbsUiPanic( EFindItemNullError ) );
-    
-    switch ( aResourceId )
-        {
-        case R_CBSUI_MSGVIEW_MENU:
-            {
-            iFindItemMenu->DisplayFindItemMenuItemL( 
-                *aMenuPane, 
-                ECbsUiappCmdMsgMenuDelete );
-            
-            if ( CbsUiUtility::IsSavedL(iCurrentHandle, iServer) )
-                {
-                aMenuPane->DeleteMenuItem( ECbsUiappCmdMsgMenuKeep );
-                } 
-            if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-                {
-                aMenuPane->DeleteMenuItem( EAknCmdHelp );
-                }
-            break;
-            }                           
-        case R_FINDITEMMENU_MENU:
-            {
-            iFindItemMenu->DisplayFindItemCascadeMenuL( *aMenuPane );
-            break;
-            }
-        default:
-            break;
-        }
-    }    
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::ProcessCommandL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::ProcessCommandL( TInt aCommand )
-    {            
-    if ( iContextMenu )
-        {
-        iContextMenu->StopDisplayingMenuBar();
-        CloseContextMenu();
-        }            
-
-    // Context sensitive menu should be opened when MSK pressed
-    switch ( aCommand )
-        {    
-        case EAknSoftkeyContextOptions:
-            HandleCommandL( EAknSoftkeyContextOptions );
-            break;            
-        default:
-            break;
-        }
-    // Call base class
-    CAknView::ProcessCommandL( aCommand );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::Id
-// 
-// 
-// ---------------------------------------------------------
-//
-TUid CCbsUiMsgView::Id() const
-    {
-    return TUid::Uid( ECbsUiMsgViewId );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::MoveToNextMessage
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::MoveToNextMessageL()
-    {   
-    // if a message is class 0, then changing the message
-    // content is not allowed.
-    if ( iIsClass0 )
-        {
-        return;
-        }
-    
-    if ( SetHandleTo(iCurrentHandle, EToNext) )
-        {
-        DoLoadMessageL();
-        }
-    
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::MoveToPreviousMessage
-// 
-//
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::MoveToPreviousMessageL()
-    {
-    // if a message is class 0, then changing the message
-    // content is not allowed.
-    if ( iIsClass0 )
-        {
-        return;
-        }
-    
-    if ( SetHandleTo(iCurrentHandle, EToPrevious) )
-        {
-        DoLoadMessageL();
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::HandleCommandL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::HandleCommandL( TInt aCommand )
-    {
-    if ( iFindItemMenu && iFindItemMenu->CommandIsValidL( aCommand ) )
-        {
-        DoSearchL( aCommand );
-        }
-    
-    TBool exit(EFalse); // program exits if true
-    
-    switch ( aCommand )
-        {
-        case EAknSoftkeyBack:
-            {
-            ActivateTopicViewL( CurrentTopicNumber(), iCurrentHandle );
-            break;
-            }
-        case ECbsUiappCmdMsgMenuKeep:
-            {            
-            if ( CbsUiUtility::SaveCurrentMessageL(iCurrentHandle, *this) ==
-                KErrNone && iIsClass0 )
-                {
-                exit = ETrue;
-                
-                // show modal note
-                CbsUiUtility::ShowConfirmationNoteL(
-                    R_TEXT_NOTE_MSG_KEPT, ETrue);
-                }
-            break;
-            }
-        case ECbsUiCmdCopyToClipboard:
-            {
-            iContainer->CopyToClipboardL();   
-            CbsUiUtility::ShowConfirmationNoteL(R_TEXT_NOTE_MSG_TO_CLIP);
-            break;
-            }
-        case ECbsUiappCmdMsgMenuDelete:
-            {            
-            if ( DeleteMessageL(iCurrentHandle) && iIsClass0 )
-                {
-                exit = ETrue;
-                }
-            break;
-            }
-        case EAknSoftkeyContextOptions:
-        case ECbsUiappCmdOkKey:
-            {
-            LaunchContextMenuL();
-            break;
-            }
-        case EAknCmdHelp:
-            AppUi()->HandleCommandL(aCommand);
-            break;
-        case EAknSoftkeyExit: // let it run through
-        case EAknCmdExit:
-            {
-            if ( !iFromOtherApplication )
-                {
-                // if it has been CBSUI then do this
-                ActivateTopicListViewL();
-                }
-            else
-                {
-                exit = ETrue;
-                }
-            iFromOtherApplication = EFalse;
-            break;
-            }         					   		    
-        default:
-            break;
-        }
-    
-    if ( exit )
-        {
-        STATIC_CAST(
-            MEikCommandObserver*, AppUi() )->ProcessCommandL(EAknCmdExit);
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::DoActivateL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::DoActivateL( const TVwsViewId& aPrevViewId,
-                                TUid aCustomMessageId,
-                                const TDesC8& aCustomMessage )
-    {   
-    iIsClass0 = EFalse;
-    TBool topicListViewActivated(EFalse);
-    
-    switch ( aCustomMessageId.iUid )
-        {
-        case KCbsUiCustomMessageIdInt:
-            iFromOtherApplication = EFalse;
-            Cba()->SetCommandSetL(R_AVKON_SOFTKEYS_OPTIONS_BACK);
-            SetCurrentMessageHandle(aCustomMessage);
-            break;
-        case KCbsImmediateMessageIdInt:
-            if ( aPrevViewId.iAppUid != KUidCbsUiappApp )
-                {
-                iFromOtherApplication = ETrue;
-                }
-            SetCurrentMessageHandle(aCustomMessage);
-            Cba()->SetCommandSetL(R_AVKON_SOFTKEYS_OPTIONS_EXIT);
-            Cba()->DrawDeferred();
-            iIsClass0 = ETrue;
-            break;
-        default: // this should be soft notification
-            iFromOtherApplication = EFalse;
-            Cba()->SetCommandSetL(R_AVKON_SOFTKEYS_OPTIONS_BACK);
-            topicListViewActivated = HandleSoftNotificationL();
-            break;
-        }
-    
-    if ( !topicListViewActivated )
-        {
-        if ( !iContainer )
-            {
-            iContainer = CCbsUiMsgViewContainer::NewL(*this, ClientRect());
-            AppUi()->AddToViewStackL(*this, iContainer);
-            }
-        
-        TInt err( DoLoadMessageL() );
-        
-        // if it is class 0 message and some error occurs
-        if ( err != KErrNone && iIsClass0 )
-            {
-            User::Leave(err);
-            }
-        
-        if ( iMessage )
-            {
-            iContainer->ActivateL();
-            }
-        else
-            {
-            // some error occured
-            ActivateTopicViewL( CurrentTopicNumber(), iCurrentHandle );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::DoDeactivate()
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::DoDeactivate()
-    {
-    iServer.LockMessage(NULL);
-    
-    CloseContextMenu();
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-    
-    delete iDecoratedLabel;
-    iDecoratedLabel = NULL;
-    
-    DeleteOldMessage();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::UpdateNaviPaneL
-// 
-//  
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::UpdateNaviPaneL()
-    {
-    
-    TInt currentPosition( KCbsErrValue );
-    TInt totalMessages( KCbsErrValue );
-    
-    TInt err (
-        GetMessagePosition( iCurrentHandle, currentPosition, totalMessages ) );
-
-    TBool prev( currentPosition != 0 );
-    TBool next( ( currentPosition + 1 ) < totalMessages );
-    
-    // If a message is class 0, then the navipane is empty
-    if ( iIsClass0 || err != KErrNone )
-        {
-        // Delete the existed label before creating a new one 
-        // in case of memory leak
-        CAknNavigationDecorator* oldLabel = iDecoratedLabel;
-        iDecoratedLabel = CbsUiUtility::CreateEmptyNavigationPaneL();
-        delete oldLabel;
-        return;
-        }
-    
-    // Create a new decorator    
-    CArrayFixFlat<TInt>* array = new( ELeave ) CArrayFixFlat<TInt>( 2 );
-    CleanupStack::PushL( array );
-    array->AppendL( currentPosition + 1 );
-    array->AppendL( totalMessages );
-    HBufC* messageLocationInTopic = StringLoader::LoadL( R_MESSAGE_LOCATION_IN_TOPIC, *array, iCoeEnv );
-    CleanupStack::PopAndDestroy(); // array
-    CleanupStack::PushL( messageLocationInTopic );
-
-    CAknNavigationDecorator* newDecoratedLabel = iNaviContainer->CreateNavigationLabelL( *messageLocationInTopic );
-    CleanupStack::PopAndDestroy(); // messageLocationInTopic
-
-    CleanupStack::PushL( newDecoratedLabel );
-    
-    // Set new decorator on top of navi pane's decorator stack
-    // ( topmost decorator is the one to show )
-    iNaviContainer->PushL( *newDecoratedLabel );
-
-    // Remove previous decorator from decorator stack and delete it
-    if ( iPreviousDecoratedLabel )
-    	{
-    	iNaviContainer->Pop( iPreviousDecoratedLabel );        
-    	delete iPreviousDecoratedLabel;
-    	iPreviousDecoratedLabel = NULL;
-    	}
-
-    // Update decorator pointers to new ones
-    iPreviousDecoratedLabel = iDecoratedLabel;
-    iDecoratedLabel = newDecoratedLabel;
-    
-    __ASSERT_DEBUG( iDecoratedLabel, CbsUiPanic( EErrNullPointer ) );
-   
-    // Set observer for navi pane
-    iDecoratedLabel->SetNaviDecoratorObserver( this );
-
-    CleanupStack::Pop( newDecoratedLabel );
-    
-    iDecoratedLabel->MakeScrollButtonVisible( ETrue );
-
-    if( AknLayoutUtils::LayoutMirrored() )
-        {
-        iDecoratedLabel->SetScrollButtonDimmed( CAknNavigationDecorator::ELeftButton, !next );
-        iDecoratedLabel->SetScrollButtonDimmed( CAknNavigationDecorator::ERightButton, !prev );
-        }
-    else
-        {
-    	iDecoratedLabel->SetScrollButtonDimmed( CAknNavigationDecorator::ELeftButton, !prev );
-    	iDecoratedLabel->SetScrollButtonDimmed( CAknNavigationDecorator::ERightButton, !next );
-        }
-
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::SaveMessage
-// 
-//  
-// ---------------------------------------------------------
-//
-TInt CCbsUiMsgView::SaveMessage( const TCbsMessageHandle& aHandle )
-    {
-    return iServer.SaveMessage(aHandle);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::DoSearchL
-// 
-//  
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::DoSearchL( TInt aCommand )
-    {
-    CFindItemDialog* dialog =  CFindItemDialog::NewL( 
-        iContainer->GetEditor()->Read(0), 
-        iFindItemMenu->SearchCase(aCommand) );
-    dialog->ExecuteLD();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::TopicListChangedL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::TopicListChangedL( TCbsTopicListEvent /*aEvent*/, TCbsTopicNumber aTopicNumber )
-    {
-    if ( iContainer && (CurrentTopicNumber() == aTopicNumber) )
-        {
-        UpdateNaviPaneL();
-        }
-    }
-
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::HandleRectChangeInContainerL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::HandleRectChangeInContainerL()
-    {
-    if ( iContainer )
-        {
-        iContainer->SetRect( ClientRect() );
-        iContainer->UpdateMessageL( *iMessage );
-        }
-    
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::CloseContextMenu
-// 
-//  
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::CloseContextMenu()
-    {
-    if ( iContextMenu )
-        {
-        AppUi()->RemoveFromViewStack(*this, iContextMenu);
-        delete iContextMenu;
-        iContextMenu = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::LaunchContextMenuL
-// 
-//  
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::LaunchContextMenuL()
-    {        
-    TInt rssName = R_CBSUI_MSG_KEEP_AND_DELETE_CONTEXT_MENUBAR;
-    
-    if ( CbsUiUtility::IsSavedL(iCurrentHandle, iServer) )
-        {                        
-        rssName = R_CBSUI_MSG_DELETE_CONTEXT_MENUBAR;
-        }   
-    
-    CloseContextMenu();
-    
-    __ASSERT_DEBUG( !iContextMenu, CbsUiPanic(EErrAllreadyExists) );
-    
-    iContextMenu = new (ELeave) CEikMenuBar;    
-    iContextMenu->ConstructL(
-        this,
-        0,
-        rssName );
-    
-    // Set type to context sensitive
-    iContextMenu->SetMenuType( CEikMenuBar::EMenuContext );
-    
-    AppUi()->AddToViewStackL( 
-        *this, 
-        iContextMenu, 
-        ECoeStackPriorityMenu, 
-        ECoeStackFlagRefusesFocus );
-    
-    iContextMenu->TryDisplayMenuBarL();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::DeleteOldMessage
-// 
-//
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::DeleteOldMessage()
-    {
-    delete iMessage;
-    iMessage = NULL;    
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::DoLoadMessageL
-// 
-//
-// ---------------------------------------------------------
-//
-TInt CCbsUiMsgView::DoLoadMessageL()
-    {
-    TRAPD( err, LoadMessageL() );
-    
-    switch ( err ) 
-        {
-        case KErrNotFound:
-            {
-            // If the message cannot be found
-            // it is not necessary to do anything.
-            // It is just showing some other message (current).
-            break;
-            }
-        case KErrNone:
-            {
-            // normal case
-            __ASSERT_DEBUG( iMessage, CbsUiPanic(EErrNullPointer) );
-            iContainer->UpdateMessageL(*iMessage);
-            // navi pane has to be updated in all cases; expect when leave
-            UpdateNaviPaneL();
-            Cba()->SetCommandSetL( R_CBS_SOFTKEYS_OPTIONS_BACK__CONTEXTOPTIONS );
-            break;
-            }
-        default:
-            User::Leave( err );
-            break;
-        }
-    
-    return err;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::ActivateTopicViewL
-// 
-//
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::ActivateTopicViewL( TCbsTopicNumber aTopicNumber, TCbsMessageHandle aHandle )
-    {  
-    TPckgBuf<TCbsUiTopicActivationPckg> message;
-    message().iTopicNumber = aTopicNumber;
-    message().iMessageHandle = aHandle;
-    
-    AppUi()->ActivateLocalViewL( 
-        TUid::Uid(ECbsUiTopicViewId), KSetFocusToId, message );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::SetCurrentMessageHandle
-// 
-//
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::SetCurrentMessageHandle( const TDesC8& aMessageHandle )
-    {
-    TPckgBuf<TCbsMessageHandle> pckgMessageHandle;
-    pckgMessageHandle.Copy(aMessageHandle);
-    iCurrentHandle = pckgMessageHandle();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::LoadMessageL
-// 
-//
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::LoadMessageL()
-    {      
-    User::LeaveIfError( iServer.LockMessage(iCurrentHandle) );
-    
-    TCbsMessage message;
-    TInt err( iServer.FindMessageByHandle(iCurrentHandle, message) );
-    __CBSUI_ASSERT( err == KErrNone, CbsUiPanic(EErrMsgHandleNotFound) );
-    User::LeaveIfError(err);
-    
-    // mark the message as read 
-    err = iServer.ReadMessage(iCurrentHandle);
-    User::LeaveIfError(err);
-    
-    DeleteOldMessage();
-    iMessage = HBufC::NewMaxL(message.iLength);
-    TPtr messageContent = iMessage->Des();
-    
-    err = iServer.GetMessageContents(iCurrentHandle, messageContent);
-    
-    __CBSUI_ASSERT( err == KErrNone, 
-        CbsUiPanic(EMessageContentsError) );
-    
-    if ( err != KErrNone )
-        {
-        DeleteOldMessage();
-        User::Leave(err);
-        }
-    
-    AddDateAndTimeL( 
-        message.iDateTime,
-        &iMessage, // address of pointer variable
-        R_CBS_DATE_FORMAT_ARRAY );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::AddDateAndTime
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::AddDateAndTimeL( const TInt64 aTime, HBufC** aMessage, TUint aResourceArrayId ) const
-    {
-    __ASSERT_DEBUG( aTime >= 0, CbsUiPanic(EErrInvalidValue) );
-    __ASSERT_DEBUG( *aMessage, CbsUiPanic(EErrNullPointer) );
-    __ASSERT_DEBUG( (*aMessage)->Length() > 0, CbsUiPanic(EErrEmptyDesc) );
-    __ASSERT_DEBUG( aResourceArrayId > 0, CbsUiPanic(EErrInvalidValue) );
-    
-    HBufC* timeBuffer = HBufC::NewMaxLC( KMaxAssumedDateTimeLength );
-    TInt bufLen( 0 );
-    TTime time( aTime );
-    
-    // change universal time to local time
-    TLocale locale;
-    time += locale.UniversalTimeOffset();
-    
-    TPtr des = timeBuffer->Des();    
-    TInt length( ( *aMessage )->Length() );
-    
-    // for adding date and time to message
-    TResourceReader reader;
-    iCoeEnv->CreateResourceReaderLC( reader, aResourceArrayId );
-    TInt count( reader.ReadInt16() );
-    
-    TBuf<KMaxSeparatorLenght> separator( KLineBreak );
-    TInt separatorsLength( KLineBreak().Length() + KSpace().Length() );
-    
-    for ( TInt i( 0 ); i < count; i++ )
-        {
-        TUint resourceId( reader.ReadUint32() );
-        
-        HBufC* format = iCoeEnv->AllocReadResourceLC( resourceId );
-        
-        time.FormatL( des, *format );
-        AknTextUtils::DisplayTextLanguageSpecificNumberConversion( des );
-        
-        if ( i > 0 )
-            {
-            separator = KSpace;
-            }
-        
-        bufLen += timeBuffer->Length();
-        (*aMessage) = (*aMessage)->ReAllocL( 
-            length + bufLen +  separatorsLength );
-        
-        // have to get a new pointer after reallocation
-        TPtr ptr2 = ( *aMessage )->Des();
-        ptr2.Append( separator );
-        ptr2.Append( *timeBuffer );
-        
-        CleanupStack::PopAndDestroy(); // format
-        }
-    
-    CleanupStack::PopAndDestroy( 2 ); // timeBuffer, reader
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::CurrentTopicNumber
-// 
-// 
-// ---------------------------------------------------------
-//
-TCbsTopicNumber CCbsUiMsgView::CurrentTopicNumber() const
-    {
-    return STATIC_CAST( TCbsTopicNumber, (iCurrentHandle >> 16) & 0xFFFF );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::GetMessagePosition
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiMsgView::GetMessagePosition( TCbsMessageHandle aHandle, TInt& aPosition, TInt& aTotal )
-    {
-    TInt err( iServer.GetMessageIndexByHandle(aHandle, aPosition) );
-    
-    __CBSUI_ASSERT( err == KErrNone, CbsUiPanic(EErrMsgHandleNotFound) );
-    __CBSUI_ASSERT( aPosition != KCbsErrValue, CbsUiPanic(EErrInvalidValue) );
-    
-    if ( err == KErrNone )
-        {
-        err = iServer.GetMessageCount( CurrentTopicNumber(), aTotal );
-        }
-    
-    __CBSUI_ASSERT( err == KErrNone, CbsUiPanic(EErrMsgHandleNotFound) );
-    __CBSUI_ASSERT( aPosition + 1 <= aTotal, CbsUiPanic(EErrMsgImbalance) );
-    
-    return err;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::SetHandleTo
-// 
-// 
-// ---------------------------------------------------------
-//
-TBool CCbsUiMsgView::SetHandleTo( TCbsMessageHandle& aHandle, TMsgViewSetHandle aTo )
-    {
-    TCbsMessageHandle prev;
-    TCbsMessageHandle next;
-    TInt position(KCbsErrValue);
-    TBool result(EFalse);
-    
-    TInt err( iServer.GetNextAndPrevMessageHandle(
-        aHandle, prev, next, position) );
-    
-    if ( err == KErrNone )
-        {
-        __ASSERT_DEBUG( 
-            position >= 0 && position <= (ECbsTail | ECbsHead), 
-            CbsUiPanic(EErrInvalidValue) );           
-        
-        switch ( aTo )
-            {
-            case EToPrevious:
-                // if position is head it cannot go thru
-                if ( (position & ECbsHead) == 0 )
-                    {
-                    aHandle = prev;
-                    result = ETrue;
-                    }
-                break;
-            case EToNext:
-                // if position is tail it cannot go thru
-                if ( (position & ECbsTail) == 0 )
-                    {
-                    aHandle = next;
-                    result = ETrue;
-                    }
-                break;
-            default:
-                __ASSERT_DEBUG(0, CbsUiPanic(EErrInvalidValue));
-                break;
-            }
-        }        
-    
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::DeleteMessageL
-// 
-// 
-// ---------------------------------------------------------
-//
-TBool CCbsUiMsgView::DeleteMessageL( TCbsMessageHandle aHandle )
-    {
-    TBool result(EFalse);
-    
-    CAknQueryDialog* dlg = CAknQueryDialog::NewL();    
-    
-    if ( dlg->ExecuteLD(R_DELETE_MSG_CONFIRMATION_QUERY) )
-        {
-        TCbsMessageHandle handleToBeFocused(aHandle);        
-        
-        if ( !SetHandleTo(handleToBeFocused, EToNext) )
-            {
-            if ( !SetHandleTo(handleToBeFocused, EToPrevious) )
-                {
-                // next or previous could not be set, 0 will unlock message
-                handleToBeFocused = 0;
-                }
-            }
-        
-        // Unlock message to be deleted and lock next message before delete
-        __ASSERT_DEBUG(handleToBeFocused != aHandle, 
-            CbsUiPanic(EErrInvalidValue));
-        
-        iServer.LockMessage(handleToBeFocused);
-        iServer.DeleteMessage(aHandle);
-        
-        // free handleToBeFocused message
-        if ( handleToBeFocused != 0)
-            {
-            iServer.LockMessage(NULL);
-            }
-        
-        // Topic number is still the same even if the message is
-        // deleted.
-        ActivateTopicViewL( CurrentTopicNumber(), handleToBeFocused );
-        result = ETrue;
-        }
-    
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::ActivateTopicListViewL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgView::ActivateTopicListViewL() const
-    {
-    AppUi()->ActivateLocalViewL( TUid::Uid(ECbsUiTopicListViewId) );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgView::HandleSoftNotification
-// 
-// 
-// ---------------------------------------------------------
-//
-TBool CCbsUiMsgView::HandleSoftNotificationL()
-    {
-    TCbsTopic topic;
-    TInt err;
-    TBool result( EFalse );
-    TInt count( iServer.NumberOfUnreadHotmarkedMessages() );
-    __ASSERT_DEBUG( 
-        count >= KOneHotMarkedMessage, CbsUiPanic(EErrInvalidValue) );
-    
-    switch ( count )
-        {
-        case KOneHotMarkedMessage:
-            iServer.GetHotmarkedMessageHandle( iCurrentHandle );
-            err = iServer.FindTopicByNumber( CurrentTopicNumber(), topic );
-            if ( err == KErrNone )
-                {
-                //Update Title pane
-                CEikStatusPane* sp = StatusPane();
-                CAknTitlePane* title = 
-                    STATIC_CAST(CAknTitlePane*, sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle) ) );
-                title->SetTextL( topic.iName );
-                }
-            break;
-        default: // Many hot marked messages
-            ActivateTopicListViewL();
-            result = ETrue;
-            break;
-        }
-    
-    return result;
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiMsgViewContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,754 +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:  Implementation of CCbsUiMsgViewContainer class.
-*
-*
-*/
-
-
-// INCLUDES
-#include <bldvariant.hrh>       // for feature flags
-#include <eikenv.h>
-#include <AknLayoutDef.h>       // enum TAknLayoutId
-#include <aknenv.h>             // for iAvkonEnv
-#include <AknUtils.h>           // AknLayoutUtils
-#include <sysutil.h>            // FFS critical level check
-#include <eikrted.h>
-#include <barsread.h>
-#include <txtrich.h>
-#include <calslbs.h>
-#include <baclipb.h>
-#include <aknkeys.h>
-#include <applayout.cdl.h>      // Multiline_Message_writing_texts_Line_3
-#include <AknLayout2ScalableDef.h>        // TAknLayoutScalableParameterLimits
-#include <aknlayoutscalable_apps.cdl.h>   // list_single_mce_message_pane_ParamLimits().iRows
-#include <AknDef.h>                       // KEikDynamicLayoutVariantSwitch
-#include <AknsConstants.h>      // KAknsMessageSkinChange
-#include <aknappui.h>
-#include <AknsBasicBackgroundControlContext.h> // CAknsBasicBackgroundControlContext
-#include <AknsUtils.h>                    // MAknsSkinInstance
-#include <AknsDrawUtils.h>                // AknsDrawUtils
-#include <cbsuiApp.rsg>
-#include "CbsUiId.h"
-#include <csxhelp/cbs.hlp.hrh>
-#include "CCbsUIMsgViewContainer.h"
-#include "CCbsUIMsgView.h"
-#include "Cbsuiapp.hrh"
-#include "CbsUiPanic.h"
-#include <gdi.h>
-
-
-
-// LOCAL CONSTANTS AND MACROS
-const TInt KEditorNumOfLines = 7;
-const TInt KFirstScreen = 0;
-const TInt KOneScreen = 1;
-const TInt KMsgNumberOfControls = 1;
-const TInt KMsgControlIndexEditor = 0;
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-CCbsUiMsgViewContainer::CCbsUiMsgViewContainer( CCbsUiMsgView& aMsgView )
-: iMsgView(aMsgView)      
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CCbsUiMsgViewContainer::ConstructL( const TRect& aRect )
-    {
-    CreateWindowL();
-    SetMopParent(&iMsgView);
-    
-    iEditor = CreateEditorL();
-    SetReadOnly(ETrue);
-    
-    SetRect(aRect);
-
-    // for Skin Support, Create background control context:
-    iBackGroundControlContext = CAknsBasicBackgroundControlContext::NewL(
-                    KAknsIIDQsnBgAreaMain,  // Default mainpane skinning
-                    Rect(),                 // Layout to the entire client rect
-                    EFalse );
-    if ( iBackGroundControlContext )
-        {
-        iEditor->SetSkinBackgroundControlContextL( iBackGroundControlContext );
-        }
-    }
-
-
-// Two-phased constructor.
-CCbsUiMsgViewContainer* CCbsUiMsgViewContainer::NewL( CCbsUiMsgView& aMsgView, 
-                                                     const TRect& aRect )
-    {    
-    CCbsUiMsgViewContainer* self = new (ELeave) 
-        CCbsUiMsgViewContainer(aMsgView);    
-    
-    CleanupStack::PushL(self);
-    self->ConstructL(aRect);
-    CleanupStack::Pop();
-    return self;
-    }
-
-// Destructor
-CCbsUiMsgViewContainer::~CCbsUiMsgViewContainer()
-    {
-    delete iBackGroundControlContext;
-    delete iEditor;
-    delete iSBFrame;
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::CountComponentControls
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiMsgViewContainer::CountComponentControls() const
-    {
-    TInt countScrollBarComponents( 0 );
-    if ( iSBFrame )
-        {
-        countScrollBarComponents = iSBFrame->CountComponentControls();
-        }
-    return KMsgNumberOfControls + countScrollBarComponents;
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::ComponentControl
-// 
-// 
-// ---------------------------------------------------------
-//
-CCoeControl* CCbsUiMsgViewContainer::ComponentControl( TInt aIndex ) const
-    {
-    CCoeControl* control = NULL;
-    
-    TInt countScrollBarComponents( 0 );
-    if ( iSBFrame )
-        {
-        countScrollBarComponents = iSBFrame->CountComponentControls();
-        }
-    
-    switch ( aIndex )
-        {
-        case KMsgControlIndexEditor:
-            control = iEditor;
-            break;
-        default:
-            if ( iSBFrame
-                &&  aIndex >= KMsgNumberOfControls 
-                &&  aIndex < countScrollBarComponents + KMsgNumberOfControls )
-                {
-                control = iSBFrame->ComponentControl( aIndex - KMsgNumberOfControls );
-                }
-            else
-                {
-                control = NULL;
-                }
-            break;
-        }
-    return control;
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::OfferKeyEventL
-// 
-// 
-// ---------------------------------------------------------
-//
-TKeyResponse CCbsUiMsgViewContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                                    TEventCode /*aType*/ )
-    {    
-    __ASSERT_DEBUG( iEditor, CbsUiPanic(EEditorNullError) );
-    
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyLeftArrow:
-            {
-            if( AknLayoutUtils::LayoutMirrored() )
-                {
-                iMsgView.MoveToNextMessageL();
-                }
-            else
-                {
-                iMsgView.MoveToPreviousMessageL();
-                }
-            break;
-            }
-        case EKeyRightArrow:
-            {
-            if( AknLayoutUtils::LayoutMirrored() )
-                {
-                iMsgView.MoveToPreviousMessageL();
-                }
-            else
-                {
-                iMsgView.MoveToNextMessageL();
-                }
-            break;
-            }
-        case EKeyUpArrow :
-            {
-            ScrollMessageUpL();
-            break;
-            }
-        case EKeyDownArrow:
-            {
-            ScrollMessageDownL();
-            break;
-            }
-        case EKeyOK:
-            {
-            iMsgView.ProcessCommandL( ECbsUiappCmdOkKey );
-            break;
-            }
-        case EKeyBackspace:
-            {
-            iMsgView.ProcessCommandL( ECbsUiappCmdMsgMenuDelete );
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    
-    return EKeyWasConsumed;
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::UpdateMessageL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::UpdateMessageL( const TDesC& aMessage )
-    {
-    SetData16L(aMessage);
-    
-    InitializeMessageInfoL();
-    
-    CreateScrollBarFrameL();
-    UpdateScrollIndicatorL();
-    
-    iEditor->DrawNow();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::SizeChanged
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::SizeChanged()
-    {
-    if ( iEditor ) 
-        {
-        TRAPD( ignore, iEditor->SelectAllL() ); // This is needed before calling layoutedwin!
-        if( ignore )
-            {
-            ignore = KErrNone; //Prevent ARMV5 compilation varning
-            }
-        if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-            {
-            TAknLayoutScalableParameterLimits scalbleParamLimits;
-            scalbleParamLimits = AknLayoutScalable_Apps::list_single_mce_message_pane_ParamLimits();
-            AknLayoutUtils::LayoutEdwin( iEditor, Rect(), AppLayout::Multiline_Message_writing_texts_Line_3(scalbleParamLimits.LastRow() ) );
-            }
-        else
-            {
-            AknLayoutUtils::LayoutEdwin( iEditor, Rect(), AppLayout::Multiline_Message_writing_texts_Line_3( KEditorNumOfLines ) );
-            }
-        if ( iBackGroundControlContext )
-            {
-            TRAPD( ignore, iEditor->SetSkinBackgroundControlContextL( iBackGroundControlContext ) );
-            if( ignore )
-                {
-                ignore = KErrNone; //Prevent ARMV5 compilation varning
-                }
-            }
-        iEditor->DrawNow();
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewConctainer::CreateEditorL
-// 
-// 
-// ---------------------------------------------------------
-//
-CEikRichTextEditor* CCbsUiMsgViewContainer::CreateEditorL() const
-    {
-    TResourceReader reader;
-    iCoeEnv->CreateResourceReaderLC(reader, R_MSG_READER);
-    
-    CEikRichTextEditor* editor = new (ELeave) CEikRichTextEditor;
-    CleanupStack::PushL( editor );
-    editor->SetContainerWindowL(*this);
-    editor->ConstructFromResourceL( reader );
-    CleanupStack::Pop(); // editor
-    CleanupStack::PopAndDestroy(); // reader    
-    
-    __ASSERT_DEBUG( editor, CbsUiPanic(EEditorNullError) );
-    
-    return editor;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewConctainer::Draw
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::Draw( const TRect& aRect ) const
-    {
-    CWindowGc& aGc = SystemGc();
-    
-    // for clearing gap between editor and the view rect
-    if ( IsReadyToDraw() )
-        {
-        aGc.SetBrushColor( AKN_LAF_COLOR (0) );
-        DrawUtils::ClearBetweenRects( aGc, aRect, iEditor->Rect() );
-        if ( iBackGroundControlContext )
-            {//Draw the skin background
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::Background( skin, iBackGroundControlContext, this, aGc, aRect );
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::InitializeMessageInfoL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::InitializeMessageInfoL()
-    {
-    
-    iEditor->TextLayout()->SetAmountToFormat( CTextLayout::EFFormatAllText );
-    
-    iEditor->CreateTextViewL();
-    iEditor->NotifyNewFormatL();
-    TInt numberOfLines = iEditor->TextLayout()->NumFormattedLines();
-    
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-        {
-        TInt linesInScreen;
-        TAknLayoutScalableParameterLimits scalbleParamLimits;
-        scalbleParamLimits = AknLayoutScalable_Apps::list_single_mce_message_pane_ParamLimits();
-        linesInScreen = scalbleParamLimits.LastRow();
-        iNumberOfScreens = ( numberOfLines - 1 ) / linesInScreen + 1;
-        }
-    else
-        {
-        iNumberOfScreens = ( numberOfLines - 1 ) / KEditorNumOfLines + 1;
-        }
-
-    iCurrentScreen = KFirstScreen;
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::CreateScrollBarFrameL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::CreateScrollBarFrameL()
-    {        
-    if ( !iSBFrame )
-        {
-        iSBFrame = new (ELeave) CEikScrollBarFrame( iEditor, this, ETrue );
-        }
-    
-    CAknAppUiBase* appUi = static_cast<CAknAppUiBase*>( iEikonEnv->EikAppUi() );
-    if ( AknLayoutUtils::DefaultScrollBarType( appUi ) == CEikScrollBarFrame::EDoubleSpan )
-        {
-        // For EDoubleSpan type scrollbar
-        iSBFrame->CreateDoubleSpanScrollBarsL( EFalse, EFalse ); // non-window owning scrollbar            
-        iSBFrame->SetTypeOfVScrollBar( CEikScrollBarFrame::EDoubleSpan );
-        iSBFrame->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,CEikScrollBarFrame::EAuto );
-        TAknWindowLineLayout scrollPane = AknLayoutScalable_Apps::scroll_pane_cp017().LayoutLine();
-        AknLayoutUtils::LayoutVerticalScrollBar( iSBFrame, Rect(), scrollPane );
-        }
-    else
-        {
-        // For EArrowHead type scrollbar
-        iSBFrame->SetTypeOfVScrollBar( CEikScrollBarFrame::EArrowHead );
-        iSBFrame->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,CEikScrollBarFrame::EAuto );
-        }
-    ActivateL();
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::UpdateScrollIndicatorL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::UpdateScrollIndicatorL() const
-    {
-    if ( !iSBFrame )
-        {
-        return;
-        }
-    
-    
-    TEikScrollBarModel hSbarModel;
-    TEikScrollBarModel vSbarModel;
-    vSbarModel.iThumbSpan = 1;
-    
-    vSbarModel.iThumbPosition = iCurrentScreen; // where is the position  
-    // how many items
-    // if there is only one screen we don't need scroll bars (= 0)
-    
-    if ( iNumberOfScreens == KOneScreen )
-        {
-        vSbarModel.iScrollSpan = 0;
-        iSBFrame->SetScrollBarVisibilityL( 
-            CEikScrollBarFrame::EOff, 
-            CEikScrollBarFrame::EOff );
-        }
-    else
-        {
-        vSbarModel.iScrollSpan = iNumberOfScreens;
-        iSBFrame->SetScrollBarVisibilityL( 
-            CEikScrollBarFrame::EOff, 
-            CEikScrollBarFrame::EAuto );
-        }
-    
-    if ( iSBFrame->TypeOfVScrollBar() == CEikScrollBarFrame::EDoubleSpan )
-        {    
-        // For EDoubleSpan type scrollbar
-        TAknDoubleSpanScrollBarModel hDsSbarModel( hSbarModel );
-        TAknDoubleSpanScrollBarModel vDsSbarModel( vSbarModel );
-        
-        TEikScrollBarFrameLayout layout;
-        layout.iTilingMode = TEikScrollBarFrameLayout::EInclusiveRectConstant;
-        TRect inclusiveRect( Rect( ) ); // We need to have two of these variables
-        TRect clientRect( Rect( ) );
-        
-        iSBFrame->TileL( &hDsSbarModel, &vDsSbarModel, clientRect, inclusiveRect, layout );
-        iSBFrame->SetVFocusPosToThumbPos( vSbarModel.iThumbPosition );
-        }
-    else
-        {
-        iSBFrame->Tile( &vSbarModel );
-        iSBFrame->SetVFocusPosToThumbPos( vSbarModel.iThumbPosition );
-        }
-    iSBFrame->DrawScrollBarsNow();
-    
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::UpdateCurrentScreen
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::UpdateCurrentScreen( TBool aIncrease )
-    {
-    if ( aIncrease )
-        {
-        if ( iCurrentScreen < iNumberOfScreens - 1 )
-            {
-            iCurrentScreen++;
-            }
-        }
-    else
-        {
-        if ( iCurrentScreen > KFirstScreen )
-            {
-            iCurrentScreen--;
-            }
-        }
-    
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::SetReadOnly
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::SetReadOnly( TBool aReadOnly )
-    {
-    __ASSERT_DEBUG(iEditor, CbsUiPanic(EErrNullPointer) );
-    iEditor->SetReadOnly(aReadOnly);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::SetDataContentL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::SetDataContentL( CRichText& aText )
-    {
-    iEditor->SetDocumentContentL(aText);
-    iEditor->SelectAllL(); // This is needed before calling layoutedwin!
-
-
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-        {
-        TAknLayoutScalableParameterLimits scalbleParamLimits;
-        scalbleParamLimits = AknLayoutScalable_Apps::list_single_mce_message_pane_ParamLimits();
-        AknLayoutUtils::LayoutEdwin( iEditor, Rect(), AppLayout::Multiline_Message_writing_texts_Line_3(scalbleParamLimits.LastRow() ) );
-        }
-    else
-        {
-        AknLayoutUtils::LayoutEdwin( iEditor, Rect(), AppLayout::Multiline_Message_writing_texts_Line_3( KEditorNumOfLines ) );
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::SetData16L
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::SetData16L( const TDesC& aBuf )
-    {
-    __ASSERT_DEBUG(aBuf.Length() > 0, CbsUiPanic(EErrInvalidValue) );
-    
-    CParaFormatLayer* globalParaLayer = CParaFormatLayer::NewL();
-    CleanupStack::PushL(globalParaLayer);
-                   
-    CCharFormatLayer* globalCharLayer = NULL;   
-    TRgb textColor;
-
-    TCharFormat charFormat;
-    TCharFormatMask formatMask;
-        
-    ( reinterpret_cast< CGlobalText* >( iEditor->Text() ) )
-        ->GetCharFormat( charFormat, formatMask, 0, 0 );                        
-
-    TInt error = AknsUtils::GetCachedColor(
-        AknsUtils::SkinInstance(),
-        textColor,
-        KAknsIIDQsnTextColors,
-        EAknsCIQsnTextColorsCG6 );
-        
-    if ( error != KErrNone )
-        {
-        textColor = KRgbBlack;
-        }
-                
-    charFormat.iFontPresentation.iTextColor = textColor;
-    formatMask.SetAll();
-
-    globalCharLayer = CCharFormatLayer::NewL( charFormat, formatMask );
-    CleanupStack::PushL( globalCharLayer );
-     
-    CRichText* richText = CRichText::NewL( globalParaLayer, globalCharLayer );
-    CleanupStack::PushL( richText );
-    
-    TInt length( aBuf.Size() / 2 );
-    
-    for (TInt i = 0; i < length; i++)
-        {     
-        if ( aBuf[i] == EKeyLineFeed )
-            {            
-            richText->InsertL( i, CEditableText::EParagraphDelimiter );
-            }
-        else 
-            {
-            richText->InsertL( i, aBuf[i] );
-            }
-        }
-    
-    SetDataContentL( *richText );
-    
-    iEditor->SetCharFormatLayer( globalCharLayer );
-                
-    CleanupStack::PopAndDestroy();  // richText
-    CleanupStack::Pop();            // globalCharLayer
-    CleanupStack::PopAndDestroy();  // globalParaLayer
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::GetEditor
-// 
-// 
-// ---------------------------------------------------------
-//
-CRichText* CCbsUiMsgViewContainer::GetEditor() const
-    {
-    __ASSERT_DEBUG(iEditor->RichText()->LdDocumentLength() > 0, 
-        CbsUiPanic(EErrInvalidValue) );
-    
-    return iEditor->RichText();
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::CopyToClipboard
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::CopyToClipboardL() const
-    {
-    TInt msgLength;
-    
-    msgLength = iEditor->TextLength();
-    if ( SysUtil::FFSSpaceBelowCriticalLevelL(  &iCoeEnv->FsSession(), 2 * msgLength ) )
-        {
-        User::Leave( KErrDiskFull );
-        }
-    
-    CPlainText* plainText = CPlainText::NewL();
-    
-    CleanupStack::PushL(plainText);
-    plainText->InsertL( 0, iEditor->RichText()->Read(0) );
-    plainText->ConvertAllFieldsToText();
-    
-    CClipboard* cb = CClipboard::NewForWritingLC( iCoeEnv->FsSession() );
-    plainText->CopyToStoreL( 
-        cb->Store(), 
-        cb->StreamDictionary(), 
-        0, 
-        plainText->DocumentLength() );
-    
-    cb->CommitL();
-    CleanupStack::PopAndDestroy(2);  //cb, plainText
-    }
-
-
-// ----------------------------------------------------
-// CCbsUiMsgViewContainer::HandleResourceChange
-//
-//
-// ----------------------------------------------------
-void CCbsUiMsgViewContainer::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        TRAPD( ignore, iMsgView.HandleRectChangeInContainerL() );
-        if ( iBackGroundControlContext )
-            {
-            iBackGroundControlContext->SetRect( Rect() );
-            }
-        
-        if( ignore )
-            {
-            ignore = KErrNone; //Prevent ARMV5 compilation varning
-            }
-        }
-    else
-        {
-        if( ( aType == KAknsMessageSkinChange ) && ( iBackGroundControlContext ) )
-            {
-            TRAPD( ignore, iEditor->SetSkinBackgroundControlContextL( iBackGroundControlContext ) );
-            if( ignore )
-                {
-                ignore = KErrNone; //Prevent ARMV5 compilation varning
-                }
-            } 
-        }
-    
-     }
-
-
-// ----------------------------------------------------
-// CCbsUiMsgViewContainer::HandleScrollEventL
-// ----------------------------------------------------
-void CCbsUiMsgViewContainer::HandleScrollEventL( CEikScrollBar* aScrollBar, 
-                                         TEikScrollEvent aEventType )
-    {
-    switch( aEventType )
-        {
-        case EEikScrollUp:
-        case EEikScrollPageUp:
-            {
-            ScrollMessageUpL();
-            break;
-            }
-        case EEikScrollDown:
-        case EEikScrollPageDown:
-            {
-            ScrollMessageDownL();
-            break;
-            }
-        case EEikScrollThumbDragVert:
-            {
-            if( aScrollBar->ThumbPosition() > iCurrentScreen )
-                {
-                ScrollMessageDownL();
-                }
-            else if ( aScrollBar->ThumbPosition() < iCurrentScreen )
-                {
-                ScrollMessageUpL();    
-                }
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// ----------------------------------------------------
-// CCbsUiMsgViewContainer::ScrollMessageUpL
-// ----------------------------------------------------
-void CCbsUiMsgViewContainer::ScrollMessageUpL()
-    {
-    if( iCurrentScreen > 0 )
-        {
-        iEditor->MoveDisplayL( TCursorPosition::EFPageUp );
-        iEditor->MoveDisplayL( TCursorPosition::EFLineUp );
-        UpdateCurrentScreen( EFalse );
-        UpdateScrollIndicatorL();
-        }
-    }
-
-// ----------------------------------------------------
-// CCbsUiMsgViewContainer::ScrollMessageDownL
-// ----------------------------------------------------
-void CCbsUiMsgViewContainer::ScrollMessageDownL()
-    {
-    if( iCurrentScreen < iNumberOfScreens-1 )
-        {
-        iEditor->MoveDisplayL( TCursorPosition::EFPageDown );
-        iEditor->MoveDisplayL( TCursorPosition::EFLineDown );
-        UpdateCurrentScreen( ETrue );
-        UpdateScrollIndicatorL();
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiMsgViewContainer::GetHelpContext
-// 
-// Gets the control's help context.
-// ---------------------------------------------------------
-//
-void CCbsUiMsgViewContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = TUid::Uid(KUidCbsUiappDef);
-    aContext.iContext = KCBS_HLP_MSG;
-    }
-
-
-//  End of File 
--- a/cbs/cbsui/UiSrc/CCbsUiSettingsMonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +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 CCbsUiSettingsMonitor class.
-*
-*
-*/
-
-
-// INCLUDES
-#include "MCbs.h"
-#include "CCbsUiSettingsMonitor.h"
-#include "CbsUiPanic.h"
-#include "MCbsUiSettingsObserver.h"
-
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-CCbsUiSettingsMonitor::CCbsUiSettingsMonitor(
-    MCbs& aServer, 
-    MCbsUiSettingsObserver& aObserver )
-    : 
-    CActive(EPriorityStandard), 
-    iContinue(ETrue), 
-    iServer(aServer),
-    iObserver(aObserver)
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CCbsUiSettingsMonitor::ConstructL( )
-    {    
-    CActiveScheduler::Add( this );
-    IssueRequest();
-    }
-
-// Two-phased constructor.
-CCbsUiSettingsMonitor* CCbsUiSettingsMonitor::NewL(
-    MCbs& aServer, MCbsUiSettingsObserver& aObserver )
-    {
-    CCbsUiSettingsMonitor* self = new (ELeave) CCbsUiSettingsMonitor( 
-        aServer, aObserver);
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// Destructor
-CCbsUiSettingsMonitor::~CCbsUiSettingsMonitor()
-    {
-    iContinue = EFalse;
-    Cancel();
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsMonitor::IssueRequest
-// 
-// This metor issues request
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsMonitor::IssueRequest()
-    {
-    if ( iContinue )
-        {
-        SetActive();        
-        iServer.NotifySettingsChanged( iStatus, iEvent );
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsMonitor::RunL
-// 
-// calls SettingsChanged method on application class 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsMonitor::RunL()  
-    {
-    iObserver.SettingsChangedL(iEvent); // Doesn't inform the reason!!
-
-    __ASSERT_DEBUG( iEvent == ECbsModifiedReceptionStatus ||
-                    iEvent == ECbsModifiedTopicDetectionStatus ||
-                    iEvent == ECbsModifiedLanguages, 
-                    CbsUiPanic(EErrInvalidEvent) );
-
-    if ( iContinue )
-        {
-        IssueRequest();
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsMonitor::DoCancel
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsMonitor::DoCancel()
-    {
-    iContinue = EFalse;    
-    iServer.NotifySettingsChangedCancel();
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiSettingsView.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,393 +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:  Implementation of CCbsUiSettingsView class.
-*
-*
-*/
-
-
-// INCLUDES
-#include <AknsUtils.h>       // CreateIconL
-#include <AknsConstants.h>   // KAknsIIDQgnMenuCbCxt, KAknsIIDQgnMenuCb2Cxt
-#include <bldvariant.hrh>    // for feature flags
-#include <featmgr.h>	     // for feature manager
-#include <aknViewAppUi.h>
-#include <avkon.hrh>
-#include <aknnavide.h>
-#include <hlplch.h>
-#include <cbsuiApp.rsg>
-#include <akntitle.h> 
-#include <cbsuiapp.mbg>
-#include <barsread.h>
-#include "CCbsUiSettingsView.h"
-#include "ccbsuisettingsviewcontainer.h"
-#include "Cbsuiapp.hrh"
-#include "CCbsUiappApplication.h"
-#include "CbsUiId.h"
-#include "CbsUiUtility.h"
-#include "CbsUiPanic.h"
-#include "CCbsUiSettingsMonitor.h"
-#include "CbsUiConstants.h"
-#include "MCbs.h"
-
-
-
-// CONSTANTS
-static const TUid KUidCbsUiappApp = { KUidCbsUiappDef };
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ constructor
-CCbsUiSettingsView::CCbsUiSettingsView( MCbs& aServer )
-:  iServer(aServer)
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CCbsUiSettingsView::ConstructL() 
-    {    
-    BaseConstructL(R_CBSUI_SETTINGSVIEW);
-    iImageLibrary = iCoeEnv->AllocReadResourceL(R_CBS_IMAGE_LIBRARY);
-    iSettingsMonitor = CCbsUiSettingsMonitor::NewL(iServer, *this);
-    }
-
-// Two-phased constructor.
-CCbsUiSettingsView* CCbsUiSettingsView::NewL( MCbs& aServer )
-    {
-    CCbsUiSettingsView* self = new (ELeave) CCbsUiSettingsView( aServer );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// Destructor
-CCbsUiSettingsView::~CCbsUiSettingsView()
-    {
-    if (iContainer)
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        
-        // Destroy the control container
-        delete iContainer;
-        }
-    
-    delete iDecoratedLabel;
-    delete iImageLibrary;
-    delete iSettingsMonitor;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::Id
-// 
-// 
-// ---------------------------------------------------------
-//
-TUid CCbsUiSettingsView::Id() const
-    {
-    return TUid::Uid( ECbsUiSettingsViewId );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::HandleCommandL
-//
-//
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EAknSoftkeyBack:
-            {
-            // if it has been CBS then do this
-            if ( !iFromOtherApplication )
-                {
-                ActivateTopicListViewL();
-                }
-            else
-                {
-                AppUi()->ProcessCommandL( EAknCmdExit );
-                }
-            break;
-            }
-        case EAknSoftkeyChange:
-            {
-            iContainer->HandleListViewActionL( EFalse );
-            break;
-            }
-        case ECbsUiappSettingsViewCmdChange:
-            {
-            iContainer->HandleListViewActionL( ETrue );
-            break;
-            }
-        case EAknCmdHelp:
-            AppUi()->HandleCommandL( aCommand );
-            break;
-        case EAknCmdExit:	
-            {
-            AppUi()->ProcessCommandL( EAknCmdExit );
-            break;
-            }
-        default:
-            break;
-        }   
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::DoActivateL
-// 
-// Creates container, and calls updatenavipaneL()
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::DoActivateL( const TVwsViewId& aPrevViewId, 
-                                     TUid /*aCustomMessageId*/, 
-                                     const TDesC8& /*aCustomMessage*/ )
-    {    
-    __ASSERT_DEBUG( &aPrevViewId, CbsUiPanic(EErrNullPointer) );
-    iPrevViewId = aPrevViewId;
-    
-    if ( iPrevViewId.iAppUid != KUidCbsUiappApp )
-        {
-        iFromOtherApplication = ETrue;
-        }
-    else
-        {
-        iFromOtherApplication = EFalse;
-        }
-    
-    if ( !iContainer )
-        {
-        iContainer = CCbsUiSettingsViewContainer::NewL( 
-            *this, 
-            ClientRect(),
-            iServer );        
-        AppUi()->AddToViewStackL( *this, iContainer );
-        }
-    else 
-        {
-        iContainer->SetFocusToFirstItem();
-        }
-    
-    iContainer->ActivateL();
-    
-    UpdateNaviPaneL(); 
-    UpdateTitlePaneL();
-
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::DoDeactivate
-// 
-// Deletes container and decorated labels
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::DoDeactivate()
-    {   
-    if ( iContainer )
-        {
-        // Remove view and its control from the view stack
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        // Destroy the container control
-        delete iContainer;
-        iContainer = NULL;
-        }
-    
-    delete iDecoratedLabel;
-    iDecoratedLabel = NULL;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::UpdateNaviPaneL
-// 
-// Must be implemented
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::UpdateNaviPaneL()
-    {
-    __ASSERT_DEBUG( !iDecoratedLabel, CbsUiPanic(EErrAllreadyExists) );
-    
-    delete iDecoratedLabel;
-    iDecoratedLabel = NULL;
-    
-    iDecoratedLabel = CbsUiUtility::CreateEmptyNavigationPaneL();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::UpdateSettingsL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::UpdateSettingsL()
-    {
-    if ( iContainer )
-        {
-        iContainer->UpdateSettingsL();
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::UpdateContextPaneL
-//
-//
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::UpdateContextPaneL()
-    {
-    __ASSERT_DEBUG( iImageLibrary, CbsUiPanic(EErrNullPointer) );
-    
-    CEikStatusPane* sp = StatusPane();
-    
-    __ASSERT_DEBUG( sp, CbsUiPanic( EStatusPaneError ) );
-    
-    TBool reception;
-    iServer.GetReceptionStatus( reception );
-
-	CAknTitlePane* title = STATIC_CAST(CAknTitlePane*, sp->
-        ControlL( TUid::Uid(EEikStatusPaneUidTitle) ));
-        
-    __ASSERT_DEBUG( title, CbsUiPanic(EErrNullPointer) );    
-	
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    
-    if (reception)
-        {
-        CFbsBitmap* bmp = NULL;
-        CFbsBitmap* maskbmp = NULL;
-#ifdef __SCALABLE_ICONS
-        AknsUtils::CreateIconL( skin, KAknsIIDQgnMenuCbCxt, bmp,
-            maskbmp, *iImageLibrary, EMbmCbsuiappQgn_menu_cb,
-            EMbmCbsuiappQgn_menu_cb_mask );
-#else
-        AknsUtils::CreateIconL( skin, KAknsIIDQgnMenuCbCxt, bmp,
-            maskbmp, *iImageLibrary, EMbmCbsuiappQgn_menu_cb_cxt,
-            EMbmCbsuiappQgn_menu_cb_cxt_mask );
-#endif  //__SCALABLE_ICONS
-        title->SetSmallPicture(bmp, maskbmp, ETrue);
-        }
-    else
-        {
-        CFbsBitmap* bmp = NULL;
-        CFbsBitmap* maskbmp = NULL;
-#ifdef __SCALABLE_ICONS
-        AknsUtils::CreateIconL( skin, KAknsIIDQgnMenuCb2Cxt, bmp,
-            maskbmp, *iImageLibrary, EMbmCbsuiappQgn_menu_cb_2,
-            EMbmCbsuiappQgn_menu_cb_2_mask);
-#else
-        AknsUtils::CreateIconL( skin, KAknsIIDQgnMenuCb2Cxt, bmp,
-            maskbmp, *iImageLibrary, EMbmCbsuiappQgn_menu_cb_2_cxt,
-            EMbmCbsuiappQgn_menu_cb_2_cxt_mask);
-#endif  //__SCALABLE_ICONS
-        title->SetSmallPicture(bmp, maskbmp, ETrue);
-        }
-
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::SettingsChangedL
-//
-//
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::SettingsChangedL( TCbsSettingsEvent aEvent )
-    {
-    if ( aEvent == ECbsModifiedLanguages )
-        {
-        UpdateSettingsL();
-        }
-    UpdateContextPaneL();
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::HandleRectChangeInContainer
-//
-//
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::HandleRectChangeInContainer()
-    {
-    if ( iContainer )
-        {
-        iContainer->SetRect( ClientRect() );
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::DynInitMenuPaneL
-//
-// Delete help menu item if help is not in use
-//
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane )
-    {
-    switch ( aResourceId )
-        {
-        case R_CBSUI_SETTINGSVIEW_FILE_MENU:
-            { 
-            if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-                {
-                aMenuPane->DeleteMenuItem( EAknCmdHelp );
-                }
-            break;
-            } 
-        default:
-            break;
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsView::ActivateTopicListViewL
-//
-//
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::ActivateTopicListViewL() const
-    {
-    TPckgBuf<TCbsTopicNumber> pckgDummy(KCbsInvalidTopicNumber);
-    
-    AppUi()->ActivateLocalViewL( 
-        TUid::Uid(ECbsUiTopicListViewId), 
-        KSetFocusToCurrentId, 
-        pckgDummy);
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::UpdateTitlePaneL
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsView::UpdateTitlePaneL() const
-    {
-    CEikStatusPane *sp = StatusPane();
-    CAknTitlePane *title = STATIC_CAST( CAknTitlePane*, sp->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    
-    __ASSERT_DEBUG( sp && title, CbsUiPanic( EStatusOrTitlePaneError ) );
-    
-    TResourceReader titleReader;
-    iCoeEnv->CreateResourceReaderLC( titleReader, R_QTN_CB_TITLE_CBS );
-    title->SetFromResourceL( titleReader );
-    CleanupStack::PopAndDestroy(); // titleReader
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiTopicListMonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +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:  
-*       Implementaion of CCbsUiTopicListMonitor.
-*
-*
-*/
-
-
-// INCLUDES
-#include "MCbs.h"
-#include "CCbsUiTopicListMonitor.h"
-#include "MCbsUiTopicMonitorObserver.h"
-#include "CbsUiPanic.h"
-#include "CbsUiConstants.h"
-
-
-
-// CONSTANTS
-const TInt KNumberOfObservers = 3;
-
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiTopicListMonitor::CCbsUiTopicListMonitor( MCbs& aServer )
-    : CActive(EPriorityStandard), iContinue(ETrue), iServer(aServer)
-    {
-    }
-
-// Symbian OS default constructor can leave
-void CCbsUiTopicListMonitor::ConstructL( )
-    {    
-    CActiveScheduler::Add(this);
-    IssueRequest();
-
-    iObservers = new (ELeave) TCbsUiMonitorObservers(KNumberOfObservers);
-    }
-
-
-// Two-phased constructor.
-CCbsUiTopicListMonitor* CCbsUiTopicListMonitor::NewL( MCbs& aServer )
-    {
-    CCbsUiTopicListMonitor* self = 
-        new (ELeave) CCbsUiTopicListMonitor(aServer);
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-    
-// Destructor
-CCbsUiTopicListMonitor::~CCbsUiTopicListMonitor()
-    {
-    delete iObservers;
-    Cancel();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListMonitor::IssueRequest()
-// 
-// 
-// ---------------------------------------------------------
-void CCbsUiTopicListMonitor::IssueRequest()
-    {
-    if ( iContinue )
-        {
-        SetActive();
-
-        iServer.NotifyOnTopicListEvent( 
-            iStatus, ECbsTopicAllEvents, iEvent, iTopicNumber );
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicListMonitor::RunL
-// 
-// 
-// ---------------------------------------------------------
-void CCbsUiTopicListMonitor::RunL()  
-
-    {
-    if ( iObservers->Count() > 0 )
-        {
-        for ( TInt i(0); i < iObservers->Count(); i++ )
-            {
-            iObservers->At(i)->TopicListChangedL(iEvent, iTopicNumber);
-            }
-        }
-
-    __ASSERT_DEBUG( 
-        (iEvent & ECbsTopicAllEvents), CbsUiPanic(EErrInvalidEvent) );
-
-    if ( iContinue )
-        {
-        IssueRequest();
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicListMonitor::DoCancel
-// 
-// 
-// ---------------------------------------------------------
-void CCbsUiTopicListMonitor::DoCancel()
-    {
-    iContinue = EFalse;
-
-    iServer.NotifyOnTopicListEventCancel();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListMonitor::AddObserverL
-// 
-// 
-// ---------------------------------------------------------
-void CCbsUiTopicListMonitor::AddObserverL(
-    MCbsUiTopicMonitorObserver* aObserver )
-    {
-    __ASSERT_DEBUG( iObservers, CbsUiPanic(EErrNullPointer) );
-    __ASSERT_DEBUG( aObserver, CbsUiPanic(EErrNullPointer) );
-
-    iObservers->AppendL(aObserver);
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiTopicListView.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1071 +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 CCbsUiTopicLIstView class.
-*
-*
-*/
-
-
-// INCLUDES
-#include <AknUtils.h>           // AknTextUtils
-#include <bldvariant.hrh>       // for feature flags
-#include <featmgr.h>            // for feature manager
-#include <e32def.h>
-#include <akntitle.h>
-#include <aknViewAppUi.h>
-#include <aknnavide.h>
-#include <akntitle.h>
-#include <avkon.hrh>
-#include <barsread.h>
-#include <StringLoader.h>
-#include <eikmenup.h>
-#include <aknnotewrappers.h>
-#include <hlplch.h>
-#include <cbsuiApp.rsg>
-#include "MCbs.h"
-#include "CCbsUiTopicListView.h"
-#include "CCbsUiTopicListViewContainer.h"
-#include "CCbsUiEditTopicDlg.h"
-#include "Cbsuiapp.hrh"
-#include "CbsUiPanic.h"
-#include "CbsUiConstants.h"
-#include "CCbsUiAddFromIndexDialog.h"
-#include "CbsUiDebug.h"
-#include <AknNotifyStd.h>       // ECellBroadcastNotification
-#include <AknSoftNotifier.h>    // Soft Notification API
-
-
-// CONSTANTS
-const TInt KTopicNameLenght = 20;
-const TInt KCountOfAllTopics = 1000;
-const TInt KIndexTopic = 0;
-const TInt KTwoTopics = 2;
-
-// MODULE DATA STRUCTURES
-enum TMessageCounts { EManyNewMessages = -1, ENoNewMessages = 0, EOneNewMessage = 1 };
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiTopicListView::CCbsUiTopicListView( MCbs& aServer ) : iServer( aServer ), iFocusState( ENoFocusUpdate )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CCbsUiTopicListView::ConstructL()
-    {	
-    BaseConstructL(R_CBSUI_TOPICLISTVIEW);
-    iTopicNumberList = new (ELeave) TCbsUiTopicNumberList(KNumberOfStandardTopics);
-    CEikStatusPane* statusPane = StatusPane();
-    iNaviPane = STATIC_CAST( CAknNavigationControlContainer*, statusPane->
-        ControlL( TUid::Uid(EEikStatusPaneUidNavi) ) );
-    __ASSERT_DEBUG( iNaviPane, CbsUiPanic(ENaviPaneError) );    
-    }
-
-// Two-phased constructor.
-CCbsUiTopicListView* CCbsUiTopicListView::NewL( MCbs& aServer )
-    {
-    CCbsUiTopicListView* self = new (ELeave) CCbsUiTopicListView(aServer);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// Destructor
-CCbsUiTopicListView::~CCbsUiTopicListView()
-    {
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack(*this, iContainer);
-        }
-    delete iContainer;
-    delete iDecoratedLabel;
-    delete iTopicNumberList;
-    delete iBackgroundNote;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::ReloadTopicsL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::ReloadTopicsL()
-    {
-    __ASSERT_DEBUG( iTopicNumberList, CbsUiPanic(ETopicHandleError) );
-    PrepareReloading();
-    ReloadL();
-    EndReloadingL();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::PrepareReloading
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::PrepareReloading()
-    {
-    if ( iContainer )
-        {
-        iContainer->ReloadStarts();
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::ReloadL
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::ReloadL()
-    {
-    iTopicNumberList->Reset();
-    
-    TInt count(0);
-    iServer.GetTopicCount(count);
-    __ASSERT_DEBUG( count >= 0, CbsUiPanic(ETopicCountError) );
-    
-    TCbsTopic topic;
-    
-    for ( TInt index(0); index < count; index++ )
-        {
-        // First, get the topic.
-        TInt rr( iServer.GetTopic(index, topic) );
-        __CBSUI_ASSERT( rr == KErrNone, CbsUiPanic(EErrTopicNotFound) );
-        
-        if ( rr == KErrNone )
-            {
-            // Offer the topic to the view.
-            if ( iContainer )
-                {
-                iContainer->ReloadOfferTopicL(topic);
-                }
-            
-            // And append to the handles list.
-            iTopicNumberList->AppendL(topic.iNumber);
-            }
-        }
-    }
-
-void CCbsUiTopicListView::EndReloadingL()
-    {
-    iContainer->ReloadEndsL();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::SetFocusAfterReload
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::SetFocusAfterReload( TTopicListViewFocusState aFocusState )
-    {
-    if ( aFocusState == ENoFocusUpdate )
-        {
-        return;
-        }
-    
-    // if the focus need to be changed
-    TInt focusedItem(KCbsErrValue);
-    
-    TBool setFocusToFirstItem(
-        (aFocusState == ESetFocusToFirstItem) ||
-        (FindTopicIndexByNumber(focusedItem, iCurrentTopicNumber) != KErrNone)
-        );
-    
-    if ( setFocusToFirstItem )
-        {
-        // If there is some error let's try to put focus to first item
-        focusedItem = 0;
-        }
-    
-    __ASSERT_DEBUG( focusedItem != KCbsErrValue, CbsUiPanic(EErrInvalidValue) );    
-    
-    SetFocusToTopic(focusedItem);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::SetFocusToTopic
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::SetFocusToTopic( TInt aIndex )
-    {
-    if ( iTopicNumberList->Count() <= 0)
-        {
-        return;
-        }
-    
-    __ASSERT_DEBUG( aIndex >= 0 && aIndex < iTopicNumberList->Count(), 
-        CbsUiPanic(EErrIndexOutOfBounds) );
-    
-    if (iContainer)
-        {
-        // first one in the list is the newest
-        iContainer->SetCurrentItemIndex(aIndex);
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::UpdateCurrentTopicAfterDeletion
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::UpdateCurrentTopicAfterDeletion( TCbsTopicNumber aDeletedTopic )
-    {
-    
-    TInt topicPosition(-1);
-    TInt err( FindTopicIndexByNumber(topicPosition, aDeletedTopic) );
-    
-    TBool isLastTopic(  
-        ( (topicPosition + 1) == TotalTopics() ) &&
-        (topicPosition >= 0)
-        );
-    
-    if ( isLastTopic )
-        {
-        // then previous topic should be focused after deletion
-        topicPosition--;
-        }
-    else
-        {
-        // then the next topic will be focused after deletion
-        topicPosition++;
-        }
-    
-    // if there is some error lets put the focus to the first item
-    if ( topicPosition >= TotalTopics() ||
-        topicPosition < 0 || 
-        err != KErrNone )
-        {
-        topicPosition = 0;
-        }
-    
-    __ASSERT_DEBUG( err == KErrNone, CbsUiPanic(EErrMsgNotFound) );
-    
-    iCurrentTopicNumber = iTopicNumberList->At(topicPosition);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::TotalTopics
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListView::TotalTopics() const
-    {
-    __ASSERT_DEBUG( iTopicNumberList->Count() >= 0, CbsUiPanic(EErrTopicsCountError) );
-    return iTopicNumberList->Count();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::UpdateTitlePaneL
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::UpdateTitlePaneL() const
-    {
-    CEikStatusPane *sp = StatusPane();
-    CAknTitlePane *title = STATIC_CAST(CAknTitlePane*, sp->
-        ControlL( TUid::Uid(EEikStatusPaneUidTitle) ) );
-    
-    __ASSERT_DEBUG( sp && title, CbsUiPanic(EStatusOrTitlePaneError) );
-    
-    TResourceReader titleReader;
-    iCoeEnv->CreateResourceReaderLC(titleReader, R_QTN_CB_TITLE_CBS);
-    title->SetFromResourceL(titleReader);
-    CleanupStack::PopAndDestroy(); // titleReader
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::UpdateNaviPaneL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::UpdateNaviPaneL()
-    {	
-    
-    if ( iAddFromIndexDialogIsActive )
-        {
-        // No need to update navi pane
-        return;
-        }
-    
-    // let's keep a address of the previous 
-    // label so it is possible to delete 
-    // it, after the new label has been created.
-    CAknNavigationDecorator* oldLabel = iDecoratedLabel;    
-    
-    TInt unreadMessages(0);
-    iServer.GetUnreadMessageCount(unreadMessages);
-    
-    CreateNewLabelL( GetInfoResourceId(unreadMessages), unreadMessages );
-    
-    // Old label has to be deleted and 
-    // the final label is destroyed in the destructor.
-    if ( oldLabel )
-        {
-        delete oldLabel;
-        }	
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::GetInfoResourceId
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListView::GetInfoResourceId( TInt aUnreadMessages ) const
-    {
-    __ASSERT_DEBUG( aUnreadMessages >= 0, CbsUiPanic(EErrInvalidValue) );
-    
-    TInt result(EManyNewMessages);
-    
-    switch ( aUnreadMessages )
-        {
-        case ENoNewMessages:
-            result = R_CB_TL_NO_NEW_MESSAGES;
-            break;
-        case EOneNewMessage:
-            result = R_CB_TL_ONE_NEW_MESSAGE;
-            break;
-        default:
-            break;
-        }  
-    
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::CreateNewLabelL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::CreateNewLabelL( TInt aResourceId, TInt aUnreadMessages )
-    {
-    __ASSERT_DEBUG( 
-        aResourceId == EManyNewMessages || 
-        aResourceId == R_CB_TL_NO_NEW_MESSAGES ||
-        aResourceId == R_CB_TL_ONE_NEW_MESSAGE, 
-        CbsUiPanic(EErrInvalidValue) );
-    
-    HBufC* stringHolder = NULL;
-    
-    if ( aResourceId == EManyNewMessages )
-        {
-        stringHolder = StringLoader::LoadLC( 
-            R_CB_TL_NEW_MESSAGES, aUnreadMessages);
-        }
-    else 
-        {
-        stringHolder = iCoeEnv->AllocReadResourceLC(aResourceId);
-        }
-    
-    __ASSERT_DEBUG( stringHolder, CbsUiPanic(EErrNullPointer) );
-    if ( stringHolder )
-        {
-        iDecoratedLabel = iNaviPane->CreateNavigationLabelL(*stringHolder);
-        CleanupStack::PopAndDestroy(); // stringholder
-        }
-    
-    __ASSERT_DEBUG( iDecoratedLabel, CbsUiPanic(EErrNullPointer) );
-    iNaviPane->PushL(*iDecoratedLabel);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::ShowTopicQueryL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::ShowTopicQueryL( TBool aType, 
-                                          TDes& aTopicName, 
-                                          TDes& aTopicNumber )
-    {
-    CCbsUiEditTopicDlg* dlg = CCbsUiEditTopicDlg::NewL(
-        aTopicName, aTopicNumber, *this, aType );
-    dlg->ExecuteLD( R_EDIT_TOPIC_QUERY );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::ShowEditTopicQueryL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::ShowEditTopicQueryL()
-    {
-    TCbsTopic topic;
-    TInt err( iServer.FindTopicByNumber( iCurrentTopicNumber, topic ) );
-    
-    if ( err != KErrNone )
-        {
-        User::Leave( KErrNone );
-        }
-    
-    TBuf<KTopicNumberWidth> number;
-    number.AppendNum( TInt( topic.iNumber ) );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( number );  
-    ShowTopicQueryL( EFalse, topic.iName, number );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::EditTopic
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListView::EditTopic( TBool aType, 
-                                    TCbsTopicNumber aNumber, 
-                                    const TCbsTopicName aName )
-    {
-    TInt ret( KErrGeneral );
-    
-    if ( aType ) // add query
-        {
-        ret = AddTopic(aNumber, aName);
-        }
-    else // edit query
-        {
-        ret = UpdateTopic( iCurrentTopicNumber, aNumber, aName );
-        if( ret == KErrNone )
-            {
-            iCurrentTopicNumber = aNumber;
-            }
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::CheckNewTopicCountL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::CheckNewTopicCountL()
-    {
-    iNewTopicsCount = GetNewTopicsCount();
-    
-    __CBSUI_ASSERT( iNewTopicsCount >= 0, CbsUiPanic(EErrInvalidValue) );
-    
-    if ( iNewTopicsCount > ENoNewMessages )
-        {
-        if ( !iBackgroundNote )
-            {
-            iBackgroundNote = CIdle::NewL(CActive::EPriorityIdle);
-            }
-        
-        TCallBack cb(ActivateBackgroundNoteL, this);
-        iBackgroundNote->Start(cb);
-        }
-    
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::GetNewTopicsCount
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListView::GetNewTopicsCount()
-    {
-    TInt newTopics(KCbsErrValue);
-    if ( iServer.Connected() )
-        {
-#ifdef _DEBUG
-        TInt ret = 
-#endif
-            iServer.GetNewTopicsCount(newTopics);
-        
-        __CBSUI_ASSERT( ret == KErrNone, CbsUiPanic(EErrTopicsCountError) );
-        }
-    
-    return newTopics;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::MarkCurrentHandle
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::MarkCurrentHandle()
-    {
-    TInt index( iContainer->CurrentPosition() );
-    
-    if ( index >= 0 && iTopicNumberList->Count() > index )
-        {
-        iCurrentTopicNumber = iTopicNumberList->At( index );
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::TopicListChangedL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::TopicListChangedL( TCbsTopicListEvent /*aEvent*/, TCbsTopicNumber /*aTopicNumber*/ )
-    {
-    if ( iContainer )
-        {
-        ReloadTopicsL();
-        UpdateNaviPaneL();
-        SetFocusAfterReload(iFocusState);
-        iFocusState = ENoFocusUpdate;
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::HandleCommandL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::HandleCommandL( TInt aCommandId )
-    {
-    
-    switch ( aCommandId )
-        {
-        case ECbsUiappCmdSwitchOpen:			
-            {
-            // To open a right topic
-            MarkCurrentHandle();
-            ActivateTopicViewL();
-            break;
-            }
-        case ECbsUiappCmdSwitchSubscribe:
-            {
-            // Change subscription status
-            User::LeaveIfError(
-                iServer.ChangeTopicSubscriptionStatus( 
-                iCurrentTopicNumber, ETrue ) );
-            
-            iFocusState = ESetFocusToCurrentHandle;
-            break;
-            }     
-        case ECbsUiappCmdSwitchUnsubscribe:
-            {
-            // Change subscription status
-            User::LeaveIfError( 
-                iServer.ChangeTopicSubscriptionStatus( 
-                iCurrentTopicNumber, EFalse ));
-            iFocusState = ESetFocusToCurrentHandle;
-            break;
-            }            
-        case ECbsUiappCmdSwitchHotmark: // Implementation is almost the same with
-            // ECbsUiappCmdSwitchHotmark and 
-            // ECbsUiappCmdSwitchUnhotmark.
-        case ECbsUiappCmdSwitchUnhotmark:
-            {
-            // Requires refresh
-            TBool hot(EFalse);
-            
-            if ( aCommandId == ECbsUiappCmdSwitchHotmark )
-                {
-                hot = ETrue;
-                TInt focusedItemIndex;
-                if(FindTopicIndexByNumber(focusedItemIndex, iCurrentTopicNumber) == KErrNone)
-                    {
-                    TCbsTopic topic;
-                    // First, get the topic.
-                    TInt rr( iServer.GetTopic(focusedItemIndex, topic) );
-                    if ( rr == KErrNone )
-                        {
-                        if ( !topic.iSubscribed )
-                            {
-                            // Change subscription status to subscribed
-                            User::LeaveIfError(iServer.ChangeTopicSubscriptionStatus( 
-                                iCurrentTopicNumber, ETrue )) ;
-                            }
-                        }
-                    }
-                }
-            
-            User::LeaveIfError(iServer.ChangeTopicHotmarkStatus(iCurrentTopicNumber, hot));
-            iFocusState = ESetFocusToCurrentHandle;
-            break;
-            }            
-        case ECbsUiappCmdSwitchSettings:
-            {                            
-            ActivateSettingsViewL();
-            break;			
-            }
-            // Topic sub menu pop up window commands.
-        case ECbsUiappCmdSwitchAddManually:
-            {
-            TBuf<KTopicNameLenght> name;	
-            TBuf<KTopicNumberWidth> number;
-            
-            ShowTopicQueryL( ETrue, name, number );
-            AknTextUtils::ConvertDigitsTo( number, EDigitTypeWestern );             
-            
-            TInt topicNumber(KCbsErrValue);
-            if ( number.Length() > 0 )
-                {
-                TLex lex(number);                
-                TInt err( lex.Val(topicNumber) );
-                
-                if ( err == KErrNone )
-                    {
-                    SetCurrentTopicNumber( (TCbsTopicNumber) topicNumber );
-                    }
-                __CBSUI_ASSERT( err == KErrNone, CbsUiPanic(EErrNotANumber) );
-                }
-            
-            iFocusState = ESetFocusToCurrentHandle;
-            break;
-            }
-        case ECbsUiappCmdSwitchAddFromIndex:
-            {		
-#ifdef _DEBUG
-            GetNewTopicsCount(); // just to reset
-#endif
-            // topic detection need to shut down when 
-            // add from index dialog is shown.
-            TBool topicDetection;
-            iServer.GetTopicDetectionStatus(topicDetection);
-            
-            if ( topicDetection )
-                {
-                User::LeaveIfError( iServer.SetTopicDetectionStatus(EFalse) );
-                }
-            
-            iAddFromIndexDialogIsActive = ETrue;
-            ActivateAddFromIndexViewL();
-            
-            __ASSERT_DEBUG(GetNewTopicsCount() == 0, CbsUiPanic(ETopicCountError) );
-            
-            iAddFromIndexDialogIsActive = EFalse;
-            UpdateTitlePaneL();
-            UpdateNaviPaneL();
-            
-            if ( topicDetection )
-                {
-                User::LeaveIfError( iServer.SetTopicDetectionStatus(topicDetection) );
-                }
-            
-            iFocusState = ESetFocusToCurrentHandle;
-            break;
-            }
-        case ECbsUiappCmdSwitchEdit:
-            {
-            ShowEditTopicQueryL();
-            iFocusState = ESetFocusToCurrentHandle;
-            break;
-            }
-        case ECbsUiappCmdSwitchDelete:
-            {            
-            if ( iCurrentTopicNumber != KIndexTopic )
-                {                
-                CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-                
-                if ( dlg->ExecuteLD(R_DELETE_TOPIC_CONFIRMATION_QUERY) )
-                    {
-                    TInt unreadHotmarkedMessages;		         
-                    User::LeaveIfError(
-                        iServer.DeleteTopic(iCurrentTopicNumber) );
-                    UpdateCurrentTopicAfterDeletion(iCurrentTopicNumber);
-                    unreadHotmarkedMessages = iServer.NumberOfUnreadHotmarkedMessages();
-                    if( unreadHotmarkedMessages <= 0 )
-                        {
-                        CAknSoftNotifier* notifier = CAknSoftNotifier::NewLC();
-                        notifier->CancelSoftNotificationL( ECellBroadcastNotification);
-                        CleanupStack::PopAndDestroy( notifier );
-                        }
-                    }
-                iFocusState = ESetFocusToCurrentHandle;
-                }
-            break;
-            }
-        case ECbsUiappCmdSwitchDeleteAll:
-            {
-            TInt queryOk;
-            CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-            queryOk= dlg->ExecuteLD(R_DELETE_ALL_TOPICS_CONFIRMATION_QUERY );
-            
-            if( queryOk )
-                {             
-                User::LeaveIfError( iServer.DeleteAllTopics() );
-                CAknSoftNotifier* notifier = CAknSoftNotifier::NewLC(); // on CS
-                notifier->CancelSoftNotificationL( ECellBroadcastNotification);
-                CleanupStack::PopAndDestroy( notifier );
-                }
-            iFocusState = ESetFocusToCurrentHandle;
-            break;            
-            }
-        case EAknCmdHelp:
-            AppUi()->HandleCommandL(aCommandId);
-            break;
-        case EAknSoftkeyExit: // same functionality
-        case EAknCmdExit:	
-            {
-            ( (MEikCommandObserver*)AppUi() )->ProcessCommandL(EAknCmdExit);
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::HandleRectChangeInContainer
-//
-//
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::HandleRectChangeInContainer()
-    {
-    if ( iContainer )
-        {
-        iContainer->SetRect( ClientRect() );
-        }
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::DoActivateL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
-                                       TUid aCustomMessageId,
-                                       const TDesC8& aCustomMessage )
-    {
-    if ( !iContainer )
-        {
-        iContainer = CCbsUiTopicListViewContainer::NewL( *this, ClientRect() );
-        AppUi()->AddToViewStackL( *this, iContainer );
-        }        
-
-    TTopicListViewFocusState focus = ESetFocusToFirstItem;
-
-    if ( aCustomMessageId == KSetFocusToId )
-        {
-        focus = ESetFocusToCurrentHandle;
-        SetCurrentTopicNumber(aCustomMessage);
-        }
-    else if ( aCustomMessageId == KSetFocusToCurrentId )
-        {
-        focus = ESetFocusToCurrentHandle;
-        }
-    else 
-        {
-        focus = ESetFocusToFirstItem;
-        }
-    
-    ReloadTopicsL();
-    SetFocusAfterReload(focus);
-    UpdateTitlePaneL();
-    UpdateNaviPaneL();
-    iContainer->ActivateL();
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::AddTopic
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListView::AddTopic( const TCbsTopicNumber& aNumber, const TCbsTopicName& aName )
-    {
-    __ASSERT_DEBUG( &aName, CbsUiPanic(EErrNullPointer) );
-
-    TCbsTopic topic;
-    topic.iHotmarked = EFalse;
-    topic.iName = aName;
-    topic.iNumber = aNumber;
-    topic.iProtected = EFalse;
-    topic.iSavedMessages = 0;
-    topic.iUnreadMessages = 0;
-    topic.iSubscribed = 0;
-    return iServer.AddTopic( topic );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::UpdateTopic
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListView::UpdateTopic( const TCbsTopicNumber& aOldNumber, 
-                                       const TCbsTopicNumber& aNumber,
-                                       const TCbsTopicName& aName )
-    {
-    __ASSERT_DEBUG( &aName, CbsUiPanic(EErrNullPointer) );
-    return iServer.ChangeTopicNameAndNumber( aOldNumber, aNumber, aName );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::DoDeactivate
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::DoDeactivate()
-    {
-    if ( iContainer )
-        {
-	AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-    delete iContainer;
-    iContainer = NULL;
-    }
-
-void CCbsUiTopicListView::ViewActivatedL(
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,const 
-            TDesC8& aCustomMessage)
-    {
-    CheckNewTopicCountL();
-    CAknView::ViewActivatedL(aPrevViewId, aCustomMessageId, aCustomMessage);
-    }
-
-void CCbsUiTopicListView::ViewDeactivated()
-    {
-    // just to update
-    GetNewTopicsCount();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::DynInitMenuPaneL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::DynInitMenuPaneL( TInt aResourceId,
-                                            CEikMenuPane* aMenuPane )
-    {  
-    __ASSERT_DEBUG( aMenuPane, CbsUiPanic( EMenuPaneNullError ) );
-
-    TCbsTopic topic;
-    TInt ret( iServer.GetTopic(iContainer->CurrentPosition() , topic) );
-
-    // If topic doesn't exists it is better to leave and close the 
-    // menu.
-    User::LeaveIfError(ret); 
-
-    if ( aResourceId == R_CBSUI_TOPICLISTVIEW_MENU )
-        {        
-        MarkCurrentHandle(); // to freeze a selected item
-        
-        // If topic is subscribed,..
-        if ( topic.iSubscribed )
-            {
-            // then remove subscribed item.
-            aMenuPane->DeleteMenuItem( ECbsUiappCmdSwitchSubscribe );
-            }
-        else
-            {
-            // otherwise remove unsubscribed item.
-            aMenuPane->DeleteMenuItem( ECbsUiappCmdSwitchUnsubscribe );
-            }
-        
-        // And the same for hotmark/unhotmark.
-        if ( topic.iHotmarked )
-            {
-            aMenuPane->DeleteMenuItem( ECbsUiappCmdSwitchHotmark );
-            }
-        else
-            {
-            aMenuPane->DeleteMenuItem( ECbsUiappCmdSwitchUnhotmark );
-            }
-        
-        if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
-            aMenuPane->DeleteMenuItem( EAknCmdHelp );
-            }
-        }
-    else if ( aResourceId == R_CBSUI_TOPIC_MENU )
-        {
-        TInt topics;
-        topics = iTopicNumberList->Count();
-
-        // If there is no room for topics, then remove add manually.
-        if ( topics >= KCountOfAllTopics )
-            {
-            aMenuPane->DeleteMenuItem( ECbsUiappCmdSwitchAddManually );
-            }
-
-        // If only index topic in topic list then "Delete all" menuitem is not shown
-        if ( topics < KTwoTopics )
-            {
-            aMenuPane->DeleteMenuItem( ECbsUiappCmdSwitchDeleteAll );
-            }
-
-        // Protected topic can not be edited or deleted.
-        if ( topic.iProtected )
-            {
-            aMenuPane->DeleteMenuItem( ECbsUiappCmdSwitchEdit );
-            aMenuPane->DeleteMenuItem( ECbsUiappCmdSwitchDelete );
-            }
-
-        // Check if there are Index message received.
-        iServer.StartCollectionBrowsing();
-
-        if( !iServer.HasNextCollectionTopic() )
-            {
-            aMenuPane->DeleteMenuItem( ECbsUiappCmdSwitchAddFromIndex );
-            }
-        }
-    else
-	{
-	//Does nothing
-	}
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::SetCurrentTopicNumber
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::SetCurrentTopicNumber( const TDesC8& aTopicNumber )
-    {
-    TPckgBuf<TCbsTopicNumber> pckgTopicNumber;
-    pckgTopicNumber.Copy(aTopicNumber);
-    iCurrentTopicNumber = pckgTopicNumber();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::SetCurrentTopicNumber
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::SetCurrentTopicNumber( const TCbsTopicNumber aTopicNumber)
-    {
-    iCurrentTopicNumber = aTopicNumber;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::Id
-// 
-// 
-// ---------------------------------------------------------
-//
-TUid CCbsUiTopicListView::Id() const
-    {
-    return TUid::Uid( ECbsUiTopicListViewId );	
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::FindTopicIndexByNumber
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListView::FindTopicIndexByNumber( TInt& aIndex,
-                                                  const TCbsTopicNumber& aTopicNumber )
-    {
-    TInt ret(KErrGeneral);
-
-    for ( TInt i(0); i < iTopicNumberList->Count() && ret != KErrNone; i++ )
-        {
-        if ( iTopicNumberList->At(i) == aTopicNumber )
-            {
-            ret = KErrNone;
-            aIndex = i;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::ActivateTopicViewL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::ActivateTopicViewL() const
-    {   
-    TPckgBuf<TCbsTopicNumber> message( iCurrentTopicNumber );
-    
-    AppUi()->ActivateLocalViewL( 
-        TUid::Uid(ECbsUiTopicViewId), KCbsUiCustomMessageId, message );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::ActivateSettingsViewL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::ActivateSettingsViewL() const
-    {  
-    AppUi()->ActivateLocalViewL( TUid::Uid(ECbsUiSettingsViewId) );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::ActivateAddFromIndexViewL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListView::ActivateAddFromIndexViewL()
-    {
-    CCbsUiAddFromIndexDialog* dialog = 
-        new ( ELeave ) CCbsUiAddFromIndexDialog( iServer );
-    
-    dialog->ExecuteLD(R_CBS_ADD_FROM_INDEX_DIALOG);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListView::ActivateBackgroundNote
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListView::ActivateBackgroundNoteL( TAny* aTopicList )
-    {
-    __ASSERT_DEBUG( aTopicList, CbsUiPanic(EErrNullPointer) );
-    TInt newTopics( STATIC_CAST(CCbsUiTopicListView*, aTopicList)->iNewTopicsCount );
-        
-    if ( newTopics > ENoNewMessages )
-        {
-        HBufC* stringHolder = NULL;
-        if ( newTopics > EOneNewMessage )
-            {
-            stringHolder = StringLoader::LoadLC(
-                R_PLURAL_TOPIC_ADDED, newTopics );
-            }
-        else 
-            {
-            stringHolder = STATIC_CAST(CCbsUiTopicListView*, aTopicList)->
-                iCoeEnv->AllocReadResourceLC(
-                R_TEXT_NOTE_NEW_TOPIC_ADDED );
-            }
-        
-        CAknConfirmationNote* note = new (ELeave) CAknConfirmationNote;
-        note->ExecuteLD(*stringHolder);
-        
-        CleanupStack::PopAndDestroy(); // stringholder
-        }
-
-    return KErrNone;
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiTopicListViewContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,617 +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: 
-*          TopicListViewContainer owns the list box which shows topics.
-*
-*/
-
-
-// INCLUDES
-#include <akncontext.h>      // CAknContextPane
-#include <cbsuiapp.mbg>      // TMbmCbsuiapp
-#include <AknsConstants.h>   // KAknsMessageSkinChange
-#include <AknsUtils.h>       // CreateIconL, SkinInstance
-#include <AknUtils.h>        // AknTextUtils
-#include <AknDef.h>          // KEikDynamicLayoutVariantSwitch
-#include <barsread.h>
-#include <aknlists.h>
-#include <gulicon.h>
-#include <eikclbd.h>
-#include <AknIconArray.h>
-#include <data_caging_path_literals.hrh> // KDC_RESOURCE_FILES_DIR
-#include <cbsuiApp.rsg>
-#include "CbsUiId.h"
-#include <csxhelp/cbs.hlp.hrh>
-#include "CCbsUiTopicListViewContainer.h"
-#include "CCbsUiTopicListView.h"
-#include "Cbsuiapp.hrh"
-#include "CbsUiUtility.h"
-#include "CbsUiPanic.h"
-#include "CbsUiConstants.h"
-
-
-// CONSTANTS
-_LIT(KDirAndCbsUiAppMbmFile,"z:cbsuiapp.mbm");
-_LIT(KItemSeparator1, "\t ");
-_LIT(KItemSeparator2, "\t4");
-const TInt KSizeOfStatus = 1;
-const TInt KCountOfSeparator1 = 2;
-const TInt KNumberOfIconsInTopicListContainer = 5;
-const TUint KZeroFill = '0';
-const TUint KSubscribedAndNoMessages = '0';
-const TUint KSubscribedAndMessages = '1';
-const TUint KNotSubscribedAndNoMessages = '2';
-const TUint KNotSubscribedButMessagesExists = '3';
-
-
-//DATA TYPES
-enum TopicListViewIconArrayIndexes
-    {
-    ECbsPropCbSubs = 0,
-    ECbsPropCbSubsUnread,
-    ECbsPropCbUnsubs,
-    ECbsPropCbUnsubsUnread,
-    ECbsIndiCbHotAdd
-    };
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// 
-
-CCbsUiTopicListViewContainer::CCbsUiTopicListViewContainer( CCbsUiTopicListView& aListView )
-    : iListView( aListView )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CCbsUiTopicListViewContainer::ConstructL( const TRect& aRect )
-    {
-    CreateWindowL();
-    
-    SetMopParent(&iListView);
-    
-    iListBox = new(ELeave) CAknSingleGraphicHeadingStyleListBox;
-    iListBox->SetContainerWindowL(*this);
-    
-    iListBox->ConstructL( this, EEikListBoxMultipleSelection );
-    
-    CDesCArrayFlat* array = 
-        new (ELeave) CDesCArrayFlat(KNumberOfStandardTopics);
-    
-    // changing the owner, shouldn't leave 
-    iListBox->Model()->SetItemTextArray( array ); 
-    
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
-        CEikScrollBarFrame::EOff,
-        CEikScrollBarFrame::EAuto );
-    iListBox->SetListBoxObserver( this );
-    
-    SetRect( aRect );
-    LoadIconsL();
-    }
-
-// Two-phased constructor.
-CCbsUiTopicListViewContainer* CCbsUiTopicListViewContainer::NewL( CCbsUiTopicListView& aListView, 
-                                                                 const TRect& aRect )
-    {
-    CCbsUiTopicListViewContainer* self = 
-        new (ELeave) CCbsUiTopicListViewContainer( aListView );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    CleanupStack::Pop();
-    
-    return self;
-    }
-
-// Destructor
-CCbsUiTopicListViewContainer::~CCbsUiTopicListViewContainer()
-    {
-    delete iListBox;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::ReloadStarts
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::ReloadStarts() const
-    {    
-    MDesCArray* itemList = iListBox->Model()->ItemTextArray();
-    CDesCArray* itemArray = STATIC_CAST(CDesCArray*, itemList);
-    
-    itemArray->Reset();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::CountComponentControls
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListViewContainer::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// ---------------------------------------------------------
-// 
-// 
-// 
-// ---------------------------------------------------------
-//
-CCoeControl* CCbsUiTopicListViewContainer::ComponentControl( TInt /*aIndex*/ ) const 
-    {
-    return iListBox;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::OfferKeyEventL
-// 
-// 
-// ---------------------------------------------------------
-//
-TKeyResponse CCbsUiTopicListViewContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                                          TEventCode aType )
-    {
-    TKeyResponse result = EKeyWasNotConsumed;
-    
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyEnter: // To support qwert keyboard
-        case EKeyOK:
-            // to open a right topic
-            iListView.MarkCurrentHandle();
-            iListView.ProcessCommandL(ECbsUiappCmdSwitchOpen);
-            result = EKeyWasConsumed;
-            break;
-        case EKeyBackspace:
-            iListView.MarkCurrentHandle();
-            iListView.ProcessCommandL(ECbsUiappCmdSwitchDelete);
-            result = EKeyWasConsumed;
-            break;
-        default:
-            result = iListBox->OfferKeyEventL(aKeyEvent, aType);
-            break;
-        }
-    
-    return result;
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::SetCurrentItemIndex
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::SetCurrentItemIndex( TInt aItemIndex ) const
-    {    
-    
-    MDesCArray* itemList = iListBox->Model()->ItemTextArray();
-    CDesCArray* itemArray = STATIC_CAST(CDesCArray*, itemList);
-    
-    TInt count( itemArray->MdcaCount() );
-    
-    __ASSERT_DEBUG( 
-        aItemIndex >= EMinTopicNumber && 
-        aItemIndex <= EMaxTopicNumber, 
-        CbsUiPanic( EErrBadIndex ) );
-    
-    if ( aItemIndex < count && aItemIndex >= EMinTopicNumber )
-        {
-        iListBox->SetCurrentItemIndexAndDraw( aItemIndex );
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::ReloadOfferTopicL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::ReloadOfferTopicL( const TCbsTopic& aTopic ) const
-    {
-    
-    MDesCArray* itemList = iListBox->Model()->ItemTextArray();
-    CDesCArray* itemArray = STATIC_CAST(CDesCArray*, itemList);	    
-    
-    TBuf<KSizeOfStatus> ch;
-    ch.Append( GetStatus(aTopic) );
-    TBuf<KTopicNumberLength> index;
-    GetIndexNumber(aTopic, index);
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( index );
-    
-    HBufC* buffer = HBufC::NewLC( 
-        aTopic.iName.Length() + KItemSeparator1().Length() * 
-        KCountOfSeparator1 + KItemSeparator2().Length() + 
-        index.Length() + ch.Length() );
-    
-    TPtr ptr = buffer->Des();
-    ptr = ch;
-    ptr.Append(KItemSeparator1);	
-    ptr.Append(index);
-    ptr.Append(KItemSeparator1);
-    ptr.Append(aTopic.iName);
-    
-    if ( aTopic.iHotmarked ) 
-        {
-        ptr.Append(KItemSeparator2);
-        }
-    
-    itemArray->AppendL(*buffer);		
-    CleanupStack::PopAndDestroy(); // buffer
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::ReloadEndsL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::ReloadEndsL()
-    {
-    iListBox->HandleItemAdditionL();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::CurrentPosition
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicListViewContainer::CurrentPosition() const
-    {
-    TInt result(KCbsErrValue);
-    
-    if ( iListBox )
-        {
-        result = iListBox->CurrentItemIndex();
-        }
-    
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::GetStatus
-// 
-// Informs which icon to use.
-// ---------------------------------------------------------
-//
-TChar CCbsUiTopicListViewContainer::GetStatus( const TCbsTopic& aTopic ) const
-    {
-    
-    TChar retVal(KSubscribedAndNoMessages);
-    
-    
-    if ( aTopic.iSubscribed )
-        {
-        if ( aTopic.iUnreadMessages == 0 )
-            {
-            retVal = KSubscribedAndNoMessages;
-            }
-        else 
-            {
-            retVal = KSubscribedAndMessages;
-            }
-        }
-    else
-        {
-        if ( aTopic.iUnreadMessages == 0 )
-            {
-            retVal = KNotSubscribedAndNoMessages;
-            }
-        else 
-            {
-            retVal = KNotSubscribedButMessagesExists;    
-            }
-        }
-    
-    return retVal;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::GetIndexNumber
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::GetIndexNumber( const TCbsTopic& aTopic , 
-                                                   TBuf<KTopicNumberLength>& aIndexNumber ) const
-    {
-    TBuf<KTopicNumberLength> ind;
-    
-    __ASSERT_DEBUG( aIndexNumber.MaxSize() >= KTopicNumberLength, 
-        CbsUiPanic(EErrBadLength) );
-    
-    ind.AppendNum( TInt(aTopic.iNumber) );
-    aIndexNumber.Justify(ind , KTopicNumberLength, ERight, KZeroFill);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::SizeChanged
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::SizeChanged()
-    {
-    if (iListBox) 
-        {
-        iListBox->SetRect( Rect() );
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::FocusChanged
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    CCoeControl::FocusChanged( aDrawNow );
-    if( iListBox )
-        {
-        iListBox->SetFocus( IsFocused(), aDrawNow );
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::GetHelpContext
-// 
-// Gets the control's help context.
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::GetHelpContext(TCoeHelpContext& aContext) const
-    {
-    aContext.iMajor = TUid::Uid(KUidCbsUiappDef);
-    aContext.iContext = KCBS_HLP_MAIN;
-    }
-
-
-
-// ----------------------------------------------------
-// CCbsUiTopicListViewContainer::HandleResourceChange
-//
-// ----------------------------------------------------
-void CCbsUiTopicListViewContainer::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-
-    if( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        iListView.HandleRectChangeInContainer(); 
-        } 
-
-    if( aType == KAknsMessageSkinChange )
-        {
-        // change skin bitmap
-        TRAPD( ignore, SkinBitmapChangesL( ) );
-        if( ignore )
-            {
-            ignore = KErrNone; //Prevent ARMV5 compilation varning
-            }
-        }    
-    }
-
-// ----------------------------------------------------
-// CCbsUiTopicListViewContainer::HandleListBoxEventL
-//
-// ----------------------------------------------------
-void CCbsUiTopicListViewContainer::HandleListBoxEventL(	CEikListBox* /*aListBox*/,
-                                                        TListBoxEvent aEventType )
-    {
-    switch ( aEventType )
-        {
-        case EEventItemSingleClicked:
-            {
-            TKeyEvent keyEvent;
-            keyEvent.iCode = EKeyOK;
-            OfferKeyEventL( keyEvent, EEventKey );
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::LoadIconsL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::LoadIconsL()
-    {
-    CAknIconArray* icons = 
-        new (ELeave) CAknIconArray(KNumberOfIconsInTopicListContainer);
-    CleanupStack::PushL(icons);
-
-    TParse parse; 
-    parse.Set(KDirAndCbsUiAppMbmFile, &KDC_APP_BITMAP_DIR, NULL); 
-    TFileName mbmFileAndPathName(parse.FullName());
-    
-    // First icon & mask.
-    AddIconL( KAknsIIDQgnPropCbSubs, icons, mbmFileAndPathName, EMbmCbsuiappQgn_prop_cb_subs,
-              EMbmCbsuiappQgn_prop_cb_subs_mask );
-
-    // Second icon & mask.
-    AddIconL( KAknsIIDQgnPropCbSubsUnread, icons, mbmFileAndPathName, EMbmCbsuiappQgn_prop_cb_subs_unread,
-              EMbmCbsuiappQgn_prop_cb_subs_unread_mask );
-
-    // Third icon & mask.
-    AddIconL( KAknsIIDQgnPropCbUnsubs, icons, mbmFileAndPathName, EMbmCbsuiappQgn_prop_cb_unsubs,
-              EMbmCbsuiappQgn_prop_cb_unsubs_mask );
-
-    // Fourth icon & mask.
-    AddIconL( KAknsIIDQgnPropCbUnsubsUnread, icons, mbmFileAndPathName, EMbmCbsuiappQgn_prop_cb_unsubs_unread,
-              EMbmCbsuiappQgn_prop_cb_unsubs_unread_mask );
-
-    // Fifth icon & mask.
-    AddIconL( KAknsIIDQgnIndiCbHotAdd, icons, mbmFileAndPathName, EMbmCbsuiappQgn_indi_cb_hot_add,
-              EMbmCbsuiappQgn_indi_cb_hot_add_mask, ETrue );
-
-    CleanupStack::Pop(); // icons
-    
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicListViewContainer::AddIconL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicListViewContainer::AddIconL(
-    TAknsItemID aId,
-    CAknIconArray* aIcons,
-    const TDesC& aIconFileWithPath,
-    TInt aIconGraphicsIndex,
-    TInt aIconGraphicsMaskIndex,
-    TBool aColorIcon )
-    {    
-    // icon & mask.   
-    MAknsSkinInstance* skins = AknsUtils::SkinInstance();  
-    
-    // COnstruct the icon and append it to icon array
-    CGulIcon* icon = ConstructIconL( aColorIcon, skins, aId, 
-        aIconFileWithPath, aIconGraphicsIndex, aIconGraphicsMaskIndex );
-    CleanupStack::PushL( icon );
-    aIcons->AppendL( icon );    
-    CleanupStack::Pop( ); // icon
-    }
-
-// ----------------------------------------------------
-// CCbsUiTopicListViewContainer::SkinBitmapChangesL
-// ----------------------------------------------------
-void CCbsUiTopicListViewContainer::SkinBitmapChangesL()
-    {    
-    CArrayPtr<CGulIcon> *icons = 0;
-    icons = iListBox->ItemDrawer()->ColumnData()->IconArray();
-    
-    TAknsItemID id; 
-    id.iMajor = 0;
-    id.iMinor = 0;    
-    
-    TInt count = icons->Count();
-    TInt bitmapIndex = 0;
-    TInt bitmapMaskIndex = 0;
-    TBool colourIcon( EFalse );
-    
-    // Change list icons
-    MAknsSkinInstance* skins = AknsUtils::SkinInstance();
-    for ( TInt cc=count; --cc>=0; )    
-        {
-        switch( cc )
-            {
-            case ECbsPropCbSubs:                
-                bitmapIndex = EMbmCbsuiappQgn_prop_cb_subs;
-                bitmapMaskIndex = EMbmCbsuiappQgn_prop_cb_subs_mask;
-                id = KAknsIIDQgnPropCbSubs;
-                break;
-            case ECbsPropCbSubsUnread:                
-                bitmapIndex = EMbmCbsuiappQgn_prop_cb_subs_unread;
-                bitmapMaskIndex = EMbmCbsuiappQgn_prop_cb_subs_unread_mask;
-                id = KAknsIIDQgnPropCbSubsUnread;
-                break;
-            case ECbsPropCbUnsubs:                
-                bitmapIndex = EMbmCbsuiappQgn_prop_cb_unsubs;
-                bitmapMaskIndex = EMbmCbsuiappQgn_prop_cb_unsubs_mask;
-                id = KAknsIIDQgnPropCbUnsubs;
-                break;
-            case ECbsPropCbUnsubsUnread:                
-                bitmapIndex = EMbmCbsuiappQgn_prop_cb_unsubs_unread;
-                bitmapMaskIndex = EMbmCbsuiappQgn_prop_cb_unsubs_unread_mask;
-                id = KAknsIIDQgnPropCbUnsubsUnread;
-                break;
-            case ECbsIndiCbHotAdd:                
-                bitmapIndex = EMbmCbsuiappQgn_indi_cb_hot_add;
-                bitmapMaskIndex = EMbmCbsuiappQgn_indi_cb_hot_add_mask;
-                id = KAknsIIDQgnIndiCbHotAdd;
-                colourIcon = ETrue;
-                break;
-            default:
-                bitmapIndex = EMbmCbsuiappQgn_prop_cb_unsubs_unread;
-                bitmapMaskIndex = EMbmCbsuiappQgn_prop_cb_unsubs_unread_mask;
-                id = KAknsIIDQgnPropCbUnsubsUnread;
-                break;           
-            } 
-        
-        // icon & mask
-        TParse parse; 
-        parse.Set( KDirAndCbsUiAppMbmFile, &KDC_APP_BITMAP_DIR, NULL ); 
-        TFileName mbmFileAndPathName( parse.FullName() );
-        
-        CGulIcon* icon = ConstructIconL( colourIcon, skins, id, 
-            mbmFileAndPathName, bitmapIndex, bitmapMaskIndex );
-            
-        CleanupStack::PushL( icon );
-        CGulIcon* iconToBeDelete = icons->At( cc );
-        icons->At( cc ) = icon;
-        delete iconToBeDelete;
-        iconToBeDelete = NULL;
-
-        CleanupStack::Pop(); // icon
-        
-        colourIcon = EFalse;
-        }  
-    }
-
-
-// ----------------------------------------------------
-// CCbsUiTopicListViewContainer::ConstructIconL
-// ----------------------------------------------------
-CGulIcon* CCbsUiTopicListViewContainer::ConstructIconL( 
-    TBool& aColourIcon,
-    MAknsSkinInstance* aSkins, 
-    const TAknsItemID& aID,
-    const TDesC& aFilename,
-    const TInt aFileBitmapId, 
-    const TInt aFileMaskId )
-    {
-    // icon & mask
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-        
-    if ( aColourIcon )
-        {
-        AknsUtils::CreateColorIconL(
-            aSkins, 
-            aID, 
-            KAknsIIDQsnIconColors, 
-            EAknsCIQsnIconColorsCG13, // Check the used color group - this is usually correct group for D-column stuff
-            bitmap, 
-            mask,
-            aFilename,
-            aFileBitmapId,
-            aFileMaskId ,
-            KRgbBlack ); // This is default color used, if the color skinning fails, or there is no color defined.
-        }
-    else
-        {
-        AknsUtils::CreateIconL( aSkins, aID, bitmap,
-        mask, aFilename, aFileBitmapId, 
-        aFileMaskId );
-        }
-
-    CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
-    return icon;
-    }
-
-//  End of File 
--- a/cbs/cbsui/UiSrc/CCbsUiTopicView.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1009 +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 CCbsUiTopicView.
-*
-*
-*/
-
-
-// INCLUDES
-#include <AknUtils.h>        // AknTextUtils
-#include <bldvariant.hrh>    // for feature flags
-#include <featmgr.h>         // for feature manager
-#include <aknViewAppUi.h>
-#include <aknnavide.h>
-#include <calslbs.h>
-#include <eikclb.h>
-#include <akntitle.h>
-#include <eikmenub.h>
-#include <eikmenup.h>
-#include <hlplch.h>
-#include <AknQueryDialog.h>
-#include <barsread.h>        // TResourceReader
-#include <cbsuiApp.rsg>
-#include <e32std.h>
-#include "CCbsUiTopicView.h"
-#include "CCbsUiTopicViewContainer.h"
-#include "Cbsuiapp.hrh"
-#include "CbsUiPanic.h"
-#include "CbsUiUtility.h"
-#include "CbsUiConstants.h"
-#include "CbsUiDebug.h"
-#include "MCbs.h"
-#include <StringLoader.h>
-#include <AknNaviDecoratorObserver.h>
-#include <aknnavi.h>
-
-
-
-// CONSTANTS
-const TUint KZeroFill = '0';
-const TUint KCbsMSKControlID = 3;
-
-
-// MODULE DATA STRUCTURES  
-
-// buffer to be used to unpack action information
-typedef TPckgBuf<TCbsUiTopicActivationPckg> TTopicNumberBuf;
-
-// index for setting the focus
-enum TTopicViewFocusIndexes 
-    { 
-    EFirstMessage = 0
-    };
-
-
-
-//=============================================================================
-//  MEMBER FUNCTIONS
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiTopicView::CCbsUiTopicView( MCbs& aServer )
-: iServer( aServer )
-    {
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::ConstructL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::ConstructL()
-    {
-    BaseConstructL( R_CBSUI_TOPICVIEW );
-    
-    // Create array for handles.
-    iHandles = new (ELeave) TCbsUiMessageHandleList(
-        KNumberOfTemporaryMessages); 
-    
-    CEikStatusPane* sp = StatusPane();
- 
-    iNaviContainer = 
-        STATIC_CAST( CAknNavigationControlContainer*, sp->
-        ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );    
-    }
-
-
-// Two-phased constructor.
-CCbsUiTopicView* CCbsUiTopicView::NewL( MCbs& aServer )
-    {
-    __ASSERT_DEBUG( &aServer, CbsUiPanic(EErrNullPointer) );
-    
-    // Normal two phase construction.
-    CCbsUiTopicView* self = 
-        new (ELeave) CCbsUiTopicView(aServer);
-    
-    CleanupStack::PushL( self );
-    self->ConstructL(); 
-    CleanupStack::Pop();
-    
-    return self;
-    }
-
-// Destructor
-CCbsUiTopicView::~CCbsUiTopicView()
-    {	
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-    
-    delete iContainer;
-    delete iHandles;
-    
-    if ( iNaviContainer && iDecoratedLabel )
-    	{
-    	iNaviContainer->Pop ( iDecoratedLabel );
-        delete iDecoratedLabel;
-    	}
-    iDecoratedLabel = NULL;
-	
-	if ( iNaviContainer && iPreviousDecoratedLabel )
-		{
-    	iNaviContainer->Pop ( iPreviousDecoratedLabel );
-        delete iPreviousDecoratedLabel;
-		}
-	iPreviousDecoratedLabel = NULL;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::ReloadMessagesL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::ReloadMessagesL()
-    {
-    TCbsTopic topic;
-    TInt err( iServer.FindTopicByNumber(iCurrentTopicNumber, topic) );
-    
-    if ( err != KErrNone )
-        {
-        ActivateTopicListViewL(iCurrentTopicNumber);
-        return;
-        }
-    
-    UpdateTitlePaneL(topic);
-    UpdateNaviPaneL(topic);
-    
-    PrepareReloading();
-    LoadAllMessageTitlesL(iCurrentTopicNumber);
-    ActivateListBoxL();
-    
-    // Set the MSK according to message count
-    if ( !iHandles->Count() )
-        {
-        RemoveCommandFromMSK();
-        SetMiddleSoftKeyLabelL( R_TEXT_SOFTKEY_EMPTY, ECbsUiappNullCmd );
-        }
-    else
-        {
-        RemoveCommandFromMSK();
-        SetMiddleSoftKeyLabelL( R_QTN_MSK_OPEN, ECbsUiappCmdTopicMSKRead );
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::TotalMessages
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicView::TotalMessages() const
-    {
-    return iHandles->Count();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::UpdateTitlePaneL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::UpdateTitlePaneL( const TCbsTopic& aTopic ) const
-    {
-    CEikStatusPane* sp = StatusPane();
-    CAknTitlePane* title = 
-        STATIC_CAST(
-        CAknTitlePane*, sp->ControlL( TUid::Uid(EEikStatusPaneUidTitle) ) );
-    
-    __ASSERT_DEBUG( sp && title, CbsUiPanic(EStatusOrTitlePaneError) );
-    
-    title->SetTextL(aTopic.iName);
-    
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::UpdateNaviPaneL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::UpdateNaviPaneL( const TCbsTopic& aTopic )
-    {   
-    TBool next( EFalse );
-    TBool previous( EFalse );
-    TInt err( CheckIfCanMove( previous, next ) );
-    
-    if ( err != KErrNone )
-        {
-        iDecoratedLabel = CbsUiUtility::CreateEmptyNavigationPaneL();
-        return;
-        }
-    
-    TBuf<EMaxTopicNumberLength> number;
-    TBuf<EMaxTopicNumberLength> buffer;
-    
-    buffer.AppendNum( TInt( aTopic.iNumber ) );
-    number.Justify( buffer, EMaxTopicNumberLength, ERight, KZeroFill );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( number );
-    
-    //  Create a new decorator
-    CAknNavigationDecorator* newDecoratedLabel = 
-    						iNaviContainer->CreateNavigationLabelL ( number );
-    CleanupStack::PushL( newDecoratedLabel );
-    
-    // Set new decorator on top of navi pane's decorator stack 
-    // (topmost decorator is the one to show)
-    iNaviContainer->PushL( *newDecoratedLabel );
-    
-    // remove previous decorator from decorator stack and delete it
-    if ( iPreviousDecoratedLabel )
-    	{
-    	iNaviContainer->Pop( iPreviousDecoratedLabel );
-    	delete iPreviousDecoratedLabel;
-    	iPreviousDecoratedLabel = NULL;
-    	}
-    
-    // update decorator pointers to new ones
-    iPreviousDecoratedLabel = iDecoratedLabel;
-    iDecoratedLabel = newDecoratedLabel;
-    
-    // set observer for navi pane
-    iDecoratedLabel->SetNaviDecoratorObserver( this );
-    
-    CleanupStack::Pop( newDecoratedLabel );
-      
-    iDecoratedLabel->MakeScrollButtonVisible( ETrue );
-
-    if( AknLayoutUtils::LayoutMirrored() )
-        {
-        // Should be arrows.
-        iDecoratedLabel->SetScrollButtonDimmed( CAknNavigationDecorator::ELeftButton, !next );
-        // And these should also be arrows.
-        iDecoratedLabel->SetScrollButtonDimmed( CAknNavigationDecorator::ERightButton, !previous );
-        }
-    else
-        {
-        // Should be arrows.
-        iDecoratedLabel->SetScrollButtonDimmed( CAknNavigationDecorator::ELeftButton, !previous );
-        // And these should also be arrows.
-        iDecoratedLabel->SetScrollButtonDimmed( CAknNavigationDecorator::ERightButton, !next );
-        }   
-    
-    } 
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::MarkCurrentlyFocusedHandle
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::MarkCurrentlyFocusedHandle()
-    {
-    if ( iContainer->CurrentPosition() >= 0 &&          
-        TotalMessages() > iContainer->CurrentPosition() )
-        {
-        iCurrentHandle = iHandles->At( iContainer->CurrentPosition() );
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::HandleRectChangeInContainer
-//
-//
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::HandleRectChangeInContainer()
-    {
-    if ( iContainer )
-        {
-        iContainer->SetRect( ClientRect() );
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::SetFocusToMessage
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::SetFocusToMessage( TInt aIndex )
-    {
-    if ( iContainer && TotalMessages() > 0 )
-        {
-        __ASSERT_DEBUG( aIndex >= 0 && aIndex < TotalMessages(), 
-            CbsUiPanic(EErrIndexOutOfBounds) );
-        // first one in the list is the newest
-        iContainer->SetCurrentItemIndex(aIndex);
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::TopicListChangedL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::TopicListChangedL( TCbsTopicListEvent aEvent, TCbsTopicNumber aTopicNumber )
-                                        
-    {
-    if ( iContainer && iCurrentTopicNumber == aTopicNumber )
-        {
-        if ( aEvent == ECbsTopicReceivedNewMessage ) 
-            {
-            ReloadMessagesL();
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::SaveMessage
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicView::SaveMessage( const TCbsMessageHandle& aHandle )
-    {
-    return iServer.SaveMessage( aHandle );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::LockMessage
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicView::LockMessage( TCbsMessageHandle aHandle )
-    {
-    return iServer.LockMessage(aHandle);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::UnLockMessage
-// 
-// 
-// ---------------------------------------------------------
-// 
-void CCbsUiTopicView::UnLockMessage()
-    {
-    if ( iServer.Connected() )
-        {        
-        iServer.LockMessage(NULL);
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::ShowMessageL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::ShowMessageL()
-    {
-    if ( TotalMessages() == 0 )
-        {
-        return;
-        }
-    
-    User::LeaveIfError( LockMessage(iCurrentHandle) );
-    
-    ActivateMsgViewL(iCurrentHandle);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::DynInitMenuPaneL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::DynInitMenuPaneL( TInt aResourceId,
-                                       CEikMenuPane* aMenuPane )
-    {
-    __ASSERT_DEBUG( aMenuPane, CbsUiPanic(EMenuPaneNullError) );
-    __ASSERT_DEBUG( aResourceId >= 0, CbsUiPanic( EErrInvalidValue) );
-    if ( aResourceId == R_CBSUI_TOPICVIEW_MENU )
-        {      
-        if ( TotalMessages() > 0 )
-            {
-            // for using a right message
-            MarkCurrentlyFocusedHandle();
-            
-            // Lock message that it is not deleted automatically.
-            // If error, close the menu pane
-            User::LeaveIfError( LockMessage(iCurrentHandle) );
-            
-            if( CbsUiUtility::IsSavedL(iCurrentHandle, iServer) )
-                {
-                aMenuPane->DeleteMenuItem(ECbsUiappCmdTopicMenuKeep);
-                }
-            }      
-        else 
-            {
-            // If no messages, then not possible to do anything..
-            aMenuPane->DeleteMenuItem(ECbsUiappCmdTopicMenuRead);
-            aMenuPane->DeleteMenuItem(ECbsUiappCmdTopicMenuKeep);
-            aMenuPane->DeleteMenuItem(ECbsUiappCmdMessageDelete);
-            }
-        if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
-            aMenuPane->DeleteMenuItem( EAknCmdHelp );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::SetEmphasis
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::SetEmphasis( CCoeControl* aMenuControl,TBool aEmphasis )
-    {
-    __ASSERT_DEBUG( aMenuControl, CbsUiPanic(EErrNullPointer) );
-    CAknView::SetEmphasis(aMenuControl, aEmphasis);
-    
-    // Checks if the menu pane is showing.
-    if ( !aEmphasis && iCanUnlock )
-        {
-        // Has to be unlocked, because otherwise message could stay as locked
-        // and could not be deleted automatically by the server.
-        UnLockMessage();
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::ProcessCommandL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::ProcessCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case ECbsUiappCmdTopicMenuRead: // same operation
-        case ECbsUiappCmdTopicMSKRead:
-        case ECbsUiappCmdTopicMenuKeep: // cannot unlock current message
-        case ECbsUiappCmdMessageDelete:
-            iCanUnlock = EFalse; // prevents SetEmphasis to unlock message
-            break;
-        default:
-            break;
-        };
-    
-    CAknView::ProcessCommandL(aCommand);
-    
-    switch ( aCommand )
-        {
-        case ECbsUiappCmdTopicMenuKeep: // same operation
-        case ECbsUiappCmdMessageDelete:
-            // Have to unlock message, because in error situation
-            // message would be locked after these two operations.
-            UnLockMessage();
-            break;
-        default:
-            break;
-        };
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::HandleCommandL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::HandleCommandL( TInt aCommandId )
-    {
-    TTopicViewFocusState focusState = ENoFocusUpdate;
-    
-    switch (aCommandId)
-        {
-        case EAknSoftkeyBack:			    
-            {
-            ActivateTopicListViewL(iCurrentTopicNumber);
-            break;
-            }
-        // MSK
-        case ECbsUiappCmdTopicMSKRead:            
-        case ECbsUiappCmdTopicMenuRead:
-            {
-            // to open a right message
-            MarkCurrentlyFocusedHandle();
-            if ( TotalMessages() > 0 )                     
-                {
-                ShowMessageL();
-                }
-            break;        
-            }
-        case ECbsUiappCmdTopicMenuKeep:
-            {
-            CbsUiUtility::SaveCurrentMessageL(iCurrentHandle, *this);
-            focusState = ESetFocusToCurrentHandle;
-            break;
-            }
-        case ECbsUiappCmdMessageDelete:
-            {           
-            if ( TotalMessages() > 0 )
-                {                
-                CAknQueryDialog* dlg = CAknQueryDialog::NewL();            
-                
-                if ( dlg->ExecuteLD(R_DELETE_MSG_CONFIRMATION_QUERY) )
-                    {              
-                    // Unlock the message, so that it could be deleted
-                    UnLockMessage();                
-                    
-                    if ( iServer.DeleteMessage(iCurrentHandle) == KErrNone )
-                        {
-                        SetNewCurrentHandle(iCurrentHandle);
-                        }                
-                    }
-                focusState = ESetFocusToCurrentHandle;
-                }
-            break;
-            }
-        case ECbsUiappTopicViewCmdGoToPrevTopic:
-            {
-            TBool toPrevious(ETrue);
-            SetCurrentTopicNumber(toPrevious);
-            focusState = ESetFocusToFirstItem;
-            break;
-            }               
-        case ECbsUiappTopicViewCmdGoToNextTopic:
-            {
-            TBool toPrevious(EFalse);
-            SetCurrentTopicNumber(toPrevious);
-            focusState = ESetFocusToFirstItem;
-            break;
-            }
-        case EAknCmdHelp:
-            AppUi()->HandleCommandL(aCommandId);
-            break;
-        case EAknCmdExit:	
-            {
-            ( (MEikCommandObserver*)AppUi() )->
-                ProcessCommandL(EAknCmdExit);
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    
-    if ( focusState != ENoFocusUpdate )
-        {
-        ReloadMessagesL();
-        SetFocusAfterReloading(focusState);
-        }
-    
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::DoActivateL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::DoActivateL( const TVwsViewId& /*aPrevViewId*/, 
-                                  TUid aCustomMessageId,
-                                  const TDesC8& aCustomMessage )
-    {
-    iCanUnlock = ETrue;
-    if ( !iContainer )
-        {
-        iContainer = CCbsUiTopicViewContainer::NewL(*this, ClientRect());
-        AppUi()->AddToViewStackL( *this, iContainer );
-        }
-    
-    SetCurrentTopicNumberAndMessageHandle(aCustomMessage);
-    
-    ReloadMessagesL();    
-                
-    TTopicViewFocusState focus(ESetFocusToFirstItem);
-    if ( aCustomMessageId == KSetFocusToId )
-        {
-        focus = ESetFocusToCurrentHandle;
-        }
-    
-    SetFocusAfterReloading(focus);
-    
-    // if the list box focus is changed, then container should be activetd
-    // after ReloadMessagesL
-    iContainer->ActivateL();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::DoDeactivate
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::DoDeactivate()
-    {	
-    if (iContainer)
-        {
-        AppUi()->RemoveFromViewStack(*this, iContainer);
-        delete iContainer;
-        iContainer = NULL;	
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::Id
-// 
-// 
-// ---------------------------------------------------------
-//
-TUid CCbsUiTopicView::Id() const
-    {
-    return TUid::Uid( ECbsUiTopicViewId );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::FindMessageIndexByHandle
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicView::FindMessageIndexByHandle( TInt& aIndex,
-                                               const TCbsMessageHandle& aMsgHandle )
-    {
-    __ASSERT_DEBUG( &aIndex, CbsUiPanic(EErrNullPointer) );
-    
-    TInt ret(KErrGeneral);
-    
-    for ( TInt i(0); i < TotalMessages() && ret != KErrNone; i++ )
-        {
-        if ( iHandles->At(i) == aMsgHandle )
-            {
-            ret = KErrNone;
-            aIndex = i;
-            }
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::LoadAllMessageTitlesL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::LoadAllMessageTitlesL( TCbsTopicNumber aTopicNumber )
-    {
-    TBuf<KMaxMessageTitleLength> buffer;
-    TCbsMessage message;
-    iHandles->Reset();
-    
-    // Then take the total amount of messages in the topic.
-    TInt count(0);
-    User::LeaveIfError( iServer.GetMessageCount(aTopicNumber, count) );    
-    
-    for ( TInt index(0); index < count; index++ )
-        {        
-        if ( iServer.GetMessage(aTopicNumber, index, message) == KErrNone )
-            {
-            if ( iContainer )
-                {
-                // Add contents.
-                TInt err = 
-                    iServer.GetMessageContents(message.iHandle, buffer);
-                
-                __CBSUI_ASSERT( 
-                    err == KErrNone, CbsUiPanic(EMessageContentsError) );
-                User::LeaveIfError(err);
-                
-                iContainer->ReloadOfferL(message, buffer);
-                }
-            
-            iHandles->AppendL(message.iHandle);
-            }
-        
-        buffer.Zero();
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::PrepareReloading
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::PrepareReloading()
-    {
-    if ( iContainer )
-        {
-        iContainer->ReloadStarts();
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::SetFocusAfterReloading
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::SetFocusAfterReloading( TTopicViewFocusState aFocusState )
-    {
-    TInt focusedItem(KCbsErrValue);
-    
-    // has to find index from the ui side, because in the
-    // server side the index could be an other.
-    TBool setFocusToFirstItem(
-        (aFocusState == ESetFocusToFirstItem) || 
-        (aFocusState == ESetFocusToNewestMessage) ||
-        (FindMessageIndexByHandle(focusedItem, iCurrentHandle) != KErrNone)
-        );
-    
-    if ( setFocusToFirstItem )
-        {
-        focusedItem = EFirstMessage;
-        }
-    
-    __ASSERT_DEBUG( 
-        focusedItem != KCbsErrValue, CbsUiPanic(EErrInvalidValue) );
-    
-    SetFocusToMessage(focusedItem);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::SetNewCurrentHandle
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::SetNewCurrentHandle( TCbsMessageHandle aDeletedHandle )
-    {
-    
-    TInt messagePosition(KCbsErrValue);
-    TInt err( FindMessageIndexByHandle(messagePosition, aDeletedHandle) );
-    
-    TBool isLastMessage = 
-        ( (messagePosition + 1) == TotalMessages() ) &&
-        (messagePosition >= 0);
-    
-    if ( isLastMessage )
-        {
-        // then previous handle should be focused after deletion
-        messagePosition--;
-        }
-    else
-        {
-        // then the next handle will be focused after deletion
-        messagePosition++;
-        }
-    
-    if ( messagePosition >= TotalMessages() ||
-        messagePosition < 0 || 
-        err != KErrNone )
-        {
-        messagePosition = 0;
-        }
-    
-    __ASSERT_DEBUG( err == KErrNone, CbsUiPanic(EErrMsgNotFound) );
-    
-    iCurrentHandle = iHandles->At(messagePosition);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::SetCurrentTopicNumber
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::SetCurrentTopicNumber( TBool aToPrev )
-    {
-    TCbsTopicNumber prev;
-    TCbsTopicNumber next;
-    TInt position;
-    
-    TInt err( iServer.GetNextAndPrevTopicNumber(
-        iCurrentTopicNumber, prev, next, position) );
-    
-    if ( err == KErrNone ) // handle exists
-        {        
-        if ( aToPrev )
-            {
-            if ( position != ECbsHead )
-                {
-                iCurrentTopicNumber = prev;
-                }
-            }
-        else 
-            {
-            if ( position != ECbsTail )
-                {
-                iCurrentTopicNumber = next;
-                }
-            }
-        }
-    else 
-        {
-        __CBSUI_ASSERT( 0, CbsUiPanic(EErrTopicNumberNotFound) );
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::SetCurrentTopicNumberAndMessageHandle
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::SetCurrentTopicNumberAndMessageHandle( const TDesC8& aTopicNumberDes )
-    {
-    TTopicNumberBuf aTopicNumberBuf;
-    aTopicNumberBuf.Copy(aTopicNumberDes);
-    iCurrentTopicNumber = aTopicNumberBuf().iTopicNumber;
-    iCurrentHandle = aTopicNumberBuf().iMessageHandle;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::ActivateMsgViewL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::ActivateMsgViewL( TCbsMessageHandle aMsgHandle ) const
-    {
-    TPckgBuf<TCbsMessageHandle> pckgMessageHandle(aMsgHandle);
-    
-    AppUi()->ActivateLocalViewL( 
-        TUid::Uid(ECbsUiMsgViewId), KCbsUiCustomMessageId, pckgMessageHandle);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::ActivateTopicListViewL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::ActivateTopicListViewL( TCbsTopicNumber aTopicNumber ) const
-    {
-    TPckgBuf<TCbsTopicNumber> pckgTopicNumber(aTopicNumber);
-    
-    AppUi()->ActivateLocalViewL( 
-        TUid::Uid(ECbsUiTopicListViewId), KSetFocusToId, pckgTopicNumber);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::CheckIfCanMove
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicView::CheckIfCanMove( TBool& aToPrevious, TBool& aToNext )
-    {
-    TCbsTopicNumber prevDummy; // not used
-    TCbsTopicNumber nextDummy;
-    TInt position;
-    
-    TInt err( iServer.GetNextAndPrevTopicNumber(
-        iCurrentTopicNumber, prevDummy, nextDummy, position) );
-    
-    __CBSUI_ASSERT( err == KErrNone, CbsUiPanic(EErrTopicNumberNotFound) );
-    __CBSUI_ASSERT( 
-        position >= 0 && position <= (ECbsTail | ECbsHead), 
-        CbsUiPanic(EErrInvalidValue) );
-    
-    aToPrevious = EFalse;
-    aToNext = EFalse;
-    
-    if ( err == KErrNone )
-        {
-        if ( !position ) // topic in both sides
-            {
-            aToPrevious = ETrue;
-            aToNext = ETrue;
-            }
-        else if ( position == ECbsTail )
-            {
-            aToPrevious = ETrue;
-            }
-        else if ( position == ECbsHead )
-            {
-            aToNext = ETrue;
-            }
-        else
-            {
-            //Does nothing
-            }
-        }
-    
-    return err;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::ActivateListBoxL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::ActivateListBoxL()
-    {
-    iContainer->ReloadEndsL();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::SetMiddleSoftKeyLabelL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::SetMiddleSoftKeyLabelL( 
-    const TInt aResourceId, const TInt aCommandId )
-    {
-    CEikButtonGroupContainer* cbaGroup = Cba();
-    if ( cbaGroup )
-        {
-        HBufC* mskText = StringLoader::LoadLC( aResourceId );
-        TPtr mskPtr = mskText->Des();
-        cbaGroup->AddCommandToStackL( 
-            KCbsMSKControlID, 
-            aCommandId, 
-            mskPtr );
-        CleanupStack::PopAndDestroy( mskText );
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::RemoveCommandFromMSK
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::RemoveCommandFromMSK()
-    {
-    if ( Cba() )
-        {
-        Cba()->RemoveCommandFromStack( KCbsMSKControlID, ECbsUiappCmdTopicMSKRead );
-        Cba()->RemoveCommandFromStack( KCbsMSKControlID, ECbsUiappNullCmd );
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicView::HandleNaviDecoratorEventL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicView::HandleNaviDecoratorEventL( TInt aEventID )
-	{
-	TTopicViewFocusState focusState = ENoFocusUpdate;
-	
-    switch ( aEventID )
-    	{
-		case MAknNaviDecoratorObserver::EAknNaviDecoratorEventLeftTabArrow:
-		    {
-		    SetCurrentTopicNumber( ETrue );
-		    focusState = ESetFocusToFirstItem;
-		    break;
-		    }               
-		case MAknNaviDecoratorObserver::EAknNaviDecoratorEventRightTabArrow:
-		    {
-		    SetCurrentTopicNumber( EFalse );
-		    focusState = ESetFocusToFirstItem;
-		    break;
-		    }
-		default:
-		    {
-		    break;
-		    }
-    	}
-    
-	if ( focusState != ENoFocusUpdate )
-		{
-		ReloadMessagesL();
-		SetFocusAfterReloading( focusState );
-		}  
-	}
-    
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiTopicViewContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,605 +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:  CCbsUiTopicViewContainer is container for CCbsUiTopicView. 
-*               It has one control, a list box, which is showing information
-*               about messages in one topic.
-*
-*
-*/
-
-
-//  INCLUDES
-#include <AknsConstants.h>    // KAknsMessageSkinChange
-#include <cbsuiapp.mbg>       // TMbmCbsuiapp
-#include <AknsUtils.h>        // CreateIconL, SkinInstance
-#include <akncontext.h>       // CAknContextPane
-#include <AknUtils.h>         // AknLayoutUtils 
-#include <AknDef.h>           // KEikDynamicLayoutVariantSwitch
-#include <e32std.h>
-#include <calslbs.h>
-#include <barsread.h>
-#include <gulicon.h>
-#include <eikfrlbd.h>
-#include <eikclbd.h>
-#include <eikslb.h>
-#include <eiklbx.h>
-#include <avkon.hrh>
-#include <aknlists.h>
-#include <AknIconArray.h>
-#include <data_caging_path_literals.hrh> // KDC_RESOURCE_FILES_DIR
-#include <cbsuiApp.rsg>
-#include "CbsUiId.h"
-#include <csxhelp/cbs.hlp.hrh>
-#include "Cbsuiapp.hrh"
-#include "CCbsUiTopicViewContainer.h"
-#include "CCbsUiTopicView.h"
-#include "CbsUiUtility.h"
-#include "CbsUiPanic.h"
-#include "CbsUiConstants.h"
- 
-
-// CONSTANTS
-_LIT(KDirAndCbsUiAppMbmFile,"z:cbsuiapp.mbm");
-_LIT(KSeparator1, "1\t");
-_LIT(KSeparator2, "0\t");
-_LIT(KSeparator3, "\t2");
-
-const TInt KNumberOfIconsInTopicViewcontainer = 6;
-
-
-//DATA TYPES
-enum TopicViewIconArrayIndexes
-    {
-    ECbsPropCbMsgUnread = 0,
-    ECbsPropCbMsg,
-    ECbsIndiCbKeptAdd
-    };
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiTopicViewContainer::CCbsUiTopicViewContainer( CCbsUiTopicView& aTopicView )
-                                                   : iTopicView( aTopicView )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CCbsUiTopicViewContainer::ConstructL( const TRect& aRect )
-    {
-    CreateWindowL();
-    SetMopParent(&iTopicView);
-    
-    iListBox = new (ELeave) CAknSingleGraphicStyleListBox;
-    iListBox->SetContainerWindowL(*this);
-    iListBox->ConstructL(this, EEikListBoxMultipleSelection);
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-        CEikScrollBarFrame::EOff,
-        CEikScrollBarFrame::EAuto );
-    
-    CDesCArrayFlat* array = 
-        new (ELeave) CDesCArrayFlat( KNumberOfTemporaryMessages );
-    
-    // changing the owner, shouldn't leave 
-    iListBox->Model()->SetItemTextArray(array);
-    iListBox->SetListBoxObserver( this );
-    
-    SetRect(aRect);
-    LoadIconsL();
-    }
-
-// Two-phased constructor.
-CCbsUiTopicViewContainer* CCbsUiTopicViewContainer::NewL( CCbsUiTopicView& aTopicView, const TRect& aRect )
-    {
-    CCbsUiTopicViewContainer* self = 
-        new (ELeave) CCbsUiTopicViewContainer(aTopicView);
-    
-    CleanupStack::PushL(self);
-    self->ConstructL(aRect);
-    CleanupStack::Pop();
-    return self;
-    }
-
-// Destructor
-CCbsUiTopicViewContainer::~CCbsUiTopicViewContainer()
-    {
-    delete iListBox;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::ReloadStarts
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicViewContainer::ReloadStarts() const
-    {
-    MDesCArray* itemList = iListBox->Model()->ItemTextArray();
-    CDesCArray* itemArray = STATIC_CAST(CDesCArray*, itemList);
-    itemArray->Reset();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::ReloadOfferL
-// 
-// 
-// ---------------------------------------------------------
-// 
-void CCbsUiTopicViewContainer::ReloadOfferL( const TCbsMessage& aMessage, const TDesC& aBuffer ) const
-    {
-    MDesCArray* itemList = iListBox->Model()->ItemTextArray();
-    CDesCArray* itemArray = STATIC_CAST(CDesCArray*, itemList);
-    
-    TInt titleLength( (aBuffer.Length() > KMaxMessageTitleLength ) ? 
-                       KMaxMessageTitleLength : aBuffer.Length() );
-    
-    HBufC* buffer = HBufC::NewMaxLC( titleLength + KSeparator1().Length() + KSeparator2().Length() +
-        KSeparator3().Length() );
-    
-    TPtr ptr = buffer->Des();    
-    
-    // First column icon.
-    if ( aMessage.iRead )
-        {
-        ptr = KSeparator1;
-        }
-    else
-        {
-        ptr = KSeparator2;
-        }
-    
-    for ( TInt index(0); index < titleLength; index++ )
-        {
-        TChar character = aBuffer[index];
-        
-        // if character is line break, then stop
-        if ( character == EKeyLineFeed
-            || character == EKeyEnter )
-            {
-            break;
-            }
-        
-        ptr.Append( character );
-        }
-    
-    // And finally saved icon.
-    if ( aMessage.iPermanent )
-        {
-        ptr.Append(KSeparator3);
-        }
-    
-    // Finally append!
-    itemArray->AppendL(*buffer);
-    CleanupStack::PopAndDestroy(); // buffer
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::ReloadEndsL
-// 
-// 
-// ---------------------------------------------------------
-//    
-void CCbsUiTopicViewContainer::ReloadEndsL()
-    {  
-    // Inform listbox that some items has been added.
-    iListBox->HandleItemAdditionL();
-    // check if listbox has any item. if numberOfItems == 0
-    // then disable scrollbars
-    if ( iListBox->Model()->NumberOfItems() == 0 )
-    	{
-    	iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-    		CEikScrollBarFrame::EOff,
-    		CEikScrollBarFrame::EOff );
-    	}
-    else
-    	{
-    	iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-    		CEikScrollBarFrame::EOff,
-    		CEikScrollBarFrame::EAuto );
-    	}	
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::CurrentPosition
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicViewContainer::CurrentPosition() const
-    {
-    return iListBox->CurrentItemIndex();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::SetCurrentItemIndex
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicViewContainer::SetCurrentItemIndex( TInt aItemIndex ) const
-    {
-    __ASSERT_DEBUG( aItemIndex >= 0, CbsUiPanic(EErrInvalidValue) );
-    
-    MDesCArray* itemList = iListBox->Model()->ItemTextArray();
-    CDesCArray* itemArray = STATIC_CAST(CDesCArray*, itemList);
-    
-    TInt count( itemArray->MdcaCount() );
-    
-    if ( count > aItemIndex && count >= 0 )
-        {
-        iListBox->SetCurrentItemIndexAndDraw(aItemIndex);
-        }
-    }
-
-// ----------------------------------------------------
-// CCbsUiTopicViewContainer::HandleListBoxEventL
-//
-// ----------------------------------------------------
-void CCbsUiTopicViewContainer::HandleListBoxEventL(	CEikListBox* /*aListBox*/,
-                                                     TListBoxEvent aEventType )
-    {
-    switch ( aEventType )
-        {
-        case EEventItemSingleClicked:
-            {
-            TKeyEvent keyEvent;
-            keyEvent.iCode = EKeyOK;
-            OfferKeyEventL( keyEvent, EEventKey );
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::GetListBox
-// 
-// 
-// ---------------------------------------------------------
-//
-CEikColumnListBox* CCbsUiTopicViewContainer::GetListBox() 
-    {
-    return iListBox;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::CountComponentControls
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiTopicViewContainer::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// ---------------------------------------------------------
-// 
-// 
-// 
-// ---------------------------------------------------------
-//
-CCoeControl* CCbsUiTopicViewContainer::ComponentControl( TInt /*aIndex*/ ) const 
-    { 
-    return iListBox;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::OfferKeyEventL
-// 
-// 
-// ---------------------------------------------------------
-//
-TKeyResponse CCbsUiTopicViewContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType )
-    {    
-    TKeyResponse result = EKeyWasNotConsumed;
-    
-    switch (aKeyEvent.iCode)
-        {
-        case EKeyLeftArrow:
-            {
-            if( AknLayoutUtils::LayoutMirrored() )
-                {
-                // Go to next topic.
-                iTopicView.ProcessCommandL( ECbsUiappTopicViewCmdGoToNextTopic );
-                }
-            else
-                {            
-                // Go to previous topic.
-                iTopicView.ProcessCommandL( ECbsUiappTopicViewCmdGoToPrevTopic );
-                }
-            result = EKeyWasConsumed;
-            break;
-            }            
-        case EKeyRightArrow:
-            {
-            if( AknLayoutUtils::LayoutMirrored() )
-                {
-                // Go to previous topic.
-                iTopicView.ProcessCommandL( ECbsUiappTopicViewCmdGoToPrevTopic );
-                }
-            else
-                {            
-                // Go to next topic.
-                iTopicView.ProcessCommandL( ECbsUiappTopicViewCmdGoToNextTopic );
-                }
-            result = EKeyWasConsumed;
-            break;
-            } 
-        case EKeyEnter:
-        case EKeyOK:
-            {
-            // to open a right message
-            iTopicView.MarkCurrentlyFocusedHandle();
-            iTopicView.ProcessCommandL( ECbsUiappCmdTopicMenuRead );
-            result = EKeyWasConsumed;
-            break;
-            }            
-        case EKeyBackspace:
-            {
-            iTopicView.MarkCurrentlyFocusedHandle();
-            iTopicView.ProcessCommandL( ECbsUiappCmdMessageDelete );
-            result = EKeyWasConsumed;
-            break;
-            }
-        default:
-            {
-            result = iListBox->OfferKeyEventL( aKeyEvent, aType );
-            break;            
-            }
-        }
-    
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::SizeChanged
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicViewContainer::SizeChanged()
-    {
-    if (iListBox) 
-        {
-        iListBox->SetRect( Rect() );
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::FocusChanged
-// ---------------------------------------------------------
-//
-void CCbsUiTopicViewContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    CCoeControl::FocusChanged( aDrawNow );
-    if( iListBox )
-        {
-        iListBox->SetFocus( IsFocused(), aDrawNow );
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::GetHelpContext
-// 
-// Gets the control's help context.
-// ---------------------------------------------------------
-//
-void CCbsUiTopicViewContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = TUid::Uid(KUidCbsUiappDef);
-    aContext.iContext = KCBS_HLP_TOPIC_VIEW;
-    }
-
-
-// ----------------------------------------------------
-// CCbsUiTopicViewContainer::HandleResourceChange
-//
-//
-// ----------------------------------------------------
-void CCbsUiTopicViewContainer::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-
-    if( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        iTopicView.HandleRectChangeInContainer();  
-        }
-    
-    if( aType == KAknsMessageSkinChange )
-        {
-        // change skin bitmap
-        TRAPD( ignore, SkinBitmapChangesL( ) );
-        if( ignore )
-            {
-            ignore = KErrNone; //This prevent only ARMV5 varnings!!
-            }
-        }    
-    }
-
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::LoadIconsL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicViewContainer::LoadIconsL()
-    {
-    CAknIconArray* icons = new (ELeave) CAknIconArray(KNumberOfIconsInTopicViewcontainer);
-    CleanupStack::PushL(icons);
-
-    TParse parse; 
-    parse.Set(KDirAndCbsUiAppMbmFile, &KDC_APP_BITMAP_DIR, NULL); 
-    TFileName mbmFileAndPathName(parse.FullName());
-
-    // First icon & mask.
-    AddIconL( KAknsIIDQgnPropCbMsgUnread, icons, mbmFileAndPathName, EMbmCbsuiappQgn_prop_cb_msg_unread,
-              EMbmCbsuiappQgn_prop_cb_msg_unread_mask );
-
-    // Second icon & mask.
-    AddIconL( KAknsIIDQgnPropCbMsg, icons, mbmFileAndPathName, EMbmCbsuiappQgn_prop_cb_msg,
-              EMbmCbsuiappQgn_prop_cb_msg_mask );
-
-    // Third icon & mask.
-    AddIconL( KAknsIIDQgnIndiCbKeptAdd, icons, mbmFileAndPathName, EMbmCbsuiappQgn_indi_cb_kept_add,
-              EMbmCbsuiappQgn_indi_cb_kept_add_mask, ETrue );
-
-    CleanupStack::Pop(); // icons
-    
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiTopicViewContainer::AddIconL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiTopicViewContainer::AddIconL(
-    TAknsItemID aId,
-    CAknIconArray* aIcons,
-    const TDesC& aIconFileWithPath,
-    TInt aIconGraphicsIndex,
-    TInt aIconGraphicsMaskIndex,
-    TBool aColorIcon )
-    {    
-    // icon & mask.   
-    MAknsSkinInstance* skins = AknsUtils::SkinInstance();  
-    
-    // COnstruct the icon and append it to icon array
-    CGulIcon* icon = ConstructIconL( aColorIcon, skins, aId, 
-        aIconFileWithPath, aIconGraphicsIndex, aIconGraphicsMaskIndex );
-    CleanupStack::PushL( icon );
-    aIcons->AppendL( icon );    
-    CleanupStack::Pop( ); // icon
-    }
-
-
-
-// ----------------------------------------------------
-// CCbsUiTopicViewContainer::SkinBitmapChangesL
-// ----------------------------------------------------
-void CCbsUiTopicViewContainer::SkinBitmapChangesL()
-    {
-    CArrayPtr<CGulIcon> *icons = 0;
-    icons = iListBox->ItemDrawer()->ColumnData()->IconArray();
-    TAknsItemID id; 
-    id.iMajor = 0;
-    id.iMinor = 0;    
-    TInt count = icons->Count();
-    TInt bitmapIndex = 0;
-    TInt bitmapMaskIndex = 0;
-
-    //change list icons
-    MAknsSkinInstance* skins = AknsUtils::SkinInstance();
-    for ( TInt cc=count; --cc>=0; )
-        {
-        switch( cc )
-            {
-            case ECbsPropCbMsgUnread:                
-                bitmapIndex = EMbmCbsuiappQgn_prop_cb_msg_unread;
-                bitmapMaskIndex = EMbmCbsuiappQgn_prop_cb_msg_unread_mask;
-                id = KAknsIIDQgnPropCbMsgUnread;
-                break;
-            case ECbsPropCbMsg:                
-                bitmapIndex = EMbmCbsuiappQgn_prop_cb_msg;
-                bitmapMaskIndex = EMbmCbsuiappQgn_prop_cb_msg_mask;
-                id = KAknsIIDQgnPropCbMsg;
-                break;
-            case ECbsIndiCbKeptAdd:                
-                bitmapIndex = EMbmCbsuiappQgn_indi_cb_kept_add;
-                bitmapMaskIndex = EMbmCbsuiappQgn_indi_cb_kept_add_mask;
-                id = KAknsIIDQgnIndiCbKeptAdd;
-                break;
-            default:                
-                bitmapIndex = EMbmCbsuiappQgn_prop_cb_msg_unread;
-                bitmapMaskIndex = EMbmCbsuiappQgn_prop_cb_msg_unread_mask;
-                id = KAknsIIDQgnPropCbMsgUnread;
-                break;           
-            } 
-        
-        CFbsBitmap* bitmap;
-        CFbsBitmap* mask;
-        TParse parse; 
-        parse.Set(KDirAndCbsUiAppMbmFile, &KDC_APP_BITMAP_DIR, NULL); 
-        TFileName mbmFileAndPathName(parse.FullName());
-        AknsUtils::CreateIconL( skins, id, bitmap,
-            mask, mbmFileAndPathName, bitmapIndex, bitmapMaskIndex );      
-
-        CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
-     
-        CleanupStack::PushL( icon );
-        CGulIcon* iconToBeDelete = icons->At( cc );
-        icons->At( cc ) = icon;
-        delete iconToBeDelete;
-        iconToBeDelete = NULL;
-
-        CleanupStack::Pop(); // icon
-    
-        }  
-    }
-
-
-// ----------------------------------------------------
-// CCbsUiTopicViewContainer::ConstructIconL
-// ----------------------------------------------------
-CGulIcon* CCbsUiTopicViewContainer::ConstructIconL( 
-    TBool& aColourIcon,
-    MAknsSkinInstance* aSkins, 
-    const TAknsItemID& aID,
-    const TDesC& aFilename,
-    const TInt aFileBitmapId, 
-    const TInt aFileMaskId )
-    {
-    // icon & mask
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-        
-    if ( aColourIcon )
-        {
-        AknsUtils::CreateColorIconL(
-            aSkins, 
-            aID, 
-            KAknsIIDQsnIconColors, 
-            EAknsCIQsnIconColorsCG13, // Check the used color group - this is usually correct group for D-column stuff
-            bitmap, 
-            mask,
-            aFilename,
-            aFileBitmapId,
-            aFileMaskId ,
-            KRgbBlack ); // This is default color used, if the color skinning fails, or there is no color defined.
-        }
-    else
-        {
-        AknsUtils::CreateIconL( aSkins, aID, bitmap,
-        mask, aFilename, aFileBitmapId, 
-        aFileMaskId );
-        }
-
-    CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
-    return icon;
-    }
-
-
-//  End of File 
--- a/cbs/cbsui/UiSrc/CCbsUiappAppUi.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +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: 
-*  Implements the User Interface class.
-*
-*
-*/
-
-
-// INCLUDES
-#include <bldvariant.hrh>       // KFeatureIdBtSap
-#include <e32property.h>        // RProperty
-#include <PSVariables.h>        // Property values
-#include <featmgr.h>            // FeatureManager
-#include <AknsConstants.h>      // KAknsMessageSkinChange
-#include <AknsUtils.h>          // CreateIconL, SkinInstance
-#include <cbsuiapp.mbg>         // TMbmCbsuiapp
-#include <avkon.hrh>
-#include <aknnotedialog.h>      // ELongTimeout
-#include <aknnotewrappers.h>
-#include <akntitle.h> 
-#include <hlplch.h>
-#include <BTSapDomainPSKeys.h>  // KPSUidBluetoothSapConnectionState, KBTSapConnectionState
-#include <data_caging_path_literals.hrh> // KDC_RESOURCE_FILES_DIR
-#include <cbsuiApp.rsg>                  // R_QTN_OFFLINE_NOT_POSSIBLE_SAP
-#include "CCbsUiappAppUi.h"
-#include "CCbsUiTopicListMonitor.h"
-#include "CbsUiPanic.h"
-#include "CCbsUiViewFactory.h"
-#include "MCbs.h"
-
-
-// CONSTANTS
-_LIT(KDirAndCbsUiAppMbmFile,"z:cbsuiapp.mbm");
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-
-CCbsUiappAppUi::CCbsUiappAppUi( MCbs& aServer ) : iServer( aServer )
-    {
-    }
-
-// Destructor
-CCbsUiappAppUi::~CCbsUiappAppUi()
-    {
-    delete iTopicListMonitor;
-    FeatureManager::UnInitializeLib();
-    }
-
-// ----------------------------------------------------
-// CCbsUiappAppUi::HandleResourceChangeL
-//
-//
-// ----------------------------------------------------
-void CCbsUiappAppUi::HandleResourceChangeL( TInt aType )
-    {
-    CAknViewAppUi::HandleResourceChangeL( aType );
-
-    if( aType == KAknsMessageSkinChange )
-        {
-        // change application icon dynamically
-        TBool reception;
-        CEikStatusPane *sp = ( (CAknAppUi*)CEikonEnv::Static()->EikAppUi() )->StatusPane();
-		CAknTitlePane* title = STATIC_CAST(CAknTitlePane*, sp->
-	        ControlL( TUid::Uid(EEikStatusPaneUidTitle) ));
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        iServer.GetReceptionStatus( reception );
-
-        TParse parse; 
-        parse.Set( KDirAndCbsUiAppMbmFile, &KDC_APP_BITMAP_DIR, NULL ); 
-        TFileName mbmFileAndPathName(parse.FullName());
-        
-        if (reception)
-            {
-            
-            CFbsBitmap* bmp = NULL;
-            CFbsBitmap* maskbmp = NULL;
-#ifdef __SCALABLE_ICONS
-            AknsUtils::CreateIconL( skin, KAknsIIDQgnMenuCbCxt, bmp,
-                maskbmp, mbmFileAndPathName, EMbmCbsuiappQgn_menu_cb,
-                EMbmCbsuiappQgn_menu_cb_mask );
-#else
-            AknsUtils::CreateIconL( skin, KAknsIIDQgnMenuCbCxt, bmp,
-                maskbmp, mbmFileAndPathName, EMbmCbsuiappQgn_menu_cb_cxt,
-                EMbmCbsuiappQgn_menu_cb_cxt_mask );
-#endif    //__SCALABLE_ICONS
-            title->SetSmallPicture(bmp, maskbmp, ETrue);
-            }
-        else
-            {
-            CFbsBitmap* bmp = NULL;
-            CFbsBitmap* maskbmp = NULL;
-#ifdef __SCALABLE_ICONS
-            AknsUtils::CreateIconL( skin, KAknsIIDQgnMenuCb2Cxt, bmp,
-                maskbmp, mbmFileAndPathName, EMbmCbsuiappQgn_menu_cb_2,
-                EMbmCbsuiappQgn_menu_cb_2_mask);
-#else
-            AknsUtils::CreateIconL( skin, KAknsIIDQgnMenuCb2Cxt, bmp,
-                maskbmp, mbmFileAndPathName, EMbmCbsuiappQgn_menu_cb_2_cxt,
-                EMbmCbsuiappQgn_menu_cb_2_cxt_mask);
-#endif    //__SCALABLE_ICONS
-            title->SetSmallPicture(bmp, maskbmp, ETrue);
-            }
-        }    
-    }
-
-
-
-// Symbian OS default constructor can leave.
-void CCbsUiappAppUi::ConstructL()
-    {
-    BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-
-    FeatureManager::InitializeLibL();
-    if ( FeatureManager::FeatureSupported( KFeatureIdBtSap ) )
-        {
-        TInt simStatus;
-        simStatus = CheckSimStateL();
-        if ( EBTSapNotConnected != simStatus )
-            {
-            HBufC* text = iCoeEnv->AllocReadResourceLC( R_QTN_OFFLINE_NOT_POSSIBLE_SAP );
-            CAknInformationNote* note = new( ELeave ) CAknInformationNote( ETrue );
-            note->SetTimeout( CAknNoteDialog::ELongTimeout );
-            note->ExecuteLD( *text );
-            CleanupStack::PopAndDestroy( ); //text
-            User::Leave( KErrGeneral );
-            }
-        }
-    
-    __ASSERT_DEBUG( &iServer, CbsUiPanic(EServerCreationFailedError) );
-    __ASSERT_DEBUG( iServer.Connected(), CbsUiPanic(EErrServerDisconnected) );
-    
-    iTopicListMonitor = CCbsUiTopicListMonitor::NewL(iServer);
-    
-    CCbsUiViewFactory* viewFactory = new (ELeave) CCbsUiViewFactory(
-        iServer, *iTopicListMonitor);
-    CleanupStack::PushL(viewFactory);
-    
-    AddViewL( viewFactory->CreateTopicListViewLC() );
-    CleanupStack::Pop(); // view
-    
-    AddViewL( viewFactory->CreateTopicViewLC() );
-    CleanupStack::Pop(); // view
-    
-    AddViewL( viewFactory->CreateMsgViewLC() );
-    CleanupStack::Pop(); // view
-    
-    AddViewL( viewFactory->CreateSettingsViewLC() );
-    CleanupStack::Pop(); // view
-    
-    CleanupStack::PopAndDestroy(); // viewFactory
-    }
-
-// ---------------------------------------------------------
-// CCbsUiappAppUi::HandleCommandL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiappAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EAknCmdHelp:
-            {
-            HlpLauncher::LaunchHelpApplicationL(iEikonEnv->WsSession(), AppHelpContextL());
-            break;
-            }
-        case EAknCmdExit:
-        case EEikCmdExit:
-            Exit();
-            break;
-        default:
-            break;
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiappAppUi::CheckSimStateL
-//
-//
-// ---------------------------------------------------------
-TInt CCbsUiappAppUi::CheckSimStateL()
-    {
-    TInt btSapState( EBTSapNotConnected );
-    TInt err = RProperty::Get( KPSUidBluetoothSapConnectionState, 
-                               KBTSapConnectionState, 
-                               btSapState );
-    if ( err )
-        {
-        btSapState = EBTSapNotConnected;
-        }
-    return btSapState;
-    }
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiappApplication.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +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: 
-*    Implements the application class.
-*
-*
-*/
-
-
-// INCLUDES
-#include <eikstart.h>
-#include "CCbsUiappApplication.h"
-#include "CCbsUiappDocument.h"
-#include "CbsUiId.h"
-
-
-
-// CONSTANTS
-static const TUid KUidCbsUiappApp = { KUidCbsUiappDef };
-
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// ---------------------------------------------------------
-// CCbsUiappApplication::AppDllUid
-// 
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TUid CCbsUiappApplication::AppDllUid() const
-    {
-    return KUidCbsUiappApp;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiappApplication::CreateDocumentL
-// 
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CApaDocument* CCbsUiappApplication::CreateDocumentL()
-    {
-    return CCbsUiappDocument::NewL(*this);
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-
-LOCAL_C CApaApplication* NewApplication()
-    {
-    return new CCbsUiappApplication;
-    }
-
-GLDEF_C TInt E32Main()
-    {
-    return EikStart::RunApplication(NewApplication);
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CCbsUiappDocument.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of the CCbsUiappDocument class.
-*
-*
-*/
-
-
-
-// INCLUDES
-#include <RCbs.h>
-#include "CCbsUiappDocument.h"
-#include "CCbsUiappAppUi.h"
-#include "RCbsUi.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-//
-
-CCbsUiappDocument::CCbsUiappDocument( CEikApplication& aApp ) : 
-    CEikDocument(aApp) 
-    { 
-    }
-
-void CCbsUiappDocument::ConstructL()
-    {
-    iServer = new (ELeave) RCbsUi;
-    // Create connection to the server.
-    User::LeaveIfError( iServer->Connect() );
-    }
-
-CCbsUiappDocument* CCbsUiappDocument::NewL( CEikApplication& aApp )
-    {
-    CCbsUiappDocument* self = new( ELeave ) CCbsUiappDocument( aApp );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();  // self
-    return self;
-    }
-
-CCbsUiappDocument::~CCbsUiappDocument()
-    {
-    delete iServer;
-    }
-
-CEikAppUi* CCbsUiappDocument::CreateAppUiL()
-    {
-    return new (ELeave) CCbsUiappAppUi( *iServer );
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CbsUiPanic.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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 CbsUiPanic
-*
-*
-*/
-
-
-// INCLUDES
-#include <e32base.h>
-#include "CbsUiPanic.h"
-
-
-// CONSTANTS
-_LIT( KCbsUiName, "CbsUiApp" );
-
-
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-//
-// ---------------------------------------------------------
-// CbsUiPanic
-// 
-// 
-GLDEF_C void CbsUiPanic( TCbsUiPanic aPanic )
-    {
-    User::Panic( KCbsUiName, aPanic );
-    }
-
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/CbsUiUtility.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +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 CbsUiClenaupHandler     
-*
-*
-*/
-
-
-// INCLUDES
-#include    <e32base.h>
-#include    <gulicon.h>
-#include    <aknnotewrappers.h>
-#include    <aknappui.h>
-#include    <aknnavi.h>
-#include    <CbsCommon.h>
-#include    <cbsuiApp.rsg>
-#include    "CbsUiUtility.h"
-#include    "CbsUiPanic.h"
-#include    "MSaveMessageController.h"
-#include    "CbsUiDebug.h"
-#include    "MCbs.h"
-
-
-
-// =================== MEMBER FUNCTIONS ====================
-
-
-// ---------------------------------------------------------
-// CbsUiUtility::ShowConfirmationNoteL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CbsUiUtility::ShowConfirmationNoteL(
-    const TInt aResourceId, TBool aWaitingDialog )
-    {
-    HBufC* text = CCoeEnv::Static()->AllocReadResourceLC(aResourceId);
-    CAknConfirmationNote* note = 
-        new (ELeave) CAknConfirmationNote(aWaitingDialog);
-    note->ExecuteLD(*text);
-    CleanupStack::PopAndDestroy(text);
-    }
-
-// ---------------------------------------------------------
-// CbsUiUtility::ShowErrorNoteL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CbsUiUtility::ShowErrorNoteL( const TInt aResourceId )
-    {
-    HBufC* text = CCoeEnv::Static()->AllocReadResourceLC( aResourceId );
-    CAknErrorNote* note = new (ELeave) CAknErrorNote;
-    note->ExecuteLD( *text );
-    CleanupStack::PopAndDestroy( text );
-    }
-
-// ---------------------------------------------------------
-// CbsUiUtility::ShowWarningNoteL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CbsUiUtility::ShowWarningNoteL( const TInt aResourceId )
-    {
-    HBufC* text = CCoeEnv::Static()->AllocReadResourceLC( aResourceId );
-    CAknWarningNote* note = new (ELeave) CAknWarningNote;
-    note->ExecuteLD( *text );
-    CleanupStack::PopAndDestroy( text );
-    }
-
-// ---------------------------------------------------------
-// CbsUiUtility::CreateEmptyNavigationPaneL
-// 
-// 
-// ---------------------------------------------------------
-//
-CAknNavigationDecorator* CbsUiUtility::CreateEmptyNavigationPaneL()
-    {
-    CEikStatusPane* statusPane = 
-        STATIC_CAST( CAknAppUi*, 
-            CEikonEnv::Static()->EikAppUi() )->StatusPane();
-
-    CAknNavigationControlContainer* naviContainer = 
-        STATIC_CAST( CAknNavigationControlContainer*, statusPane->
-        ControlL(TUid::Uid(EEikStatusPaneUidNavi)) );
-
-    CAknNavigationDecorator* decorator;
-    decorator = naviContainer->CreateNavigationLabelL();
-
-    naviContainer->PushL(*decorator);
-
-    return decorator;
-    }
-
-// ---------------------------------------------------------
-// CbsUiUtility::IsSavedL
-// 
-// 
-// ---------------------------------------------------------
-//
-TBool CbsUiUtility::IsSavedL( const TCbsMessageHandle aHandle, MCbs& aServer )
-    {
-    __ASSERT_DEBUG(&aServer, CbsUiPanic(EErrNullPointer) );
-    __ASSERT_DEBUG(aServer.Connected(), CbsUiPanic(EErrServerDisconnected) );
-
-    TCbsMessage message;
-    
-    TInt ret = aServer.FindMessageByHandle(aHandle, message);
-
-    __CBSUI_ASSERT( ret == KErrNone, CbsUiPanic(EErrMsgHandleNotFound) );
-
-    User::LeaveIfError(ret);
-    TBool saved(EFalse);
-
-    if ( message.iPermanent )
-        {
-        saved = ETrue;
-        }
-
-    return saved;
-    }
-
-// ---------------------------------------------------------
-// CbsUiUtility::SaveCurrentMessageL
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CbsUiUtility::SaveCurrentMessageL(
-    const TCbsMessageHandle aHandle, MSaveMessageController& aSaver )
-    {    
-    __ASSERT_DEBUG(&aSaver, CbsUiPanic(EErrNullPointer) );
-
-    TInt resultCode( aSaver.SaveMessage(aHandle) );
-    
-    switch ( resultCode )
-        {
-        case KErrDiskFull:
-            {
-            User::Leave( KErrDiskFull );
-            break;
-            }
-        case KErrNone: // Normal case
-            {
-            // do nothing
-            break;
-            }
-        default:
-            {          
-            CbsUiUtility::ShowErrorNoteL(R_TEXT_NOTE_MEMORY_FULL_ERROR);
-            break;
-            }
-        }
-
-    return resultCode;
-    }
-
-//  End of File  
--- a/cbs/cbsui/UiSrc/RCbsUi.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +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: 
-*     RCbsUi calls directly real cbs client, which handles
-*     the actual calls to server.
-*
-*/
-
-
-//  INCLUDES
-#include "RCbsUi.h"
-#include <RCbs.h>
-
- 
-// ================= MEMBER FUNCTIONS =======================
-
-RCbsUi::RCbsUi()
-    {
-    }
-
-RCbsUi::~RCbsUi() 
-    {
-    }
-
-TInt RCbsUi::Connect()
-    {
-    return iServer.Connect();
-    }
-
-void RCbsUi::Close()
-    {
-    iServer.Close();
-    }
-
-TVersion RCbsUi::Version() const
-    {
-    return iServer.Version();
-    }
-
-// Settings-related methods
-void RCbsUi::GetReceptionStatus( 
-    TBool&  aStatus )
-    {
-    iServer.GetReceptionStatus( aStatus );
-    }
-
-TInt RCbsUi::SetReceptionStatus( 
-    TBool aStatus )
-    {
-    return iServer.SetReceptionStatus( aStatus );
-    }
-
-void RCbsUi::GetTopicDetectionStatus( 
-    TBool&  aStatus )
-    {
-    iServer.GetTopicDetectionStatus( aStatus );
-    }
-
-TInt RCbsUi::SetTopicDetectionStatus( 
-    TBool   aStatus )
-    {
-    return iServer.SetTopicDetectionStatus(aStatus);
-    }
-
-void RCbsUi::GetLanguages( 
-    TCbsSettingsLanguages& aLanguages )
-    {
-    iServer.GetLanguages(aLanguages);
-    }
-
-TInt RCbsUi::SetLanguages( 
-    const TCbsSettingsLanguages& aLanguages )
-    {
-    return iServer.SetLanguages(aLanguages);
-    }
-
-void RCbsUi::NotifySettingsChanged( 
-    TRequestStatus&     aStatus, 
-    TCbsSettingsEvent&  aEvent )
-    {
-    iServer.NotifySettingsChanged( aStatus, aEvent );
-    }
-
-void RCbsUi::NotifySettingsChangedCancel()
-    {
-    iServer.NotifySettingsChangedCancel();
-    }
-
-// Topic Collection -related methods
-void RCbsUi::StartCollectionBrowsing()
-    {
-    iServer.StartCollectionBrowsing();
-    }
-
-TBool RCbsUi::HasNextCollectionTopic()
-    {
-    return iServer.HasNextCollectionTopic();
-    }
-
-TInt RCbsUi::NextCollectionTopic( 
-    TCbsTopicInfo&      aInfo )
-    {
-    return iServer.NextCollectionTopic(aInfo);
-    }
-
-// Topic List-related methods
-void RCbsUi::GetTopicCount( 
-    TInt&   aCount )
-    {
-    iServer.GetTopicCount(aCount);
-    }
-
-TInt RCbsUi::GetTopic( 
-    const TInt      aIndex, 
-    TCbsTopic&      aTopic )
-    {
-    return iServer.GetTopic(aIndex, aTopic);
-    }
-
-TInt RCbsUi::FindTopicByNumber( 
-    TCbsTopicNumber aNumber, 
-    TCbsTopic& aTopic )
-    {
-    return iServer.FindTopicByNumber( aNumber, aTopic );
-    }
-
-TInt RCbsUi::DeleteTopic( 
-    TCbsTopicNumber aNumber )
-    {
-    return iServer.DeleteTopic(aNumber);
-    }
-
-TInt RCbsUi::DeleteAllTopics()
-    {
-    return iServer.DeleteAllTopics();
-    }
-
-TInt RCbsUi::AddTopic( 
-    TCbsTopic&      aTopic )
-    {
-    return iServer.AddTopic(aTopic);
-    }
-
-TInt RCbsUi::ChangeTopicNameAndNumber( 
-    TCbsTopicNumber aOldNumber,
-    TCbsTopicNumber aNewNumber, 
-    const TCbsTopicName& aName )
-    {
-    return iServer.ChangeTopicNameAndNumber(aOldNumber, aNewNumber, aName);
-    }
-
-TInt RCbsUi::ChangeTopicSubscriptionStatus( 
-    TCbsTopicNumber aNumber,
-    TBool aNewStatus )
-    {
-    return iServer.ChangeTopicSubscriptionStatus( aNumber, aNewStatus );
-    }
-
-TInt RCbsUi::ChangeTopicHotmarkStatus( 
-    TCbsTopicNumber aNumber,
-    TBool aNewStatus )
-    {
-    return iServer.ChangeTopicHotmarkStatus( aNumber, aNewStatus );
-    }
-
-void RCbsUi::NotifyOnTopicListEvent( 
-    TRequestStatus&         aStatus, 
-    const TInt              aRequested, 
-    TCbsTopicListEvent&     aEvent, 
-    TCbsTopicNumber&        aNumber )
-    {
-    iServer.NotifyOnTopicListEvent(aStatus, aRequested, aEvent, aNumber);
-    }
-
-void RCbsUi::NotifyOnTopicListEventCancel()
-    {
-    iServer.NotifyOnTopicListEventCancel();
-    }
-
-TInt RCbsUi::GetNewTopicsCount( 
-    TInt&       aCount )
-    {
-    return iServer.GetNewTopicsCount(aCount);
-    }
-
-TInt RCbsUi::GetLatestTopicNumber( TCbsTopicNumber& aNumber )
-    {
-    return iServer.GetLatestTopicNumber(aNumber);
-    }
-
-void RCbsUi::GetUnreadMessageCount( 
-    TInt&       aCount )
-    {
-    iServer.GetUnreadMessageCount(aCount);
-    }
-
-void RCbsUi::GetHotmarkedMessageHandle( 
-    TCbsMessageHandle&  aMessage )
-    {
-    iServer.GetHotmarkedMessageHandle(aMessage);
-    }
-
-TInt RCbsUi::NumberOfUnreadHotmarkedMessages() 
-    {
-    return iServer.NumberOfUnreadHotmarkedMessages();
-    }
-
-TInt RCbsUi::GetNextAndPrevTopicNumber( 
-	const TCbsTopicNumber& aCurrentTopicNumber,
-	TCbsTopicNumber& aPrevTopicNumber,
-	TCbsTopicNumber& aNextTopicNumber,
-	TInt& aPosition )
-    {
-    return iServer.GetNextAndPrevTopicNumber(
-        aCurrentTopicNumber, aPrevTopicNumber, aNextTopicNumber, aPosition);
-    }
-
-
-// Topic Messages-related methods
-TInt RCbsUi::GetMessageCount( 
-    TCbsTopicNumber aNumber,
-    TInt& aCount )
-    {
-    return iServer.GetMessageCount(aNumber, aCount);
-    }
-    
-TInt RCbsUi::GetMessage( 
-    TCbsTopicNumber aNumber, 
-    TInt            aIndex, 
-    TCbsMessage&    aMessage )
-    {
-    return iServer.GetMessage(aNumber, aIndex, aMessage);
-    }
-
-TInt RCbsUi::FindMessageByHandle( 
-    const TCbsMessageHandle&    aHandle, 
-    TCbsMessage&                aMessage )
-    {
-    return iServer.FindMessageByHandle(aHandle, aMessage);
-    }
-
-TInt RCbsUi::GetMessageIndexByHandle( 
-    const TCbsMessageHandle& aHandle, TInt& aIndex )
-    {
-    return iServer.GetMessageIndexByHandle(aHandle, aIndex);
-    }
-
-TInt RCbsUi::DeleteMessage( 
-    const TCbsMessageHandle&    aHandle )
-    {    
-    return iServer.DeleteMessage(aHandle);
-    }
-
-TInt RCbsUi::SaveMessage( 
-    const TCbsMessageHandle&    aHandle )
-    {    
-    return iServer.SaveMessage(aHandle);
-    }
-
-TInt RCbsUi::LockMessage( 
-    const TCbsMessageHandle&    aHandle )
-    {    
-    return iServer.LockMessage(aHandle);
-    }
-
-TInt RCbsUi::ReadMessage( 
-    const TCbsMessageHandle&    aHandle )
-    {
-    return iServer.ReadMessage(aHandle);
-    }
-
-TInt RCbsUi::GetMessageContents( 
-    const TCbsMessageHandle&    aHandle, 
-    TDes&                       aBuffer )
-    {
-    return iServer.GetMessageContents(aHandle, aBuffer);
-    }
-
-TInt RCbsUi::GetNextAndPrevMessageHandle(
-	const TCbsMessageHandle& aCurrentMsgHandle,
-	TCbsMessageHandle& aPrevMsgHandle,
-	TCbsMessageHandle& aNextMsgHandle,
-	TInt& aPosition )
-    {
-    return iServer.GetNextAndPrevMessageHandle(
-        aCurrentMsgHandle, aPrevMsgHandle, aNextMsgHandle, aPosition);
-    }
-
-TBool RCbsUi::Connected() const 
-    {
-    return iServer.Connected();   
-    }
-
-void RCbsUi::Shutdown() const
-    {
-    iServer.Shutdown();
-    }
-
-//  End of File
--- a/cbs/cbsui/UiSrc/ccbsuisettingsviewcontainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,683 +0,0 @@
-/*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*       Implementation of CCbsUiSettingsViewContainer.
-*
-*
-*/
-
-
-// INCLUDES
-#include <bldvariant.hrh>         // For feature flags
-#include <featmgr.h>              // FeatureManager
-#include <aknnotewrappers.h>      // CAknErrorNote
-#include <e32def.h>
-#include <aknlists.h> 
-#include <akncheckboxsettingpage.h>
-#include <cbsuiApp.rsg>
-#include <barsread.h>
-#include <centralrepository.h>           // CRepository 
-#include <CoreApplicationUIsSDKCRKeys.h> // KCRUidCoreApplicationUIs, TCoreAppUIsNetworkConnectionAllowed
-#include "CbsUiId.h"
-#include <csxhelp/mce.hlp.hrh>
-#include <AknDef.h>               // KEikDynamicLayoutVariantSwitch
-#include "MCbs.h"
-#include "ccbsuisettingsviewcontainer.h"
-#include "CCbsUiSettingsView.h"
-#include "CbsUiConstants.h"
-#include "CCbsUiLanguageSettingPage.h"
-#include "CbsUiPanic.h"
-
-
-
-// CONSTANTS
-
-// exact number of items in selection list
-const TInt KNumberOfItemsInSelectionPage = 3;
-
-// There should be only one item in the list box before, which
-// is reception.
-const TInt KPreciseNumberOfItemsBeforeLanguage = 1;
-const TInt KNumberOfOnOfItems = 2;
-
-
-
-
-// MODULE DATA STRUCTURES
-enum TCbsUiSettingValues { EReception, ELanguage, ETopicDetection };
-
-// to select right item in setting_items_with_two_available_values
-enum TCbsUiSettingOnOff 
-    {
-    ESettingOn = 0, 
-    ESettingOff
-    };
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiSettingsViewContainer::CCbsUiSettingsViewContainer( 
-    CCbsUiSettingsView& aView, 
-    MCbs& aServer )
-    : iView( aView ), iServer( aServer )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CCbsUiSettingsViewContainer::ConstructL( const TRect& aRect )
-    {
-    CreateWindowL();
-    SetMopParent(&iView);
-    CreateListBoxL();
-    SetRect( aRect );
-    
-    // Prepare FeatureManager, read values to members and uninitialize FeatureManager
-    FeatureManager::InitializeLibL();
-    iOfflineFeatureSupported = FeatureManager::FeatureSupported( KFeatureIdOfflineMode );
-    }
-
-// Two-phased constructor.
-CCbsUiSettingsViewContainer* CCbsUiSettingsViewContainer::NewL( 
-    CCbsUiSettingsView& aView,
-    const TRect& aRect,
-    MCbs& aServer )
-    {
-    CCbsUiSettingsViewContainer* self = 
-        new (ELeave) CCbsUiSettingsViewContainer(aView, aServer);
-    
-    CleanupStack::PushL(self);
-    self->ConstructL(aRect);
-    CleanupStack::Pop();
-    
-    return self;
-    }
-
-// Destructor
-CCbsUiSettingsViewContainer::~CCbsUiSettingsViewContainer()
-    {
-    delete iListBox;
-    FeatureManager::UnInitializeLib();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::CountComponentControls
-// 
-// 
-// ---------------------------------------------------------
-//
-TInt CCbsUiSettingsViewContainer::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::ComponentControl
-// 
-// 
-// ---------------------------------------------------------
-//
-CCoeControl* CCbsUiSettingsViewContainer::ComponentControl( TInt aIndex ) const 
-    {
-    CCoeControl* control = NULL;
-    
-    switch ( aIndex ) 
-        {
-        case 0:
-            control = iListBox;
-            break;
-        default:                
-            break;
-        }
-    
-    return control;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::OfferKeyEventL
-// 
-// 
-// ---------------------------------------------------------
-//
-TKeyResponse CCbsUiSettingsViewContainer::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    return iListBox->OfferKeyEventL( aKeyEvent, aType );
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::SizeChanged
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::SizeChanged()
-    {
-    iListBox->SetRect( Rect() );
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::FocusChanged
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    CCoeControl::FocusChanged( aDrawNow );
-    if( iListBox )
-        {
-        iListBox->SetFocus( IsFocused(), aDrawNow );
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::CreateListBoxL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::CreateListBoxL()
-    {
-    iListBox = new (ELeave) CAknSettingStyleListBox;
-    iListBox->SetContainerWindowL( *this );
-    iListBox->ConstructL( this, EAknListBoxSelectionListWithShortcuts );
-    iListBox->SetListBoxObserver( this );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff, 
-                                                         CEikScrollBarFrame::EAuto );
-    GetSettingsL();
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::GetSettingsL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::GetSettingsL()
-    {
-    __ASSERT_DEBUG( iListBox, CbsUiPanic(EListBoxNullError) );
-    
-    MDesCArray* itemList = 
-        STATIC_CAST(CEikFormattedCellListBox*, 
-        iListBox)->Model()->ItemTextArray();
-    
-    CDesCArray* itemArray = STATIC_CAST(CDesCArray*, itemList);
-    
-    itemArray->Reset();
-    
-    TBool status;
-    iServer.GetReceptionStatus(status);
-    
-    TInt resourceId(R_TEXT_RECEPTION_ON);
-    
-    if ( !status )
-        {
-        resourceId = R_TEXT_RECEPTION_OFF;
-        }
-    
-    HBufC* reception = iCoeEnv->AllocReadResourceLC(resourceId);
-    itemArray->AppendL(*reception);
-    CleanupStack::PopAndDestroy(); // reception
-    
-    // This must be here, don't move; otherwise order
-    // is different in the list box.
-    SetLanguageSelectionL(*itemArray);
-    
-    iServer.GetTopicDetectionStatus(status);
-    resourceId = R_TEXT_DETECTION_ON;
-    
-    if ( !status ) 
-        {
-        resourceId = R_TEXT_DETECTION_OFF;
-        }
-    
-    HBufC* detection = iCoeEnv->AllocReadResourceLC(resourceId);
-    
-    itemArray->AppendL(*detection);
-    CleanupStack::PopAndDestroy(); // detection
-    
-    iListBox->HandleItemAdditionL();
-    
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::PrepareLanguageSettingPageL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::PrepareLanguageSettingPageL()
-    {
-    
-    CDesCArrayFlat* items = 
-        new (ELeave) CDesCArrayFlat(KNumberOfItemsInSelectionPage);
-    CleanupStack::PushL(items);
-    
-    AddItemsToListL( 
-        R_CBS_LANGUAGE_SETTING_PAGE_ARRAY, *items);
-    
-    TInt selected( GetSelected() );
-    
-    LaunchLanguageSettingPageL(*items, selected);
-    
-    CleanupStack::PopAndDestroy(); // items
-    
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::GetSelected
-// 
-// 
-// ---------------------------------------------------------
-//
-TCbsUiLanguageSelectionIndex CCbsUiSettingsViewContainer::GetSelected()
-    {
-    TCbsDbLanguages dbLanguages;
-    iServer.GetLanguages(dbLanguages);
-    
-    TCbsUiLanguageSelectionIndex result(ECbsUiSelected);
-    
-    if ( dbLanguages.iLanguages[ECbsAll] )
-        {
-        result = ECbsUiAll;
-        }
-    else if ( dbLanguages.iLanguages[ECbsOther] )
-        {
-        result = ECbsUiOther;
-        }
-    else
-		{
-		result = ECbsUiSelected;
-		}
-    
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::LaunchLanguageSettingPageL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::LaunchLanguageSettingPageL(
-    CDesCArrayFlat& aItems, TInt& aCurrentSelectionIndex )
-    {
-    __ASSERT_DEBUG(
-        aCurrentSelectionIndex >= ECbsUiAll && 
-        aCurrentSelectionIndex <= ECbsUiOther,
-        CbsUiPanic(EErrIndexOutOfBounds) );
-    __ASSERT_DEBUG( aItems.Count() == 3, CbsUiPanic(EErrInvalidValue) );
-    
-    CCbsUiLanguageSettingPage* languagePage = 
-        new (ELeave) CCbsUiLanguageSettingPage(
-        R_LANGUAGE_SETTING_PAGE, aCurrentSelectionIndex, 
-        &aItems, iServer);
-    
-    languagePage->ExecuteLD(CAknSettingPage::EUpdateWhenChanged);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::AddItemsToListL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::AddItemsToListL( 
-    TInt aResourceId, 
-    CDesCArrayFlat& aItemList ) const
-    {
-    __ASSERT_DEBUG(aResourceId >= 0, CbsUiPanic(EErrInvalidValue) );
-    __ASSERT_DEBUG( aItemList.MdcaCount() == 0, CbsUiPanic(EErrInvalidValue) );
-    
-    TResourceReader reader;
-    iCoeEnv->CreateResourceReaderLC(reader, aResourceId);
-    TInt count( reader.ReadInt16() );
-    
-    for ( TInt i(0); i < count; i++ )
-        {
-        HBufC* selectableItem = reader.ReadHBufCL();
-        
-        CleanupStack::PushL(selectableItem);        
-        aItemList.AppendL(*selectableItem);
-        CleanupStack::PopAndDestroy(); // selectableItem
-        }
-    
-    CleanupStack::PopAndDestroy(); // reader   
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::HandleListViewActionL
-// 
-// 
-// ---------------------------------------------------------
-//
-TKeyResponse CCbsUiSettingsViewContainer::HandleListViewActionL(
-    const CEikListBox* aListBox, TBool aLaunchedFromOptionMenu )
-    {	
-    __ASSERT_DEBUG( aListBox, CbsUiPanic(EErrNullPointer) );    
-    
-    switch ( aListBox->CurrentItemIndex() )
-        {
-        case EReception:  
-            {
-            if ( IsPhoneOfflineL() )
-                {
-                // If is in offline mode, don't set reception on or off(Only error note)
-                HBufC* text = iCoeEnv->AllocReadResourceLC( R_QTN_OFFLINE_NOT_POSSIBLE );
-                CAknErrorNote* note = new (ELeave) CAknErrorNote( ETrue );
-                note->ExecuteLD( *text );
-                CleanupStack::PopAndDestroy( ); //text
-                }
-            else
-                {
-                TBool reception;
-                TBool update(ETrue); // if value need to be updated
-                iServer.GetReceptionStatus(reception);
-                if ( aLaunchedFromOptionMenu )
-                    {
-                    LaunchDialogOnOffL(reception, update, R_TEXT_RECEPTION);
-                    }
-                if ( update )
-                    {
-                    if ( !reception )
-                        {
-                        // Reception is off. -> Set reception On
-                        User::LeaveIfError( iServer.SetReceptionStatus( ETrue ) );
-                        }
-                    else
-                        {
-                        // Reception is On. -> Set reception Off
-                        User::LeaveIfError( iServer.SetReceptionStatus( EFalse ) );
-                        }
-                    }
-                }
-            break;
-            }
-        case ELanguage:
-            {
-            PrepareLanguageSettingPageL();
-            break;
-            }
-        case ETopicDetection: 
-            {  
-            TBool detection;
-            TBool update(ETrue);
-
-            iServer.GetTopicDetectionStatus(detection);
-            
-            if ( aLaunchedFromOptionMenu )
-                {
-                LaunchTopicDetectionDialogOnOffL(detection, update, R_TEXT_TOPIC_DETECTION);
-                }
-
-            if ( update )
-                {           
-                User::LeaveIfError( iServer.SetTopicDetectionStatus(!detection) );
-                }
-            break;
-            }
-        default:
-            break;
-        }   
-    
-    GetSettingsL();
-    
-    return EKeyWasConsumed;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::LaunchDialogOnOffL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::LaunchDialogOnOffL(
-    const TBool& aValue, TBool& aUpdate, TInt aResourceId ) const
-    {
-    TInt selected( aValue ? ESettingOn : ESettingOff );
-    
-    CDesCArrayFlat* items = 
-        new (ELeave) CDesCArrayFlat(KNumberOfOnOfItems);
-    CleanupStack::PushL(items);
-    
-    AddItemsToListL(R_CBS_ON_OFF_ARRAY, *items);
-
-    HBufC* settingText = iCoeEnv->AllocReadResourceL(aResourceId);
-    CleanupStack::PushL(settingText);
-    
-    CAknRadioButtonSettingPage* dlg = 
-        new (ELeave) CAknRadioButtonSettingPage(
-        R_ON_OFF_SETTING_PAGE, selected, items);
-
-    CleanupStack::PushL(dlg);
-    dlg->SetSettingTextL(*settingText);
-    CleanupStack::Pop(); // dlg
-    
-    dlg->ExecuteLD(CAknSettingPage::EUpdateWhenChanged);
-
-    CleanupStack::PopAndDestroy(); // settingText
-    
-    TBool valueNotChanged(
-        selected == (aValue ? ESettingOn : ESettingOff) );
-    if ( valueNotChanged )
-        {
-        aUpdate = EFalse;
-        }
-    
-    CleanupStack::PopAndDestroy(); // items
-    } 
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::LaunchTopicDetectionDialogOnOffL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::LaunchTopicDetectionDialogOnOffL(
-    const TBool& aValue, TBool& aUpdate, TInt aResourceId ) const
-    {
-    TInt selected( aValue ? ESettingOn : ESettingOff );
-    
-    CDesCArrayFlat* items = 
-        new (ELeave) CDesCArrayFlat(KNumberOfOnOfItems);
-    CleanupStack::PushL(items);
-    
-    AddItemsToListL(R_CBS_TOPIC_DETECTION_ON_OFF_ARRAY, *items);
-
-    HBufC* settingText = iCoeEnv->AllocReadResourceL(aResourceId);
-    CleanupStack::PushL(settingText);
-    
-    CAknRadioButtonSettingPage* dlg = 
-        new (ELeave) CAknRadioButtonSettingPage(
-        R_ON_OFF_SETTING_PAGE, selected, items);
-
-    CleanupStack::PushL(dlg);
-    dlg->SetSettingTextL(*settingText);
-    CleanupStack::Pop(); // dlg
-    
-    dlg->ExecuteLD(CAknSettingPage::EUpdateWhenChanged);
-
-    CleanupStack::PopAndDestroy(); // settingText
-    
-    TBool valueNotChanged(
-        selected == (aValue ? ESettingOn : ESettingOff) );
-    if ( valueNotChanged )
-        {
-        aUpdate = EFalse;
-        }
-    
-    CleanupStack::PopAndDestroy(); // items
-    }     
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::HandleListViewActiontL
-// 
-// 
-// ---------------------------------------------------------
-//
-TKeyResponse CCbsUiSettingsViewContainer::HandleListViewActionL(
-    TBool aLaunchedFromOptionMenu )
-    {
-    if ( iListBox )
-        {
-        return HandleListViewActionL(iListBox, aLaunchedFromOptionMenu);
-        }
-    return EKeyWasNotConsumed;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::UpdateSettingsL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::UpdateSettingsL()
-    {
-    GetSettingsL();
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::SetFocusToFirstItem
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::SetFocusToFirstItem() const
-    {
-    __ASSERT_DEBUG( iListBox, CbsUiPanic(EErrNullPointer) );
-    iListBox->SetCurrentItemIndexAndDraw(0);
-    }
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::HandleListBoxEventL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::HandleListBoxEventL( 
-    CEikListBox* aListBox,
-    TListBoxEvent aEventType )
-    {
-    if ( EEventEnterKeyPressed == aEventType
-        || EEventItemSingleClicked == aEventType )
-        {
-        HandleListViewActionL(aListBox, EFalse);
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::SetLanguageSelectionL
-// 
-// 
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::SetLanguageSelectionL(
-    CDesCArray& aItemArray )
-    {
-    TInt count( aItemArray.MdcaCount() );
-    
-    __ASSERT_ALWAYS( count == KPreciseNumberOfItemsBeforeLanguage, 
-        CbsUiPanic(EErrIndexOutOfBounds) );
-    
-    if ( count == KPreciseNumberOfItemsBeforeLanguage )
-        {        
-        TInt textId(R_TEXT_LANGUAGE_ALL);
-        
-        switch ( GetSelected() )
-            {   
-            case ECbsUiAll:
-                // do nothing
-                break;
-            case ECbsUiSelected:
-                textId = R_TEXT_LANGUAGE_SELECTED;
-                break;
-            case ECbsUiOther:
-                textId = R_TEXT_LANGUAGE_OTHER;
-                break;
-            default:
-                break;
-            }        
-        
-        HBufC* language = iCoeEnv->AllocReadResourceLC(textId);
-        aItemArray.AppendL(*language);
-        
-        CleanupStack::PopAndDestroy(); // language
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::GetHelpContext
-// 
-// Gets the control's help context.
-// ---------------------------------------------------------
-//
-void CCbsUiSettingsViewContainer::GetHelpContext( 
-    TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = TUid::Uid(0x100058C5); // Messaging MCE UID
-    aContext.iContext = KMCE_HLP_SETTINGS_CB;
-    }
-
-
-// ----------------------------------------------------
-// CCbsUiSettingsViewContainer::HandleResourceChange
-//
-// ----------------------------------------------------
-void CCbsUiSettingsViewContainer::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    
-    if( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        iView.HandleRectChangeInContainer();  
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCbsUiSettingsViewContainer::IsPhoneOfflineL
-// 
-// Checks if phone is in offline mode or not.
-// Return ETrue if phone is in offline mode.
-// Return EFalse if phone is not in offline mode.
-// ---------------------------------------------------------
-//
-TBool CCbsUiSettingsViewContainer::IsPhoneOfflineL() const
-    {
-    if ( iOfflineFeatureSupported )
-        {
-        CRepository* repository = CRepository::NewLC( KCRUidCoreApplicationUIs );
-        TInt connAllowed = 1;
-        repository->Get( KCoreAppUIsNetworkConnectionAllowed, connAllowed );
-        CleanupStack::PopAndDestroy();  // repository
-        if ( !connAllowed )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-
-//  End of File 
--- a/cbs/cbsui/UiSrc/ccbsuiviewfactory.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*   Implementation of CCbsUiViewFactory.
-*
-*
-*/
-
-
-// INCLUDES
-#include    "CCbsUiViewFactory.h"
-#include    "CCbsUiSettingsView.h"
-#include    "CCbsUiTopicListView.h"
-#include    "CCbsUiTopicView.h"
-#include    "CCbsUIMsgView.h"
-#include    "CCbsUiTopicListMonitor.h"
-#include    "CCbsUiSettingsMonitor.h"
-#include    "CbsUiPanic.h"
-
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCbsUiViewFactory::CCbsUiViewFactory(
-    MCbs& aServer, CCbsUiTopicListMonitor& aTopicMonitor ) : 
-    iTopicMonitor( aTopicMonitor ),
-    iServer( aServer )
-    {
-    }
-    
-// Destructor
-CCbsUiViewFactory::~CCbsUiViewFactory()
-    {
-    }
-
-// ---------------------------------------------------------
-// CCbsUiViewFactory::CreateTopicListViewLC
-// 
-// 
-// ---------------------------------------------------------
-//
-CAknView* CCbsUiViewFactory::CreateTopicListViewLC()
-    {
-    CCbsUiTopicListView* view = CCbsUiTopicListView::NewL( iServer );
-    CleanupStack::PushL( view );
-    iTopicMonitor.AddObserverL( view );
-    return view;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiViewFactory::CreateTopicViewLC
-// 
-// 
-// ---------------------------------------------------------
-//
-CAknView* CCbsUiViewFactory::CreateTopicViewLC()
-    {
-    CCbsUiTopicView* view = CCbsUiTopicView::NewL( iServer );
-    CleanupStack::PushL( view );
-    iTopicMonitor.AddObserverL( view );
-    return view;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiViewFactory::CreateMsgViewLC
-// 
-// 
-// ---------------------------------------------------------
-//
-CAknView* CCbsUiViewFactory::CreateMsgViewLC()
-    {
-    CCbsUiMsgView* view = CCbsUiMsgView::NewL( iServer );
-    CleanupStack::PushL( view );
-    iTopicMonitor.AddObserverL( view );
-    return view;
-    }
-
-// ---------------------------------------------------------
-// CCbsUiViewFactory::CreateSettingsViewLC
-// 
-// 
-// ---------------------------------------------------------
-//
-CAknView* CCbsUiViewFactory::CreateSettingsViewLC()
-    {
-    CCbsUiSettingsView* view = CCbsUiSettingsView::NewL( iServer );
-    CleanupStack::PushL( view );
-    view->UpdateContextPaneL();
-    return view;
-    }
-
-
-//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/cbsui.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,66 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = app
+TARGET = cbsui
+DEPENDPATH += .
+INCLUDEPATH += .
+
+CONFIG += hb
+MOC_DIR = moc
+
+ICON = resources/icons/qgn_menu_cb.svg
+
+symbian:
+{
+    TARGET.CAPABILITY = CAP_APPLICATION
+    TARGET.UID3 = 0x101F4CD3
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+                   ../../inc \
+                   $$MOC_DIR
+	LIBS += -lcbsclient \
+            -lflogger
+            
+    BLD_INF_RULES.prj_exports += "rom/cbsui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cbsui.iby)" \
+            "rom/cbsuiresources.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cbsuiresources.iby)" \
+            "rom/cbsui_stub.sis /epoc32/data/z/system/install/cbsui_stub.sis"
+
+}
+
+
+# Input
+HEADERS += inc/cbslog.h \
+           inc/cbsuimainwindow.h \
+           inc/cbsuitopiclistview.h \
+           inc/cbsuitopicview.h \
+           inc/cbsuiviewmanager.h \
+           inc/ccbsuisettingsmonitor.h \
+           inc/ccbsuitopiclistmonitor.h \
+           inc/mcbs.h \
+           inc/mcbsuisettingsobserver.h \
+           inc/mcbsuitopicmonitorobserver.h \
+           inc/msavemessagecontroller.h \
+           inc/rcbsui.h 
+SOURCES += src/cbsuimainwindow.cpp \
+           src/cbsuitopiclistview.cpp \
+           src/cbsuitopicview.cpp \
+           src/cbsuiviewmanager.cpp \
+           src/ccbsuitopiclistmonitor.cpp \
+           src/main.cpp \
+           src/rcbsui.cpp 
+           
+RESOURCES += resources/cbs_app.qrc
+
Binary file cbs/cbsui/help/data/xhtml.zip has changed
--- a/cbs/cbsui/help/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /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/cbs.hlp.hrh	MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/cbs.hlp.hrh)
-../rom/cbsuihelps_variant.iby		CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(cbsuihelps_variant.iby)
--- a/cbs/cbsui/help/inc/cbs.hlp.hrh	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:
-*
-*/
-	
-//
-// cbs.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __CBS_HLP_HRH__
-#define __CBS_HLP_HRH__
-
-_LIT(KCBS_HLP_TOPIC_VIEW, "CBS_HLP_TOPIC_VIEW"); // 
-_LIT(KCBS_HLP_MAIN, "CBS_HLP_MAIN"); // 
-_LIT(KCBS_HLP_MSG, "CBS_HLP_MSG"); // 
-
-#endif 
\ No newline at end of file
--- a/cbs/cbsui/help/rom/cbsuihelps_variant.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /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 __CBSUIHELPS_VARIANT_IBY__
-#define __CBSUIHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE) && defined(__CELL_BROADCAST)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD3\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD3\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD3\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD3\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD3\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD3\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD3\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD3\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/cbslog.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Offers logging facility through flogger
+*
+*/
+
+
+#ifndef CBSLOG_H
+#define CBSLOG_H
+
+// LOGGING LEVELS
+const TInt SIMPLE( 1 );
+const TInt NORMAL( 2 );
+const TInt DETAILED( 3 );
+
+#include <flogger.h>
+#include <e32svr.h> // For RDebug
+
+#define ENABLE_CBS_LOGGING
+
+
+#ifdef ENABLE_CBS_LOGGING
+
+    //
+    // DEFINE THE LOGGING LEVEL HERE: SIMPLE, NORMAL, DETAILED
+    //
+    #define LOGGING_LEVEL NORMAL
+
+    // CONSTANTS
+    _LIT( KLogDir, "cbs" );
+    _LIT( KLogFile, "cbsui_qt.txt" );
+
+    // This warning is disabled: conditinal expression is constant.
+
+    //
+    // USE THIS MACRO FOR LOGGING. THE LEVEL OF LOGGING CAN BE
+    // SIMPLE, NORMAL, DETAILED
+    //
+    #ifdef LOG
+        #undef LOG
+    #endif
+
+    #define LOG( LEVEL, TEXT ) \
+        { \
+        if ( LEVEL <= LOGGING_LEVEL ) \
+            { \
+            _LIT( KText, TEXT ); \
+            RFileLogger::Write( \
+                KLogDir, \
+                KLogFile, \
+                EFileLoggingModeAppend, \
+                KText ); \
+            RDebug::Print( KText ); \
+            } \
+        }
+
+    #ifdef LOG2
+        #undef LOG2
+    #endif
+
+    #define LOG2( LEVEL, TEXT, VARIABLE ) \
+        { \
+        if ( LEVEL <= LOGGING_LEVEL ) \
+            { \
+            _LIT( KText, TEXT ); \
+            RFileLogger::WriteFormat( \
+                KLogDir, \
+                KLogFile, \
+                EFileLoggingModeAppend, \
+                TRefByValue<const TDesC>( KText() ), VARIABLE ); \
+            RDebug::Print( KText, VARIABLE ); \
+            } \
+        }
+
+    #ifdef LOG3
+        #undef LOG3
+    #endif
+
+    #define LOG3( LEVEL, TEXT, VARIABLE1, VARIABLE2 ) \
+        { \
+        if ( LEVEL <= LOGGING_LEVEL ) \
+            { \
+            _LIT( KText, TEXT ); \
+            RFileLogger::WriteFormat( \
+                KLogDir, \
+                KLogFile, \
+                EFileLoggingModeAppend, \
+                TRefByValue<const TDesC>( KText() ), VARIABLE1, VARIABLE2 ); \
+            RDebug::Print( KText, VARIABLE1, VARIABLE2 ); \
+            } \
+        }
+
+#else // ENABLE_CBS_LOGGING
+
+    #define LOG( LEVEL, TEXT )
+
+    #define LOG2( LEVEL, TEXT, VARIABLE1 )
+
+    #define LOG3( LEVEL, TEXT, VARIABLE1, VARIABLE2 )
+
+#endif // ENABLE_CBS_LOGGING
+
+#endif // CBSLOG_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/cbsuiconstants.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*     Contains constants which are used in CBSUI application.
+*
+*
+*/
+
+
+#ifndef __CBS_UI_CONSTANTS_H
+#define __CBS_UI_CONSTANTS_H
+
+//  INCLUDES
+
+// CONSTANTS
+const TInt KCbsUiCustomMessageIdInt = 11;
+const TUid KCbsUiCustomMessageId = { KCbsUiCustomMessageIdInt };
+                                    // When message view is launched by other
+                                    // application its message id is 0, this 
+                                    // just has to differ from the other 
+                                    // applications message id.
+
+// When view is launched with this id it knows to set the focus to id, 
+// which is passed as parameter to DoActivateL.
+const TUid KSetFocusToId = { 12 };
+
+// activates view to its current id.
+const TUid KSetFocusToCurrentId = { 13 };
+
+// How many digits there are in topic number
+const TInt KTopicNumberWidth = 3; //EMaxTopicNumberLength; 
+
+const TInt KNumberOfTemporaryMessages = 3;
+
+// Error value used in Cbs ui.
+const TInt KCbsErrValue = -1;
+
+// This kind of topic number cannot exists
+const TInt KCbsInvalidTopicNumber = 22000;
+
+// Max message title length
+const TInt KMaxMessageTitleLength = 40;
+
+// Max topic name length
+const TInt KMaxTopicNameLength = 80;
+
+// DATA TYPES
+enum { EMinTopicNumber = 0, EMaxTopicNumber = 999 };
+
+enum TCbsUiLanguageSelectionIndex
+    { 
+    ECbsUiAll = 0, 
+    ECbsUiSelected = 1, 
+    ECbsUiOther = 2
+    };
+
+// for activating topic view with right state
+struct TCbsUiTopicActivationPckg
+    {
+    // current topic number
+    TCbsTopicNumber iTopicNumber;
+
+    // current message handle
+    TCbsMessageHandle iMessageHandle;
+    };
+
+#endif      // __CBS_UI_CONSTANTS_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/cbsuidebug.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*    Provides macros for testing.
+*
+*
+*/
+
+
+#ifndef CBSUIDEBUG_H
+#define CBSUIDEBUG_H
+
+
+////////////////////////////
+// MEMORY TEST MACRO     //
+
+
+#ifdef _DEBUG
+#define _CBSUI_DEBUG
+#endif // _DEBUG
+
+#ifdef _CBSUI_DEBUG
+    #define _CBSUI_ASSERT(condition, function) \
+            _ASSERT_DEBUG(condition, function)
+    #define _CBSUI_ASSERT_E(condition, error) \
+            _ASSERT_DEBUG(condition, CbsUiPanic(error) )
+#else
+    #define _CBSUI_ASSERT(condition, function)
+    #define _CBSUI_ASSERT_E(condition, error)
+#endif //_CBSUI_DEBUG
+
+
+#endif // CBSUIDEBUG_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/cbsuimainwindow.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef CBSUIMAINWINDOW_H
+#define CBSUIMAINWINDOW_H
+
+#include <hbmainwindow.h>
+
+class HbMainWindow;
+class MCbs;
+class CbsUiViewManager;
+
+class CbsUiMainWindow : public HbMainWindow 
+{
+public:
+    CbsUiMainWindow();
+    virtual ~CbsUiMainWindow();
+
+private:
+    /*
+     * Own
+     */
+    MCbs *mServer;
+    /*
+     * Own
+     */    
+    CbsUiViewManager *mViewManager;
+};
+
+#endif /* CBSUIMAINWINDOW_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/cbsuitopiclistview.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,301 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef CBSUITOPICLISTVIEW_H
+#define CBSUITOPICLISTVIEW_H
+
+#include <hbview.h>
+#include <CbsCommon.h>
+#include <CbsCommonTypes.h>
+
+#include "mcbsuitopicmonitorobserver.h"
+
+// CONSTANTS  
+const TInt KNumberOfStandardTopics = 17; //TODO what's this
+
+class HbListWidget;
+class HbAction;
+class CCbsUiTopicListMonitor;
+class CbsUiViewManager;
+class MCbs;
+class HbInputDialog;
+class HbListWidgetItem;
+class QPointF;
+
+typedef CArrayFixFlat< TCbsTopicNumber > TCbsUiTopicNumberList;
+
+class CbsUiTopicListView: public HbView,
+                          public MCbsUiTopicMonitorObserver
+{
+    Q_OBJECT
+public:
+    /**
+     * Constructor
+     */
+    CbsUiTopicListView();
+
+    /**
+     * Destructor
+     */
+    ~CbsUiTopicListView();
+
+    /**
+    * Init.
+    *
+    * @param server MCbs reference from CbsUiMainWindow
+    * @param viewManager CbsUiViewManager reference from CbsUiMainWindow
+    */    
+    void init(MCbs &server, CbsUiViewManager &viewManager);
+
+public: // from  MCbsUiTopicMonitorObserver
+    /**
+    * Topic list or topic messages are changed.
+    *
+    * @param aEvent reason for event
+    * @param aTopicNumber Topic number, which caused the event
+    */
+    virtual void TopicListChangedL(TCbsTopicListEvent aEvent, 
+                                   TCbsTopicNumber aTopicNumber);
+
+private slots:
+
+    /**
+     * Connect with left toolbar
+     */
+    void toggleReception();
+
+    /**
+     * Connect with popup menu hotmark action
+     */
+    void toggleHotmark();
+
+    /**
+     * Connect with popup menu Subscription action
+     */
+    void toggleSubscription();
+
+    /**
+     * Connect with add topic toolbar
+     */
+    void addTopic();
+
+    /**
+     * Connect with popup menu delete action
+     */
+    void deleteTopic();
+
+    /**
+     * Connect with popup menu edit action
+     */
+    void editTopic();
+
+    /**
+     * Connect with short press
+     * 
+     * @param item selection item
+     */
+    void showTopicSelectionView(HbListWidgetItem *item);
+
+    /**
+     * showTopicView
+     * 
+     * @param item selection item
+     */
+    void showTopicView(HbListWidgetItem *item);
+
+    /**
+     * showTopicIndexMenu(000)
+     * 
+     * @param item selection item
+     * @param coords availalbe menu show position
+     */
+    void showTopicIndexMenu(HbListWidgetItem *item, QPointF coords);
+
+    /**
+     * ShowTopicsMenu(1-999)
+     * 
+     * @param item selection item
+     * @param coords availalbe menu show position
+     */
+    void showTopicsMenu(HbListWidgetItem *item, QPointF coords);
+
+    /**
+     * Connect with add / edit popup dialog to en/dis able OK button
+     */
+    void updateQueryAction(QString text);
+
+private:
+
+    /**
+     * createComponents
+     */
+    void createComponents();
+
+    /**
+     * Reload topic index data and update topic index widget. (000)
+     */
+    void reloadTopicIndex();
+
+    /**
+     * Reload topics data and update topics widget (1-999)
+     */
+    void reloadTopics();
+
+    /**
+     * Update given item
+     * 
+     * @param item selection item
+     * @param topic selection topic
+     */
+    void updateItem(HbListWidgetItem &item, const TCbsTopic &topic);
+
+    /**
+     * UpdateItemIcon
+     * 
+     * @param item selection item
+     * @param topic selection topic
+     */
+    void updateItemIcon(HbListWidgetItem &item, const TCbsTopic &topic);
+
+    /**
+     * updateItemText
+     * 
+     * @param item selection item
+     * @param topic selection topic
+     */
+    void updateItemText(HbListWidgetItem &item, const TCbsTopic &topic);
+
+    /**
+     * Update current item by mTopicRow
+     * 
+     * @param topic selection topic
+     */
+    void updateCurrentItem(const TCbsTopic &topic);
+
+    /**
+     * UpdateCurrentItemIcon, (un)subcribe and (un)hotmark
+     * 
+     * @param topic selection topic
+     */
+    void updateCurrentItemIcon(const TCbsTopic &topic);
+
+    /**
+     * UpdateCurrentItemText
+     * 
+     * @param topic selection topic
+     */
+    void updateCurrentItemText(const TCbsTopic &topic);
+
+    /**
+     * ShowPopupMenu
+     * 
+     * @param topic selection topic
+     * @param coords availalbe menu show position
+     */
+    void showPopupMenu(const TCbsTopic &topic, QPointF coords);
+
+    /**
+     * Show current topic query dialog
+     * (edit/add current topic number or name)
+     *    
+     * @param topic selection topic
+     * @param isAddTopic check if add or edit mode
+     */
+    bool showTopicQuery(TCbsTopic &topic, const bool isAddTopic);
+
+    /**
+     * Show topic number in use popup when edit topic
+     */
+    void showNumberInUsePopup();
+
+private: // Data
+    /**
+     * Not own, from CbsUiMainWindow
+     */
+    MCbs *mServer;
+    /**
+     * Not own, from CbsUiMainWindow
+     */
+    CbsUiViewManager *mViewManager;
+    
+    int mTopicRow; 
+
+    /**
+     * Not own, load from docml
+     */
+    HbListWidget *mTopicIndexWidget;
+
+    /**
+     * Not own, load from docml
+     */
+    HbListWidget *mTopicsWidget;
+
+    /**
+     * Not own, load from docml
+     */
+    HbAction *mReceptionButton;
+
+    /**
+     * Not own, load from docml
+     */
+    HbAction *mOpenAction;
+
+    /**
+     * Not own, load from docml
+     */
+    HbAction *mSubscibeAction;
+
+    /**
+     * Not own, load from docml
+     */
+    HbAction *mUnSubscibeAction;
+
+    /**
+     * Not own, load from docml
+     */
+    HbAction *mHotmarkAction;
+
+    /**
+     * Not own, load from docml
+     */
+    HbAction *mUnHotmarkAction;
+
+    /**
+     * Not own, load from docml
+     */
+    HbAction *mEditAction;
+
+    /**
+     * Not own, load from docml
+     */
+    HbAction *mDeleteAction;    
+    
+    //Monitors changes in topic list (Symbian).
+    CCbsUiTopicListMonitor *mMonitor;
+
+    /**
+     * Own, for add / edit topic
+     */
+    HbInputDialog *mTopicQuery;
+
+    /**
+     * Own
+     */
+    TCbsUiTopicNumberList *mTopicNumberList;
+};
+
+#endif // CBSUITOPICLISTVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/cbsuitopicview.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef CBSUITOPICVIEW_H
+#define CBSUITOPICVIEW_H
+
+#include <hbview.h>
+#include <hbaction.h>
+#include <CbsCommonTypes.h>
+#include "mcbsuitopicmonitorobserver.h"
+
+class HbListWidget;
+class MCbs;
+class CbsUiViewManager;
+
+class CbsUiTopicView : public HbView,
+                       public MCbsUiTopicMonitorObserver
+{
+    Q_OBJECT
+
+public:
+
+    /**
+     * Constructor
+     */
+    CbsUiTopicView();
+ 
+     /**
+     * Destructor
+     */
+    ~CbsUiTopicView();
+
+     /**
+     * Constructor
+     * @param server The handler of connecting to Cbs server.
+     * @param viewManager  CbsUiViewManager.
+     */
+    void init(MCbs &server, CbsUiViewManager &viewManager);
+    
+public: // From MCbsUiTopicMonitorObserver 
+    /**
+    * Topic list or topic messages are changed.
+    *
+    * @param aEvent reason for event
+    * @param aTopicNumber Topic number, which caused the event
+    */    
+    virtual void TopicListChangedL(TCbsTopicListEvent aEvent, 
+                                    TCbsTopicNumber aTopicNumber);
+
+    /**
+    * Reload Messages
+    *
+    * @param topicNumber topic number
+    */                                        
+    void reloadMessages(TCbsTopicNumber topicNumber);
+    
+private:
+    /**
+    * It defines the type for message handle lists.
+    */
+    //typedef CArrayFixFlat< TCbsMessageHandle > TCbsUiMessageHandleList; 
+    
+    void createComponents();    
+    void addMessage(const TCbsMessage &message, const QString &msgName);
+    
+private: // Data
+    // Not own
+    MCbs *mServer;
+    
+    // Not own
+    CbsUiViewManager *mViewManager;
+    
+    // Own
+    HbListWidget *mTopic;
+    
+    //TCbsUiMessageHandleList* mMsgHandles;
+    TCbsTopicNumber mCurrentTopicNumber;
+   
+    // Previous Message(not own)
+    HbAction *mPrevious;
+
+    //Previous Message(not own)
+    HbAction *mBack;  
+};
+
+#endif // CBSUITOPICVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/cbsuiutility.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,107 @@
+/*
+* 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:
+*    Provides different utility functions for CBSUI.
+*
+*/
+
+
+#ifndef CBSUIUTILITY_H
+#define CBSUIUTILITY_H
+
+//  INCLUDES
+
+// FORWARD DECLARATIONS
+class MSaveMessageController;
+class MCbs;
+
+
+// CLASS DECLARATION
+
+/**
+* Offers utility functions for CBSUI.
+*
+*/
+class CbsUiUtility
+    {
+
+    public: // New functions
+        
+        /**
+        * Shows confirmation note with text accordingly to aResourceId.
+        *
+        * @param aResourceId resource id
+        * @param aWaitingDialog if ETrue dialog waits before continues
+        */
+        LOCAL_C void ShowConfirmationNoteL(
+            const TInt aResourceId, TBool aWaitingDialog = EFalse );
+
+        /**
+        * Shows error note with text accordingly to aResourceId.
+        *
+        * @param aResourceId resource id
+        */
+        LOCAL_C void ShowErrorNoteL( const TInt aResourceId );
+
+        /**
+        * Shows warning note with text accordingly to aResourceId.
+        *
+        * @param aResourceId resource id
+        */
+        LOCAL_C void ShowWarningNoteL( const TInt aResourceId );
+
+        /**
+        * Shows a note accordingly to parameters.
+        * 
+        * @param aResource note resource id
+        * @param aTimeout duration
+        * @param aTone sound
+        */
+        /*LOCAL_C void ShowNoteL( const TInt aResource, 
+                                const CAknNoteDialog::TTimeout aTimeout,
+                                const CAknNoteDialog::TTone aTone );*/
+
+        /**
+        * Returns a new navigation pane. Remember to delete a memory area!
+        *
+        * @return new empty decorated label
+        */
+        //LOCAL_C CAknNavigationDecorator* CreateEmptyNavigationPaneL();
+
+        /**
+        * Returns ETrue if message is saved
+        *
+        * @param aHandle message to be checked
+        * @param aServer is needed to get information
+        * @return ETrue if current message is saved
+        */
+        LOCAL_C TBool IsSavedL( const TCbsMessageHandle aHandle, MCbs& aServer );
+
+        /**
+        * Saves the message and shows a error message in case
+        * something went wrong.
+        *
+        * @param aHandle message to be saved
+        * @param aSaver saves the message and shows global error note if needed
+        * @return Error code
+        */
+        LOCAL_C TInt SaveCurrentMessageL(
+            const TCbsMessageHandle aHandle, 
+            MSaveMessageController& aSaver );
+
+    };
+
+#endif      // CBSUIUTILITY_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/cbsuiviewmanager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef CBSUIVIEWMANAGER_H
+#define CBSUIVIEWMANAGER_H
+
+#include <QObject>
+#include <CbsCommonTypes.h>
+#include <hbdocumentloader.h>
+
+class HbMainWindow;
+class MCbs;
+class CCbsUiTopicListMonitor;
+class CbsUiTopicListView;
+class CbsUiTopicView;
+class HbAction;
+
+
+// Here we create custom document loader to be able to use own classes in XML.
+class CbsUiDocumentLoader : public HbDocumentLoader
+{
+public:
+    virtual QObject *createObject(const QString &type, const QString &name);
+};
+
+class CbsUiViewManager : public QObject
+{
+    Q_OBJECT
+public:
+
+    /**
+     * Constructor
+     * 
+     * @param window The mainwindow of qt mode.
+     * @param server  The handler of connecting to Cbs server.
+     */
+    CbsUiViewManager(HbMainWindow *window, MCbs &server);
+ 
+    /**
+     * Destructor
+     */
+    ~CbsUiViewManager();
+
+     /**
+     * Get handler of CbsUiDocumentLoader
+     * 
+     * @return The handler of CbsUiDocumentLoader.
+     */
+    CbsUiDocumentLoader* xmlLoader() { return mLoader; };
+
+public slots:
+
+    /**
+     * Activate the currenct view as Topic view
+     * 
+     * @param topicNumber The currenct topic number.
+     */
+    void activateTopicView(TCbsTopicNumber topicNumber);
+
+     /**
+     * Activate the currenct view as Topic list view
+     */
+    void activateMainView();
+
+private:
+
+    /**
+     * Not Own, from CbsUiMainWindow
+     */
+    HbMainWindow *mMainWindow;
+	
+    /**
+     * Own
+     */
+    CCbsUiTopicListMonitor *mTopicMonitor;
+
+	/**
+     * Not own, reference of MCbs
+     */
+    MCbs &mServer;	
+
+    /**
+     * Own but don't delete. Deleted via mObjects
+     */
+    CbsUiTopicListView *mTopicListView;
+	
+    /**
+     * Own but don't delete. Deleted via mObjects
+     */
+    CbsUiTopicView *mTopicView;
+
+    /**
+     * Own
+     */
+    CbsUiDocumentLoader *mLoader;
+
+    /**
+     * objects load from XML. Needs to be deleted once application exits
+     */
+    QList<QObject *> mObjects;
+
+    /**
+     * Own but don't delete. Deleted via mObjects
+     */
+    HbAction *mSoftKeyBackAction;
+
+    /**
+     * Own but don't delete. Deleted via mObjects
+     */
+    HbAction *mSoftKeyExitAction;
+
+};
+
+#endif          // CBSUIVIEWMANAGER_H
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/ccbsuisettingsmonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef     CCBSUISETTINGSMONITOR_H
+#define     CCBSUISETTINGSMONITOR_H
+
+//  INCLUDES
+#include <E32BASE.H>
+#include <cbscommon.h>
+ 
+//  FORWARD DECLARATIONS
+class MCbs;
+class CCbsUiappAppUi;
+class MCbsUiSettingsObserver;
+
+//  CLASS DEFINITIONS 
+
+
+/**
+* Server notifies this class if settings are changed.
+* 
+*/
+class CCbsUiSettingsMonitor : public CActive
+    {
+    public:     // New functions
+        /**
+        * Create an instance of the class. 
+        *
+        * @param aServer cbs server
+        * @param aObserver settings observer
+        */
+        static CCbsUiSettingsMonitor* NewL(
+            MCbs& aServer , MCbsUiSettingsObserver& aObserver );
+
+        /**
+        * Destructor.
+        */
+        ~CCbsUiSettingsMonitor();
+
+    public: // From CActive
+        
+        /**
+        * It is called when server notifies.
+        */
+        void RunL();
+
+        /**
+        * Cancels the request.
+        */
+        void DoCancel();
+
+    private: // New functions
+
+        /**
+        * Issues the request..
+        */
+        void IssueRequest();
+
+    private:
+
+        /**
+        * Constructor.
+        *
+        * @param aServer cbs server
+        */
+        CCbsUiSettingsMonitor( 
+            MCbs& aServer, MCbsUiSettingsObserver& aObserver );
+
+        /**
+        * Finalizes the construction.
+        */
+        void ConstructL();
+
+    private: // Data
+
+        // ETrue if request is continued.
+        TBool iContinue;
+        
+        // Server subsession for settings        
+        MCbs& iServer;
+
+        // Event which is registered to server
+        TCbsSettingsEvent iEvent;
+
+        // Observer who is interested about settings changes.       
+        MCbsUiSettingsObserver& iObserver;
+    };
+
+#endif      //  CCBSUISETTINGSMONITOR_H
+  
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/ccbsuitopiclistmonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef  CCBSUITOPICLISTMONITOR_H
+#define  CCBSUITOPICLISTMONITOR_H
+
+// INCLUDES
+#include <e32base.h>
+#include <CbsCommon.h>
+
+ 
+//  FORWARD DECLARATIONS
+class MCbs;
+class MCbsUiTopicMonitorObserver;
+
+//  CLASS DEFINITIONS 
+
+
+/**
+*  Monitors topic related events.  
+*/
+class CCbsUiTopicListMonitor : public CActive
+    {
+    public: // New functions
+
+        /**
+        * Create an instance of the class. 
+        *
+        * @param aServer cbs server
+        */
+        static CCbsUiTopicListMonitor* NewL( MCbs& aServer );
+
+        /**
+        * Destructor.
+        */
+        ~CCbsUiTopicListMonitor();
+
+        /**
+        * Issues the request.
+        */
+        void IssueRequest();
+
+    public: // From CActive
+        
+        /**
+        * It is called when server notifies.
+        */
+        void RunL();
+
+        /**
+        * Cancels the request.
+        */
+        void DoCancel();
+
+    public: // New functions
+
+        /**
+        * Adds a observer to this monitor.
+        *
+        * @param aObserver Observer to be added.
+        */
+        void AddObserverL( MCbsUiTopicMonitorObserver* aObserver );
+
+    private:
+
+        typedef CArrayFixFlat<MCbsUiTopicMonitorObserver*>
+            TCbsUiMonitorObservers;
+
+        /**
+        * Constructor.
+        *
+        * @param aServer cbs server
+        */
+        CCbsUiTopicListMonitor( MCbs& aServer );
+
+        /**
+        * Finalizes the construction.
+        */
+        void ConstructL();
+
+    private: // Data
+
+        // ETrue if request is active.
+        TBool iContinue;
+
+        // To issue the request.
+        MCbs& iServer;
+
+        // Observers who are interested in topic changes.
+        // Monitor doesn't own the observers.
+        TCbsUiMonitorObservers* iObservers;
+
+        // Which topic handle the event is conserning.
+        TCbsTopicNumber iTopicNumber;
+
+        // What kind of event has been.
+        TCbsTopicListEvent iEvent;
+    };
+
+#endif      //  CCBSUITOPICLISTMONITOR_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/mcbs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,557 @@
+/*
+* 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:
+*    Interface for cbs client.
+*
+*/
+
+
+#ifndef MCBS_H
+#define MCBS_H
+
+// INCLUDES
+#include <CbsCommon.h>
+
+/**
+* Interface MCbs is used to change real client server
+* connection to some test stub implementation.
+*/
+class MCbs
+    {
+    public:
+        
+        /**
+        * Destructor.
+        */
+        virtual ~MCbs() {}
+        
+        /**
+        *   Creates connection to the server.
+        *
+        *   Note that the method must be called before calling any other 
+        *   methods. The method returns an error code and, therefore, 
+        *   the caller is responsible of checking that everything went just 
+        *   fine.
+        *
+        *   @return                 Error code.
+        */
+        virtual TInt Connect() = 0;
+        
+        /**
+        *   Closes the session to the server.
+        */
+        virtual void Close() = 0;
+        
+        /**
+        *   Returns the version of CbsClient.
+        *
+        *   CbsServer and CbsClient must be of same version.
+        *
+        *   @return                 Returns the version of CbsClient.
+        */
+        virtual TVersion Version() const = 0;
+        
+        // === Settings-related methods
+        
+        /**
+        *   Returns the reception status in aStatus, which is ETrue if the reception is
+        *   on. Otherwise it is EFalse.
+        *
+        *   @param  aStatus     The method returns the reception status in this parameter.
+        */
+        virtual void GetReceptionStatus( TBool& aStatus ) = 0;
+        
+        /**
+        *   Changes the reception status to aStatus.
+        *
+        *   @param  aStatus     It contains the new reception status.
+        *   @return             Error code.
+        */
+        virtual TInt SetReceptionStatus( TBool aStatus ) = 0;
+        
+        /**
+        *   Returns the topic detection status in aStatus, which is ETrue if the detection
+        *   is on. Otherwise it is EFalse.
+        *
+        *   @param  aStatus     The method returns the topic detection status in this parameter.
+        */
+        virtual void GetTopicDetectionStatus( TBool& aStatus ) = 0;
+        
+        /**
+        *   Changes the topic detection status to aStatus.
+        *
+        *   @param  aStatus     It contains the new topic detection status.
+        *   @return             Error code.
+        */
+        virtual TInt SetTopicDetectionStatus( TBool aStatus ) = 0;
+        
+        /**
+        *   Returns the preferred languages in aLanguages.
+        *
+        *   @param aLanguages   The method returns the languages in this parameter.
+        */
+        virtual void GetLanguages( TCbsSettingsLanguages& aLanguages ) = 0;
+        
+        /**
+        *   Changes the preferred languages to aLanguages.
+        *
+        *   @param aLanguages   It contains the new preferred languages.
+        *   @return             Error code.
+        */
+        virtual TInt SetLanguages( const TCbsSettingsLanguages& aLanguages ) = 0;
+        
+        /**
+        *   Requests the server to notify the client whenever any settings will be 
+        *   changed.
+        *
+        *   Note that for each subsession only one this kind of request can be pending. Each
+        *   client is responsible of assuring this.
+        *
+        *   @param  aStatus     It is the variable that the server will modify whenever an event occurs.
+        *   @param  aEvent      The server will store the type of occurred event to this variable.
+        */
+        virtual void NotifySettingsChanged( TRequestStatus& aStatus, TCbsSettingsEvent& aEvent ) = 0;
+        
+        /**
+        *   Cancels the request to notify the client.
+        */
+        virtual void NotifySettingsChangedCancel() = 0;
+        
+        //  === Topic Collection-related methods
+        
+        /**
+        *   Resets the iterator. Must be called prior any call to HasNextTopic() 
+        *   or NextTopic()!
+        */
+        virtual void StartCollectionBrowsing() = 0;
+        
+        /**
+        *   Returns ETrue, if there is a topic not accessed with NextTopic()
+        *    
+        *   @return     ETrue, if there is a topic. EFalse if the end of the collection
+        *               has been reached.
+        */
+        virtual TBool HasNextCollectionTopic() = 0;                            
+        
+        /**
+        *   Returns the next topic in the topic collection skipping all topics with 
+        *   a topic number matching a topic already listed in the current topic list.
+        *   This function will return KErrNotFound if the collection is tried to 
+        *   access beyond the end of the list. Otherwise the error code will be 
+        *   the same returned by GetTopicInfo().
+        *
+        *   @param aInfo        The topic information will be stored here.
+        *   @return             The error code. KErrNotFound if there are no topics left.
+        */
+        virtual TInt NextCollectionTopic( TCbsTopicInfo& aInfo ) = 0;
+        
+        //  === Topic list-related methods
+        
+        /**
+        *   Returns the total amount of topics the topic list contains.
+        *
+        *   @param aCount       It will contain the total amount of topics.
+        */
+        virtual void GetTopicCount( TInt& aCount ) = 0;
+        
+        /**
+        *   Returns information about a topic from the topic list.
+        *
+        *   Return values:
+        *   KErrArgument        Topic was not found.
+        *    
+        *   Rest of return values indicate a file error.
+        *
+        *   @param aIndex       It is the index to the topic.
+        *   @param aTopic       It will contain the topic information.
+        *   @return             Error code.
+        */
+        virtual TInt GetTopic( const TInt aIndex, TCbsTopic& aTopic ) = 0;
+        
+        /**
+        *   Finds the topic by the given number.
+        *
+        *   Return values:
+        *   KErrNone            Topic returned in parameter aTopic.
+        *   KErrNotFound        Topic was not found.
+        *
+        *   @param aNumber      Number of the topic
+        *   @param aTopic       Return: contains the topic information
+        *   @return             Error code
+        */
+        virtual TInt FindTopicByNumber( TCbsTopicNumber aNumber,
+            TCbsTopic& aTopic ) = 0;
+        
+            /** 
+            *   Deletes an existing topic.
+            *
+            *   @param  aNumber         Number of the topic to be deleted
+            *   @return                 Error code
+        */
+        virtual TInt DeleteTopic( TCbsTopicNumber aNumber ) = 0;
+        
+        /**
+        *   Delete all topics.
+        *
+        *   @return             Error code.
+        */
+        virtual TInt DeleteAllTopics() = 0;
+        
+        /**
+        *   Adds a new topic. The handle assigned to the topic will be returned
+        *   in aTopic.
+        *
+        *   Return values:
+        *   KErrNone            Topic was successfully added.
+        *   KErrAlreadyExists   A topic of the same number already exists in DB
+        *   KErrArgument        Topic number given was not in a proper range.
+        *   KErrDiskFull        Topic not added - FFS out of space
+        *
+        *   Note that the number of the new topic must be unused.
+        *
+        *   @param aTopic       Contains the information of the new topic.
+        *                       On return, aTopic also contains the topic 
+        *                       handle.
+        *   @return             Error code.
+        */
+        virtual TInt AddTopic( TCbsTopic& aTopic ) = 0;
+        
+        /**
+        *   Changes the name and number of the existing topic.
+        *
+        *   Note that the changing fails in case there is another topic with
+        *   the new topic number. It also fails if the topic is protected.
+        *
+        *   Return values:
+        *   KErrNone            Topic name and number successfully changed.
+        *   KErrDiskFull        Topic information not changed - FFS out of space
+        *
+        *   @param  aOldNumber      Number of the topic to be changed
+        *   @param  aNewNumber      Number to be given for the topic
+        *   @param  aName           Name to be given for the topic
+        *   @return                 Error code
+        */  
+        virtual TInt ChangeTopicNameAndNumber( 
+            TCbsTopicNumber aOldNumber,
+            TCbsTopicNumber aNewNumber, 
+            const TCbsTopicName& aName ) = 0;
+        
+        /**
+        *   Changes topic subscription status.
+        *
+        *   @param  aNumber         Number of the topic
+        *   @param  aNewStatus      New subscription status
+        *   @return                 Error code
+        */
+        virtual TInt ChangeTopicSubscriptionStatus( 
+            TCbsTopicNumber aNumber, TBool aNewStatus ) = 0;
+        
+        /**
+        *   Changes topic hotmark status.
+        *
+        *   @param  aNumber         Number of the topic
+        *   @param  aNewStatus      New hotmark status
+        *   @return                 Error code
+        */
+        virtual TInt ChangeTopicHotmarkStatus( TCbsTopicNumber aNumber,
+            TBool aNewStatus ) = 0;
+        
+        /**
+        *   Requests the server to notify the client whenever an event occurs 
+        *   that changes the information of the topics. 
+        *   
+        *   Note that the client may select what kind of events it is 
+        *   interested in. Note also that there can be at most one pending
+        *   request per instance of the class.
+        *
+        *   @param aStatus      The variable that the server will modify
+        *                       whenever an event occurs.
+        *   @param aRequested   Events the client is interested in
+        *   @param aEvent       Indicates the variable that will contain the
+        *                       type of event that occured.
+        *   @param aNumber      Indicates the variable that will contain the
+        *                       topic number that was changed in event.
+        */
+        virtual void NotifyOnTopicListEvent( 
+            TRequestStatus& aStatus, 
+            const TInt aRequested, 
+            TCbsTopicListEvent& aEvent, 
+            TCbsTopicNumber& aNumber ) = 0;
+        
+        /**
+        *   Cancels the pending notify request.
+        */
+        virtual void NotifyOnTopicListEventCancel() = 0;
+        
+        /**
+        *   Returns the number of topics added since last GetNewTopicsCount()
+        *   by the topic detection feature.
+        *
+        *   @param aCount       It will contain the amount of new topics.
+        *   @return TInt Result code.
+        */
+        virtual TInt GetNewTopicsCount( TInt& aCount ) = 0;
+        
+        /**
+        *   Returns the number of the topic which was last added 
+        *   to topic list.
+        *
+        *   Note: if a topic list cache is maintained by the client
+        *   (as CBS UI application does), this function has to 
+        *   be called BEFORE calling GetTopicCount() and GetTopic() 
+        *   to make sure that no topic is added in between 
+        *   GetTopic() and GetLatestTopicHandle() calls. If this
+        *   happens, GetLatestTopicHandle() will return a handle
+        *   to a topic that is not cached client-side.            
+        *        
+        *   Return codes:
+        *   KErrNone        aNumber is a valid topic number.
+        *   KErrNotFound    No topic added since server start, 
+        *                   aNumber is not valid.
+        *
+        *   @param  aNumber         Returns: number of the topic last added
+        *   @return                 Result code
+        */
+        virtual TInt GetLatestTopicNumber( TCbsTopicNumber& aNumber ) = 0;
+        
+        /**
+        *   Returns the total amount of unread messages.
+        *
+        *   @param  aCount          Return: number of unread messages
+        */
+        virtual void GetUnreadMessageCount( TInt& aCount ) = 0;
+        
+        /**
+        *   Returns the handle to the latest hotmarked message that has been
+        *   received after the system has started up.
+        *   
+        *   @param  aMessage        Handle to the message
+        */
+        virtual void GetHotmarkedMessageHandle( TCbsMessageHandle& aMessage ) = 0;
+        
+        /**
+        *   Returns the number of unread messages in hotmarked topics.
+        *
+        *   This function is to used by the client when deciding whether
+        *   the message or topic list view should be opened to display
+        *   a hotmarked message(s).
+        *
+        *   @return                 Number of unread hotmarked messages
+        */
+        virtual TInt NumberOfUnreadHotmarkedMessages() = 0;
+        
+        /**
+        *   Returns the numbers of topics that precede and succeed the given 
+        *   topic in server-side topic list.
+        *
+        *   If the given topic is the first topic in list, aPosition has 
+        *   ECbsHead bit up. If the given topic is the last topic in list,
+        *   aPosition has ECbsTail bit up.
+        *    
+        *   Return code values:
+        *   KErrNone		aPrevTopicNumber, aNextTopicNumber and aPosition 
+        *		            contain valid values.
+        *   KErrNotFound	aCurrentTopicNumber specified a topic that was not
+        *                   on topic list.
+        *
+        *   @param  aCurrentTopicNumber	    Number that specifies the topic 
+        *                                   whose surroundings are returned
+        *   @param  aPrevTopicNumber		Returns: number of topic preceding 
+        *                                   the given topic
+        *   @param  aNextTopicNumber		Returns: number of topic succeeding
+        *                                   the given topic
+        *   @param  aPosition			    Returns: position of current 
+        *                                   topic in list.
+        *   @return 				        Result code
+        */
+        virtual TInt GetNextAndPrevTopicNumber( 
+            const TCbsTopicNumber& aCurrentTopicNumber,
+            TCbsTopicNumber& aPrevTopicNumber,
+            TCbsTopicNumber& aNextTopicNumber,
+            TInt& aPosition ) = 0;
+        
+        // === Topic Messages-related methods
+        
+        /**
+        *   Returns the total amount of messages the topic contains.    
+        *
+        *   Return codes:
+        *   KErrNotFound            Invalid handle.
+        *   KErrNone                aCount contains the number of messages 
+        *                           in topic
+        *
+        *   @param  aNumber         Number of the topic.
+        *   @param  aCount          Number of messages in given topic.
+        *   @return                 Result code
+        */
+        virtual TInt GetMessageCount( TCbsTopicNumber aNumber,
+            TInt& aCount ) = 0;
+        
+        /**
+        *   Returns message information.
+        *
+        *   Return codes:
+        *   KErrNotFound        Topic or message not found.
+        *   KErrNone            aMessage contains the message information.
+        *
+        *   @param  aNumber     Number of the topic
+        *   @param  aIndex      Index to the message in topic.
+        *   @param  aMessage    Returns: the message information
+        *   @return             Error code
+        */
+        virtual TInt GetMessage( TCbsTopicNumber aNumber, TInt aIndex,
+            TCbsMessage& aMessage ) = 0;
+        
+        /**
+        *   Finds a message by given handle.
+        *
+        *   @param  aHandle     Handle to the message.
+        *   @param  aMessage    Return: contains the message information.
+        *   @return             Error code.
+        */
+        virtual TInt FindMessageByHandle( 
+            const TCbsMessageHandle& aHandle, 
+            TCbsMessage& aMessage ) = 0;
+        
+        /**
+        *   Returns the index of a message with given handle in topic.
+        *
+        *   Result code KErrNotFound indicates that no message was found with
+        *   the given handle.
+        *
+        *   @param  aHandle     Handle of the message
+        *   @param  aIndex      Return: index of the message in message topic
+        *   @return             Result code
+        */
+        virtual TInt GetMessageIndexByHandle( 
+            const TCbsMessageHandle& aHandle, TInt& aIndex ) = 0;
+        
+        /**
+        *   Deletes an existing message.
+        *
+        *   Note that it does not care a lot about the status of the message.
+        *   
+        *   Please check also the description of LockMessage().
+        *
+        *   @param  aHandle     It is handle to the message.
+        *   @return             Error code.
+        */
+        virtual TInt DeleteMessage( const TCbsMessageHandle& aHandle ) = 0;
+        
+        /**
+        *   Saves a message (the saved message won't be deleted to make 
+        *   room for new messages).
+        *
+        *   Return codes:
+        *   KErrNone            Message is saved.
+        *   KErrGeneral         Message not saved -- total maximum of saved 
+        *                       messages reached.
+        *   KErrNotFound        Message not saved -- no message associated
+        *                       with the given handle.
+        *   KErrDiskFull        Message not saved -- FFS out of space.
+        *
+        *   @param  aHandle     Handle to the message to be saved.
+        *   @return             Return code.
+        */
+        virtual TInt SaveMessage( const TCbsMessageHandle& aHandle ) = 0;
+        
+        /**
+        *   Locks the message.
+        *
+        *   Note that a single topic messages subsession can have at most one locked
+        *   message. 
+        *
+        *   Message can be unlocked by trying to lock a null message. Locked message
+        *   will also be automatically unlocked when subsession is closed. If a message
+        *   is locked, then it will not be deleted from the database. Thus, deleting a 
+        *   message or trying to delete a topic that contains such a message will fail.
+        *
+        *   Locking a message does not prevent to save the message nor read the message.
+        *
+        *   @param  aHandle     It is handle to the message to be locked.
+        *   @return             Error code.
+        */
+        virtual TInt LockMessage( const TCbsMessageHandle& aHandle ) = 0;
+        
+        /**
+        *   Sets the message as read.
+        *
+        *   @param  aHandle     It is handle to the message to be set read.
+        */
+        virtual TInt ReadMessage( const TCbsMessageHandle& aHandle ) = 0;
+        
+        /**
+        *   Returns the message contents.
+        *
+        *   @param  aHandle     It is handle to the message.
+        *   @param  aBuffer     It will contain the contents (as much as it fits).
+        *   @return             Error code.
+        */
+        virtual TInt GetMessageContents( 
+            const TCbsMessageHandle& aHandle, 
+            TDes& aBuffer ) = 0;
+        
+        /**
+        *   Returns the handles of messages that precede and succeed the 
+        *   given message in server-side list of topic messages.
+        *
+        *   Topic is resolved from the given message handle
+        *
+        *   If the given handle specifies the first message in topic,
+        *   aPosition has ECbsHead bit up. If the given handle specifies 
+        *   the last message in topic, aPosition has ECbsTail bit up.
+        *    
+        *    Return code values:
+        *    KErrNone       aPrevMsgHandle, aNextMsgHandle and aPosition
+        *                   contain valid values.
+        *    KErrNotFound	aCurrentMsgHandle specified a message that was not
+        *			        found.
+        *
+        *    @param  aCurrentMsgHandle		Handle that specifies the message 
+        *                                   whose surroundings are returned
+        *    @param  aPrevMsgHandle		    Returns: handle of message 
+        *                                   preceding the given message
+        *    @param  aNextMsgHandle		    Returns: handle of message 
+        *                                   succeeding the given topic
+        *    @param  aPosition			    Returns: position of current topic 
+        *                                   in list
+        *    @return 				        Result code
+        */
+        virtual TInt GetNextAndPrevMessageHandle(
+            const TCbsMessageHandle& aCurrentMsgHandle,
+            TCbsMessageHandle& aPrevMsgHandle,
+            TCbsMessageHandle& aNextMsgHandle,
+            TInt& aPosition ) = 0;
+        
+        // Other methods
+        
+        /**
+        *   Returns ETrue if CbsServer session has been established.
+        *
+        *   @return                     ETrue, if session open.
+        */
+        virtual TBool Connected() const = 0;
+        
+        /**
+        *   Forces the server to shut down.
+        *
+        *   NOTE: Shutdown not fully implemented in CbsServer yet.
+        */
+        virtual void Shutdown() const = 0;
+        
+    };
+    
+#endif // MCBS_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/mcbsuisettingsobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*    Observes settings monitor.
+*
+*/
+
+
+#ifndef CBSUISETTINGSOBSERVER_H
+#define CBSUISETTINGSOBSERVER_H
+
+
+
+// CLASS DECLARATION
+
+
+/**
+*  Observes settings monitor.
+*  
+*/
+class MCbsUiSettingsObserver
+    {
+    public:
+
+        /**
+        * Settings monitor calls this function when settings has been
+        * changed.
+        *
+        * @param aEvent What kind of event caused the settings change
+        */
+        virtual void SettingsChangedL( TCbsSettingsEvent aEvent ) = 0;
+
+    };
+
+#endif      // CBSUISETTINGSOBSERVER_H
+ 
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/mcbsuitopicmonitorobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*    Observes topic monitor.
+*
+*/
+
+
+#ifndef CBS_UI_TOPIC_MONITOR_OBSERVER_H
+#define CBS_UI_TOPIC_MONITOR_OBSERVER_H
+
+//  INCLUDES
+#include <CbsCommon.h>
+
+
+
+// CLASS DECLARATION
+
+/**
+* Observes topic monitor.
+*  
+*/
+class MCbsUiTopicMonitorObserver
+    {
+    public:
+
+        /**
+        * Topic list or topic messages are changed.
+        *
+        * @param aEvent reason for event
+        * @param aTopicNumber Topic number, which caused the event
+        */
+        virtual void TopicListChangedL(
+            TCbsTopicListEvent aEvent, TCbsTopicNumber aTopicNumber ) = 0;
+
+    };
+
+#endif      // CBS_UI_TOPIC_MONITOR_OBSERVER_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/msavemessagecontroller.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*    Declares functions needed to save message.
+*
+*/
+
+
+#ifndef MSAVEMESSAGECONTROLLER_H
+#define MSAVEMESSAGECONTROLLER_H
+
+//  INCLUDES
+#include    <CbsCommon.h>
+
+
+
+// CLASS DECLARATION
+
+/**
+* Helper class for saving message.
+*/
+class MSaveMessageController
+    {
+    public: // New functions
+
+        /**
+        *   Saves a message (the saved message won't be deleted to make 
+        *   room for new messages).
+        *
+        *   Return codes:
+        *   KErrNone            Message is saved.
+        *   KErrGeneral         Message not saved -- total maximum of saved 
+        *                       messages reached.
+        *   KErrNotFound        Message not saved -- no message associated
+        *                       with the given handle.
+        *   KErrDiskFull        Message not saved -- FFS out of space.
+        *
+        *   @param  aHandle     Handle to the message to be saved.
+        *   @return             Return code.
+        */
+        virtual TInt SaveMessage( const TCbsMessageHandle& aHandle ) = 0;
+    };
+
+#endif // MSAVEMESSAGECONTROLLER_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/inc/rcbsui.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef RCBSUI_H
+#define RCBSUI_H
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <CbsCommon.h>
+#include <RCbs.h>
+
+#include "mcbs.h"
+
+
+// CLASS DECLARATION
+
+/**
+* Delecates calls to RCbs.
+*/
+class RCbsUi : public MCbs
+    {
+    public: // Constructor and destructor
+
+        /**
+        * Constructor.
+        */
+        RCbsUi();
+       
+        /**
+        * Destructor.
+        */
+        ~RCbsUi();
+        
+    public: // From MCbs
+
+        TInt Connect();        
+        void Close();
+        TVersion Version() const;
+        
+        // === Settings-related methods        
+        void GetReceptionStatus( TBool& aStatus );        
+        TInt SetReceptionStatus( TBool aStatus );        
+        void GetTopicDetectionStatus( TBool& aStatus );        
+        TInt SetTopicDetectionStatus( TBool aStatus );        
+        void GetLanguages( TCbsSettingsLanguages& aLanguages );
+        TInt SetLanguages( const TCbsSettingsLanguages& aLanguages );
+        void NotifySettingsChanged( TRequestStatus& aStatus, TCbsSettingsEvent& aEvent );
+        void NotifySettingsChangedCancel();
+        
+        //  === Topic Collection-related methods        
+        void StartCollectionBrowsing();        
+        TBool HasNextCollectionTopic();                            
+        TInt NextCollectionTopic( TCbsTopicInfo& aInfo );
+        
+        //  === Topic list-related methods        
+        void GetTopicCount( TInt& aCount );
+        TInt GetTopic( const TInt aIndex, TCbsTopic& aTopic );
+        TInt FindTopicByNumber( TCbsTopicNumber aNumber, TCbsTopic& aTopic );
+        TInt DeleteTopic( TCbsTopicNumber aNumber );      
+        TInt DeleteAllTopics();
+        TInt AddTopic( TCbsTopic& aTopic );
+        TInt ChangeTopicNameAndNumber( 
+                TCbsTopicNumber aOldNumber,
+                TCbsTopicNumber aNewNumber, 
+                const TCbsTopicName& aName );
+        TInt ChangeTopicSubscriptionStatus( 
+                TCbsTopicNumber aNumber, TBool aNewStatus );
+        TInt ChangeTopicHotmarkStatus( TCbsTopicNumber aNumber,
+                TBool aNewStatus );
+        void NotifyOnTopicListEvent( 
+                TRequestStatus& aStatus, 
+                const TInt aRequested, 
+                TCbsTopicListEvent& aEvent, 
+                TCbsTopicNumber& aNumber );
+        void NotifyOnTopicListEventCancel();
+        TInt GetNewTopicsCount( TInt& aCount );
+        TInt GetLatestTopicNumber( TCbsTopicNumber& aNumber );
+        void GetUnreadMessageCount( TInt& aCount );
+        void GetHotmarkedMessageHandle( TCbsMessageHandle& aMessage );
+        TInt NumberOfUnreadHotmarkedMessages();
+        TInt GetNextAndPrevTopicNumber( 
+            const TCbsTopicNumber& aCurrentTopicNumber,
+            TCbsTopicNumber& aPrevTopicNumber,
+            TCbsTopicNumber& aNextTopicNumber,
+            TInt& aPosition );
+        
+        // === Topic Messages-related methods       
+        TInt GetMessageCount( TCbsTopicNumber aNumber, TInt& aCount );
+        TInt GetMessage( TCbsTopicNumber aNumber, TInt aIndex,
+                TCbsMessage& aMessage );
+        TInt FindMessageByHandle( 
+                const TCbsMessageHandle& aHandle, 
+                TCbsMessage& aMessage );
+        TInt GetMessageIndexByHandle( 
+                const TCbsMessageHandle& aHandle, TInt& aIndex );
+        TInt DeleteMessage( const TCbsMessageHandle& aHandle );
+        TInt SaveMessage( const TCbsMessageHandle& aHandle );
+        TInt LockMessage( const TCbsMessageHandle& aHandle );
+        TInt ReadMessage( const TCbsMessageHandle& aHandle );
+        TInt GetMessageContents( 
+                const TCbsMessageHandle& aHandle, 
+                TDes& aBuffer );
+        TInt GetNextAndPrevMessageHandle(
+                const TCbsMessageHandle& aCurrentMsgHandle,
+                TCbsMessageHandle& aPrevMsgHandle,
+                TCbsMessageHandle& aNextMsgHandle,
+                TInt& aPosition );
+        
+        // Other methods
+        TBool Connected() const;
+        void Shutdown() const;
+
+    private: // Data
+
+        // Real cbs client
+        RCbs iServer;
+        
+    };
+    
+#endif // RCBSUI_H
+
+// End of file 
--- a/cbs/cbsui/loc/cbsuiapp.loc	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +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 CBS.
-*
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-// d: Text in Delete topic confirmation query
-// l: popup_note_window
-#define qtn_cb_query_delete_topic "Do you want to delete topic?"
-
-// d: Text in Delete topics confirmation query
-// l: popup_note_window
-#define qtn_cb_query_delete_all_topic "Do you want to delete all topics?"
-
-// d: Mememory full error note
-// d: is shown to the user when the amount of the kept messages exceeds the reserved amount
-// l: popup_note_window
-#define qtn_cb_note_mem_full_del_msg  "Reserved space is full. Delete messages before keeping more!"
-
-// d: Title pane text, in topic list view
-// l: title_pane_t2/opt12
-#define qtn_cb_title_cbs			"CBS"
-
-// d: Caption string for AIF file (short)
-// l: cell_app_pane_t1
-//
-#define qtn_cb_title_grid                	"CBS"
-
-// d: Title pane text, in add topic from index view
-// l: title_pane_t2/opt12
-#define qtn_cb_title_addtopics      		"Add Topics"
-
-// d: Navi pane text, in add topic from index view
-// l: navi_text_pane_t1
-#define qtn_cb_ad_sel_top			"Select topics (help hints)"
-
-// d: Navi Pane text, used in topic list view
-// l: navi_text_pane_t1
-#define qtn_cb_tl_one_new_message 		"One new message"
-
-// d: Navi Pane text, used in topic list view
-// l: navi_text_pane_t1
-#define qtn_cb_tl_no_new_messages   		"No new messages"
-
-// d: Navi Pane text, used in topic list view
-// d: There are %N - new messages
-// l: navi_text_pane_t1
-#define qtn_cb_tl_new_messages			"%N new messages"
-
-// d: Command in options menu in CBS. 
-// d: Opens currently selected item.
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_open				"Open"
-
-// d: Command in options menu in CBS. Topic list view
-// d: Subscribes selected topic
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_subscribe			"Subscribe"
-
-// d: Command in options menu in CBS. Topic list view
-// d: UnSubscribes selected topic
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_unsubscribe			"UnSubscribe"
-
-// d: Command in options menu in CBS. Topic list view
-// d: Hotmarks selected topic
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_hotmark			"Hotmark"
-
-// d: Command in options menu in CBS. Topic list view
-// d: UnHotmarks selected topic
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_unhotmark			"Unhotmark"
-
-// d: Command in options menu in CBS. TopicListView
-// d: Opens settings view
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_settings			"Settings"
-
-// d: Command in options list in CBS view msg. topic view
-// d: Saves message. 
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_keep_topic			"Keep"
-
-// d: Command in options list in CBS view msg. topic view
-// d: Deletes message. 
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_del_msg			"Delete"
-
-// d: Command in options list in CBS message view.
-// d: show find item sub menu
-// l: list_single_pane_t1_cp2
-//#define qtn_find_item				"Find Item"
-
-// d: Command in options list in CBS message view.
-// d: Copies the message to clipboard.
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_copy_clip			"Copy to clipboard"
-
-// d: Command in options list in CBS.  
-// d: Closes cbs application. 
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_exit 			"Exit"
-
-// d: Command in options menu in CBS. Topic list view
-// d: Opens "topic" submenu
-// l: list_single_pane_t1_cp2/opt3
-#define qtn_cb_cmd_topic			"Topic"
-
-// d: Command in qtn_cb_cmd_topic sub menu in CBS. Topic List view
-// d: Opens dialog for manual topic adding 
-// l: list_single_popup_submenu_pane_t1
-#define qtn_cb_topic_add_man			"Add manually"
-
-// d: Command in qtn_cb_cmd_topic sub menu in CBS. Topic List view
-// d: Opens dialog for adding topic from index.
-// l: list_single_popup_submenu_pane_t1
-#define qtn_cb_topic_add_f_index		"Add from index"
-
-// d: Command in qtn_cb_cmd_topic sub menu in CBS. Topic List view
-// d: Opens dialog for editing topic.
-// l: list_single_popup_submenu_pane_t1
-#define qtn_cb_topic_edit			"Edit"
-
-// d: Command in qtn_cb_cmd_topic sub menu in CBS. Topic List view
-// d: Deletes selected topic.
-// l: list_single_popup_submenu_pane_t1
-#define qtn_cb_topic_delete			"Delete"
-
-// d: Command in qtn_cb_cmd_topic sub menu in CBS. Topic List view
-// d: Deletes all topics.
-// l: list_single_popup_submenu_pane_t1
-#define qtn_cb_topic_delete_all			"Delete all"
-
-// d: Command in options menu in CBS. topic view
-// d: Opens currently selected Message.
-// l: list_single_pane_t1_cp2
-#define qtn_cb_cmd_msg_open			"Open"
-
-// d: Defines whether cell broadcasts are received or not.
-// d: This is shown in the Settings view.
-// l: list_setting_pane_t1
-#define qtn_mce_settings_cb_reception		"Reception"
-
-// d: Defines language(s) of received messages.
-// d: This is shown in the Settings view.
-// l: list_setting_pane_t1
-#define qtn_mce_settings_cb_language		"Language"
-
-// d: Defines if all messages are received (Off) or only wanted ones (On).
-// d: This is shown in the Settings view.
-// l: list_setting_pane_t1
-#define qtn_mce_settings_cb_topic		"Topic detection"
-
-// d: Value of reception.
-// d: This is shown in the Settings view.
-// l: list_set_graphic_pane_t1
-#define qtn_mce_settings_cb_re_on		"On"
-
-// d: Value of reception.
-// d: This is shown in the Settings view.
-// l: list_set_graphic_pane_t1
-#define qtn_mce_settings_cb_re_off		"Off"
-
-// d: Value of topic detection.
-// d: This is shown in the Settings view.
-// l: list_set_graphic_pane_t1
-#define qtn_mce_settings_cb_topic_detection_on	"On"
-
-// d: Value of topic detection.
-// d: This is shown in the Settings view.
-// l: list_set_graphic_pane_t1
-#define qtn_mce_settings_cb_topic_detection_off	"Off"
-
-// d: One new topic added confirmation note 
-// l: popup_note_window
-#define qtn_cb_note_new_to_added		"New topic added!"
-
-// d: N new topic added confirmation note 
-// l: popup_note_window
-#define qtn_cb_note_new_tos_added		"%N New topics added!"
-
-// d: Name field in the edit topic query
-// l: popup_query_data_code_window/opt2
-#define qtn_cb_litext_name			"Name"
-
-// d: Number field in the edit topic query
-// l: popup_query_data_code_window/opt2
-#define qtn_cb_litext_number			"Number"
-
-// d: An error note text, which is shown if the user adds
-// d: an already existing number.
-// l: popup_note_window 
-#define qtn_cb_note_change_number		"The topic number is already in use. Enter another number"
-
-// d: Information note to the user when he has copied the CBS message to
-// d: clipboard.
-// l: popup_note_window
-#define qtn_cb_note_msg_to_clip			"Message copied to clipboard!"
-
-// d: Used in message viewer, while reading the message. Text example: "Message 2/3"
-// l: navi_text_pane_t1
-#define qtn_cb_msg_message			"Message %0N/%1N"
-
-// d: If the SIM card max number topics are subscribed, then this error text will be shown
-// l: popup_note_window
-#define qtn_cb_note_can_not_subs		"Can not subscribe more topics!"
-
-// d: In message view if the user selects delete from the options menu or the
-// d: context sensitive menu, this confirmation note will be shown.
-// l: popup_note_window
-#define qtn_cb_note_delete_msg			"Delete message?"
-
-// language settings
-
-// d: Language setting for all the languages.
-// l: list_set_graphic_pane_t1
-#define qtn_mce_settings_cb_all			"All"
-
-// d: Language setting for selected languages.
-// l: list_set_graphic_pane_t1
-#define qtn_mce_settings_cb_selected		"Selected"
-
-// d: Language setting for other languages.
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_other		"Other"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_german		"German"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_english		"English"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_italian		"Italian"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_french		"French"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_spanish		"Spanish"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_dutch		"Dutch"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_swedish		"Swedish"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_danish		"Danish"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_portuguese		"Portuguese"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_finnish		"Finnish"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_norwegian		"Norwegian"
-
-// d: Language value 
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_greek		"Greek"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_turkish		"Turkish"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_hungarian		"Hungarian"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_polish		"Polish"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_czech		"Czech"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_hebrew		"Hebrew"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_arabic		"Arabic"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_russian		"Russian"
-
-// d: Language value
-// l: list_single_graphic_heading_pane_t1
-#define qtn_mce_settings_cb_icelandic		"Icelandic"
-
-// d: This note will show up when user has saved the message
-// l: popup_note_window
-#define qtn_logs_info_msg_kept			"Message is kept"
-
-// d: Used in settings menu to change value.
-// l: list_single_pane_t1_cp2
-#define qtn_mce_settings_change			"Change"
-
-// d: Used in settings menu to exit the application.
-// l: list_single_pane_t1_cp2
-#define qtn_mce_settings_exit			"Exit"
-
-// d: Used in language selection list.
-// d: Notice that this is a heading pane in the main pane 
-// d: and not in the pop up window. This has been agreed to be the id.
-// l: heading_pane_t1
-#define qtn_mce_settings_cb_quest_langu "Select languages:"
-
-
-// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/resources/cbs_app.docml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument context="cbs_app_xml" version="0.8">
+    <object name="t:toggle_reception" type="HbAction">
+        <string name="text" value="Activate reception"/>
+    </object>
+    <object name="t:add_topic" type="HbAction">
+        <string name="iconText" value="Add topic"/>
+        <string locid="txt_cbs_add_topic" name="text" value="Add topic"/>
+        <string name="toolTip" value="Add topic"/>
+    </object>
+    <object name="t:settings" type="HbAction">
+        <string name="iconText" value="Settings"/>
+        <string locid="txt_cbs_settings" name="text" value="Settings"/>
+        <string locid="txt_cbs_settings" name="toolTip" value="Settings"/>
+    </object>
+    <object name="t:exit" type="HbAction">
+        <string name="iconText" value="Exit"/>
+        <string locid="txt_cbs_exit" name="text" value="Exit"/>
+        <string name="toolTip" value="Exit"/>
+    </object>
+    <object name="t:help" type="HbAction">
+        <string name="iconText" value="Help"/>
+        <string locid="txt_cbs_help" name="text" value="Help"/>
+        <string name="toolTip" value="Help"/>
+    </object>
+    <object name="t:toggle_reception" type="HbAction">
+        <string name="iconText" value="Activate"/>
+        <string locid="txt_cbs_activate" name="text" value="Activate"/>
+        <string name="toolTip" value="Activate"/>
+    </object>
+    <object name="t:open" type="HbAction">
+        <string locid="txt_cbs_open" name="text" value="Open"/>
+    </object>
+    <object name="t:subscribe" type="HbAction">
+        <string locid="txt_cbs_subscribe" name="text" value="Subscribe"/>
+    </object>
+    <object name="t:unsubscribe" type="HbAction">
+        <string locid="txt_cbs_unsubscribe" name="text" value="Unsubscribe"/>
+    </object>
+    <object name="t:hotmark" type="HbAction">
+        <string locid="txt_cbs_hotmark" name="text" value="Hotmark"/>
+    </object>
+    <object name="t:unhotmark" type="HbAction">
+        <string locid="txt_cbs_unhotmark" name="text" value="Unhotmark"/>
+    </object>
+    <object name="t:delete" type="HbAction">
+        <string locid="txt_cbs_delete" name="text" value="Delete"/>
+    </object>
+    <object name="t:edit" type="HbAction">
+        <string locid="txt_cbs_edit" name="text" value="Edit"/>
+    </object>
+    <widget name="t:view" type="CbsUiTopicListView">
+        <widget name="t:menu" role="HbView:menu" type="HbMenu">
+            <ref object="t:settings" role="HbMenu:addAction"/>
+            <ref object="t:help" role="HbMenu:addAction"/>
+            <ref object="t:exit" role="HbMenu:addAction"/>
+        </widget>
+        <widget name="content" role="HbView:widget" type="HbWidget">
+            <widget name="t:topicIndex" type="HbListWidget">
+                <real name="z" value="1"/>
+                <sizehint height="15un" type="PREFERRED" width="53.58209un"/>
+            </widget>
+            <widget name="t:label" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="2"/>
+                <sizehint height="6.47761un" type="PREFERRED" width="53.58209un"/>
+                <string name="plainText" value="Topics"/>
+                <enums name="textFormat" value="RichText"/>
+            </widget>
+            <widget name="t:ListWidget" type="HbListWidget">
+                <real name="z" value="3"/>
+                <sizehint height="48.0597un" type="PREFERRED" width="53.43284un"/>
+            </widget>
+            <enums name="focusMode" value="FocusModeEdit"/>
+            <layout orientation="Vertical" spacing="0un" type="linear">
+                <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                <linearitem itemname="t:topicIndex"/>
+                <linearitem itemname="t:label" spacing="0un"/>
+                <linearitem itemname="t:ListWidget"/>
+            </layout>
+        </widget>
+        <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+            <ref object="t:toggle_reception" role="HbToolBar:addAction"/>
+            <ref object="t:add_topic" role="HbToolBar:addAction"/>
+        </widget>
+        <string locid="txt_cbs_title" name="title" value="Operator Messages"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/resources/cbs_app.qrc	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,16 @@
+<RCC>
+    <qresource prefix="/xml" >
+        <file alias="cbs_app.docml">cbs_app.docml</file>
+        <file alias="cbs_topic_view.docml">cbs_topic_view.docml</file>
+        </qresource>
+    <qresource prefix="/icons" >
+        <file>icons/hotmark2.png</file>
+        <file>icons/save.png</file>
+        <file>icons/sub2.png</file>
+        <file>icons/empty.png</file>
+        <file>icons/qgn_menu_cb.svg</file>
+    </qresource>
+    <qresource prefix="/translations" >
+        <file alias="cbsui_en">cbsui_en.qm</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/resources/cbs_topic_view.docml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.8">
+    <object name="action" type="HbAction">
+        <string name="text" value="&lt;&lt; Previous"/>
+    </object>
+    <object name="action_1" type="HbAction">
+        <string name="text" value="Next &gt;&gt;"/>
+    </object>
+    <object name="action_2" type="HbAction">
+        <string name="text" value="Back"/>
+    </object>
+    <widget name="t:view2" type="CbsUiTopicView">
+        <widget name="content" role="HbView:widget" type="HbWidget">
+            <widget name="listWidget2" type="HbListWidget">
+                <real name="z" value="3"/>
+                <sizehint height="9.85075un" type="PREFERRED" width="53.43284un"/>
+            </widget>
+            <widget name="treeView" type="HbTreeView">
+                <real name="z" value="4"/>
+                <sizehint height="70.59702un" type="PREFERRED" width="53.43284un"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="listWidget2" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="listWidget2" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="treeView" dstEdge="LEFT" spacing="0.14925un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="treeView" dstEdge="TOP" spacing="9.70149un" src="" srcEdge="TOP"/>
+            </layout>
+        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
+        <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+            <ref object="action" role="HbToolBar:addAction"/>
+            <ref object="action_2" role="HbToolBar:addAction"/>
+        </widget>
+        <string locid="txt_cbs_title" name="title" value="Operator Messages"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/resources/cbsui_en.qm	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,1 @@
+<¸dÊÍ!¿`¡½ÝB²å
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/resources/cbsui_en.ts	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message numerus="no" id="txt_cbs_unhotmark">
+    <comment></comment>        
+    <source>Unhotmark</source>
+    <translation variants="no">Unhotmark</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_topics">
+    <comment></comment>        
+    <source>Topics</source>
+    <translation variants="no">Topics</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_not_available">
+    <comment></comment>        
+    <source>Not available</source>
+    <translation variants="no">Not available</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_topic_number">
+    <comment></comment>        
+    <source>Topic number:</source>
+    <translation variants="no">Topic number:</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_edit">
+    <comment></comment>        
+    <source>Edit</source>
+    <translation variants="no">Edit</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_delete">
+    <comment></comment>        
+    <source>Delete</source>
+    <translation variants="no">Delete</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_hotmark">
+    <comment></comment>        
+    <source>Hotmark</source>
+    <translation variants="no">Hotmark</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_unsubscribe">
+    <comment></comment>        
+    <source>Unsubscribe</source>
+    <translation variants="no">Unsubscribe</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_help">
+    <comment></comment>        
+    <source>Help</source>
+    <translation variants="no">Help</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_000_topic_index">
+    <comment></comment>        
+    <source>000 Topic Index</source>
+    <translation variants="no">000 Topic Index</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_settings">
+    <comment></comment>        
+    <source>Settings</source>
+    <translation variants="no">Settings</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_deactivate">
+    <comment></comment>        
+    <source>Deactivate reception</source>
+    <translation variants="no">Deactivate reception</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_subscribe">
+    <comment></comment>        
+    <source>Subscribe</source>
+    <translation variants="no">Subscribe</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_add_topic">
+    <comment></comment>        
+    <source>Add topic</source>
+    <translation variants="no">Add topic</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_topic_name">
+    <comment></comment>        
+    <source>Topic name:</source>
+    <translation variants="no">Topic name:</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_exit">
+    <comment></comment>        
+    <source>Exit</source>
+    <translation variants="no">Exit</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_no_messages">
+    <comment></comment>        
+    <source>No messages</source>
+    <translation variants="no">No messages</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_activate">
+    <comment></comment>        
+    <source>Activate reception</source>
+    <translation variants="no">Activate reception</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_open">
+    <comment></comment>        
+    <source>Open</source>
+    <translation variants="no">Open</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_delete_topic">
+    <comment></comment>        
+    <source>Delete topic</source>
+    <translation variants="no">Delete topic</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_cbs_title">
+    <comment></comment>        
+    <source>Cell broadcast</source>
+    <translation variants="no">Cell broadcast</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid></extra-loc-viewid>
+    <extra-loc-positionid></extra-loc-positionid>
+    <extra-loc-feature></extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
Binary file cbs/cbsui/resources/cbsui_text_map.xls has changed
Binary file cbs/cbsui/resources/icons/empty.png has changed
Binary file cbs/cbsui/resources/icons/hotmark2.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/resources/icons/qgn_menu_cb.svg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,103 @@
+<?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="100%" height="100%" viewBox="0 0 88 88">
+<linearGradient id="_16" gradientUnits="userSpaceOnUse" x1="42.15" y1="46" x2="58.62" y2="78.43">
+<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(#_16)" d="M31.763,14.056l0.14,7.126l-2.095,0.698l0.985,5.623l-3.374,47.313 c8.046,12.167,27.262,9.969,33.093-0.528l-4.698-47.42l1.033-5.787l-1.953-0.406l0.102-7.213L42.929,4.587L31.763,14.056z"/>
+<linearGradient id="_17" gradientUnits="userSpaceOnUse" x1="24.41" y1="54.57" x2="68.41" y2="54.57">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#A2C2DD" offset="0.35"/>
+<stop stop-color="#6C83BB" offset="0.7"/>
+<stop stop-color="#003D6D" offset="1"/>
+</linearGradient>
+<path fill="url(#_17)" d="M31.497,27.468l-3.362,47.148c6.784,10.051,24.6,10.625,31.658-0.483l-4.735-47.301 L31.497,27.468z"/>
+<linearGradient id="_18" gradientUnits="userSpaceOnUse" x1="28.41" y1="42.61" x2="76.66" y2="42.61">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#575AC6" offset="0.44"/>
+<stop stop-color="#003D6D" offset="0.94"/>
+</linearGradient>
+<path fill="url(#_18)" d="M56.81,44.608l-0.962-9.832c-5.548,7.959-20.328,6.802-24.896,0.4l-0.707,9.79 C38.02,52.629,50.138,52.005,56.81,44.608z"/>
+<linearGradient id="_19" gradientUnits="userSpaceOnUse" x1="28.41" y1="62.89" x2="76.66" y2="62.89">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#575AC6" offset="0.44"/>
+<stop stop-color="#003D6D" offset="0.94"/>
+</linearGradient>
+<path fill="url(#_19)" d="M58.782,64.331l-0.913-9.328c-10.027,10.121-24.347,5.465-28.28-0.294l-0.725,9.64 C39.175,75.736,53.395,70.499,58.782,64.331z"/>
+<linearGradient id="_20" gradientUnits="userSpaceOnUse" x1="7.69" y1="18.09" x2="58.02" y2="60.59">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path fill-opacity="0.2" fill="url(#_20)" d="M46.749,29.609l2.183,40.648c0,0,1.005,8.438-3.289,11.941 c5.612-0.146,11.949-3.967,14.15-8.066l-4.884-48.222L46.749,29.609z"/>
+<polygon fill="#FFFFFF" points="35.842,32.35 39.324,33.851 39.283,38.504 35.882,36.843 "/>
+<polygon fill="#FFFFFF" points="35.207,51.374 38.607,52.987 38.526,57.994 35.125,56.219 "/>
+<polygon fill="#FFFFFF" points="38.123,78.503 38.283,73.336 34.723,71.722 34.641,76.485 "/>
+<linearGradient id="_21" gradientUnits="userSpaceOnUse" x1="41.84" y1="23.51" x2="55.61" y2="18.86">
+<stop stop-color="#FFFFFF" offset="0.15"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_21)" points="56.038,21.628 41.723,18.646 30.602,22.354 44.895,27.441 "/>
+<linearGradient id="_22" gradientUnits="userSpaceOnUse" x1="58.2" y1="10.84" x2="42.42" y2="25.98">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#A2C2DD" offset="0.35"/>
+<stop stop-color="#6C83BB" offset="0.7"/>
+<stop stop-color="#003D6D" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_22)" points="44.563,17.068 54.29,13.813 54.182,21.547 44.463,26.324 "/>
+<linearGradient id="_23" gradientUnits="userSpaceOnUse" x1="39.28" y1="38.89" x2="38.53" y2="15.89">
+<stop stop-color="#FFFFFF" offset="0.15"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_23)" points="32.469,14.375 44.668,16.911 44.463,26.324 32.622,22.192 "/>
+<linearGradient id="_24" gradientUnits="userSpaceOnUse" x1="35.43" y1="4.26" x2="42.18" y2="21">
+<stop stop-color="#FFFFFF" offset="0.15"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_24)" points="32.469,14.375 44.672,17.708 42.96,5.479 "/>
+<linearGradient id="_25" gradientUnits="userSpaceOnUse" x1="50.6" y1="2.79" x2="44.4" y2="24.33">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#A2C2DD" offset="0.35"/>
+<stop stop-color="#6C83BB" offset="0.7"/>
+<stop stop-color="#003D6D" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_25)" points="44.672,17.708 42.96,5.479 54.29,13.813 "/>
+<linearGradient id="_26" gradientUnits="userSpaceOnUse" x1="18.12" y1="30.75" x2="44.93" y2="26.25">
+<stop stop-color="#FFFFFF" offset="0.15"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_26)" points="44.895,27.441 44.895,32.552 31.497,27.468 30.602,22.354 "/>
+<linearGradient id="_27" gradientUnits="userSpaceOnUse" x1="50.89" y1="16.44" x2="49.64" y2="38.69">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#A2C2DD" offset="0.35"/>
+<stop stop-color="#6C83BB" offset="0.7"/>
+<stop stop-color="#003D6D" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_27)" points="44.832,27.441 44.832,32.552 55.107,26.841 56.038,21.628 "/>
+<polygon fill="#FFFFFF" points="33.92,22.619 33.987,15.952 43.203,18.442 43.108,25.821 "/>
+<polygon fill="#FFFFFF" points="46.03,25.549 46.012,18.651 53.245,15.823 53.07,22.07 "/>
+<polygon fill="#A2C2DD" points="33.948,22.656 33.987,15.952 35.123,16.296 35.084,23.035 "/>
+<polygon fill="#A2C2DD" points="46.012,18.651 46.074,25.519 47.272,24.943 47.214,18.189 "/>
+<linearGradient id="_28" gradientUnits="userSpaceOnUse" x1="31.51" y1="23.39" x2="45.1" y2="37.71">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<polygon fill="url(#_28)" points="31.497,27.468 44.832,32.552 44.821,33.78 31.455,28.208 "/>
+<polygon fill="#003D6D" points="55.107,26.841 44.832,32.552 44.821,33.741 55.156,27.725 "/>
+<g fill-opacity="0.5" stroke-opacity="0.5">
+<linearGradient id="_29" gradientUnits="userSpaceOnUse" x1="6.38" y1="23.02" x2="32.62" y2="23.02">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#C0C6E8" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_29)" points="5.822,5.384 6.071,40.66 43.108,25.821 43.203,18.442 "/>
+<linearGradient id="_30" gradientUnits="userSpaceOnUse" x1="85.82" y1="22.82" x2="57.05" y2="22.82">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#C0C6E8" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_30)" points="46.012,18.651 86.274,2.451 86.643,43.188 46.074,25.519 "/>
+</g>
+<rect fill="none" height="88" width="88"/>
+</svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/resources/icons/qgn_menu_cb_2.svg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,91 @@
+<?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="100%" height="100%" viewBox="0 0 88 88">
+<linearGradient id="_14" gradientUnits="userSpaceOnUse" x1="42.15" y1="46" x2="58.61" y2="78.43">
+<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(#_14)" d="M31.763,14.056l0.14,7.126l-2.095,0.698l0.985,5.623l-3.374,47.313 c8.046,12.167,27.262,9.969,33.093-0.528l-4.698-47.42l1.033-5.787l-1.953-0.406l0.102-7.213L42.929,4.587L31.763,14.056z"/>
+<linearGradient id="_15" gradientUnits="userSpaceOnUse" x1="24.41" y1="54.57" x2="68.41" y2="54.57">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#A2C2DD" offset="0.35"/>
+<stop stop-color="#6C83BB" offset="0.7"/>
+<stop stop-color="#003D6D" offset="1"/>
+</linearGradient>
+<path fill="url(#_15)" d="M31.497,27.468l-3.362,47.148c6.784,10.051,24.6,10.625,31.658-0.483l-4.735-47.301 L31.497,27.468z"/>
+<linearGradient id="_16" gradientUnits="userSpaceOnUse" x1="28.41" y1="42.61" x2="76.66" y2="42.61">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#575AC6" offset="0.44"/>
+<stop stop-color="#003D6D" offset="0.94"/>
+</linearGradient>
+<path fill="url(#_16)" d="M56.81,44.608l-0.962-9.832c-5.548,7.959-20.328,6.802-24.896,0.4l-0.707,9.79 C38.02,52.629,50.138,52.005,56.81,44.608z"/>
+<linearGradient id="_17" gradientUnits="userSpaceOnUse" x1="28.41" y1="62.89" x2="76.66" y2="62.89">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#575AC6" offset="0.44"/>
+<stop stop-color="#003D6D" offset="0.94"/>
+</linearGradient>
+<path fill="url(#_17)" d="M58.782,64.331l-0.913-9.328c-10.027,10.121-24.347,5.465-28.28-0.294l-0.725,9.64 C39.175,75.736,53.395,70.499,58.782,64.331z"/>
+<linearGradient id="_18" gradientUnits="userSpaceOnUse" x1="7.69" y1="18.09" x2="58.02" y2="60.59">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path fill-opacity="0.2" fill="url(#_18)" d="M46.749,29.609l2.183,40.648c0,0,1.005,8.438-3.289,11.941 c5.612-0.146,11.949-3.967,14.15-8.066l-4.884-48.222L46.749,29.609z"/>
+<polygon fill="#235487" points="35.842,32.35 39.324,33.851 39.283,38.504 35.882,36.843 "/>
+<polygon fill="#235487" points="35.207,51.374 38.607,52.987 38.526,57.994 35.125,56.219 "/>
+<polygon fill="#235487" points="38.123,78.503 38.283,73.336 34.723,71.722 34.641,76.485 "/>
+<linearGradient id="_19" gradientUnits="userSpaceOnUse" x1="41.84" y1="23.51" x2="55.61" y2="18.86">
+<stop stop-color="#FFFFFF" offset="0.15"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_19)" points="56.038,21.628 41.723,18.646 30.602,22.354 44.895,27.441 "/>
+<linearGradient id="_20" gradientUnits="userSpaceOnUse" x1="58.2" y1="10.84" x2="42.42" y2="25.98">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#A2C2DD" offset="0.35"/>
+<stop stop-color="#6C83BB" offset="0.7"/>
+<stop stop-color="#003D6D" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_20)" points="44.563,17.068 54.29,13.813 54.182,21.547 44.463,26.324 "/>
+<linearGradient id="_21" gradientUnits="userSpaceOnUse" x1="39.28" y1="38.89" x2="38.53" y2="15.89">
+<stop stop-color="#FFFFFF" offset="0.15"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_21)" points="32.469,14.375 44.668,16.911 44.463,26.324 32.622,22.192 "/>
+<linearGradient id="_22" gradientUnits="userSpaceOnUse" x1="35.43" y1="4.26" x2="42.18" y2="21.01">
+<stop stop-color="#FFFFFF" offset="0.15"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_22)" points="32.469,14.375 44.672,17.708 42.96,5.479 "/>
+<linearGradient id="_23" gradientUnits="userSpaceOnUse" x1="50.6" y1="2.79" x2="44.39" y2="24.33">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#A2C2DD" offset="0.35"/>
+<stop stop-color="#6C83BB" offset="0.7"/>
+<stop stop-color="#003D6D" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_23)" points="44.672,17.708 42.96,5.479 54.29,13.813 "/>
+<linearGradient id="_24" gradientUnits="userSpaceOnUse" x1="18.12" y1="30.75" x2="44.93" y2="26.25">
+<stop stop-color="#FFFFFF" offset="0.15"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_24)" points="44.895,27.441 44.895,32.552 31.497,27.468 30.602,22.354 "/>
+<linearGradient id="_25" gradientUnits="userSpaceOnUse" x1="50.89" y1="16.44" x2="49.64" y2="38.69">
+<stop stop-color="#FFFFFF" offset="0"/>
+<stop stop-color="#A2C2DD" offset="0.35"/>
+<stop stop-color="#6C83BB" offset="0.7"/>
+<stop stop-color="#003D6D" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_25)" points="44.832,27.441 44.832,32.552 55.107,26.841 56.038,21.628 "/>
+<polygon fill="#87A8CB" points="33.92,22.619 33.987,15.952 43.203,18.442 43.108,25.821 "/>
+<polygon fill="#496DA2" points="46.03,25.549 46.012,18.651 53.245,15.823 53.07,22.07 "/>
+<polygon fill="#496DA2" points="33.948,22.656 33.987,15.952 35.123,16.296 35.084,23.035 "/>
+<polygon fill="#235487" points="46.012,18.651 46.074,25.519 47.272,24.943 47.214,18.189 "/>
+<linearGradient id="_26" gradientUnits="userSpaceOnUse" x1="31.51" y1="23.39" x2="45.1" y2="37.71">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<polygon fill="url(#_26)" points="31.497,27.468 44.832,32.552 44.821,33.78 31.455,28.208 "/>
+<polygon fill="#003D6D" points="55.107,26.841 44.832,32.552 44.821,33.741 55.156,27.725 "/>
+<rect fill="none" height="88" width="88"/>
+</svg>
\ No newline at end of file
Binary file cbs/cbsui/resources/icons/save.png has changed
Binary file cbs/cbsui/resources/icons/sub2.png has changed
--- a/cbs/cbsui/rom/CbsUiApp.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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:  IBY file for cbsui application
-*
-*/
-
-#ifndef __CBSUIAPP_IBY__
-#define __CBSUIAPP_IBY__
-
-#ifdef __CELL_BROADCAST
-
-S60_APP_EXE(CbsUiApp)
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,CbsUiApp)
-S60_APP_AIF_ICONS(CbsUiApp)
-S60_APP_AIF_RSC(CbsUiApp)
-
-// Enabler for eclipsing ROM binaries
-data=ZSYSTEM\install\cbsuiapp_stub.sis           system\install\cbsuiapp_stub.sis
-data=ZPRIVATE\10003a3f\apps\cbsuiapp_reg.rsc     private\10003a3f\import\apps\cbsuiapp_reg.rsc
-
-#endif
-
-#endif
--- a/cbs/cbsui/rom/CbsUiResources.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/cbsui/rom/CbsUiResources.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* 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"
@@ -11,19 +11,18 @@
 *
 * Contributors:
 *
-* Description:  IBY file for cbsui application
+* Description: CBS resources rom build file
 *
 */
 
-#ifndef __CBS_RESOURCES_IBY__
-#define __CBS_RESOURCES_IBY__
 
-//Resource file(s) for CBSUI application (Cbsui.iby)
+#ifndef __CBSUI_RESOURCES_IBY__
+#define __CBSUI_RESOURCES_IBY__
 
 #ifdef __CELL_BROADCAST
 
-S60_APP_RESOURCE(CbsUiApp)
+data=DATAZ_\resource\apps\cbsui.rsc          S60_APP_RESOURCE(cbsui.rsc)
 
-#endif //__CELL_BROADCAST
+#endif // __CELL_BROADCAST
 
-#endif //__CBS_RESOURCES_IBY__
\ No newline at end of file
+#endif // __CBSUI_RESOURCES_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/rom/cbsui.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: CBS rom build file
+*
+*/
+
+
+#ifndef __CBSUI_IBY__
+#define __CBSUI_IBY__
+
+#ifdef __CELL_BROADCAST
+
+file=ABI_DIR\BUILD_DIR\cbsui.exe                  SHARED_LIB_DIR\cbsui.exe 
+data=ZSYSTEM\install\cbsui_stub.sis               system\install\cbsui_stub.sis
+data=ZPRIVATE\10003a3f\import\apps\cbsui_reg.rsc  private\10003a3f\import\apps\cbsui_reg.rsc
+
+#endif // __CELL_BROADCAST
+
+#endif // __CBSUI_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/rom/cbsui_stub.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,31 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing cbs application stub.
+;
+; Languages
+&EN
+
+; Header
+#{"cbsui"}, (0x101F4CD3), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+""-"z:\sys\bin\cbsui.exe"
+""-"z:\resource\apps\cbsui.rsc"
+""-"z:\private\10003a3f\import\apps\cbsui_reg.rsc"
Binary file cbs/cbsui/rom/cbsui_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/sis/cbsui.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,34 @@
+;
+; 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: For packing cbs application stub.
+;
+; Languages
+&EN
+
+; Header
+#{"cbsui"}, (0x101F4CD3), 10, 1, 0, TYPE=PU
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Supports Series 60 v 5.0
+[0x1028315F], 0, 0, 0, {"Series60ProductID"}
+
+; Files
+"\epoc32\RELEASE\armv5\UREL\cbsui.exe"-"c:\sys\bin\cbsui.exe"
+"\epoc32\data\z\resource\apps\cbsui.rsc"-"c:\resource\apps\cbsui.rsc"
+"\epoc32\data\z\private\10003a3f\import\apps\cbsui_reg.rsc"-"c:\private\10003a3f\import\apps\cbsui_reg.rsc"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/src/cbsuimainwindow.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2010  Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "rcbsui.h"
+#include "cbsuiviewmanager.h"
+#include "cbslog.h"
+
+#include "cbsuimainwindow.h"
+
+// ======== MEMBER FUNCTIONS ==================================================
+
+// ----------------------------------------------------------------------------
+// CbsUiMainWindow::CbsUiMainWindow
+// ----------------------------------------------------------------------------
+//
+CbsUiMainWindow::CbsUiMainWindow()
+{
+    LOG(NORMAL,"CBSUI: CbsUiMainWindow::CbsUiMainWindow IN");    
+    // Create connection to the server. SYMBIAN/S60 CODE
+    mServer = new RCbsUi;    
+    if ( mServer ) {
+        // Connect Cbs Server
+        int result = mServer->Connect();
+        LOG2(NORMAL,"CBSUI: CbsUiMainWindow::CbsUiMainWindow \
+                connect server %d", result);
+        // Construct the view manager.
+        mViewManager = new CbsUiViewManager(this, *mServer);        
+    }  
+    LOG(NORMAL,"CBSUI: CbsUiMainWindow::CbsUiMainWindow OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiMainWindow::~CbsUiMainWindow
+// ----------------------------------------------------------------------------
+//
+CbsUiMainWindow::~CbsUiMainWindow()
+{
+    LOG(NORMAL,"CBSUI: CbsUiMainWindow::~CbsUiMainWindow IN");
+    mServer->Close();
+    delete mServer;
+    LOG(NORMAL,"CBSUI: CbsUiMainWindow::~CbsUiMainWindow OUT");
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/src/cbsuitopiclistview.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,896 @@
+/*
+* 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 <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbicon.h>
+#include <hblabel.h>
+#include <hblistwidgetitem.h>
+#include <hbabstractviewitem.h>
+#include <hbinputdialog.h>
+#include <hbmessagebox.h>
+#include <hblistwidget.h>
+#include <hbvalidator.h>
+#include <hbmenu.h>
+#include <hbmessagebox.h>
+
+#include "cbsuitopiclistview.h"
+#include "cbsuiviewmanager.h"
+#include "rcbsui.h"
+#include "cbslog.h"
+#include "cbsuiconstants.h"
+#include "ccbsuitopiclistmonitor.h"
+
+// DocML usage
+const char *T_TOPIC_LIST = "t:ListWidget";
+const char *T_TOPICINDEX = "t:topicIndex"; 
+// other items (for decoration)
+const char *T_LABEL = "t:label";
+
+const char *T_TOGGLE_RECEPTION = "t:toggle_reception";
+const char *T_ADD_TOPIC = "t:add_topic";
+
+// Options menu
+const char *T_EXIT = "t:exit";
+
+const char *T_OPEN = "t:open";
+const char *T_SUBSCRIBE = "t:subscribe";
+const char *T_UNSUBSCRIBE = "t:unsubscribe";
+const char *T_HOTMARK = "t:hotmark";
+const char *T_UNHOTMARK = "t:unhotmark";
+const char *T_DELETE = "t:delete";
+const char *T_EDIT = "t:edit";
+
+// ======== MEMBER FUNCTIONS ==================================================
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::CbsUiTopicListView
+// ----------------------------------------------------------------------------
+CbsUiTopicListView::CbsUiTopicListView()
+    : HbView(),
+      mServer(NULL),
+      mViewManager(NULL),
+      mTopicRow(-1),
+      mTopicIndexWidget(NULL),
+      mTopicsWidget(NULL),
+      mReceptionButton(NULL), 
+      mOpenAction(NULL),
+      mSubscibeAction(NULL), 
+      mUnSubscibeAction(NULL), 
+      mHotmarkAction(NULL), 
+      mUnHotmarkAction(NULL), 
+      mEditAction(NULL), 
+      mDeleteAction(NULL),
+      mMonitor(NULL),
+      mTopicQuery(NULL),
+      mTopicNumberList(NULL)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::CbsUiTopicListView IN");
+    mTopicNumberList = new TCbsUiTopicNumberList(KNumberOfStandardTopics);
+    QT_TRAP_THROWING(mTopicNumberList->AppendL(0));
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::CbsUiTopicListView OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::~CbsUiTopicListView
+// ----------------------------------------------------------------------------
+CbsUiTopicListView::~CbsUiTopicListView()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::~CbsUiTopicListView IN");
+    delete mTopicNumberList;
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::~CbsUiTopicListView OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::init
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::init(MCbs &server, 
+               CbsUiViewManager &viewManager)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::init IN");
+    mViewManager = &viewManager;
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::init 1");
+    mServer = &server;
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::init 2");
+    // First get pointers to UI components
+    createComponents();
+
+    // Update reception status to UI
+    TBool status; //Symbian variable..
+    mServer->GetReceptionStatus(status);
+    if (status) {
+       LOG(NORMAL,"CBSUI: CbsUiTopicListView::init reception ON");
+       mReceptionButton->setText(hbTrId("txt_cbs_deactivate"));
+    } else {
+       LOG(NORMAL,"CBSUI: CbsUiTopicListView::init reception OFF");
+       mReceptionButton->setText(hbTrId("txt_cbs_activate"));
+    }
+
+    // Update Topic index and Topics   
+    reloadTopicIndex();
+    reloadTopics();
+
+    // Symbian code, leave etc to be handled.
+    // QT_TRAP_THROWING( mMonitor = CCbsUiTopicListMonitor::NewL( *mServer ) );
+    // mMonitor->AddObserverL( this );
+    // Longpress in topic list, this is needed always
+    bool ret(false);
+
+    // conntect topic index list widget operation
+    ret = connect(mTopicIndexWidget, 
+                SIGNAL(longPressed(HbListWidgetItem *, QPointF)),
+            this, SLOT(showTopicIndexMenu(HbListWidgetItem *, QPointF)));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init connect \
+            TopicIndex long press %d", ret); 
+
+    ret = connect(mTopicIndexWidget, SIGNAL(activated(HbListWidgetItem *)), 
+            this, SLOT(showTopicSelectionView(HbListWidgetItem *)));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init connect \
+            TopicIndex short press %d", ret);
+
+    // conntect topics list widget operation
+    ret = connect(mTopicsWidget,
+            SIGNAL(longPressed(HbListWidgetItem*, QPointF)), 
+            this, SLOT(showTopicsMenu(HbListWidgetItem *, QPointF)));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init connect\
+             Topics long press %d", ret); 
+
+    ret = connect(mTopicsWidget, SIGNAL(activated(HbListWidgetItem *)), 
+            this, SLOT(showTopicView(HbListWidgetItem *)));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init connect \
+            topics short press %d", ret);
+
+    // connect reception action
+    ret = connect(mReceptionButton, SIGNAL(triggered(bool)), 
+            this, SLOT(toggleReception()));  
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init connect reception %d", ret);
+
+    // Open
+    mOpenAction = qobject_cast<HbAction *>(
+    mViewManager->xmlLoader()->findObject(T_OPEN));
+    ret = connect(mOpenAction, SIGNAL(triggered()),
+            this, SLOT(showTopicView()));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init open %d", ret)
+
+    // Subscribe
+    mSubscibeAction = qobject_cast<HbAction *>(
+    mViewManager->xmlLoader()->findObject(T_SUBSCRIBE));
+    ret = connect(mSubscibeAction, SIGNAL(triggered()),
+            this, SLOT(toggleSubscription()));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init subscribe %d", ret)
+
+    // UnSubscribe
+    mUnSubscibeAction = qobject_cast<HbAction *>(
+    mViewManager->xmlLoader()->findObject(T_UNSUBSCRIBE));
+    ret = connect(mUnSubscibeAction, SIGNAL(triggered()),
+            this, SLOT(toggleSubscription()));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init subscribe %d", ret)    
+
+    // Hotmark
+    mHotmarkAction = qobject_cast<HbAction *>(
+    mViewManager->xmlLoader()->findObject(T_HOTMARK));
+    ret = connect(mHotmarkAction, SIGNAL(triggered()),
+                 this, SLOT(toggleHotmark()));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init hotmark %d", ret)
+
+    // UnHotmark
+    mUnHotmarkAction = qobject_cast<HbAction *>(
+    mViewManager->xmlLoader()->findObject(T_UNHOTMARK));
+    ret = connect(mUnHotmarkAction, SIGNAL(triggered()),
+              this, SLOT(toggleHotmark()));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init hotmark %d", ret)
+
+    // Edit
+    mEditAction = qobject_cast<HbAction *>(
+            mViewManager->xmlLoader()->findObject(T_EDIT));
+    ret = connect(mEditAction, SIGNAL(triggered()) , 
+            this, SLOT(editTopic()));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init edit %d", ret)
+
+    // Delete
+    mDeleteAction =  qobject_cast<HbAction *>(
+            mViewManager->xmlLoader()->findObject(T_DELETE));
+    ret = connect(mDeleteAction, SIGNAL(triggered()),
+                  this, SLOT(deleteTopic()));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::init delete %d", ret)
+
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::init OUT");   
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::TopicListChangedL
+// ---------------------------------------------------------------------------- 
+void CbsUiTopicListView::TopicListChangedL(TCbsTopicListEvent /*aEvent*/, 
+                                           TCbsTopicNumber /*aTopicNumber*/ )
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::TopicListChangedL IN");
+    reloadTopicIndex();
+    reloadTopics();
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::TopicListChangedL OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::createComponents
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::createComponents()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::createComponents IN");
+    // The topic index widget
+    mTopicIndexWidget = qobject_cast<HbListWidget *>( 
+        mViewManager->xmlLoader()->findWidget(T_TOPICINDEX));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::createComponents\
+         mTopicIndexWidget=%d", mTopicIndexWidget)
+
+    // The topic list widget
+    mTopicsWidget = qobject_cast<HbListWidget *>( 
+        mViewManager->xmlLoader()->findWidget(T_TOPIC_LIST));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::createComponents\
+         mTopicsWidget=%d", mTopicsWidget)
+
+    // Button for changing reception status
+    mReceptionButton = qobject_cast<HbAction *>( 
+        mViewManager->xmlLoader()->findObject(T_TOGGLE_RECEPTION));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::createComponents\
+        mReceptionButton=%d", mReceptionButton)
+
+    // Connect signals of DocML objects
+    HbAction *addTopic = qobject_cast<HbAction *>( 
+        mViewManager->xmlLoader()->findObject(T_ADD_TOPIC));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::createComponents\
+         addTopic=%d", addTopic)
+    connect(addTopic, SIGNAL(triggered(bool)), this, SLOT(addTopic()));
+
+    HbAction *exit =  qobject_cast<HbAction *>( 
+        mViewManager->xmlLoader()->findObject(T_EXIT));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::createComponents\
+         exit=%d", exit)
+    connect(exit, SIGNAL(triggered(bool)), mViewManager, SLOT(close()));
+
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::createComponents OUT")  
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::reloadTopicIndex
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::reloadTopicIndex()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::reloadTopicIndex IN")
+    if (mTopicIndexWidget && mTopicNumberList) {
+        LOG(NORMAL,"CBSUI: CbsUiTopicListView::reloadTopicIndex reload")
+        HbListWidgetItem *item = new HbListWidgetItem();
+
+        TCbsTopic topic;
+        mServer->GetTopic(0, topic);
+        mTopicNumberList->At(0) = 0;
+
+        updateItem(*item, topic);
+        mTopicIndexWidget->clear();
+        mTopicIndexWidget->addItem(item);  
+
+        // Connect signal to indicate topic selection
+        connect(mTopicIndexWidget, SIGNAL(activated(HbListWidgetItem *)),
+                this, SLOT(showTopicSelectionView(HbListWidgetItem *)));     
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::reloadTopicIndex OUT")
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::reloadTopics
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::reloadTopics()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::reloadTopics IN");
+    if (mTopicNumberList && mTopicsWidget) {
+        int count(0);
+        mServer->GetTopicCount(count);   
+        LOG2(NORMAL,"CBSUI: CbsUiTopicListView::reloadTopics total count %d",
+                count);
+        // Reset first
+        mTopicNumberList->Reset();
+        QT_TRAP_THROWING(mTopicNumberList->AppendL(0));
+        mTopicsWidget->clear();
+
+        // Add updated topics one by one
+        for (int i = 1; i < count; i++) {
+            TCbsTopic topic;
+            mServer->GetTopic(i, topic);
+            QT_TRAP_THROWING(mTopicNumberList->AppendL(topic.iNumber));
+            HbListWidgetItem *item = new HbListWidgetItem();
+            updateItem(*item, topic);
+            mTopicsWidget->addItem(item);    
+
+            // Connect signal to indicate topic selection
+            connect(mTopicsWidget, SIGNAL(activated(HbListWidgetItem *)), 
+                    this, SLOT(showTopicView(HbListWidgetItem *)));
+        }
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::reloadTopics OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::showTopicSelectionView
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::showTopicSelectionView(HbListWidgetItem */*item*/)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showTopicSelectionView IN"); 
+    mTopicRow = 0;
+    if (mTopicNumberList) {
+        TInt messages(0);
+        mServer->GetMessageCount(0, messages);
+        if (messages) {
+            // TODO: show topic selection view
+        }
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showTopicSelectionView OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::showTopicView
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::showTopicView(HbListWidgetItem *item)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::topicSelection IN");
+    mTopicRow = mTopicsWidget->row(item)+1;
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::topicSelection index=%d", 
+            mTopicRow);
+    if (mTopicNumberList) {
+        TCbsTopicNumber selectTopic(mTopicNumberList->At(mTopicRow));
+        TInt messages(0);
+        mServer->GetMessageCount(selectTopic, messages);
+        if (messages) {
+           // it will be reopened
+           // mViewManager->activateTopicView(selectTopic);
+        }
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::topicSelection OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::addTopic
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::addTopic()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::addTopic IN");
+    // Handle not OK cases, KErrAlreadyExists, KErrArgument, KErrDiskFull
+    // Todo: Add from index if it is available
+    TCbsTopic topic;
+    if (showTopicQuery(topic, true) &&
+        KErrNone == mServer->AddTopic(topic)) {
+        reloadTopics(); 
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::addTopic OUT");
+}
+
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::editTopic
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::editTopic()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::editTopic IN");
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::editTopic mTopicRow=%d", mTopicRow)
+    TInt count(0);
+    mServer->GetTopicCount(count);
+    if (mTopicRow > 0 && mTopicRow < count) {
+        // Get topic we need to edit
+        TCbsTopic topic;
+        mServer->GetTopic(mTopicRow, topic);
+        TCbsTopicNumber oldTopicNumber = topic.iNumber;
+        TCbsTopicNumber newTopicNumber(EMaxTopicNumber);
+        TCbsTopicName newTopicName;
+        if (showTopicQuery(topic, false)) {
+            newTopicNumber = topic.iNumber;
+            newTopicName = topic.iName;
+        }
+        TInt err = mServer->ChangeTopicNameAndNumber(oldTopicNumber, 
+                newTopicNumber, newTopicName);
+        if (KErrNone == err) {
+            reloadTopics();
+        }
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::editTopic OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::deleteTopic
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::deleteTopic()
+    {
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::deleteTopic IN row %d", mTopicRow);
+    TInt count(0);
+    mServer->GetTopicCount(count);
+    if (mTopicRow > 0 && mTopicRow < count) {
+        // user confirmation 
+        HbMessageBox *box = new HbMessageBox(hbTrId("txt_cbs_delete_topic"),
+                HbMessageBox::MessageTypeQuestion);
+        HbAction *action = box->exec();
+        if (action == box->primaryAction()) {
+            TCbsTopicNumber selectTopic(mTopicNumberList->At(mTopicRow));
+            LOG2(NORMAL,"CBSUI: CbsUiTopicListView::deleteTopic topic number %d",
+                    selectTopic);
+            if (KErrNone == mServer->DeleteTopic(selectTopic)) {
+                reloadTopics();
+            }
+        }
+        delete box;
+        box = NULL;
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::deleteTopic OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::toggleReception
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::toggleReception()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::ToggleReception IN");
+    TBool status; //Symbian variable..
+    mServer->GetReceptionStatus(status);
+
+    if (status) {
+        // Deactivate reception and switch the text on UI
+        LOG(NORMAL,"CBSUI: CbsUiTopicListView::ToggleReception 1->0");
+        mServer->SetReceptionStatus(EFalse);
+       
+        mReceptionButton->setText( hbTrId("txt_cbs_activate") );
+    } else {
+        LOG(NORMAL,"CBSUI: CbsUiTopicListView::ToggleReception 0->1");
+        // Activate reception and switch the text on UI
+        mServer->SetReceptionStatus(ETrue);
+        mReceptionButton->setText(hbTrId("txt_cbs_deactivate"));
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::ToggleReception OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::toggleHotmark
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::toggleHotmark()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::toggleHotmark IN")
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::toggleHotmark\
+         mTopicRow %d", mTopicRow);
+    TInt count(0);
+    mServer->GetTopicCount(count);
+    if (mTopicRow >= 0 && mTopicRow < count) {
+        // Update data
+        TCbsTopic topic;
+        mServer->GetTopic(mTopicRow, topic);
+        LOG3(NORMAL,"CBSUI: CbsUiTopicListView::toggleHotmark\
+             before toggle hormark (S,H)=(%d,%d)", 
+             topic.iSubscribed, topic.iHotmarked);
+
+        if (topic.iHotmarked) {
+            mServer->ChangeTopicHotmarkStatus(topic.iNumber, EFalse);
+            mServer->ChangeTopicSubscriptionStatus(topic.iNumber, ETrue);
+            topic.iHotmarked = EFalse;
+            topic.iSubscribed = ETrue;        
+        } else {
+            if (topic.iSubscribed){
+                mServer->ChangeTopicHotmarkStatus(topic.iNumber, ETrue);
+                topic.iHotmarked = ETrue;
+            } else {
+                mServer->ChangeTopicHotmarkStatus(topic.iNumber, ETrue);
+                mServer->ChangeTopicSubscriptionStatus(topic.iNumber, ETrue);
+                topic.iHotmarked = ETrue;
+                topic.iSubscribed = ETrue;
+            }
+        }
+        LOG3(NORMAL,"CBSUI: CbsUiTopicListView::toggleHotmark\
+             after toggle hotmark (S,H)=(%d,%d)", 
+             topic.iSubscribed, topic.iHotmarked);  
+        // Update icon
+        updateCurrentItemIcon(topic);
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::toggleHotmark OUT")
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::toggleSubscription
+// ----------------------------------------------------------------------------    
+void CbsUiTopicListView::toggleSubscription()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::toggleSubsciption IN")
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::toggleSubsciption mTopicRow=%d", 
+            mTopicRow)
+    TInt count(0);
+    mServer->GetTopicCount(count);
+    if (mTopicRow >= 0 && mTopicRow < count) {
+        TCbsTopic topic;
+        mServer->GetTopic(mTopicRow, topic);
+        LOG2(NORMAL,"CBSUI: CbsUiTopicListView::toggleSubsciption\
+             topic number %d", topic.iNumber);
+        LOG3(NORMAL,"CBSUI: CbsUiTopicListView::toggleSubscription\
+             before toggle subscibe (S,H)=(%d,%d)", 
+             topic.iSubscribed, topic.iHotmarked);
+
+        if (topic.iSubscribed) {
+            if (topic.iHotmarked) {
+                mServer->ChangeTopicHotmarkStatus(topic.iNumber, EFalse);
+                topic.iHotmarked = EFalse;
+            }
+            mServer->ChangeTopicSubscriptionStatus(topic.iNumber, EFalse);
+            topic.iSubscribed = EFalse;
+        } else {
+            mServer->ChangeTopicSubscriptionStatus(topic.iNumber, ETrue);
+            topic.iSubscribed = ETrue;
+        }
+        LOG3(NORMAL,"CBSUI: CbsUiTopicListView::toggleSubscription\
+             after toggle subscibe (S,H)=(%d,%d)", 
+             topic.iSubscribed, topic.iHotmarked);
+        // Update icon
+        updateCurrentItemIcon(topic);
+    }
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::toggleSubsciption OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::showTopicIndexMenu
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::showTopicIndexMenu(HbListWidgetItem *item, QPointF coords)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showTopicIndexMenu IN");
+    Q_UNUSED(item);
+    mTopicRow = 0;
+    TCbsTopic topic;
+    mServer->GetTopic(0, topic);
+    LOG3(NORMAL,"CBSUI: CbsUiTopicListView::showTopicIndexMenu (row %d: %d)",
+            mTopicRow, topic.iNumber);    
+    showPopupMenu(topic, coords);
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showTopicIndexMenu OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::showTopicsMenu
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::showTopicsMenu(HbListWidgetItem *item, QPointF coords)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showTopicsMenu IN");
+    mTopicRow = mTopicsWidget->row(item)+1;
+    TCbsTopic topic;
+    mServer->GetTopic(mTopicRow, topic);
+    LOG3(NORMAL,"CBSUI: CbsUiTopicListView::showTopicsMenu (row %d: %d)",
+            mTopicRow, topic.iNumber);
+    showPopupMenu(topic, coords);
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showTopicsMenu OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::showPopupMenu
+// ----------------------------------------------------------------------------
+void CbsUiTopicListView::showPopupMenu(const TCbsTopic &topic, QPointF coords)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showPopupMenu IN");
+    HbMenu *contextMenu = new HbMenu();
+    contextMenu->setTimeout(HbPopup::NoTimeout);
+    contextMenu->setDismissPolicy(HbPopup::TapOutside);
+
+    TInt messageCount(0);
+    mServer->GetMessageCount(topic.iNumber, messageCount);
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::showPopupMenu\
+         messageCount=%d", messageCount)
+
+    // Open
+    if (topic.iNumber && messageCount) {
+        contextMenu->addAction(mOpenAction);
+    }
+    // Subscribe / UnSubscribe
+    if (topic.iSubscribed) {
+        contextMenu->addAction(mUnSubscibeAction);
+    } else {
+        contextMenu->addAction(mSubscibeAction);
+    }
+    // Hotmark / UnHotmark
+    if (topic.iHotmarked) {
+        contextMenu->addAction(mUnHotmarkAction);
+    } else {
+        contextMenu->addAction(mHotmarkAction);
+    }
+    // Edit & Delete
+    if (topic.iNumber) {
+        contextMenu->addAction(mEditAction);
+        contextMenu->addAction(mDeleteAction);
+    }
+
+    // Show context sensitive menu. 
+    contextMenu->exec(coords);
+    contextMenu->clearActions();
+    delete contextMenu;
+    contextMenu = NULL;
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showPopupMenu OUT")
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::updateQueryAction
+// ----------------------------------------------------------------------------
+//
+void CbsUiTopicListView::updateQueryAction( QString text )
+{
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateQueryAction IN" )
+    LOG2(NORMAL, "SATAPP: CbsUiTopicListView::updateQueryAction text=%s", 
+        text.utf16())
+    if (mTopicQuery && text.length() > 0) {
+        mTopicQuery->primaryAction()->setEnabled(true);
+        LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateQueryAction enable OK")
+    }
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateQueryAction OUT" )
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::updateItem
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::updateItem(HbListWidgetItem &item, 
+        const TCbsTopic &topic)
+{
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateItem IN" )
+    updateItemText(item, topic);
+    updateItemIcon(item, topic);
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateItem OUT" )
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::updateItemIcon
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::updateItemIcon(HbListWidgetItem &item, 
+        const TCbsTopic &topic)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::updateItemIcon IN");
+    // TODO: what is the correct way to handle graphics (SVG?)
+
+    if (topic.iSubscribed) {
+        if (topic.iHotmarked) {
+            item.setDecorationIcon(HbIcon(":/icons/icons/hotmark2.png"));
+            LOG(NORMAL,"CBSUI: CbsUiTopicListView::updateItemIcon Hotmarked");
+        } else {
+            item.setDecorationIcon(HbIcon(":/icons/icons/sub2.png"));
+            LOG(NORMAL,"CBSUI: CbsUiTopicListView::updateItemIcon Subscribed");
+        }
+    } else {
+          // No icon if not subscribted:
+          // List item without an icon is alligned on left (looks bad)
+          // temporary solution is to use empty icon
+          item.setDecorationIcon(HbIcon(":/icons/icons/empty.png"));
+          LOG(NORMAL,"CBSUI: CbsUiTopicListView::updateItemIcon Empty");
+    } 
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::updateItemIcon OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::updateItemText
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::updateItemText(HbListWidgetItem &item, 
+        const TCbsTopic &topic)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::updateItemText IN");
+    QString txtL1;
+    QString txtL2;
+    if (0 == topic.iNumber) {
+        LOG(NORMAL,"CBSUI: CbsUiTopicListView::updateItemText topic index");
+        txtL1 = hbTrId("txt_cbs_000_topic_index");
+        txtL2 = hbTrId("txt_cbs_not_available");
+    } else {
+        LOG(NORMAL,"CBSUI: CbsUiTopicListView::updateItemText topics");
+        txtL1 = QVariant(topic.iNumber).toString();
+        txtL2 = hbTrId("txt_cbs_no_messages");
+        // instert zeros to topic number in case 2 or 1 digit topic number.
+        switch (txtL1.length()) {
+            case 1:
+                {
+                txtL1.insert(0, "0");
+                txtL1.insert(0, "0");
+                break;
+                }
+            case 2:
+                {
+                txtL1.insert(0, "0");
+                break;
+                }
+            default:
+                {
+                break;
+                }
+            // do nothing
+            }
+
+        txtL1.append(' '); // a space
+        QString name = QString::fromUtf16(topic.iName.Ptr(), topic.iName.Length());
+        txtL1.append(name);
+        if (topic.iUnreadMessages) {
+            txtL1.append(" ("); // space + (
+            txtL1.append(QVariant(topic.iUnreadMessages).toString());
+            txtL1.append(')');  // closing )
+        } 
+        // Update the status of topic
+        TInt numberOfMessages(0);
+        mServer->GetMessageCount(topic.iNumber, numberOfMessages);
+        if (numberOfMessages) {
+            TCbsMessage message;
+            TBuf<KMaxMessageTitleLength> buffer;  // symbian code
+            // take the last message, not sure is this correct
+            TInt err = mServer->GetMessage(topic.iNumber,
+                    numberOfMessages - 1, message);
+            if (KErrNone == err) {
+                err = mServer->GetMessageContents(message.iHandle, buffer);
+                txtL2 = QString::fromUtf16(buffer.Ptr(), buffer.Length()); 
+                // TODO: timestamp and second text line   
+            }
+        }
+    }
+    item.setText(txtL1);
+    item.setSecondaryText(txtL2);
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::updateItemText OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::updateCurrentItem
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::updateCurrentItem(const TCbsTopic &topic)
+{
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateCurrentItem IN" )
+    LOG2(NORMAL, "SATAPP: CbsUiTopicListView::updateCurrentItem row=%d",
+        mTopicRow)
+    updateCurrentItemIcon(topic);
+    updateCurrentItemText(topic);
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateCurrentItem OUT" )
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::updateCurrentItemIcon
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::updateCurrentItemIcon(const TCbsTopic &topic)
+{
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateCurrentItemIcon IN" )
+    LOG2(NORMAL, "SATAPP: CbsUiTopicListView::updateCurrentItemIcon row=%d",
+        mTopicRow)    
+    HbListWidgetItem *list = NULL;
+    if (0 == mTopicRow) {
+        list = mTopicIndexWidget->item(0); 
+    } else {
+        list = mTopicsWidget->item(mTopicRow - 1);
+    }
+    updateItemIcon(*list, topic);
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateCurrentItemIcon OUT" )
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::updateCurrentItemText
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::updateCurrentItemText(const TCbsTopic &topic)
+{
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateCurrentItemText IN" )
+    LOG2(NORMAL, "SATAPP: CbsUiTopicListView::updateCurrentItemText row=%d",
+        mTopicRow)
+    HbListWidgetItem *list = NULL;
+    if (0 == mTopicRow) {
+        list = mTopicIndexWidget->item(0); 
+    } else {
+        list = mTopicsWidget->item(mTopicRow - 1);
+    }
+    updateItemText(*list, topic);
+    LOG(NORMAL, "SATAPP: CbsUiTopicListView::updateCurrentItemText OUT" )
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::showTopicQuery
+// ----------------------------------------------------------------------------  
+bool CbsUiTopicListView::showTopicQuery(TCbsTopic &topic, const bool isAddTopic)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showTopicQuery IN");
+    bool ret = false; // user didn't click OK
+    // Compose dialog
+    mTopicQuery = new HbInputDialog();
+    mTopicQuery->setSecondRowVisible(true);
+    // Name
+    mTopicQuery->setInputMode(HbInputDialog::TextInput, 0);
+    mTopicQuery->lineEdit(0)->setMaxLength(KMaxTopicNameLength);
+    QString name = QString::fromUtf16(topic.iName.Ptr(), topic.iName.Length()); 
+    if (name.length()) {
+        mTopicQuery->setTextValue(QVariant(name), 0);
+        LOG2(NORMAL,"CBSUI: CbsUiTopicListView::showTopicQuery old name %s",
+                name.utf16());
+    }
+
+    // Number
+    mTopicQuery->setInputMode(HbInputDialog::IntInput, 1);
+    mTopicQuery->lineEdit(1)->setMaxLength(3);
+    int number = topic.iNumber;
+    if (number){
+        mTopicQuery->setTextValue(QVariant(number), 1);
+        LOG2(NORMAL,"CBSUI: CbsUiTopicListView::showTopicQuery old number%d", number);
+    }
+
+    mTopicQuery->setPromptText(hbTrId("txt_cbs_topic_name"), 0);
+    mTopicQuery->setPromptText(hbTrId("txt_cbs_topic_number"), 1);
+
+    // Disable OK button if invalid topic number input
+    HbAction *perimaryAction = mTopicQuery->primaryAction();
+    perimaryAction->setEnabled(false);
+    connect(mTopicQuery->lineEdit(1), SIGNAL(textChanged(QString)), 
+        this, SLOT( updateQueryAction(QString)));
+
+    // Add validation for topic number (1-999)
+    HbValidator *val =new HbValidator;
+    QRegExp r("\\d{1,3}"); // from 1 to 3 digits
+    val->setMasterValidator(new QRegExpValidator(r,0));
+    val->addField(new QIntValidator(1,999,0),"");
+    mTopicQuery->setValidator(val, 1);
+
+    // Show the dialog
+    HbAction *action = mTopicQuery->exec();
+
+    // Fatch name and number from dialog
+    name = mTopicQuery->value(0).toString();
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::showTopicQuery name=%s ", name.utf16());
+    number = mTopicQuery->value(1).toString().toInt();
+    LOG2(NORMAL,"CBSUI: CbsUiTopicListView::showTopicQuery number=%d ", number);
+    bool isNumberExist(false);
+    if (isAddTopic) {
+        int count(0);
+        mServer->GetTopicCount(count);   
+        LOG2(NORMAL,"CBSUI: CbsUiTopicListView::showTopicQuery topic total count %d", 
+                count);     
+        // Check if there is a toipc number same as number which user add
+        for (int i = 1; i < count; i++) {
+            TCbsTopic currentTopic;
+            mServer->GetTopic(i, currentTopic);
+            if (currentTopic.iNumber == number) {
+            isNumberExist = true;
+            break;
+            }     
+        }      
+    }
+
+    // check that a topic number was entered and ok pressed
+    // name is optional
+    if (action == mTopicQuery->primaryAction()) {
+        if ( isNumberExist || !number){
+            // 000 topic and exist number topic can't be edited
+            showNumberInUsePopup();
+            showTopicQuery( topic, isAddTopic);
+        } else {
+            ret = true;
+            LOG(NORMAL,"CBSUI: CbsUiTopicListView::showTopicQuery OK")
+            topic.iNumber = number;
+            topic.iSubscribed = ETrue;
+            topic.iHotmarked = EFalse;
+            if (name.length()) {
+                topic.iName = name.utf16();
+            }       
+        }
+    }
+    delete mTopicQuery;
+    mTopicQuery = NULL;
+
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showTopicQuery OUT");
+    return ret;
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicListView::showNumberInUsePopup
+// ----------------------------------------------------------------------------  
+void CbsUiTopicListView::showNumberInUsePopup()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showNumberInUsePopup IN");
+    HbMessageBox *inUsedPopup = new HbMessageBox(HbMessageBox::MessageTypeWarning);
+    inUsedPopup->setText(tr("topic number already in use "));
+    inUsedPopup->exec();
+    delete inUsedPopup;
+    inUsedPopup = NULL;
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::showNumberInUsePopup OUT");
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/src/cbsuitopicview.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+#include <QGraphicsLinearLayout>
+
+#include <hbapplication.h>
+#include <hbmenu.h>
+#include <hbicon.h>
+#include <hblistwidget.h>
+#include <hblistwidgetitem.h>
+
+#include "cbsuitopicview.h"
+#include "cbsuiviewmanager.h"
+#include "rcbsui.h"
+#include "cbslog.h"
+#include "cbsuiconstants.h"
+
+const char *T_TITLE = "listWidget2";
+const char *T_PREVIOUS= "action";
+const char *T_BACK= "action_2";
+
+// ======== MEMBER FUNCTIONS ==================================================
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicView::CbsUiTopicView
+// ----------------------------------------------------------------------------
+CbsUiTopicView::CbsUiTopicView()
+    : HbView(),
+      mServer(NULL),
+      mViewManager(NULL),
+      mTopic(NULL),
+      mCurrentTopicNumber(NULL)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::CbsUiTopicView IN"); 
+    
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::CbsUiTopicView OUT"); 
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicView::~CbsUiTopicView
+// ----------------------------------------------------------------------------
+CbsUiTopicView::~CbsUiTopicView()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::~CbsUiTopicView IN");
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::~CbsUiTopicView OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicView::init
+// ----------------------------------------------------------------------------
+void CbsUiTopicView::init(MCbs &server, CbsUiViewManager &viewManager)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::init IN");
+    mViewManager = &viewManager;
+    mServer = &server;
+    createComponents();
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::init OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicView::TopicListChangedL
+// ----------------------------------------------------------------------------
+void CbsUiTopicView::TopicListChangedL(TCbsTopicListEvent /*aEvent*/,
+        TCbsTopicNumber /*aTopicNumber*/)                                        
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::TopicListChangedL IN");    
+    /*if (mTopic && 
+         mCurrentTopicNumber == aTopicNumber &&
+         ECbsTopicReceivedNewMessage == aEvent) {
+        reloadMessages(aTopicNumber);
+    }    */
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::TopicListChangedL OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicView::createComponents
+// ----------------------------------------------------------------------------
+void CbsUiTopicView::createComponents()
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::createComponents IN"); 
+    
+    mTopic = qobject_cast<HbListWidget *>(
+        mViewManager->xmlLoader()->findWidget(T_TITLE));
+    LOG2(NORMAL,"CBSUI: CbsUiTopicView::createComponents mTopic=%d", mTopic); 
+    
+    // Previous Action
+    mPrevious = qobject_cast<HbAction *>( 
+        mViewManager->xmlLoader()->findObject(T_PREVIOUS));
+    
+    if (!mPrevious) {
+        LOG(NORMAL,"CBSUI: CbsUiTopicListView::createComponents\
+                 mPrevious faild");
+    }
+
+    // Back Action
+    mBack = qobject_cast<HbAction *>( 
+        mViewManager->xmlLoader()->findObject(T_BACK));
+    
+    if (!mBack) {
+        LOG(NORMAL,"CBSUI: CbsUiTopicListView::createComponents\
+                 mBack faild");
+    } else {
+    connect(mBack, SIGNAL(triggered(bool)), mViewManager, SLOT(activateMainView()));
+    LOG(NORMAL,"CBSUI: CbsUiTopicListView::createComponents\
+         mBack successfully");
+    }
+
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::createComponents OUT"); 
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicView::reloadMessages
+// ----------------------------------------------------------------------------
+void CbsUiTopicView::reloadMessages(TCbsTopicNumber topicNumber)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::reloadMessages IN"); 
+    mCurrentTopicNumber = topicNumber;
+    // Update topic details
+    HbListWidgetItem* listItem = new HbListWidgetItem();
+    TCbsTopic topic;
+
+    mServer->GetTopic(mCurrentTopicNumber, topic);
+   
+    // Clear first
+    mTopic->clear();
+    QString name = QString::fromUtf16(topic.iName.Ptr(), topic.iName.Length()); 
+    QString numberAndName = QVariant(topic.iNumber).toString();
+    // instert zeros to topic number in case 2 or 1 digit topic number.
+    switch (numberAndName.length()) {
+        case 1:
+            {
+            numberAndName.insert(0, "0");
+            numberAndName.insert(0, "0");
+            break;
+            }
+        case 2:
+            {
+            numberAndName.insert(0, "0");
+            break;
+            }
+        default:{}
+        // do nothing
+        }
+
+    listItem->setText(numberAndName);
+    //updateStatusIcon(*listItem, topic);
+    mTopic->addItem(listItem);
+    listItem = NULL;
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::reloadMessages OUT"); 
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiTopicView::addMessage
+// ----------------------------------------------------------------------------
+void CbsUiTopicView::addMessage(const TCbsMessage& /*message*/, 
+                                const QString& /*msgName*/)
+{
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::addMessage IN");     
+    LOG(NORMAL,"CBSUI: CbsUiTopicView::addMessage OUT");     
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/src/cbsuiutility.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,163 @@
+/*
+* 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 CbsUiClenaupHandler     
+*
+*
+*/
+
+
+// INCLUDES
+#include    "CbsUiUtility.h"
+#include    "MSaveMessageController.h"
+#include    "CbsUiDebug.h"
+#include    "MCbs.h"
+
+
+
+// =================== MEMBER FUNCTIONS ====================
+
+
+// ---------------------------------------------------------
+// CbsUiUtility::ShowConfirmationNoteL
+// 
+// 
+// ---------------------------------------------------------
+//
+void CbsUiUtility::ShowConfirmationNoteL(
+    const TInt aResourceId, TBool aWaitingDialog )
+    {
+    /*HBufC* text = CCoeEnv::Static()->AllocReadResourceLC(aResourceId);
+    CAknConfirmationNote* note = 
+        new (ELeave) CAknConfirmationNote(aWaitingDialog);
+    note->ExecuteLD(*text);
+    CleanupStack::PopAndDestroy(text);*/
+    }
+
+// ---------------------------------------------------------
+// CbsUiUtility::ShowErrorNoteL
+// 
+// 
+// ---------------------------------------------------------
+//
+void CbsUiUtility::ShowErrorNoteL( const TInt aResourceId )
+    {
+    /*HBufC* text = CCoeEnv::Static()->AllocReadResourceLC( aResourceId );
+    CAknErrorNote* note = new (ELeave) CAknErrorNote;
+    note->ExecuteLD( *text );
+    CleanupStack::PopAndDestroy( text );*/
+    }
+
+// ---------------------------------------------------------
+// CbsUiUtility::ShowWarningNoteL
+// 
+// 
+// ---------------------------------------------------------
+//
+void CbsUiUtility::ShowWarningNoteL( const TInt aResourceId )
+    {
+   /* HBufC* text = CCoeEnv::Static()->AllocReadResourceLC( aResourceId );
+    CAknWarningNote* note = new (ELeave) CAknWarningNote;
+    note->ExecuteLD( *text );
+    CleanupStack::PopAndDestroy( text );*/
+    }
+
+// ---------------------------------------------------------
+// CbsUiUtility::CreateEmptyNavigationPaneL
+// 
+// 
+// ---------------------------------------------------------
+//
+/*CAknNavigationDecorator* CbsUiUtility::CreateEmptyNavigationPaneL()
+    {
+    CEikStatusPane* statusPane = 
+        STATIC_CAST( CAknAppUi*, 
+            CEikonEnv::Static()->EikAppUi() )->StatusPane();
+
+    CAknNavigationControlContainer* naviContainer = 
+        STATIC_CAST( CAknNavigationControlContainer*, statusPane->
+        ControlL(TUid::Uid(EEikStatusPaneUidNavi)) );
+
+    CAknNavigationDecorator* decorator;
+    decorator = naviContainer->CreateNavigationLabelL();
+
+    naviContainer->PushL(*decorator);
+
+    return decorator;
+    }*/
+
+// ---------------------------------------------------------
+// CbsUiUtility::IsSavedL
+// 
+// 
+// ---------------------------------------------------------
+//
+TBool CbsUiUtility::IsSavedL( const TCbsMessageHandle aHandle, MCbs& aServer )
+    {
+    /*__ASSERT_DEBUG(&aServer, CbsUiPanic(EErrNullPointer) );
+    __ASSERT_DEBUG(aServer.Connected(), CbsUiPanic(EErrServerDisconnected) );
+
+    TCbsMessage message;
+    
+    TInt ret = aServer.FindMessageByHandle(aHandle, message);
+
+    __CBSUI_ASSERT( ret == KErrNone, CbsUiPanic(EErrMsgHandleNotFound) );
+
+    User::LeaveIfError(ret);
+    TBool saved(EFalse);
+
+    if ( message.iPermanent )
+        {
+        saved = ETrue;
+        }
+           */
+    return EFalse; //saved;
+    }
+
+// ---------------------------------------------------------
+// CbsUiUtility::SaveCurrentMessageL
+// 
+// 
+// ---------------------------------------------------------
+//
+TInt CbsUiUtility::SaveCurrentMessageL(
+    const TCbsMessageHandle aHandle, MSaveMessageController& aSaver )
+    {    
+   /* __ASSERT_DEBUG(&aSaver, CbsUiPanic(EErrNullPointer) );
+
+    TInt resultCode( aSaver.SaveMessage(aHandle) );
+    
+    switch ( resultCode )
+        {
+        case KErrDiskFull:
+            {
+            User::Leave( KErrDiskFull );
+            break;
+            }
+        case KErrNone: // Normal case
+            {
+            // do nothing
+            break;
+            }
+        default:
+            {          
+            //CbsUiUtility::ShowErrorNoteL(R_TEXT_NOTE_MEMORY_FULL_ERROR);
+            break;
+            } 
+        }  */
+
+    return 0; //resultCode;
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/src/cbsuiviewmanager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,193 @@
+/*
+* 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 <hbmainwindow.h>
+#include <hbdocumentloader.h>
+#include <hbaction.h>
+#include <hbmenu.h>
+
+#include "cbsuiviewmanager.h"
+#include "cbsuitopiclistview.h"
+#include "cbsuitopicview.h"
+#include "mcbs.h"
+#include "cbslog.h"
+
+const char *CBS_APP_XML = ":/xml/cbs_app.docml";
+const char *CBS_TOPIC_VIEW_XML = ":/xml/cbs_topic_view.docml";
+const char *CBS_MAIN_VIEW = "t:view";
+const char *CBS_TOPIC_VIEW ="t:view2";
+
+// ======== MEMBER FUNCTIONS ==================================================
+// ----------------------------------------------------------------------------
+// CbsUiViewManager::CbsUiViewManager
+// ----------------------------------------------------------------------------
+//
+CbsUiViewManager::CbsUiViewManager(HbMainWindow *window, MCbs &server)
+    :mMainWindow(window), 
+    mServer(server), 
+    mTopicListView(NULL),
+    mTopicView(NULL), 
+    mLoader(NULL), 
+    mSoftKeyBackAction(NULL), 
+    mSoftKeyExitAction(NULL)
+{
+    LOG(NORMAL,"CBSUI: CbsUiViewManager::CbsUiViewManager IN"); 
+    
+    // SYMBIAN CODE:
+    //mTopicMonitor = CCbsUiTopicListMonitor::NewL(mServer); not in use at the moment
+    
+    bool ok = false;
+    mLoader = new CbsUiDocumentLoader();
+    // ownership of the objects are transferred to caller
+    mObjects = mLoader->load(CBS_APP_XML, &ok);
+    if (ok) {
+        activateMainView();
+    } else {
+        LOG(NORMAL,"CBSUI: CbsUiViewManager::CbsUiViewManager DocML failure!");
+    }
+
+	LOG(NORMAL,"CBSUI: CbsUiViewManager::CbsUiViewManager OUT"); 
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiViewManager::~CbsUiViewManager
+// ----------------------------------------------------------------------------
+//
+CbsUiViewManager::~CbsUiViewManager()
+{
+    LOG(NORMAL,"CBSUI: CbsUiViewManager::~CbsUiViewManager IN"); 
+    //delete mTopicMonitor;  not in use at the moment
+    delete mLoader;
+    // delete all objects created from DocML.
+    while (!mObjects.isEmpty()) {
+        LOG(NORMAL,"CBSUI: CbsUiViewManager::~CbsUiViewManager deleting..."); 
+        delete mObjects.takeFirst();
+    }
+    LOG(NORMAL,"CBSUI: CbsUiViewManager::~CbsUiViewManager OUT"); 
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiViewManager::activateTopicView
+// ----------------------------------------------------------------------------
+//
+void CbsUiViewManager::activateTopicView(TCbsTopicNumber topicNumber)
+{
+    LOG(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView IN");
+    if (!mTopicView) {
+        bool ok = false;
+        // ownership of the objects are transferred to caller
+        mObjects += mLoader->load(CBS_TOPIC_VIEW_XML, &ok);
+        if (ok) {
+            mTopicView = 
+            qobject_cast<CbsUiTopicView *>(mLoader->findWidget(CBS_TOPIC_VIEW));
+            mTopicView->init(mServer, *this); 
+        } else {
+            LOG(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView DocML failure!");
+        }
+    }
+
+    if (mTopicView != mMainWindow->currentView()) {
+        if (!mSoftKeyBackAction) {
+            mSoftKeyBackAction = new HbAction(Hb::BackAction,mTopicView);
+            LOG2(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView \
+                    mSoftKeyBackAction==%d", mSoftKeyBackAction);
+        }
+        
+        mTopicView->reloadMessages(topicNumber);
+        mMainWindow->addSoftKeyAction(Hb::SecondarySoftKey,mSoftKeyBackAction);
+        bool ret = connect(mSoftKeyBackAction, SIGNAL(triggered()),
+                       this, SLOT(activateMainView()));
+        HbView* view = mMainWindow->currentView();
+        mMainWindow->removeView(view);
+        // just temp implement
+        mTopicListView = 0;
+        mMainWindow->addView(mTopicView);
+        LOG2(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView\
+                 mTopicView=%d", mTopicView);
+    }
+    LOG(NORMAL,"CBSUI: CbsUiViewManager::activateTopicView OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiViewManager::activateMainView
+// ----------------------------------------------------------------------------
+//
+void CbsUiViewManager::activateMainView()
+{
+    LOG(NORMAL,"CBSUI: CbsUiViewManager::activateMainView IN");
+    if (!mTopicListView) {
+        // First time called
+        mTopicListView = qobject_cast<CbsUiTopicListView *>
+            (mLoader->findWidget(CBS_MAIN_VIEW));
+        mTopicListView->init(mServer, *this); 
+        // Connect signal to change view
+        bool ret = connect(mTopicListView, 
+                            SIGNAL(topicSelected(TCbsTopicNumber)), this, 
+                            SLOT(activateTopicView(TCbsTopicNumber)));
+        LOG2(NORMAL,"CBSUI: CbsUiViewManager::activateMainView ret=%d", ret);
+    } else {
+        HbView *view = mMainWindow->currentView();
+        mMainWindow->removeView(view);
+        // just temp implement
+        mTopicView = 0;
+    }
+
+    if (!mSoftKeyExitAction) {
+        mSoftKeyExitAction = new HbAction(Hb::QuitAction, mTopicListView);
+        LOG(NORMAL,"CBSUI: CbsUiViewManager::activateMainView add quit action");
+    } 
+    if ( mSoftKeyBackAction ) {
+        mMainWindow->removeSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyBackAction);
+        mSoftKeyBackAction = 0;
+        LOG(NORMAL,"CBSUI: CbsUiViewManager::activateMainView remove back action");
+    }
+
+    mMainWindow->addSoftKeyAction(Hb::SecondarySoftKey,mSoftKeyExitAction);
+    bool ret = connect(mSoftKeyExitAction, SIGNAL(triggered()), 
+            mMainWindow, SLOT(close()));
+    LOG2(NORMAL,"CBSUI: CbsUiViewManager::activateMainView connect exit=%d", ret);
+    mMainWindow->addView(mTopicListView);
+    mMainWindow->setCurrentView(mTopicListView);
+    LOG(NORMAL,"CBSUI: CbsUiViewManager::activateMainView OUT");
+}
+
+// ----------------------------------------------------------------------------
+// CbsUiDocumentLoader::createObject
+// For DocML usage: 
+// ----------------------------------------------------------------------------
+//
+QObject *CbsUiDocumentLoader::createObject(
+        const QString& type, const QString &name)
+{
+    LOG(NORMAL,"CBSUI: CbsUiViewManager::createObject IN");
+    if (type == CbsUiTopicListView::staticMetaObject.className()) {
+        QObject *object = new CbsUiTopicListView;
+        object->setObjectName(name);
+        LOG(NORMAL,"CBSUI: CbsUiViewManager::createObject:CbsUiTopicListView OUT");
+        return object;
+        }  else if (type == CbsUiTopicView::staticMetaObject.className()) {
+        QObject *object = new CbsUiTopicView;
+        object->setObjectName(name);
+        LOG(NORMAL,"CBSUI: CbsUiViewManager::createObject:CbsUiTopicView OUT");
+        return object;
+        }
+    LOG2(NORMAL,"CBSUI: CbsUiViewManager::createObject: \
+            object name = %s",name.utf16());
+    return HbDocumentLoader::createObject(type, name);
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/src/ccbsuisettingsmonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,136 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDES
+#include "MCbs.h"
+#include "CCbsUiSettingsMonitor.h"
+//#include "CbsUiPanic.h"
+#include "MCbsUiSettingsObserver.h"
+
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ----------------------------------------------------------------------------
+// CCbsUiSettingsMonitor::CCbsUiSettingsMonitor
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ----------------------------------------------------------------------------
+//
+CCbsUiSettingsMonitor::CCbsUiSettingsMonitor(
+    MCbs& aServer, 
+    MCbsUiSettingsObserver& aObserver )
+    : 
+    CActive(EPriorityStandard), 
+    iContinue(ETrue), 
+    iServer(aServer),
+    iObserver(aObserver)
+    {
+    }
+
+// ----------------------------------------------------------------------------
+// CCbsUiSettingsMonitor::ConstructL
+// Symbian OS default constructor can leave.
+// ----------------------------------------------------------------------------
+//
+void CCbsUiSettingsMonitor::ConstructL( )
+    {    
+    CActiveScheduler::Add( this );
+    IssueRequest();
+    }
+
+// ----------------------------------------------------------------------------
+// CCbsUiSettingsMonitor::NewL
+// Two-phased constructor.
+// ----------------------------------------------------------------------------
+//
+CCbsUiSettingsMonitor* CCbsUiSettingsMonitor::NewL(
+    MCbs& aServer, MCbsUiSettingsObserver& aObserver )
+    {
+    CCbsUiSettingsMonitor* self = new (ELeave) CCbsUiSettingsMonitor( 
+        aServer, aObserver);
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+
+// ----------------------------------------------------------------------------
+// CbsUiViewManager::activateMainView
+// Destructor
+// ----------------------------------------------------------------------------
+//
+CCbsUiSettingsMonitor::~CCbsUiSettingsMonitor()
+    {
+    iContinue = EFalse;
+    Cancel();
+    }
+
+
+// ----------------------------------------------------------------------------
+// CCbsUiSettingsMonitor::IssueRequest
+// 
+// This metor issues request
+// ----------------------------------------------------------------------------
+//
+void CCbsUiSettingsMonitor::IssueRequest()
+    {
+    if ( iContinue )
+        {
+        SetActive();        
+        iServer.NotifySettingsChanged( iStatus, iEvent );
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CCbsUiSettingsMonitor::RunL
+// 
+// calls SettingsChanged method on application class 
+// ----------------------------------------------------------------------------
+//
+void CCbsUiSettingsMonitor::RunL()  
+    {
+    iObserver.SettingsChangedL(iEvent); // Doesn't inform the reason!!
+
+  /*  __ASSERT_DEBUG( iEvent == ECbsModifiedReceptionStatus ||
+                    iEvent == ECbsModifiedTopicDetectionStatus ||
+                    iEvent == ECbsModifiedLanguages, 
+                    CbsUiPanic(EErrInvalidEvent) );
+*/
+    if ( iContinue )
+        {
+        IssueRequest();
+        }
+    }
+
+
+// ----------------------------------------------------------------------------
+// CCbsUiSettingsMonitor::DoCancel
+// 
+// ----------------------------------------------------------------------------
+//
+void CCbsUiSettingsMonitor::DoCancel()
+    {
+    iContinue = EFalse;    
+    iServer.NotifySettingsChangedCancel();
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/src/ccbsuitopiclistmonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,161 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDES
+#include <QObject>
+#include "mcbs.h"
+#include "ccbsuitopiclistmonitor.h"
+#include "mcbsuitopicmonitorobserver.h"
+#include "cbsuiconstants.h"
+
+
+
+// CONSTANTS
+const TInt KNumberOfObservers = 3;
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ----------------------------------------------------------------------------
+// CCbsUiSettingsMonitor::CCbsUiSettingsMonitor
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ----------------------------------------------------------------------------
+//
+CCbsUiTopicListMonitor::CCbsUiTopicListMonitor( MCbs& aServer )
+    : CActive(EPriorityStandard), iContinue(ETrue), iServer(aServer)
+    {
+    }
+
+
+// ----------------------------------------------------------------------------
+// CCbsUiTopicListMonitor::ConstructL
+// Symbian OS default constructor can leave
+// ----------------------------------------------------------------------------
+//
+void CCbsUiTopicListMonitor::ConstructL( )
+    {    
+    CActiveScheduler::Add(this);
+    IssueRequest();
+
+    iObservers = new (ELeave) TCbsUiMonitorObservers(KNumberOfObservers);
+    }
+
+// ----------------------------------------------------------------------------
+// CCbsUiTopicListMonitor::NewL
+// Two-phased constructor.
+// ----------------------------------------------------------------------------
+//
+CCbsUiTopicListMonitor* CCbsUiTopicListMonitor::NewL( MCbs& aServer )
+    {
+    CCbsUiTopicListMonitor* self = 
+        new (ELeave) CCbsUiTopicListMonitor(aServer);
+    
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+    
+
+// ----------------------------------------------------------------------------
+// CCbsUiTopicListMonitor::~CCbsUiTopicListMonitor
+// Destructor
+// ----------------------------------------------------------------------------
+//
+CCbsUiTopicListMonitor::~CCbsUiTopicListMonitor()
+    {
+    delete iObservers;
+    Cancel();
+    }
+
+// ----------------------------------------------------------------------------
+// CCbsUiTopicListMonitor::IssueRequest()
+// 
+// 
+// ----------------------------------------------------------------------------
+//
+void CCbsUiTopicListMonitor::IssueRequest()
+    {
+    if ( iContinue )
+        {
+        SetActive();
+
+        iServer.NotifyOnTopicListEvent( 
+            iStatus, ECbsTopicAllEvents, iEvent, iTopicNumber );
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CCbsUiTopicListMonitor::RunL
+// 
+// 
+// ----------------------------------------------------------------------------
+//
+void CCbsUiTopicListMonitor::RunL()  
+
+    {
+    if ( iObservers->Count() > 0 )
+        {
+        for ( TInt i(0); i < iObservers->Count(); i++ )
+            {
+            iObservers->At(i)->TopicListChangedL(iEvent, iTopicNumber);
+            }
+        }
+    // TODO: Panics..
+    //__ASSERT_DEBUG( 
+    //    (iEvent & ECbsTopicAllEvents), CbsUiPanic(EErrInvalidEvent) );
+
+    if ( iContinue )
+        {
+        IssueRequest();
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CCbsUiTopicListMonitor::DoCancel
+// 
+// 
+// ----------------------------------------------------------------------------
+//
+void CCbsUiTopicListMonitor::DoCancel()
+    {
+    iContinue = EFalse;
+
+    iServer.NotifyOnTopicListEventCancel();
+    }
+
+// ----------------------------------------------------------------------------
+// CCbsUiTopicListMonitor::AddObserverL
+// 
+// 
+// ----------------------------------------------------------------------------
+//
+void CCbsUiTopicListMonitor::AddObserverL(
+    MCbsUiTopicMonitorObserver* aObserver )
+    {
+   /* __ASSERT_DEBUG( iObservers, CbsUiPanic(EErrNullPointer) );
+    __ASSERT_DEBUG( aObserver, CbsUiPanic(EErrNullPointer) );
+*/
+    iObservers->AppendL(aObserver);
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/src/main.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QtGui>
+#include <QTranslator>
+
+#include <hbapplication.h>
+#include <hbinstance.h>
+
+#include "cbsuimainwindow.h"
+#include "cbslog.h"
+
+int main(int argc, char *argv[])
+{
+    LOG(NORMAL,"CBSUI: main IN");
+    
+    // Initialization
+    HbApplication app(argc, argv);
+    
+    QTranslator translator;
+    bool ok = translator.load(":/translations/cbsui_en");
+    LOG2(NORMAL, "CBSUI: main, translation %d (1=OK, 0=fail)", ok )
+    app.installTranslator(&translator);
+
+    // Main window widget. 
+    // Includes decorators such as signal strength and battery life indicator.
+    CbsUiMainWindow mainWindow;
+    #ifndef __WINSCW
+    LOG(NORMAL,"CBSUI: main set LANDSCAPE mode");
+    hbInstance->setOrientation(Qt::Horizontal);
+    #endif
+    mainWindow.show();
+    LOG(NORMAL,"CBSUI: main mainwindow show over");
+    // Enter event loop
+    int result = app.exec();
+    LOG2(NORMAL,"CBSUI: main exit %d", result);
+    return result;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbs/cbsui/src/rcbsui.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,311 @@
+/*
+* 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: 
+*     RCbsUi calls directly real cbs client, which handles
+*     the actual calls to server.
+*
+*/
+
+
+//  INCLUDES
+#include <QObject>
+#include "rcbsui.h"
+#include <RCbs.h>
+
+ 
+// ================= MEMBER FUNCTIONS =======================
+
+RCbsUi::RCbsUi()
+    {
+    }
+
+RCbsUi::~RCbsUi() 
+    {
+    }
+
+TInt RCbsUi::Connect()
+    {
+    return iServer.Connect();
+    }
+
+void RCbsUi::Close()
+    {
+    iServer.Close();
+    }
+
+TVersion RCbsUi::Version() const
+    {
+    return iServer.Version();
+    }
+
+// Settings-related methods
+void RCbsUi::GetReceptionStatus( 
+    TBool&  aStatus )
+    {
+    iServer.GetReceptionStatus( aStatus );
+    }
+
+TInt RCbsUi::SetReceptionStatus( 
+    TBool aStatus )
+    {
+    return iServer.SetReceptionStatus( aStatus );
+    }
+
+void RCbsUi::GetTopicDetectionStatus( 
+    TBool&  aStatus )
+    {
+    iServer.GetTopicDetectionStatus( aStatus );
+    }
+
+TInt RCbsUi::SetTopicDetectionStatus( 
+    TBool   aStatus )
+    {
+    return iServer.SetTopicDetectionStatus(aStatus);
+    }
+
+void RCbsUi::GetLanguages( 
+    TCbsSettingsLanguages& aLanguages )
+    {
+    iServer.GetLanguages(aLanguages);
+    }
+
+TInt RCbsUi::SetLanguages( 
+    const TCbsSettingsLanguages& aLanguages )
+    {
+    return iServer.SetLanguages(aLanguages);
+    }
+
+void RCbsUi::NotifySettingsChanged( 
+    TRequestStatus&     aStatus, 
+    TCbsSettingsEvent&  aEvent )
+    {
+    iServer.NotifySettingsChanged( aStatus, aEvent );
+    }
+
+void RCbsUi::NotifySettingsChangedCancel()
+    {
+    iServer.NotifySettingsChangedCancel();
+    }
+
+// Topic Collection -related methods
+void RCbsUi::StartCollectionBrowsing()
+    {
+    iServer.StartCollectionBrowsing();
+    }
+
+TBool RCbsUi::HasNextCollectionTopic()
+    {
+    return iServer.HasNextCollectionTopic();
+    }
+
+TInt RCbsUi::NextCollectionTopic( 
+    TCbsTopicInfo&      aInfo )
+    {
+    return iServer.NextCollectionTopic(aInfo);
+    }
+
+// Topic List-related methods
+void RCbsUi::GetTopicCount( 
+    TInt&   aCount )
+    {
+    iServer.GetTopicCount(aCount);
+    }
+
+TInt RCbsUi::GetTopic( 
+    const TInt      aIndex, 
+    TCbsTopic&      aTopic )
+    {
+    return iServer.GetTopic(aIndex, aTopic);
+    }
+
+TInt RCbsUi::FindTopicByNumber( 
+    TCbsTopicNumber aNumber, 
+    TCbsTopic& aTopic )
+    {
+    return iServer.FindTopicByNumber( aNumber, aTopic );
+    }
+
+TInt RCbsUi::DeleteTopic( 
+    TCbsTopicNumber aNumber )
+    {
+    return iServer.DeleteTopic(aNumber);
+    }
+
+TInt RCbsUi::DeleteAllTopics()
+    {
+    return iServer.DeleteAllTopics();
+    }
+
+TInt RCbsUi::AddTopic( 
+    TCbsTopic&      aTopic )
+    {
+    return iServer.AddTopic(aTopic);
+    }
+
+TInt RCbsUi::ChangeTopicNameAndNumber( 
+    TCbsTopicNumber aOldNumber,
+    TCbsTopicNumber aNewNumber, 
+    const TCbsTopicName& aName )
+    {
+    return iServer.ChangeTopicNameAndNumber(aOldNumber, aNewNumber, aName);
+    }
+
+TInt RCbsUi::ChangeTopicSubscriptionStatus( 
+    TCbsTopicNumber aNumber,
+    TBool aNewStatus )
+    {
+    return iServer.ChangeTopicSubscriptionStatus( aNumber, aNewStatus );
+    }
+
+TInt RCbsUi::ChangeTopicHotmarkStatus( 
+    TCbsTopicNumber aNumber,
+    TBool aNewStatus )
+    {
+    return iServer.ChangeTopicHotmarkStatus( aNumber, aNewStatus );
+    }
+
+void RCbsUi::NotifyOnTopicListEvent( 
+    TRequestStatus&         aStatus, 
+    const TInt              aRequested, 
+    TCbsTopicListEvent&     aEvent, 
+    TCbsTopicNumber&        aNumber )
+    {
+    iServer.NotifyOnTopicListEvent(aStatus, aRequested, aEvent, aNumber);
+    }
+
+void RCbsUi::NotifyOnTopicListEventCancel()
+    {
+    iServer.NotifyOnTopicListEventCancel();
+    }
+
+TInt RCbsUi::GetNewTopicsCount( 
+    TInt&       aCount )
+    {
+    return iServer.GetNewTopicsCount(aCount);
+    }
+
+TInt RCbsUi::GetLatestTopicNumber( TCbsTopicNumber& aNumber )
+    {
+    return iServer.GetLatestTopicNumber(aNumber);
+    }
+
+void RCbsUi::GetUnreadMessageCount( 
+    TInt&       aCount )
+    {
+    iServer.GetUnreadMessageCount(aCount);
+    }
+
+void RCbsUi::GetHotmarkedMessageHandle( 
+    TCbsMessageHandle&  aMessage )
+    {
+    iServer.GetHotmarkedMessageHandle(aMessage);
+    }
+
+TInt RCbsUi::NumberOfUnreadHotmarkedMessages() 
+    {
+    return iServer.NumberOfUnreadHotmarkedMessages();
+    }
+
+TInt RCbsUi::GetNextAndPrevTopicNumber( 
+	const TCbsTopicNumber& aCurrentTopicNumber,
+	TCbsTopicNumber& aPrevTopicNumber,
+	TCbsTopicNumber& aNextTopicNumber,
+	TInt& aPosition )
+    {
+    return iServer.GetNextAndPrevTopicNumber(
+        aCurrentTopicNumber, aPrevTopicNumber, aNextTopicNumber, aPosition);
+    }
+
+
+// Topic Messages-related methods
+TInt RCbsUi::GetMessageCount( 
+    TCbsTopicNumber aNumber,
+    TInt& aCount )
+    {
+    return iServer.GetMessageCount(aNumber, aCount);
+    }
+    
+TInt RCbsUi::GetMessage( 
+    TCbsTopicNumber aNumber, 
+    TInt            aIndex, 
+    TCbsMessage&    aMessage )
+    {
+    return iServer.GetMessage(aNumber, aIndex, aMessage);
+    }
+
+TInt RCbsUi::FindMessageByHandle( 
+    const TCbsMessageHandle&    aHandle, 
+    TCbsMessage&                aMessage )
+    {
+    return iServer.FindMessageByHandle(aHandle, aMessage);
+    }
+
+TInt RCbsUi::GetMessageIndexByHandle( 
+    const TCbsMessageHandle& aHandle, TInt& aIndex )
+    {
+    return iServer.GetMessageIndexByHandle(aHandle, aIndex);
+    }
+
+TInt RCbsUi::DeleteMessage( 
+    const TCbsMessageHandle&    aHandle )
+    {    
+    return iServer.DeleteMessage(aHandle);
+    }
+
+TInt RCbsUi::SaveMessage( 
+    const TCbsMessageHandle&    aHandle )
+    {    
+    return iServer.SaveMessage(aHandle);
+    }
+
+TInt RCbsUi::LockMessage( 
+    const TCbsMessageHandle&    aHandle )
+    {    
+    return iServer.LockMessage(aHandle);
+    }
+
+TInt RCbsUi::ReadMessage( 
+    const TCbsMessageHandle&    aHandle )
+    {
+    return iServer.ReadMessage(aHandle);
+    }
+
+TInt RCbsUi::GetMessageContents( 
+    const TCbsMessageHandle&    aHandle, 
+    TDes&                       aBuffer )
+    {
+    return iServer.GetMessageContents(aHandle, aBuffer);
+    }
+
+TInt RCbsUi::GetNextAndPrevMessageHandle(
+	const TCbsMessageHandle& aCurrentMsgHandle,
+	TCbsMessageHandle& aPrevMsgHandle,
+	TCbsMessageHandle& aNextMsgHandle,
+	TInt& aPosition )
+    {
+    return iServer.GetNextAndPrevMessageHandle(
+        aCurrentMsgHandle, aPrevMsgHandle, aNextMsgHandle, aPosition);
+    }
+
+TBool RCbsUi::Connected() const 
+    {
+    return iServer.Connected();   
+    }
+
+void RCbsUi::Shutdown() const
+    {
+    iServer.Shutdown();
+    }
+
+//  End of File
--- a/cbs/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/cbs/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -16,8 +16,7 @@
 */
 
 
-#include "../CbsServer/Group/bld.inf"
-#include "../cbsui/Group/bld.inf"
+#include "../cbsserver/Group/bld.inf"
 
 
-// End of File
\ No newline at end of file
+// End of File
--- a/cellular/PsetNotesUi/Group/Psui.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Group/Psui.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -25,22 +25,22 @@
 TARGETTYPE dll
 UID 0x1000008d 0x100059C6
 
-SOURCEPATH ../Src
-SOURCE PsuiBarringObs.cpp 
-SOURCE PsuiWaitingObs.cpp
-SOURCE PsuiDivertObs.cpp
-SOURCE PsuiNoteMaster.cpp
-SOURCE PsuiResourceLoader.cpp
-SOURCE PsuiContainer.cpp
-SOURCE PsuiCliObserver.cpp
-SOURCE PsuiVariationProxy.cpp
+SOURCEPATH ../src 
+SOURCE psuibarringobs.cpp 
+SOURCE psuiwaitingobs.cpp 
+SOURCE psuidivertobs.cpp 
+SOURCE psuinotemaster.cpp 
+SOURCE psuiresourceloader.cpp 
+SOURCE psuicontainer.cpp 
+SOURCE psuicliobserver.cpp 
+SOURCE psuivariationproxy.cpp 
 #ifdef RD_PHONE_NG
-SOURCE PsuiQueryDialog.cpp
+SOURCE psuiquerydialog.cpp 
 #endif // RD_PHONE_NG
-SOURCE PsuiReqObserver.cpp
-SOURCE PsuiNoteController.cpp
+SOURCE psuireqobserver.cpp 
+SOURCE psuinotecontroller.cpp 
 
-START RESOURCE ../Data/Psui.rss
+START RESOURCE ../data/psui.rss 
 HEADER
 TARGETPATH RESOURCE_FILES_DIR
 // Language definition
@@ -50,7 +50,7 @@
 
 SYSTEMINCLUDE     ../../../inc
 
-USERINCLUDE    . ../Inc
+USERINCLUDE    . ../inc 
 MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY bafl.lib 
@@ -61,10 +61,10 @@
 LIBRARY avkon.lib 
 LIBRARY commonengine.lib 
 LIBRARY etelmm.lib
-LIBRARY featmgr.lib	
+LIBRARY featmgr.lib 
 LIBRARY numbergrouping.lib
 LIBRARY servicerequest.lib
-LIBRARY	centralrepository.lib
+LIBRARY centralrepository.lib
 #ifdef RD_PHONE_NG
 LIBRARY eikdlg.lib
 LIBRARY eikcore.lib
--- a/cellular/PsetNotesUi/Group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -22,15 +22,15 @@
 DEFAULT
 
 PRJ_MMPFILES
-../Group/Psui.mmp
+../group/psui.mmp
 
 PRJ_EXPORTS
-../Inc/PsuiResourceLoader.h |../../../inc/psuiresourceloader.h
-../Data/psui_stub.SIS       /epoc32/data/z/system/install/psui_stub.sis
+../inc/psuiresourceloader.h |../../../inc/psuiresourceloader.h
+../data/psui_stub.sis       /epoc32/data/z/system/install/psui_stub.sis
 
 // IBY Files
-../Rom/Psui.iby             CORE_APP_LAYER_IBY_EXPORT_PATH(Psui.iby)
-../Rom/PsuiResources.iby    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(PsuiResources.iby)
+../rom/psui.iby             CORE_APP_LAYER_IBY_EXPORT_PATH(psui.iby)
+../rom/psuiresources.iby    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(psuiresources.iby)
 
 // LOC files
 ../loc/psui.loc             MW_LAYER_LOC_EXPORT_PATH(psui.loc)
--- a/cellular/PsetNotesUi/Inc/PsuiNoteController.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Inc/PsuiNoteController.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <coemain.h>
-#include "PsuiNoteMaster.h"
+#include "psuinotemaster.h" 
 
 // CLASS DECLARATION
 
--- a/cellular/PsetNotesUi/Inc/PsuiNoteMaster.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Inc/PsuiNoteMaster.h	Tue Aug 31 15:45:17 2010 +0300
@@ -25,9 +25,9 @@
 // INCLUDES
 #include <aknnotewrappers.h>
 #include <bldvariant.hrh>
-#include "PsuiConstants.h"
-#include "PsuiInternalConstants.h"
-#include "PsetCallDiverting.h"
+#include "psuiconstants.h" 
+#include "psuiinternalconstants.h" 
+#include "psetcalldiverting.h" 
  
 // FORWARD DECLARATIONS
 class MPsetCallWaiting;
@@ -176,7 +176,7 @@
     
     private: //new
         
-		void AppendCFNumber( TDes& aString, const TDesC& aNumber);
+        void AppendCFNumber( TDes& aString, const TDesC& aNumber);
 
         void CreateListBoxL( 
             TCFType aCFType, CAknSinglePopupMenuStyleListBox* aList );
--- a/cellular/PsetNotesUi/Inc/PsuiQueryDialog.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Inc/PsuiQueryDialog.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #define CPSUIQUERYDIALOG_H
 
 //  INCLUDES
-#include <AknQueryDialog.h>
+#include <AknQueryDialog.h> 
 
 NONSHARABLE_CLASS ( CPsuiQueryDialog ) : public CAknQueryDialog
     {
--- a/cellular/PsetNotesUi/Inc/PsuiReqObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Inc/PsuiReqObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 // INCLUDES
 #include <mservicerequestobserver.h>          
-#include "PsuiNoteMaster.h"
+#include "psuinotemaster.h" 
 
 // FORWARD DECLARATIONS
  
--- a/cellular/PsetNotesUi/Inc/PsuiVariationProxy.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Inc/PsuiVariationProxy.h	Tue Aug 31 15:45:17 2010 +0300
@@ -12,9 +12,9 @@
 * Contributors:
 *
 * Description:  
-*		CPsuiVariationProxy class is proxy class for 
-*		central repository variation
-*		(Call waiting/distinguish between not provisioned and not activated).
+*       CPsuiVariationProxy class is proxy class for 
+*       central repository variation
+*       (Call waiting/distinguish between not provisioned and not activated).
 *  
 *
 */
@@ -42,39 +42,39 @@
 {
 public: //constructor & destructor
 
-	/* Symbian OS 2-phase Constructor. */
-	static CPSuiVariationProxy* NewL();
-	
-	/* Destructor */
-	~CPSuiVariationProxy();
-	
+    /* Symbian OS 2-phase Constructor. */
+    static CPSuiVariationProxy* NewL();
+    
+    /* Destructor */
+    ~CPSuiVariationProxy();
+    
 public:
-	/**
+    /**
     * Check from member variable 'iFeatures' is the requested feature active.
-	*
-	* @param aFeature is uid for used central repository variable.
-	* @return returns TBool type ETrue/EFalse is current feature enabled or not
-	*/
-	
-	TBool FeatureEnabled( TUint aFeature ) const;
+    *
+    * @param aFeature is uid for used central repository variable.
+    * @return returns TBool type ETrue/EFalse is current feature enabled or not
+    */
+    
+    TBool FeatureEnabled( TUint aFeature ) const;
 
 private:
-	
-	/**
+    
+    /**
     * Constructor
-	*
-	* Open CenRep, read data into 'iFeatures' and close CenRep
-	* 
-	*/
-	void ConstructL();
-	
+    *
+    * Open CenRep, read data into 'iFeatures' and close CenRep
+    * 
+    */
+    void ConstructL();
+    
 private:
-	/* Default constructor */
-	CPSuiVariationProxy();
+    /* Default constructor */
+    CPSuiVariationProxy();
 private:
-	// Saves cen rep data. Readed in ConstructL()
-	TInt iFeatures;
-	
+    // Saves cen rep data. Readed in ConstructL()
+    TInt iFeatures;
+    
 };
 
 #endif
--- a/cellular/PsetNotesUi/Src/PsuiBarringObs.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiBarringObs.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,13 +17,13 @@
 
 
 // INCLUDE FILES
-#include <Psui.rsg>
-#include <PsuiContainer.h>
+#include <psui.rsg> 
+#include <psuicontainer.h> 
 #include <exterror.h>
 #include <etelsat.h>
 
-#include "PsuiInternalConstants.h" 
-#include "PsuiNoteController.h"
+#include "psuiinternalconstants.h" 
+#include "psuinotecontroller.h" 
 
 //  MEMBER FUNCTIONS
 // ---------------------------------------------------------------------------
--- a/cellular/PsetNotesUi/Src/PsuiCliObserver.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiCliObserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,13 +17,13 @@
 
 
 // INCLUDE FILES
-#include <Psui.rsg>
+#include <psui.rsg> 
 #include <featmgr.h>
 #include <etelsat.h>
  
-#include "PsuiCliObserver.h"    
-#include "PsuiContainer.h"      
-#include "PsuiNoteController.h"
+#include "psuicliobserver.h" 
+#include "psuicontainer.h" 
+#include "psuinotecontroller.h" 
 
 //  MEMBER FUNCTIONS
 
--- a/cellular/PsetNotesUi/Src/PsuiContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiContainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 //INCLUDES
-#include <PsuiContainer.h>      
+#include <psuicontainer.h> 
 
-#include "PsuiResourceLoader.h" 
+#include "psuiresourceloader.h" 
 
 // ---------------------------------------------------------------------------
 // Symbian OS two-phased constructor.
--- a/cellular/PsetNotesUi/Src/PsuiDivertObs.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiDivertObs.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,13 +17,13 @@
 
 
 // INCLUDE FILES
-#include <Psui.rsg>
+#include <psui.rsg> 
 #include <mmlist.h>
 #include <featmgr.h> 
-#include <PsuiContainer.h>
+#include <psuicontainer.h> 
 #include <etelsat.h>
 
-#include "PsuiNoteController.h"
+#include "psuinotecontroller.h" 
 
 
 // ---------------------------------------------------------------------------
--- a/cellular/PsetNotesUi/Src/PsuiNoteController.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiNoteController.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,8 +17,8 @@
 
 
 // INCLUDE FILES
-#include "PsuiNoteController.h"
-#include "PsuiInternalConstants.h"
+#include "psuinotecontroller.h" 
+#include "psuiinternalconstants.h" 
 
 // ================= MEMBER FUNCTIONS =======================
 
@@ -74,7 +74,7 @@
 //
 void CPsuiNoteController::ShowNoteL( TPsuiNoteTypes aType, TInt aResourceID )
     {
-	  iNote->ShowNoteL( aType, aResourceID );
+      iNote->ShowNoteL( aType, aResourceID );
     }       
 
 // ---------------------------------------------------------
@@ -83,7 +83,7 @@
 //
 void CPsuiNoteController::ShowBscListL( TInt aResourceHeading, TUint8 aBsc[KPSUIMaxBscNumber] )
     {
-	  iNote->ShowBscListL( aResourceHeading, aBsc );
+      iNote->ShowBscListL( aResourceHeading, aBsc );
     }
 
 // ---------------------------------------------------------
@@ -92,7 +92,7 @@
 //
 TInt CPsuiNoteController::SetErrorNoteResourceID ( const TInt aErrorCode )
     {
-	  return iNote->SetErrorNoteResourceID( aErrorCode );
+      return iNote->SetErrorNoteResourceID( aErrorCode );
     }
 
 // ---------------------------------------------------------
@@ -101,9 +101,9 @@
 //
 void CPsuiNoteController::RemoveNotesL()
     {
-	  delete iNote;
-	  iNote = NULL;
-	  iNote = CPsuiNoteMaster::NewL();
+      delete iNote;
+      iNote = NULL;
+      iNote = CPsuiNoteMaster::NewL();
     }
 
 // ---------------------------------------------------------
@@ -112,7 +112,7 @@
 //
 void CPsuiNoteController::KillStaticNoteL()
     {
-	  iNote->KillStaticNoteL();
+      iNote->KillStaticNoteL();
     }
 
 // ---------------------------------------------------------
@@ -124,7 +124,7 @@
     MPsetCli* aCliEngine )
     {
     iNote->SetEngineContacts( aWaitingEngine, aBarringEngine,
-        aDivertEngine, aCliEngine );	
+        aDivertEngine, aCliEngine );    
     }
 
 // ---------------------------------------------------------
@@ -135,7 +135,7 @@
     CMobilePhoneCFList& aList, TCFType aCFType, TInt& aIndex )
     {
     return iNote->ShowBscCFListL( aResourceHeading, aList,
-        aCFType, aIndex );	
+        aCFType, aIndex );  
     }
 
 // ---------------------------------------------------------
@@ -145,7 +145,7 @@
 void CPsuiNoteController::ShowCfInfoL( TCFType& aCFType,
     const RMobilePhone::TMobilePhoneCFInfoEntryV1& aSetting )
     {
-    iNote->ShowCfInfoL( aCFType, aSetting );	
+    iNote->ShowCfInfoL( aCFType, aSetting );    
     }
 
 // End of File
--- a/cellular/PsetNotesUi/Src/PsuiNoteMaster.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiNoteMaster.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,26 +17,26 @@
 
 
 // INCLUDE FILES
-#include <Psui.rsg>                 
+#include <psui.rsg> 
 #include <aknlists.h>               
-#include <PsuiContainer.h>
-#include <StringLoader.h>           
+#include <psuicontainer.h> 
+#include <StringLoader.h> 
 #include <exterror.h>               
 #include <gsmerror.h>
 #include <mmlist.h>
 #include <featmgr.h>
-#include <NumberGrouping.h>
+#include <NumberGrouping.h> 
 #include <cservicerequest.h>
 #include <e32property.h>
-#include <BTSapDomainPSKeys.h>
+#include <BTSapDomainPSKeys.h> 
 
-#include "PsuiInternalConstants.h" 
-#include "PsuiNoteMaster.h"
-#include "PsuiReqObserver.h"
-#include "PsuiQueryDialog.h"
+#include "psuiinternalconstants.h" 
+#include "psuinotemaster.h" 
+#include "psuireqobserver.h" 
+#include "psuiquerydialog.h" 
  
 #include <centralrepository.h>
-#include <NumberGroupingCRKeys.h>
+#include <NumberGroupingCRKeys.h> 
 // MACROS
 
 #ifdef _DEBUG
@@ -130,11 +130,11 @@
     {
     if ( aResourceID < 0 )
         {
-		if ( aType  == EPsuiWaitingNote )
-			{
-        	iRequesting = ETrue;
-        	iServiceRequest->StartL( KNullDesC );
- 			}
+        if ( aType  == EPsuiWaitingNote )
+            {
+            iRequesting = ETrue;
+            iServiceRequest->StartL( KNullDesC );
+            }
         return; 
         }
 
@@ -295,7 +295,7 @@
         }
     
     // Get base text and set phone number into it.
-	// Note that two characters are reserved for LRM markers.
+    // Note that two characters are reserved for LRM markers.
     TBuf<KPSUIDetailsText+2> string;    
     StringLoader::Load( string, R_TO_NUMBER );
     string.Append( KPSUIListDivider ); 
@@ -305,14 +305,14 @@
     CRepository* repository = CRepository::NewL( KCRUidNumberGrouping );
     pngErr = repository->Get( KNumberGrouping, pngSupported );
     delete repository;
-    	
+        
     if ( KErrNone == pngErr && pngSupported != 0 )
         {
         CPNGNumberGrouping* numberGrouping = 
             CPNGNumberGrouping::NewL( KPSUIMaxPSUIItemLength );
         CleanupStack::PushL( numberGrouping );
 
-		//Check that number fits (with or w/o number formatting).
+        //Check that number fits (with or w/o number formatting).
         if ( (aSetting.iNumber.iTelNumber.Length() + 2) <= numberGrouping->MaxDisplayLength() )
             {
             numberGrouping->Set( aSetting.iNumber.iTelNumber );
@@ -354,10 +354,10 @@
     iQuery = CPsuiQueryDialog::NewL( CAknQueryDialog::ENoTone );
     TInt command( iQuery->ExecuteLD( R_CONFIRMATION_QUERY, string ) );
     if( command == EKeyNo )
-	    {
-	    // End -key was pressed so don't relaunch previous query
-		aCFType = EPsuiNoCF;	    	
-	    }
+        {
+        // End -key was pressed so don't relaunch previous query
+        aCFType = EPsuiNoCF;            
+        }
     iQuery = NULL;
     }
 
@@ -570,11 +570,11 @@
 // CPsuiNoteMaster::AppendCFNumber
 // ---------------------------------------------------------------------------
 void CPsuiNoteMaster::AppendCFNumber( TDes& aString, const TDesC& aNumber )
-	{
-		aString.Append( KLRMarker );
-		aString.Append( aNumber );
-		aString.Append( KLRMarker );
-	}
+    {
+        aString.Append( KLRMarker );
+        aString.Append( aNumber );
+        aString.Append( KLRMarker );
+    }
 // ---------------------------------------------------------------------------
 // CPsuiNoteMaster::SetBsGroupLC
 // ---------------------------------------------------------------------------
@@ -587,7 +587,7 @@
             string = StringLoader::LoadLC( R_BS_ALPHA_0 );
             break;
         case 10:
-			string = StringLoader::LoadLC( R_BS_ALPHA_10 );
+            string = StringLoader::LoadLC( R_BS_ALPHA_10 );
             break;
         case 11:
             string = StringLoader::LoadLC( R_BS_ALPHA_11 );
--- a/cellular/PsetNotesUi/Src/PsuiQueryDialog.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiQueryDialog.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDE FILES
-#include "PsuiQueryDialog.h"
+#include "psuiquerydialog.h" 
 
 // ================= MEMBER FUNCTIONS =======================
 
@@ -25,7 +25,7 @@
 // might leave.
 //
 CPsuiQueryDialog::CPsuiQueryDialog( CAknQueryDialog::TTone aTone ) :
-	CAknQueryDialog( aTone ) 
+    CAknQueryDialog( aTone ) 
     {
     }
 
@@ -53,21 +53,14 @@
 TKeyResponse CPsuiQueryDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent,
     TEventCode aType )
     {
-    const TBool noKeyReleased = 
-        ( aKeyEvent.iScanCode == EStdKeyNo || aKeyEvent.iCode == EKeyNo  ) &&
-          aType == EEventKeyUp;    
-    const TBool escPressed = aKeyEvent.iCode == EKeyEscape;
-    
-    // AknDialogShutter sends esc keys so dismiss dialog 
-	if ( noKeyReleased || escPressed )
-		{
-		// End -key was pressed, so exit this query dialog
-		TryExitL( EKeyNo ); 
-		RDebug::Printf("PSETNOTESUI: exiting dialog");
-		return EKeyWasConsumed;
-		}
+    if ( ( aKeyEvent.iScanCode == EStdKeyNo || aKeyEvent.iCode == EKeyNo  ) &&
+         aType == EEventKeyUp )
+        {
+        // End -key was pressed, so exit this query dialog
+        TryExitL( EKeyNo );
+        }
 
-	return EKeyWasNotConsumed;
+    return EKeyWasNotConsumed;
     }
 
 // ---------------------------------------------------------------------------
@@ -76,7 +69,7 @@
 //
 TBool CPsuiQueryDialog::OkToExitL( TInt /*aCommand*/ )
     {
-	// Dismiss query
+    // Dismiss query
     return ETrue;
     }
 
--- a/cellular/PsetNotesUi/Src/PsuiReqObserver.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiReqObserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include <PsuiContainer.h>
+#include <psuicontainer.h> 
 
-#include "PsuiReqObserver.h"
+#include "psuireqobserver.h" 
   
 // MACROS
 
--- a/cellular/PsetNotesUi/Src/PsuiResourceLoader.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiResourceLoader.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 // INCLUDE FILES
 #include <coemain.h>
-#include <ConeResLoader.h>
+#include <ConeResLoader.h> 
 
-#include "PsuiResourceLoader.h"
+#include "psuiresourceloader.h" 
 
 // CONSTANTS
 _LIT( KPsuiResourceFileNameAndPath, "Z:\\resource\\Psui.rsc" );
--- a/cellular/PsetNotesUi/Src/PsuiVariationProxy.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiVariationProxy.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,40 +17,40 @@
 */
 
 
-#include "PsuiVariationProxy.h"
+#include "psuivariationproxy.h" 
 #include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
+#include <settingsinternalcrkeys.h> 
 
 CPSuiVariationProxy::CPSuiVariationProxy()
-	{	
-	}
-	
+    {   
+    }
+    
 CPSuiVariationProxy::~CPSuiVariationProxy()
-	{		
-	}
-	
+    {       
+    }
+    
 CPSuiVariationProxy* CPSuiVariationProxy::NewL()
-	{
-	CPSuiVariationProxy* self = new ( ELeave ) CPSuiVariationProxy();  
+    {
+    CPSuiVariationProxy* self = new ( ELeave ) CPSuiVariationProxy();  
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop( self );         
     return self;
-	}
-	
+    }
+    
 void CPSuiVariationProxy::ConstructL()
-	{
-	TInt setting = 0;
-	CRepository* centralRepository = CRepository::NewLC( KCRUidPhoneSettings );
-	centralRepository->Get( KPSetCallWaiting, setting );
-	if( setting )
-		{
-		iFeatures |= KCallWaitingDistiquishNotProvisioned;	
-		}
-	CleanupStack::PopAndDestroy( centralRepository );
-	}
-	
+    {
+    TInt setting = 0;
+    CRepository* centralRepository = CRepository::NewLC( KCRUidPhoneSettings );
+    centralRepository->Get( KPSetCallWaiting, setting );
+    if( setting )
+        {
+        iFeatures |= KCallWaitingDistiquishNotProvisioned;  
+        }
+    CleanupStack::PopAndDestroy( centralRepository );
+    }
+    
 TBool CPSuiVariationProxy::FeatureEnabled( TUint aFeature ) const
-	{
-	return aFeature&iFeatures;
-	}
+    {
+    return aFeature&iFeatures;
+    }
--- a/cellular/PsetNotesUi/Src/PsuiWaitingObs.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/Src/PsuiWaitingObs.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,13 +17,13 @@
 
 
 // INCLUDE FILES
-#include <Psui.rsg>
-#include <PsuiContainer.h>
+#include <psui.rsg> 
+#include <psuicontainer.h> 
 #include <etelsat.h>
  
-#include "PsuiInternalConstants.h"
-#include "PsuiNoteController.h"
-#include "PsuiVariationProxy.h"
+#include "psuiinternalconstants.h" 
+#include "psuinotecontroller.h" 
+#include "psuivariationproxy.h" 
 
 //  MEMBER FUNCTIONS
 // ---------------------------------------------------------------------------
@@ -110,7 +110,7 @@
     TUint8 aBsc[KPSUIMaxBscNumber] )
     {
     
-   	if ( iCallWaitingDistinguishEnabled && aStatus == MPsetCallWaiting::EStatusNotProvisioned )
+    if ( iCallWaitingDistinguishEnabled && aStatus == MPsetCallWaiting::EStatusNotProvisioned )
         {
         CPsuiNoteController::InstanceL()->ShowNoteL( 
             EPsuiConfirmationNote, R_CW_NOT_PROVISIONED_NOTE );
@@ -123,30 +123,30 @@
     else
         {
         if( iCallWaitingDistinguishEnabled )
-        	{
-        		
-        	//show only "CW active" even if the bsc list is present. 
-        	//This change is to fix the error ENYI-6DYFKZ
-         	CPsuiNoteController::InstanceL()->ShowNoteL( EPsuiConfirmationNote, 
+            {
+                
+            //show only "CW active" even if the bsc list is present. 
+            //This change is to fix the error ENYI-6DYFKZ
+            CPsuiNoteController::InstanceL()->ShowNoteL( EPsuiConfirmationNote, 
                 R_CW_ACTIVE_NO_BSC_NOTE );
-        	}
+            }
         else
-        	{
-        		
-        	//if no bsc-list present, show only "CW active"
-        	if ( aBsc[0] == KPSUINoBscGroup )
-            	{
-            	CPsuiNoteController::InstanceL()->ShowNoteL( EPsuiConfirmationNote, 
+            {
+                
+            //if no bsc-list present, show only "CW active"
+            if ( aBsc[0] == KPSUINoBscGroup )
+                {
+                CPsuiNoteController::InstanceL()->ShowNoteL( EPsuiConfirmationNote, 
                 R_CW_ACTIVE_NO_BSC_NOTE );
-            	}
-        	else
-            	{
+                }
+            else
+                {
             
-            	CPsuiNoteController::InstanceL()->ShowBscListL( 
+                CPsuiNoteController::InstanceL()->ShowBscListL( 
                 R_CW_STATUS_HEADING, 
                 aBsc );
-            	}
-        	}
+                }
+            }
         }
     }
 
--- a/cellular/PsetNotesUi/tsrc/public/basic/Src/T_PSetNotesUi.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/PsetNotesUi/tsrc/public/basic/Src/T_PSetNotesUi.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 //  EXTERNAL INCLUDES
 #include <EUnitMacros.h>
 #include <EUnitDecorators.h>
-#include <PsuiContainer.h>
+#include <psuicontainer.h>
 
 //  INTERNAL INCLUDES
 
--- a/cellular/SSSettings/Logger/SSSettingsLogger.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/Logger/SSSettingsLogger.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #ifndef SSSETTINGSLOGGER_H
 #define SSSETTINGSLOGGER_H
 
-#include "SSSettingsLoggingConf.h"
+#include "sssettingsloggingconf.h" 
 #include <e32std.h>
 #include <flogger.h>
 #include <e32svr.h>
--- a/cellular/SSSettings/group/SSSettings.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/group/SSSettings.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -16,37 +16,37 @@
 */
 
 #include <platform_paths.hrh>
-#include "../Logger/SSSettingsLoggingConf.h"
+#include "../logger/sssettingsloggingconf.h" 
 
 
 TARGET          sssettings.dll
 TARGETTYPE      dll
 UID             0x1000008d 0x10005A01
 
-VENDORID		VID_DEFAULT
+VENDORID        VID_DEFAULT
 
 // Capability assignment.
 CAPABILITY      CAP_GENERAL_DLL
 
 sourcepath    ../src
-SOURCE        RSSSettings.cpp
-SOURCE        CSSSettingsNotifier.cpp
-SOURCE        CSSSettingsAlsNotifier.cpp
-SOURCE        RCustomerServiceProfileCache.cpp
-SOURCE        CSSSettingsRefreshContainer.cpp
-SOURCE        CSSSettingsRefreshHandler.cpp
-SOURCE        CSSSettingsActiveObject.cpp
+SOURCE        rsssettings.cpp 
+SOURCE        csssettingsnotifier.cpp 
+SOURCE        csssettingsalsnotifier.cpp 
+SOURCE        rcustomerserviceprofilecache.cpp 
+SOURCE        csssettingsrefreshcontainer.cpp 
+SOURCE        csssettingsrefreshhandler.cpp 
+SOURCE        csssettingsactiveobject.cpp 
 
 USERINCLUDE     ../inc
-USERINCLUDE     ../Logger
+USERINCLUDE     ../logger 
 SYSTEMINCLUDE   ../inc
 
 MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE	../../../inc
+SYSTEMINCLUDE   ../../../inc
 
 LIBRARY    euser.lib
-LIBRARY    etel.lib         // ETel connection
-LIBRARY    customapi.lib    // Custom ETel API
+LIBRARY    etel.lib // etel connection 
+LIBRARY    customapi.lib // custom etel api 
 LIBRARY    etelmm.lib
 LIBRARY    featmgr.lib 
 LIBRARY    satclient.lib
--- a/cellular/SSSettings/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -23,15 +23,15 @@
 
 PRJ_EXPORTS
 
-../inc/CSSSettingsRefreshContainer.h  |../../../inc/csssettingsrefreshcontainer.h
-../inc/MSSSettingsRefreshHandler.h    |../../../inc/MSSSettingsRefreshHandler.h
+../inc/csssettingsrefreshcontainer.h  |../../../inc/csssettingsrefreshcontainer.h
+../inc/msssettingsrefreshhandler.h    |../../../inc/msssettingsrefreshhandler.h
 
-../group/SSSettings_stub.SIS          /epoc32/data/z/system/install/sssettings_stub.sis
+../group/sssettings_stub.sis          /epoc32/data/z/system/install/sssettings_stub.sis
 
 // IBY files
-../rom/SSSettings.iby                 CORE_APP_LAYER_IBY_EXPORT_PATH(SSSettings.iby)
+../rom/sssettings.iby                 CORE_APP_LAYER_IBY_EXPORT_PATH(sssettings.iby)
 
 PRJ_MMPFILES
-../group/SSSettings.mmp
+../group/sssettings.mmp
 
 //End of file
--- a/cellular/SSSettings/inc/CSSSettingsAlsNotifier.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/inc/CSSSettingsAlsNotifier.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,8 +23,8 @@
 #include <etelmm.h>
 #include <cenrepnotifyhandler.h>
 
-#include "RSSSettings.h"
-#include "CSSSettingsActiveObject.h"
+#include "rsssettings.h" 
+#include "csssettingsactiveobject.h" 
 
 // FORWARD DECLARATIONS
 class RMmCustomAPI;
--- a/cellular/SSSettings/inc/CSSSettingsNotifier.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/inc/CSSSettingsNotifier.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 //  INCLUDES
 #include <cenrepnotifyhandler.h>
 
-#include "RSSSettings.h"
-#include "CSSSettingsActiveObject.h"
+#include "rsssettings.h" 
+#include "csssettingsactiveobject.h" 
 
 // FORWARD DECLARATIONS
 class CSSSettingsAlsNotifier;
--- a/cellular/SSSettings/inc/CSSSettingsRefreshContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/inc/CSSSettingsRefreshContainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 
 //  INCLUDES
-#include <MSSSettingsRefreshHandler.h>
+#include <msssettingsrefreshhandler.h> 
 
 
 // FORWARD DECLARATIONS
--- a/cellular/SSSettings/inc/CSSSettingsRefreshHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/inc/CSSSettingsRefreshHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,15 +22,15 @@
 
 
 //  INCLUDES
-#include <MSSSettingsRefreshHandler.h>
+#include <msssettingsrefreshhandler.h> 
 #include <msatrefreshobserver.h>
-#include <MSSSettingsRefreshObserver.h>
-#include <RSSSettings.h>
-#include <RCustomerServiceProfileCache.h>
+#include <msssettingsrefreshobserver.h> 
+#include <rsssettings.h> 
+#include <rcustomerserviceprofilecache.h> 
 #include <rsatrefresh.h>
-#include <rsatsession.h>
+#include <rsatsession.h> 
 #include <cenrepnotifyhandler.h>
-#include "CSSSettingsActiveObject.h"
+#include "csssettingsactiveobject.h" 
 
 // DATA TYPES
 
@@ -78,16 +78,16 @@
 
         /**
         * @see MSSSettingsRefreshHandler::NotifyFileChangeL.
-		*/
-		void NotifyFileChangeL(
+        */
+        void NotifyFileChangeL(
             MSSSettingsRefreshObserver& aObserver,
             TSatElementaryFiles aObservedFiles,
             TSatRefreshType aObservedRefreshType );
 
-		/**
+        /**
         * @see MSSSettingsRefreshHandler::CancelNotify.
-		*/
-		void CancelNotify();
+        */
+        void CancelNotify();
 
         /**
         * @see MSSSettingsRefreshHandler::ChangedCspTable.
@@ -99,17 +99,17 @@
 
     public: // Functions from base classes
 
-		/**
+        /**
         * @see MSatRefreshObserver::AllowRefresh
         */
         TBool AllowRefresh(
             TSatRefreshType aType,
             const TSatRefreshFiles& aFiles );
 
-		/**
+        /**
         * @see MSatRefreshObserver::Refresh
         */
-		void Refresh(
+        void Refresh(
             TSatRefreshType aType,
             const TSatRefreshFiles& aFiles );
             
--- a/cellular/SSSettings/inc/MSSSettingsRefreshHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/inc/MSSSettingsRefreshHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 
 //  INCLUDES
-#include <MSSSettingsRefreshObserver.h>
+#include <msssettingsrefreshobserver.h> 
 #include <msatrefreshobserver.h>
 
 
@@ -43,25 +43,25 @@
     public: // New functions
 
         /**
-		* Start the waiting for refresh events.
+        * Start the waiting for refresh events.
         * 
         * @param aObserver The observer to handle refresh events.
         * @param aObservedFile The file change to be observed.
         * @param aObservedRefreshType The refresh type(s) to be observed.
-		*/
-		virtual void NotifyFileChangeL(
+        */
+        virtual void NotifyFileChangeL(
             MSSSettingsRefreshObserver& aObserver,
             TSatElementaryFiles aObservedFile,
             TSatRefreshType aObservedRefreshType ) = 0;
 
-		/**
-		* Cancel the notification started in NotifyFileChangeL.
+        /**
+        * Cancel the notification started in NotifyFileChangeL.
         * 
         * @param aObserver The observer whose notify to be canceled.
         * @param aObservedFile The file change to be canceled.
         * @param aObservedRefreshType The refresh type to be canceled.
-		*/
-		virtual void CancelNotify() = 0;
+        */
+        virtual void CancelNotify() = 0;
 
         /**
         * Get the changed CSP information after Refresh.
--- a/cellular/SSSettings/rom/SSSettings.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/rom/SSSettings.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 #ifndef __SSSETTINGS_IBY__
 #define __SSSETTINGS_IBY__
 
-file=ABI_DIR\BUILD_DIR\SSSettings.dll       SHARED_LIB_DIR\sssettings.dll
-data=ZSYSTEM\install\sssettings_stub.SIS    System\Install\sssettings_stub.SIS
+file=ABI_DIR\BUILD_DIR\sssettings.dll       SHARED_LIB_DIR\sssettings.dll
+data=ZSYSTEM\install\sssettings_stub.sis    System\Install\sssettings_stub.sis
 
 #endif
--- a/cellular/SSSettings/src/CSSSettingsActiveObject.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/src/CSSSettingsActiveObject.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDE FILES
-#include    "CSSSettingsActiveObject.h"
+#include    "csssettingsactiveobject.h" 
 #include    <e32property.h>
 
 
--- a/cellular/SSSettings/src/CSSSettingsAlsNotifier.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/src/CSSSettingsAlsNotifier.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,14 +20,14 @@
 // INCLUDE FILES
 #include    <rmmcustomapi.h>
 #include    <startupdomainpskeys.h>
-#include 	<centralrepository.h>
-#include 	<SSSettingsPrivatePSKeys.h>  // SSSettings Pub&Sub keys.
-#include 	<SSSettingsPrivateCRKeys.h>  // SSSettings CentRep keys.
-#include 	<PSVariables.h>
+#include    <centralrepository.h>
+#include    <sssettingsprivatepskeys.h> // sssettings pub&sub keys. 
+#include    <sssettingsprivatecrkeys.h> // sssettings centrep keys. 
+#include    <PSVariables.h> 
 
-#include    "CSSSettingsAlsNotifier.h"
-#include    "CSSSettingsActiveObject.h"
-#include    "SSSettingsLogger.h"
+#include    "csssettingsalsnotifier.h" 
+#include    "csssettingsactiveobject.h" 
+#include    "sssettingslogger.h" 
 
 // ================= MEMBER FUNCTIONS =======================
 // -----------------------------------------------------------------------------
@@ -488,7 +488,7 @@
     if ( error == KErrNone )
         {
         // Make sure that SIM state is OK otherwise parameters coming from SIM are mess.
-    	if ( simState ==ESimUsable )
+        if ( simState ==ESimUsable )
             {
             // Get Als support from Product Profile.
             error = CheckAlsSupportInProductProfile( iPPSupportAls );
@@ -514,30 +514,30 @@
                 
             // Open connection RCustomerServiceProfileCache.
             RCustomerServiceProfileCache alsProfileCache;
-        	error = alsProfileCache.Open();
-        	if ( error != KErrNone )
-        		{
-        		return error;
-        		} 
-        		
+            error = alsProfileCache.Open();
+            if ( error != KErrNone )
+                {
+                return error;
+                } 
+                
             // Get ALS CSP bit from cache.
-    		iAlsCSPError = alsProfileCache.CspCPHSTeleservices( params );
-    		
-			if ( iAlsCSPError == KErrNone || iAlsCSPError == KErrNotSupported )
-    			{
-    			// Checks CSP ALS support.
-    			iAlsCSPSupport = CheckIfAlsCSPSupported( params );
-    			}
-    		// If ETEL/TSY responses with error KErrNotReady/KErrServerBusy then CSP value is not correct one
-    		// and iAlsStatusChecked is set to EFalse.		
-    	    else if ( iAlsCSPError == KErrNotReady || iAlsCSPError == KErrServerBusy ) 
-        	    {
-        	    iAlsStatusChecked = EFalse;
-        	    alsProfileCache.Close();
-        	    return iAlsCSPError;
-        	    } 
-        	// Close connection RCustomerServiceProfileCache.
-    		alsProfileCache.Close();   
+            iAlsCSPError = alsProfileCache.CspCPHSTeleservices( params );
+            
+            if ( iAlsCSPError == KErrNone || iAlsCSPError == KErrNotSupported )
+                {
+                // Checks CSP ALS support.
+                iAlsCSPSupport = CheckIfAlsCSPSupported( params );
+                }
+            // If ETEL/TSY responses with error KErrNotReady/KErrServerBusy then CSP value is not correct one
+            // and iAlsStatusChecked is set to EFalse.      
+            else if ( iAlsCSPError == KErrNotReady || iAlsCSPError == KErrServerBusy ) 
+                {
+                iAlsStatusChecked = EFalse;
+                alsProfileCache.Close();
+                return iAlsCSPError;
+                } 
+            // Close connection RCustomerServiceProfileCache.
+            alsProfileCache.Close();   
 
             // Save PP and SIM als values to P&S.
             if ( savePPSimAls )
@@ -577,11 +577,11 @@
 TBool CSSSettingsAlsNotifier::CheckIfAlsCSPSupported(
     const RMobilePhone::TCspCPHSTeleservices aContainer ) const
     {
-	TBool supported(EFalse);
+    TBool supported(EFalse);
 
     if ( ( aContainer & RMobilePhone::KCspALS ) != 0 )
-        {		
-        supported = ETrue;	
+        {       
+        supported = ETrue;  
         }
     return supported;
     }
@@ -664,9 +664,9 @@
     if ( error == KErrNone )
         {
         error = RProperty::Set( 
-	        KPSUidSSConfig, 
-	        KSettingsPPSupportsALS, 
-	        iPPSupportAls );
+            KPSUidSSConfig, 
+            KSettingsPPSupportsALS, 
+            iPPSupportAls );
         }
         
     if ( error != KErrNone )
--- a/cellular/SSSettings/src/CSSSettingsNotifier.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/src/CSSSettingsNotifier.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,12 +19,12 @@
 // INCLUDE FILES
 #include    <rmmcustomapi.h>
 #include    <centralrepository.h>
-#include    <SSSettingsPrivateCRKeys.h>
+#include    <sssettingsprivatecrkeys.h> 
 
-#include    "CSSSettingsNotifier.h"
-#include    "MSSSettingsObserver.h"
-#include    "CSSSettingsAlsNotifier.h"
-#include    "SSSettingsLogger.h"
+#include    "csssettingsnotifier.h" 
+#include    "msssettingsobserver.h" 
+#include    "csssettingsalsnotifier.h" 
+#include    "sssettingslogger.h" 
 
 
 // DATA TYPES
@@ -111,10 +111,10 @@
 CSSSettingsNotifier::~CSSSettingsNotifier()
     {
     Cancel();
-	if( iCenRepAlsNotifyHandler )
-    	{
+    if( iCenRepAlsNotifyHandler )
+        {
         iCenRepAlsNotifyHandler->StopListening();
-    	}
+        }
 
     if( iCenRepClirNotifyHandler )
         {
--- a/cellular/SSSettings/src/CSSSettingsRefreshContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/src/CSSSettingsRefreshContainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include    <CSSSettingsRefreshContainer.h>
-#include    "CSSSettingsRefreshHandler.h"
+#include    <csssettingsrefreshcontainer.h> 
+#include    "csssettingsrefreshhandler.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/cellular/SSSettings/src/CSSSettingsRefreshHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/src/CSSSettingsRefreshHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,13 +19,13 @@
 
 // INCLUDE FILES
 #include    <centralrepository.h>
-#include    <rsatrefresh.h>
-#include    <BTSapDomainPSKeys.h>     // BT SAP Central Repository key.
+#include    <rsatrefresh.h> 
+#include    <BTSapDomainPSKeys.h> // bt sap central repository key. 
 #include    <featmgr.h>
 
-#include    "CSSSettingsRefreshHandler.h"
-#include    "SSSettingsLogger.h"
-#include    "CSSSettingsActiveObject.h"
+#include    "csssettingsrefreshhandler.h" 
+#include    "sssettingslogger.h" 
+#include    "csssettingsactiveobject.h" 
 
 // ============================= LOCAL FUNCTIONS ===============================
 
--- a/cellular/SSSettings/src/RCustomerServiceProfileCache.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/src/RCustomerServiceProfileCache.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,13 +19,13 @@
 // INCLUDE FILES
 #include    <bldvariant.hrh> // for feature definitions
 #include    <etel.h>  
-#include    <SSSettingsPrivatePSKeys.h>
+#include    <sssettingsprivatepskeys.h> 
 #include    <centralrepository.h>
 #include    <mmtsy_names.h>
 #include    <featmgr.h>
       
-#include    "RCustomerServiceProfileCache.h"
-#include    "SSSettingsLogger.h"
+#include    "rcustomerserviceprofilecache.h" 
+#include    "sssettingslogger.h" 
 
 // CONSTANTS
 #define KSSSettingsTSYName KMmTsyModuleName
@@ -80,8 +80,8 @@
 // Constructor
 // -----------------------------------------------------------------------------
 EXPORT_C RCustomerServiceProfileCache::RCustomerServiceProfileCache()
-	:iData( NULL ),iOldCspFile(NULL)
     {
+    iData = NULL;
     }
 
 // -----------------------------------------------------------------------------
@@ -119,8 +119,6 @@
     __SSSLOGSTRING("[SSS]--> RCustomerServiceProfileCache::Close");
     if ( iData == NULL )
         {
-        delete iOldCspFile;
-        iOldCspFile = NULL;
         return;
         }
 
@@ -462,12 +460,7 @@
         }
     User::LeaveIfError( 
         CspCacheDoOpenEtelConnection( iData->iEtel, iData->iPhone ) );
-    
-    if( iOldCspFile )
-    	{    	
-    	delete iOldCspFile;
-    	iOldCspFile = NULL;
-    	}
+
     // Create and reset old CSP file variable.
     iOldCspFile = new ( ELeave ) RMobilePhone::TMobilePhoneCspFileV1;
     DoResetOldCspFile();
@@ -502,34 +495,34 @@
         error = DefineAndSetValue( KPSUidSSConfig, KSettingsCspCache1, value );
         }
     else if ( error == KErrNotFound && aGroup == ESsCspGroup2 )
-    	{
-    	error = DefineAndSetValue( KPSUidSSConfig, KSettingsCspCache2, value );	
-    	}
+        {
+        error = DefineAndSetValue( KPSUidSSConfig, KSettingsCspCache2, value ); 
+        }
 
     if ( error == KErrNone )
         {
         if ( value != KCspCacheNoFile ) 
-         	{	
-         	__SSSLOGSTRING("[SSS] ---> GetCustomerServiceProfile");         	
-	        TRequestStatus status;
-	        // GetCustomerServiceProfile status returns KErrNotFound if CSP product profile is OFF.
-	        iData->iPhone.GetCustomerServiceProfile(
-	           status ,
-	           iData->iCspFilePckg );
-	        User::WaitForRequest( status );
-	        error = status.Int();
-	        __SSSLOGSTRING1("[SSS] <--- GetCustomerServiceProfile: error: %d", error); 
-	         
-	        if (( error == KErrNotReady ) || ( error == KErrServerBusy ))
-		        {
-		        return error;
-		        }  
-         	}
+            {   
+            __SSSLOGSTRING("[SSS] ---> GetCustomerServiceProfile");             
+            TRequestStatus status;
+            // GetCustomerServiceProfile status returns KErrNotFound if CSP product profile is OFF.
+            iData->iPhone.GetCustomerServiceProfile(
+               status ,
+               iData->iCspFilePckg );
+            User::WaitForRequest( status );
+            error = status.Int();
+            __SSSLOGSTRING1("[SSS] <--- GetCustomerServiceProfile: error: %d", error); 
+             
+            if (( error == KErrNotReady ) || ( error == KErrServerBusy ))
+                {
+                return error;
+                }  
+            }
         else // CSP has been read return value, if value is KCspCacheNoFile then return KErrNotSupported.
-        	{
-        	__SSSLOGSTRING("[SSS] CSP file cannot be found from SIM"); 
-			return KErrNotSupported;	
-        	}
+            {
+            __SSSLOGSTRING("[SSS] CSP file cannot be found from SIM"); 
+            return KErrNotSupported;    
+            }
 
         if ( error == KErrNone )
             {
@@ -565,7 +558,7 @@
             }
         else
             {
-           	value = KCspCacheNoFile;
+            value = KCspCacheNoFile;
             error = KErrNotSupported;
             }                        
         }
@@ -585,10 +578,10 @@
                 }
                 
             // Do not set error if defError is KErrNone. If Define/Set failed then error value is set.
-            if	( defError != KErrNone )
-            	{
-            	error = defError;
-            	}
+            if  ( defError != KErrNone )
+                {
+                error = defError;
+                }
             }
         
     __SSSLOGSTRING1("[SSS]    RCustomerServiceProfileCache::DoGetValues: error: %d", error);
--- a/cellular/SSSettings/src/RSSSettings.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/src/RSSSettings.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -23,18 +23,18 @@
 #include    <e32base.h>
 #include    <rmmcustomapi.h>
 #include    <mmtsy_names.h>
-#include    <PSVariables.h>
+#include    <PSVariables.h> 
 #include    <startupdomainpskeys.h>
-#include    <centralrepository.h>       // Central repository
-#include    <SSSettingsPrivateCRKeys.h>  // Settings Central Repository keys.
+#include    <centralrepository.h> // central repository 
+#include    <sssettingsprivatecrkeys.h> // settings central repository keys. 
 #include    <telservicesinternalcrkeys.h>
 #include    <telservicesvariant.hrh>
 
-#include    "RSSSettings.h"
-#include    "MSSSettingsObserver.h"
-#include    "CSSSettingsNotifier.h"
-#include    "CSSSettingsAlsNotifier.h"
-#include    "SSSettingsLogger.h"
+#include    "rsssettings.h" 
+#include    "msssettingsobserver.h" 
+#include    "csssettingsnotifier.h" 
+#include    "csssettingsalsnotifier.h" 
+#include    "sssettingslogger.h" 
 
 // CONSTANTS
 _LIT( KPanicCat, "SSSettings" );
@@ -500,10 +500,6 @@
 
     TInt error(KErrNone);
     TInt value(0);
-    if ( error != KErrNone )
-        {
-        return error;
-        }
 
     // If Get fails, we try to save the default data.
     switch ( aSetting )
@@ -706,41 +702,41 @@
     __SSSLOGSTRING1("[SSS]    RSSSettings::IsALSSupported alsCSPError value: %d", aAlsCspError );
     
     // When PP ALS is on and used SIM card suppports CSP ALS then alsCSPSupport returns EFALSE and alsCSPError KErrNotSupported but ALS functionality
-	// needs to be shown therefore KErrNone is returned.
+    // needs to be shown therefore KErrNone is returned.
     if ( aPpAlsValue && !aSimAlsValue && aAlsCspSupport == FALSE && aAlsCspError == KErrNotSupported  )
         {
         error = KErrNone;
-    	}		   
+        }          
     else if ( aPpAlsValue && aSimAlsValue && aAlsCspSupport == FALSE )
-    	{
-    	error = KErrNone;
-    	}
+        {
+        error = KErrNone;
+        }
     else if ( aPpAlsValue && aSimAlsValue && aAlsCspSupport == TRUE  )
         {
-    	error = KErrNone;
-    	}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+        error = KErrNone;
+        }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
     else if ( aPpAlsValue && !aSimAlsValue && aAlsCspSupport == FALSE  )
-    	{
-    	error = KErrNone;
-    	}
+        {
+        error = KErrNone;
+        }
     else if ( aPpAlsValue && !aSimAlsValue && aAlsCspSupport == TRUE  )
-    	{
-    	error = KErrNone;
-    	}
+        {
+        error = KErrNone;
+        }
     else if ( !aPpAlsValue && aSimAlsValue && aAlsCspSupport == TRUE  )
-    	{
-    	error = KErrNone;
-    	}
+        {
+        error = KErrNone;
+        }
     else if ( !aPpAlsValue && aSimAlsValue && aAlsCspSupport == FALSE  )
-   		{
-    	error = KErrNotSupported;
-   		}
+        {
+        error = KErrNotSupported;
+        }
     else if ( !aPpAlsValue && !aSimAlsValue && aAlsCspSupport == TRUE  )
-		{
-		error = KErrNone;
-		}
-							
-   	return error;   
+        {
+        error = KErrNone;
+        }
+                            
+    return error;   
     }
     
 // ---------------------------------------------------------
@@ -760,10 +756,6 @@
                     Panic( SSSettingsPanicInvalidRequest ) );
 
     TInt error(KErrNone);
-    if ( error != KErrNone )
-        {
-        return error;
-        }
 
     switch ( aSetting )
         {
--- a/cellular/SSSettings/tsrc/public/basic/EunitTest/Group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/tsrc/public/basic/EunitTest/Group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -29,6 +29,6 @@
 PRJ_MMPFILES
 
 PRJ_TESTMMPFILES
-../Group/MT_SSSettings.mmp
+../group/MT_SSSettings.mmp
 
 // End of file
--- a/cellular/SSSettings/tsrc/public/basic/EunitTest/MT_SSSettings/MT_SSSettings.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/tsrc/public/basic/EunitTest/MT_SSSettings/MT_SSSettings.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 //  EXTERNAL INCLUDES
 #include <EUnitMacros.h>
 #include <CSSSettingsRefreshContainer.h>
-#include <RCustomerServiceProfileCache.h>
-#include <RSSSettings.h>
+#include <rcustomerserviceprofilecache.h>
+#include <rsssettings.h>
 #include <mmtsy_names.h>
 
 //  INTERNAL INCLUDES
--- a/cellular/SSSettings/tsrc/public/basic/EunitTest/MT_SSSettings/MT_SSSettings.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/tsrc/public/basic/EunitTest/MT_SSSettings/MT_SSSettings.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 #include <CEUnitTestSuiteClass.h>
 #include <etelmm.h>
 #include <MSSSettingsObserver.h>
-#include <MSSSettingsRefreshObserver.h>
+#include <msssettingsrefreshobserver.h>
 #include <MSSSettingsRefreshHandler.h>
 #include <MSatRefreshObserver.h>
 #include <etelsat.h>
--- a/cellular/SSSettings/tsrc/public/basic/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/SSSettings/tsrc/public/basic/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-#include "../EunitTest/Group/bld.inf"
+#include "../EunitTest/group/bld.inf"
 
 
 // End of file
--- a/cellular/ServiceRequest/data/ServiceRequest.rss	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/ServiceRequest/data/ServiceRequest.rss	Tue Aug 31 15:45:17 2010 +0300
@@ -29,7 +29,7 @@
 #include <avkon.mbg>
 
 #include <avkon.loc>
-#include "ServiceRequest.hrh"
+#include "servicerequest.hrh" 
 
 RESOURCE RSS_SIGNATURE { }
 
--- a/cellular/ServiceRequest/group/ServiceRequest.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/ServiceRequest/group/ServiceRequest.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -25,11 +25,11 @@
 TARGETTYPE      DLL
 UID             0x1000008d 0x10005A3D
 
-SOURCEPATH	    ../src
-SOURCE          CServiceRequest.cpp
+SOURCEPATH      ../src
+SOURCE          cservicerequest.cpp 
 
 // Resource files
-START RESOURCE ../data/ServiceRequest.rss
+START RESOURCE ../data/servicerequest.rss 
 TARGETPATH RESOURCE_FILES_DIR
 HEADER
 LANGUAGE_IDS
@@ -41,7 +41,7 @@
 
 MW_LAYER_SYSTEMINCLUDE
 
-LIBRARY	        euser.lib cone.lib avkon.lib commonengine.lib
+LIBRARY         euser.lib cone.lib avkon.lib commonengine.lib
 LIBRARY         aknnotify.lib
 
 // End of file
--- a/cellular/ServiceRequest/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/ServiceRequest/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -21,14 +21,14 @@
 DEFAULT
 
 PRJ_EXPORTS
-../inc/CServiceRequest.h            |../../../inc/cservicerequest.h
-../inc/MServiceRequestObserver.h    |../../../inc/mservicerequestobserver.h
-../data/servicerequest_stub.SIS     /epoc32/data/z/system/install/servicerequest_stub.sis
+../inc/cservicerequest.h            |../../../inc/cservicerequest.h
+../inc/mservicerequestobserver.h    |../../../inc/mservicerequestobserver.h
+../data/servicerequest_stub.sis     /epoc32/data/z/system/install/servicerequest_stub.sis
 ../rom/servicerequest.iby           CORE_APP_LAYER_IBY_EXPORT_PATH(servicerequest.iby)
-../rom/servicerequestResources.iby  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(servicerequestResources.iby)
+../rom/servicerequestresources.iby  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(servicerequestresources.iby)
 
 PRJ_MMPFILES
-../group/ServiceRequest.mmp
+../group/servicerequest.mmp
  
 
 //  End of File  
--- a/cellular/ServiceRequest/inc/CServiceRequest.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/ServiceRequest/inc/CServiceRequest.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 //  INCLUDES
 #include <e32std.h>
 #include <e32base.h>
-#include <AknProgressDialog.h>
+#include <AknProgressDialog.h> 
 
 // FORWARD DECLARATIONS
 class MServiceRequestObserver;
--- a/cellular/ServiceRequest/inc/ServiceRequest.hrh	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/ServiceRequest/inc/ServiceRequest.hrh	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 enum TSerqNotes
     {
     ESerqRequestingNote = 1
-    };	
+    };  
 
 #endif
 
--- a/cellular/ServiceRequest/rom/servicerequest.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/ServiceRequest/rom/servicerequest.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -19,8 +19,8 @@
 #ifndef __SERVICEREQUEST_IBY__
 #define __SERVICEREQUEST_IBY__
 
-file=ABI_DIR\BUILD_DIR\SERVICEREQUEST.DLL  SHARED_LIB_DIR\SERVICEREQUEST.DLL
+file=ABI_DIR\BUILD_DIR\servicerequest.dll  SHARED_LIB_DIR\servicerequest.dll
 
-data=ZSYSTEM\install\Servicerequest_stub.sis    System\Install\Servicerequest_stub.sis
+data=ZSYSTEM\install\servicerequest_stub.sis    System\Install\servicerequest_stub.sis
 
 #endif
--- a/cellular/ServiceRequest/rom/servicerequestResources.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/ServiceRequest/rom/servicerequestResources.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -19,6 +19,6 @@
 #ifndef __SERVICEREQUESTRESOURCES_IBY__
 #define __SERVICEREQUESTRESOURCES_IBY__
 
-data=DATAZ_\RESOURCE_FILES_DIR\SERVICEREQUEST.rsc   		RESOURCE_FILES_DIR\SERVICEREQUEST.rsc
+data=DATAZ_\RESOURCE_FILES_DIR\SERVICEREQUEST.rsc           RESOURCE_FILES_DIR\SERVICEREQUEST.rsc
 
 #endif
--- a/cellular/ServiceRequest/src/CServiceRequest.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/ServiceRequest/src/CServiceRequest.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,16 +18,16 @@
 
 
 // INCLUDE FILES
-#include    "CServiceRequest.h"
-#include    "MServiceRequestObserver.h"
-#include    <ServiceRequest.rsg>
+#include    "cservicerequest.h" 
+#include    "mservicerequestobserver.h" 
+#include    <servicerequest.rsg> 
 
-#include    <AknWaitDialog.h>
-#include    <AknGlobalNote.h>
+#include    <AknWaitDialog.h> 
+#include    <AknGlobalNote.h> 
 #include    <aknnotewrappers.h>
 #include    <avkon.hrh>
 
-#include    <StringLoader.h>
+#include    <StringLoader.h> 
 #include    <gsmerror.h>
 #include    <exterror.h>
 #include    <ConeResLoader.h> 
--- a/cellular/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -17,8 +17,8 @@
 
 
 #include "../telephonysettings/group/bld.inf"
-#include "../SSSettings/group/bld.inf"
-#include "../PsetNotesUi/Group/bld.inf"
-#include "../ServiceRequest/group/bld.inf"
+#include "../sssettings/group/bld.inf"
+#include "../psetnotesui/group/bld.inf"
+#include "../servicerequest/group/bld.inf"
 
 // End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/bwins/psuinotesu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,105 @@
+EXPORTS
+	?qt_metacall@PsUiUtils@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1 NONAME ; int PsUiUtils::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?getStaticMetaObject@PsUiNotes@@SAABUQMetaObject@@XZ @ 2 NONAME ; struct QMetaObject const & PsUiNotes::getStaticMetaObject(void)
+	?tr@PsUiWaitingNoteHandler@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString PsUiWaitingNoteHandler::tr(char const *, char const *, int)
+	?tr@PsUiSettingsWrapper@@SA?AVQString@@PBD0@Z @ 4 NONAME ; class QString PsUiSettingsWrapper::tr(char const *, char const *)
+	?qt_metacast@PsUiNotes@@UAEPAXPBD@Z @ 5 NONAME ; void * PsUiNotes::qt_metacast(char const *)
+	?qt_metacall@PsUiSettingsWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6 NONAME ; int PsUiSettingsWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?metaObject@PsUiUtils@@UBEPBUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const * PsUiUtils::metaObject(void) const
+	?passwordQueryCompleted@PsUiNotes@@IAEXVQString@@_N@Z @ 8 NONAME ; void PsUiNotes::passwordQueryCompleted(class QString, bool)
+	?handleProgressNoteCanceled@PsUiNotes@@AAEXXZ @ 9 NONAME ; void PsUiNotes::handleProgressNoteCanceled(void)
+	?errorCodeTextMapping@PsUiUtils@@SA_NHAAVQString@@@Z @ 10 NONAME ; bool PsUiUtils::errorCodeTextMapping(int, class QString &)
+	?showNotificationDialog@PsUiNotes@@QAEXABVQString@@@Z @ 11 NONAME ; void PsUiNotes::showNotificationDialog(class QString const &)
+	??1PsUiDivertNoteHandler@@UAE@XZ @ 12 NONAME ; PsUiDivertNoteHandler::~PsUiDivertNoteHandler(void)
+	?qt_metacall@PsUiNotes@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13 NONAME ; int PsUiNotes::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?handleDivertingError@PsUiDivertNoteHandler@@QAEXH@Z @ 14 NONAME ; void PsUiDivertNoteHandler::handleDivertingError(int)
+	??0PsUiNotes@@AAE@XZ @ 15 NONAME ; PsUiNotes::PsUiNotes(void)
+	?showPasswordQueryDialog@PsUiNotes@@QAEXABVQString@@ABVQValidator@@H@Z @ 16 NONAME ; void PsUiNotes::showPasswordQueryDialog(class QString const &, class QValidator const &, int)
+	?trUtf8@PsUiNotes@@SA?AVQString@@PBD0@Z @ 17 NONAME ; class QString PsUiNotes::trUtf8(char const *, char const *)
+	?getStaticMetaObject@PsUiUtils@@SAABUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const & PsUiUtils::getStaticMetaObject(void)
+	?readCenrepValue@PsUiSettingsWrapper@@ABE?AVQVariant@@JK@Z @ 19 NONAME ; class QVariant PsUiSettingsWrapper::readCenrepValue(long, unsigned long) const
+	?getStaticMetaObject@PsUiDivertNoteHandler@@SAABUQMetaObject@@XZ @ 20 NONAME ; struct QMetaObject const & PsUiDivertNoteHandler::getStaticMetaObject(void)
+	?isFeatureCallWaitingDistiquishNotProvisionedEnabled@PsUiSettingsWrapper@@QAE_NXZ @ 21 NONAME ; bool PsUiSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled(void)
+	??1PsUiWaitingNoteHandler@@UAE@XZ @ 22 NONAME ; PsUiWaitingNoteHandler::~PsUiWaitingNoteHandler(void)
+	?formatPhoneNumber@PsUiNotes@@ABE?AVQString@@V2@@Z @ 23 NONAME ; class QString PsUiNotes::formatPhoneNumber(class QString) const
+	?passwordTextChanged@PsUiNotes@@AAEXXZ @ 24 NONAME ; void PsUiNotes::passwordTextChanged(void)
+	?tr@PsUiNotes@@SA?AVQString@@PBD0@Z @ 25 NONAME ; class QString PsUiNotes::tr(char const *, char const *)
+	??0PsUiSettingsWrapper@@QAE@PAVQObject@@@Z @ 26 NONAME ; PsUiSettingsWrapper::PsUiSettingsWrapper(class QObject *)
+	?staticMetaObject@PsUiLocalisation@@2UQMetaObject@@B @ 27 NONAME ; struct QMetaObject const PsUiLocalisation::staticMetaObject
+	??1PsUiSettingsWrapper@@UAE@XZ @ 28 NONAME ; PsUiSettingsWrapper::~PsUiSettingsWrapper(void)
+	?getStaticMetaObject@PsUiWaitingNoteHandler@@SAABUQMetaObject@@XZ @ 29 NONAME ; struct QMetaObject const & PsUiWaitingNoteHandler::getStaticMetaObject(void)
+	?getStaticMetaObject@PsUiSettingsWrapper@@SAABUQMetaObject@@XZ @ 30 NONAME ; struct QMetaObject const & PsUiSettingsWrapper::getStaticMetaObject(void)
+	?trUtf8@PsUiUtils@@SA?AVQString@@PBD0@Z @ 31 NONAME ; class QString PsUiUtils::trUtf8(char const *, char const *)
+	?qt_metacast@PsUiWaitingNoteHandler@@UAEPAXPBD@Z @ 32 NONAME ; void * PsUiWaitingNoteHandler::qt_metacast(char const *)
+	?finishedPasswordQueryDialog@PsUiNotes@@QAEXPAVHbAction@@@Z @ 33 NONAME ; void PsUiNotes::finishedPasswordQueryDialog(class HbAction *)
+	?handleDivertingStatus@PsUiDivertNoteHandler@@QAEXAAV?$QList@PAVPSCallDivertingStatus@@@@_N@Z @ 34 NONAME ; void PsUiDivertNoteHandler::handleDivertingStatus(class QList<class PSCallDivertingStatus *> &, bool)
+	??0PsUiWaitingNoteHandler@@QAE@AAVPSetCallWaitingWrapper@@@Z @ 35 NONAME ; PsUiWaitingNoteHandler::PsUiWaitingNoteHandler(class PSetCallWaitingWrapper &)
+	?trUtf8@PsUiSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 36 NONAME ; class QString PsUiSettingsWrapper::trUtf8(char const *, char const *, int)
+	?tr@PsUiSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 37 NONAME ; class QString PsUiSettingsWrapper::tr(char const *, char const *, int)
+	?cancelNote@PsUiNotes@@QAEXH@Z @ 38 NONAME ; void PsUiNotes::cancelNote(int)
+	?tr@PsUiLocalisation@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString PsUiLocalisation::tr(char const *, char const *, int)
+	?removeTranslators@PsUiLocalisation@@QAEXXZ @ 40 NONAME ; void PsUiLocalisation::removeTranslators(void)
+	?tr@PsUiUtils@@SA?AVQString@@PBD0@Z @ 41 NONAME ; class QString PsUiUtils::tr(char const *, char const *)
+	?qt_metacast@PsUiSettingsWrapper@@UAEPAXPBD@Z @ 42 NONAME ; void * PsUiSettingsWrapper::qt_metacast(char const *)
+	?tr@PsUiDivertNoteHandler@@SA?AVQString@@PBD0@Z @ 43 NONAME ; class QString PsUiDivertNoteHandler::tr(char const *, char const *)
+	??0PsUiLocalisation@@QAE@PAVQObject@@@Z @ 44 NONAME ; PsUiLocalisation::PsUiLocalisation(class QObject *)
+	??1PsUiLocalisation@@UAE@XZ @ 45 NONAME ; PsUiLocalisation::~PsUiLocalisation(void)
+	?trUtf8@PsUiWaitingNoteHandler@@SA?AVQString@@PBD0H@Z @ 46 NONAME ; class QString PsUiWaitingNoteHandler::trUtf8(char const *, char const *, int)
+	?noteShowing@PsUiNotes@@QAE_NXZ @ 47 NONAME ; bool PsUiNotes::noteShowing(void)
+	??_EPsUiWaitingNoteHandler@@UAE@I@Z @ 48 NONAME ; PsUiWaitingNoteHandler::~PsUiWaitingNoteHandler(unsigned int)
+	?trUtf8@PsUiNotes@@SA?AVQString@@PBD0H@Z @ 49 NONAME ; class QString PsUiNotes::trUtf8(char const *, char const *, int)
+	?trUtf8@PsUiDivertNoteHandler@@SA?AVQString@@PBD0@Z @ 50 NONAME ; class QString PsUiDivertNoteHandler::trUtf8(char const *, char const *)
+	?handleCFRequesting@PsUiDivertNoteHandler@@QAEX_N0@Z @ 51 NONAME ; void PsUiDivertNoteHandler::handleCFRequesting(bool, bool)
+	?metaObject@PsUiLocalisation@@UBEPBUQMetaObject@@XZ @ 52 NONAME ; struct QMetaObject const * PsUiLocalisation::metaObject(void) const
+	?trUtf8@PsUiDivertNoteHandler@@SA?AVQString@@PBD0H@Z @ 53 NONAME ; class QString PsUiDivertNoteHandler::trUtf8(char const *, char const *, int)
+	??_EPsUiLocalisation@@UAE@I@Z @ 54 NONAME ; PsUiLocalisation::~PsUiLocalisation(unsigned int)
+	?handleCallWaitingGetStatus@PsUiWaitingNoteHandler@@QAEXW4PsCallWaitingStatus@PSetCallWaitingWrapper@@ABV?$QList@E@@@Z @ 55 NONAME ; void PsUiWaitingNoteHandler::handleCallWaitingGetStatus(enum PSetCallWaitingWrapper::PsCallWaitingStatus, class QList<unsigned char> const &)
+	?formatActiveDivertsNoteText@PsUiNotes@@AAEXABV?$QList@PAVPSCallDivertingStatus@@@@AAVQString@@@Z @ 56 NONAME ; void PsUiNotes::formatActiveDivertsNoteText(class QList<class PSCallDivertingStatus *> const &, class QString &)
+	?instance@PsUiNotes@@SAPAV1@XZ @ 57 NONAME ; class PsUiNotes * PsUiNotes::instance(void)
+	?staticMetaObject@PsUiDivertNoteHandler@@2UQMetaObject@@B @ 58 NONAME ; struct QMetaObject const PsUiDivertNoteHandler::staticMetaObject
+	?staticMetaObject@PsUiUtils@@2UQMetaObject@@B @ 59 NONAME ; struct QMetaObject const PsUiUtils::staticMetaObject
+	?qt_metacast@PsUiLocalisation@@UAEPAXPBD@Z @ 60 NONAME ; void * PsUiLocalisation::qt_metacast(char const *)
+	?handleCallWaitingError@PsUiWaitingNoteHandler@@QAEXH@Z @ 61 NONAME ; void PsUiWaitingNoteHandler::handleCallWaitingError(int)
+	?progressNoteCanceled@PsUiNotes@@IAEXXZ @ 62 NONAME ; void PsUiNotes::progressNoteCanceled(void)
+	?launchNextNoteIfReady@PsUiNotes@@AAEXXZ @ 63 NONAME ; void PsUiNotes::launchNextNoteIfReady(void)
+	?qt_metacast@PsUiUtils@@UAEPAXPBD@Z @ 64 NONAME ; void * PsUiUtils::qt_metacast(char const *)
+	?trUtf8@PsUiWaitingNoteHandler@@SA?AVQString@@PBD0@Z @ 65 NONAME ; class QString PsUiWaitingNoteHandler::trUtf8(char const *, char const *)
+	?tr@PsUiDivertNoteHandler@@SA?AVQString@@PBD0H@Z @ 66 NONAME ; class QString PsUiDivertNoteHandler::tr(char const *, char const *, int)
+	?staticMetaObject@PsUiSettingsWrapper@@2UQMetaObject@@B @ 67 NONAME ; struct QMetaObject const PsUiSettingsWrapper::staticMetaObject
+	?staticMetaObject@PsUiNotes@@2UQMetaObject@@B @ 68 NONAME ; struct QMetaObject const PsUiNotes::staticMetaObject
+	?tr@PsUiLocalisation@@SA?AVQString@@PBD0@Z @ 69 NONAME ; class QString PsUiLocalisation::tr(char const *, char const *)
+	??_EPsUiSettingsWrapper@@UAE@I@Z @ 70 NONAME ; PsUiSettingsWrapper::~PsUiSettingsWrapper(unsigned int)
+	?getStaticMetaObject@PsUiLocalisation@@SAABUQMetaObject@@XZ @ 71 NONAME ; struct QMetaObject const & PsUiLocalisation::getStaticMetaObject(void)
+	?showCallDivertDetails@PsUiNotes@@QAEXABV?$QList@PAVPSCallDivertingStatus@@@@@Z @ 72 NONAME ; void PsUiNotes::showCallDivertDetails(class QList<class PSCallDivertingStatus *> const &)
+	?trUtf8@PsUiUtils@@SA?AVQString@@PBD0H@Z @ 73 NONAME ; class QString PsUiUtils::trUtf8(char const *, char const *, int)
+	??1PsUiNotes@@EAE@XZ @ 74 NONAME ; PsUiNotes::~PsUiNotes(void)
+	?qt_metacall@PsUiDivertNoteHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 75 NONAME ; int PsUiDivertNoteHandler::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacast@PsUiDivertNoteHandler@@UAEPAXPBD@Z @ 76 NONAME ; void * PsUiDivertNoteHandler::qt_metacast(char const *)
+	?trUtf8@PsUiLocalisation@@SA?AVQString@@PBD0H@Z @ 77 NONAME ; class QString PsUiLocalisation::trUtf8(char const *, char const *, int)
+	?trUtf8@PsUiSettingsWrapper@@SA?AVQString@@PBD0@Z @ 78 NONAME ; class QString PsUiSettingsWrapper::trUtf8(char const *, char const *)
+	?staticMetaObject@PsUiWaitingNoteHandler@@2UQMetaObject@@B @ 79 NONAME ; struct QMetaObject const PsUiWaitingNoteHandler::staticMetaObject
+	?handleCallWaitingRequesting@PsUiWaitingNoteHandler@@QAEX_N0@Z @ 80 NONAME ; void PsUiWaitingNoteHandler::handleCallWaitingRequesting(bool, bool)
+	?tr@PsUiNotes@@SA?AVQString@@PBD0H@Z @ 81 NONAME ; class QString PsUiNotes::tr(char const *, char const *, int)
+	?metaObject@PsUiWaitingNoteHandler@@UBEPBUQMetaObject@@XZ @ 82 NONAME ; struct QMetaObject const * PsUiWaitingNoteHandler::metaObject(void) const
+	?tr@PsUiWaitingNoteHandler@@SA?AVQString@@PBD0@Z @ 83 NONAME ; class QString PsUiWaitingNoteHandler::tr(char const *, char const *)
+	?showGlobalNotificationDialog@PsUiNotes@@QAEXABVQString@@@Z @ 84 NONAME ; void PsUiNotes::showGlobalNotificationDialog(class QString const &)
+	?qt_metacall@PsUiWaitingNoteHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 85 NONAME ; int PsUiWaitingNoteHandler::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?activeNoteAboutToClose@PsUiNotes@@AAEXXZ @ 86 NONAME ; void PsUiNotes::activeNoteAboutToClose(void)
+	??_EPsUiNotes@@UAE@I@Z @ 87 NONAME ; PsUiNotes::~PsUiNotes(unsigned int)
+	?metaObject@PsUiSettingsWrapper@@UBEPBUQMetaObject@@XZ @ 88 NONAME ; struct QMetaObject const * PsUiSettingsWrapper::metaObject(void) const
+	?metaObject@PsUiNotes@@UBEPBUQMetaObject@@XZ @ 89 NONAME ; struct QMetaObject const * PsUiNotes::metaObject(void) const
+	??0PsUiDivertNoteHandler@@QAE@AAVPSetCallDivertingWrapper@@@Z @ 90 NONAME ; PsUiDivertNoteHandler::PsUiDivertNoteHandler(class PSetCallDivertingWrapper &)
+	?showGlobalNote@PsUiNotes@@QAEXAAHABVQString@@W4MessageBoxType@HbMessageBox@@@Z @ 91 NONAME ; void PsUiNotes::showGlobalNote(int &, class QString const &, enum HbMessageBox::MessageBoxType)
+	?handleDivertingChanged@PsUiDivertNoteHandler@@QAEXABVPSCallDivertingCommand@@_N@Z @ 92 NONAME ; void PsUiDivertNoteHandler::handleDivertingChanged(class PSCallDivertingCommand const &, bool)
+	?showGlobalProgressNote@PsUiNotes@@QAEXAAHABVQString@@@Z @ 93 NONAME ; void PsUiNotes::showGlobalProgressNote(int &, class QString const &)
+	?handleCallWaitingChanged@PsUiWaitingNoteHandler@@QAEXW4PsCallWaitingCommand@PSetCallWaitingWrapper@@H@Z @ 94 NONAME ; void PsUiWaitingNoteHandler::handleCallWaitingChanged(enum PSetCallWaitingWrapper::PsCallWaitingCommand, int)
+	??_EPsUiDivertNoteHandler@@UAE@I@Z @ 95 NONAME ; PsUiDivertNoteHandler::~PsUiDivertNoteHandler(unsigned int)
+	?qt_metacall@PsUiLocalisation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 96 NONAME ; int PsUiLocalisation::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?installTranslator@PsUiLocalisation@@QAE_NW4TranslationFileId@1@@Z @ 97 NONAME ; bool PsUiLocalisation::installTranslator(enum PsUiLocalisation::TranslationFileId)
+	?showGlobalErrorNote@PsUiNotes@@QAEXAAHH@Z @ 98 NONAME ; void PsUiNotes::showGlobalErrorNote(int &, int)
+	?isPhoneOffline@PsUiSettingsWrapper@@QBE_NXZ @ 99 NONAME ; bool PsUiSettingsWrapper::isPhoneOffline(void) const
+	?metaObject@PsUiDivertNoteHandler@@UBEPBUQMetaObject@@XZ @ 100 NONAME ; struct QMetaObject const * PsUiDivertNoteHandler::metaObject(void) const
+	?trUtf8@PsUiLocalisation@@SA?AVQString@@PBD0@Z @ 101 NONAME ; class QString PsUiLocalisation::trUtf8(char const *, char const *)
+	?tr@PsUiUtils@@SA?AVQString@@PBD0H@Z @ 102 NONAME ; class QString PsUiUtils::tr(char const *, char const *, int)
+	?numberGroupingSupported@PsUiSettingsWrapper@@QBE_NXZ @ 103 NONAME ; bool PsUiSettingsWrapper::numberGroupingSupported(void) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/eabi/psuinotesu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,103 @@
+EXPORTS
+	_ZN16PsUiLocalisation11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN16PsUiLocalisation11qt_metacastEPKc @ 2 NONAME
+	_ZN16PsUiLocalisation16staticMetaObjectE @ 3 NONAME DATA 16
+	_ZN16PsUiLocalisation17installTranslatorENS_17TranslationFileIdE @ 4 NONAME
+	_ZN16PsUiLocalisation17removeTranslatorsEv @ 5 NONAME
+	_ZN16PsUiLocalisation19getStaticMetaObjectEv @ 6 NONAME
+	_ZN16PsUiLocalisationC1EP7QObject @ 7 NONAME
+	_ZN16PsUiLocalisationC2EP7QObject @ 8 NONAME
+	_ZN16PsUiLocalisationD0Ev @ 9 NONAME
+	_ZN16PsUiLocalisationD1Ev @ 10 NONAME
+	_ZN16PsUiLocalisationD2Ev @ 11 NONAME
+	_ZN19PsUiSettingsWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 12 NONAME
+	_ZN19PsUiSettingsWrapper11qt_metacastEPKc @ 13 NONAME
+	_ZN19PsUiSettingsWrapper16staticMetaObjectE @ 14 NONAME DATA 16
+	_ZN19PsUiSettingsWrapper19getStaticMetaObjectEv @ 15 NONAME
+	_ZN19PsUiSettingsWrapper51isFeatureCallWaitingDistiquishNotProvisionedEnabledEv @ 16 NONAME
+	_ZN19PsUiSettingsWrapperC1EP7QObject @ 17 NONAME
+	_ZN19PsUiSettingsWrapperC2EP7QObject @ 18 NONAME
+	_ZN19PsUiSettingsWrapperD0Ev @ 19 NONAME
+	_ZN19PsUiSettingsWrapperD1Ev @ 20 NONAME
+	_ZN19PsUiSettingsWrapperD2Ev @ 21 NONAME
+	_ZN21PsUiDivertNoteHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 22 NONAME
+	_ZN21PsUiDivertNoteHandler11qt_metacastEPKc @ 23 NONAME
+	_ZN21PsUiDivertNoteHandler16staticMetaObjectE @ 24 NONAME DATA 16
+	_ZN21PsUiDivertNoteHandler18handleCFRequestingEbb @ 25 NONAME
+	_ZN21PsUiDivertNoteHandler19getStaticMetaObjectEv @ 26 NONAME
+	_ZN21PsUiDivertNoteHandler20handleDivertingErrorEi @ 27 NONAME
+	_ZN21PsUiDivertNoteHandler21handleDivertingStatusER5QListIP21PSCallDivertingStatusEb @ 28 NONAME
+	_ZN21PsUiDivertNoteHandler22handleDivertingChangedERK22PSCallDivertingCommandb @ 29 NONAME
+	_ZN21PsUiDivertNoteHandlerC1ER24PSetCallDivertingWrapper @ 30 NONAME
+	_ZN21PsUiDivertNoteHandlerC2ER24PSetCallDivertingWrapper @ 31 NONAME
+	_ZN21PsUiDivertNoteHandlerD0Ev @ 32 NONAME
+	_ZN21PsUiDivertNoteHandlerD1Ev @ 33 NONAME
+	_ZN21PsUiDivertNoteHandlerD2Ev @ 34 NONAME
+	_ZN22PsUiWaitingNoteHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 35 NONAME
+	_ZN22PsUiWaitingNoteHandler11qt_metacastEPKc @ 36 NONAME
+	_ZN22PsUiWaitingNoteHandler16staticMetaObjectE @ 37 NONAME DATA 16
+	_ZN22PsUiWaitingNoteHandler19getStaticMetaObjectEv @ 38 NONAME
+	_ZN22PsUiWaitingNoteHandler22handleCallWaitingErrorEi @ 39 NONAME
+	_ZN22PsUiWaitingNoteHandler24handleCallWaitingChangedEN22PSetCallWaitingWrapper20PsCallWaitingCommandEi @ 40 NONAME
+	_ZN22PsUiWaitingNoteHandler26handleCallWaitingGetStatusEN22PSetCallWaitingWrapper19PsCallWaitingStatusERK5QListIhE @ 41 NONAME
+	_ZN22PsUiWaitingNoteHandler27handleCallWaitingRequestingEbb @ 42 NONAME
+	_ZN22PsUiWaitingNoteHandlerC1ER22PSetCallWaitingWrapper @ 43 NONAME
+	_ZN22PsUiWaitingNoteHandlerC2ER22PSetCallWaitingWrapper @ 44 NONAME
+	_ZN22PsUiWaitingNoteHandlerD0Ev @ 45 NONAME
+	_ZN22PsUiWaitingNoteHandlerD1Ev @ 46 NONAME
+	_ZN22PsUiWaitingNoteHandlerD2Ev @ 47 NONAME
+	_ZN9PsUiNotes10cancelNoteEi @ 48 NONAME
+	_ZN9PsUiNotes11noteShowingEv @ 49 NONAME
+	_ZN9PsUiNotes11qt_metacallEN11QMetaObject4CallEiPPv @ 50 NONAME
+	_ZN9PsUiNotes11qt_metacastEPKc @ 51 NONAME
+	_ZN9PsUiNotes14showGlobalNoteERiRK7QStringN12HbMessageBox14MessageBoxTypeE @ 52 NONAME
+	_ZN9PsUiNotes16staticMetaObjectE @ 53 NONAME DATA 16
+	_ZN9PsUiNotes19getStaticMetaObjectEv @ 54 NONAME
+	_ZN9PsUiNotes19passwordTextChangedEv @ 55 NONAME
+	_ZN9PsUiNotes19showGlobalErrorNoteERii @ 56 NONAME
+	_ZN9PsUiNotes20progressNoteCanceledEv @ 57 NONAME
+	_ZN9PsUiNotes21launchNextNoteIfReadyEv @ 58 NONAME
+	_ZN9PsUiNotes21showCallDivertDetailsERK5QListIP21PSCallDivertingStatusE @ 59 NONAME
+	_ZN9PsUiNotes22activeNoteAboutToCloseEv @ 60 NONAME
+	_ZN9PsUiNotes22passwordQueryCompletedE7QStringb @ 61 NONAME
+	_ZN9PsUiNotes22showGlobalProgressNoteERiRK7QString @ 62 NONAME
+	_ZN9PsUiNotes22showNotificationDialogERK7QString @ 63 NONAME
+	_ZN9PsUiNotes23showPasswordQueryDialogERK7QStringRK10QValidatori @ 64 NONAME
+	_ZN9PsUiNotes26handleProgressNoteCanceledEv @ 65 NONAME
+	_ZN9PsUiNotes27finishedPasswordQueryDialogEP8HbAction @ 66 NONAME
+	_ZN9PsUiNotes27formatActiveDivertsNoteTextERK5QListIP21PSCallDivertingStatusER7QString @ 67 NONAME
+	_ZN9PsUiNotes28showGlobalNotificationDialogERK7QString @ 68 NONAME
+	_ZN9PsUiNotes8instanceEv @ 69 NONAME
+	_ZN9PsUiNotesC1Ev @ 70 NONAME
+	_ZN9PsUiNotesC2Ev @ 71 NONAME
+	_ZN9PsUiNotesD0Ev @ 72 NONAME
+	_ZN9PsUiNotesD1Ev @ 73 NONAME
+	_ZN9PsUiNotesD2Ev @ 74 NONAME
+	_ZN9PsUiUtils11qt_metacallEN11QMetaObject4CallEiPPv @ 75 NONAME
+	_ZN9PsUiUtils11qt_metacastEPKc @ 76 NONAME
+	_ZN9PsUiUtils16staticMetaObjectE @ 77 NONAME DATA 16
+	_ZN9PsUiUtils19getStaticMetaObjectEv @ 78 NONAME
+	_ZN9PsUiUtils20errorCodeTextMappingEiR7QString @ 79 NONAME
+	_ZNK16PsUiLocalisation10metaObjectEv @ 80 NONAME
+	_ZNK19PsUiSettingsWrapper10metaObjectEv @ 81 NONAME
+	_ZNK19PsUiSettingsWrapper14isPhoneOfflineEv @ 82 NONAME
+	_ZNK19PsUiSettingsWrapper15readCenrepValueElm @ 83 NONAME
+	_ZNK19PsUiSettingsWrapper23numberGroupingSupportedEv @ 84 NONAME
+	_ZNK21PsUiDivertNoteHandler10metaObjectEv @ 85 NONAME
+	_ZNK22PsUiWaitingNoteHandler10metaObjectEv @ 86 NONAME
+	_ZNK9PsUiNotes10metaObjectEv @ 87 NONAME
+	_ZNK9PsUiNotes17formatPhoneNumberE7QString @ 88 NONAME
+	_ZNK9PsUiUtils10metaObjectEv @ 89 NONAME
+	_ZTI16PsUiLocalisation @ 90 NONAME
+	_ZTI19PsUiSettingsWrapper @ 91 NONAME
+	_ZTI21PsUiDivertNoteHandler @ 92 NONAME
+	_ZTI22PsUiWaitingNoteHandler @ 93 NONAME
+	_ZTI9PsUiNotes @ 94 NONAME
+	_ZTI9PsUiUtils @ 95 NONAME
+	_ZTV16PsUiLocalisation @ 96 NONAME
+	_ZTV19PsUiSettingsWrapper @ 97 NONAME
+	_ZTV21PsUiDivertNoteHandler @ 98 NONAME
+	_ZTV22PsUiWaitingNoteHandler @ 99 NONAME
+	_ZTV9PsUiNotes @ 100 NONAME
+	_ZTV9PsUiUtils @ 101 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/inc/psuilogging.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef PSUILOGGING_H
+#define PSUILOGGING_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 PsUiNotesMsgOutput(QtMsgType type, const char *msg)
+{
+    switch (type) {
+    
+    case QtDebugMsg:
+        RDebug::Printf("PsUiNotes Debug: %s\n", msg);
+        break;        
+    case QtWarningMsg:
+        RDebug::Printf("PsUiNotes Warning: %s\n", msg);
+        break;
+    case QtCriticalMsg:
+        RDebug::Printf("PsUiNotes Critical: %s\n", msg);
+        break;        
+    case QtFatalMsg:
+        RDebug::Printf("PsUiNotes Fatal: %s\n", msg);
+        abort();
+        break; 
+    default:
+        break; 
+    }
+}
+
+    #define INSTALL_TRACE_MSG_HANDLER qInstallMsgHandler(PsUiNotesMsgOutput)
+    #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__
+#define DWARNING qWarning() << __PRETTY_FUNCTION__
+
+#endif // PSUILOGGING_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/inc/psuiutils.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#ifndef PSUIUTILS_H
+#define PSUIUTILS_H
+
+#include <qvariant.h>
+
+#ifdef BUILD_PSUINOTES
+#define PSUINOTES_EXPORT Q_DECL_EXPORT
+#else
+#define PSUINOTES_EXPORT Q_DECL_IMPORT
+#endif
+
+class XQSettingsManager;
+
+/*!
+    \class PsUiUtils
+    \brief The static functionality.
+ */
+class PSUINOTES_EXPORT PsUiUtils : public QObject
+{
+    Q_OBJECT
+
+public:
+    /*!
+      Error code text conversion
+      */
+    static bool errorCodeTextMapping(const int errorcode, QString &errorText);
+   
+};
+
+/*!
+    \class SettingsWrapper
+    \brief Wraps central repository and P&S dependency.
+ */
+class PSUINOTES_EXPORT PsUiSettingsWrapper : public QObject
+{
+    Q_OBJECT
+public:
+    PsUiSettingsWrapper(QObject *parent = NULL);
+    ~PsUiSettingsWrapper();
+public:
+    
+    /*!
+     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;
+    
+    /*!
+     Number grouping support
+     */
+    bool numberGroupingSupported() const;
+
+private:
+    /*!
+      Read cenrep value. 
+      */
+    QVariant readCenrepValue( const long int uid, const unsigned long int key) const;
+
+private: // Data
+    // Own
+    XQSettingsManager* m_Settings;
+};
+
+
+#endif // PSUIUTILS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/psuinotes.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,63 @@
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# Contributors:
+# Description:
+TEMPLATE = lib
+TARGET = psuinotes
+CONFIG += hb
+MOC_DIR = moc
+TRANSLATIONS = telephone_cp.ts
+INCLUDEPATH += inc
+SOURCEPATH += src
+
+# Input
+HEADERS += ../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuidivertnotehandler.h \
+	../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuiwaitingnotehandler.h \
+    ../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuinotes.h \
+    ../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuilocalisation.h \
+    inc/psuiutils.h 
+SOURCES += src/psuidivertnotehandler.cpp \
+	src/psuiwaitingnotehandler.cpp \
+    src/psuinotes.cpp \
+    src/psuilocalisation.cpp \
+    src/psuiutils.cpp 
+DEFINES += BUILD_PSUINOTES
+symbian: { 
+    load(data_caging_paths)
+    
+     LIBS += -lxqsysinfo \
+    -lxqsettingsmanager \
+    
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.UID3 = 0X200315B9
+    
+    defFiles = \
+    "$${LITERAL_HASH}ifdef WINS" \
+        "DEFFILE bwins/psuinotes.def" \
+    "$${LITERAL_HASH}else" \
+        "DEFFILE eabi/psuinotes.def" \
+    "$${LITERAL_HASH}endif"
+    MMP_RULES += defFiles
+     
+    # For sis file
+    dllfile.sources = $${TARGET}.dll
+    dllfile.path = $$SHARED_LIB_DIR
+    DEPLOYMENT += dllfile
+    
+    BLD_INF_RULES.prj_exports +=  \
+    "$${LITERAL_HASH}include <platform_paths.hrh>" \
+    "./rom/psuinotes.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(psuinotes.iby)"   
+} 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/cellular/psuinotes/rom/psuinotes.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __PSETNOTESUI2_IBY__
+#define __PSETNOTESUI2_IBY__
+
+#include <bldvariant.hrh>
+
+file=ABI_DIR/BUILD_DIR/psuinotes.dll             SHARED_LIB_DIR/psuinotes.dll
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/src/psuidivertnotehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#include <psetcalldivertingwrapper.h>
+#include "psuinotes.h"
+#include "psuidivertnotehandler.h"
+#include "psuilogging.h"
+
+/*!
+  PsUiDivertNoteHandler::PsUiDivertNoteHandler 
+ */
+PsUiDivertNoteHandler::PsUiDivertNoteHandler(PSetCallDivertingWrapper& callDivertingWrapper) :
+    m_callDivertingWrapper(callDivertingWrapper)
+{
+    DPRINT << ": IN";
+   
+    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(handleCFRequesting(bool,bool)),
+        this,
+        SLOT(handleCFRequesting(bool,bool)));
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiDivertNoteHandler::~PsUiDivertNoteHandler
+ */
+PsUiDivertNoteHandler::~PsUiDivertNoteHandler()
+{  
+}
+
+/*!
+  PsUiDivertNoteHandler::handleDivertingChanged
+ */
+void PsUiDivertNoteHandler::handleDivertingChanged(
+    const PSCallDivertingCommand& aSetting, 
+    bool aPlural)
+{  
+    DPRINT << ": IN";
+    switch ( aSetting.iStatus ) {
+        case DivertingStatusActive:
+            if (aPlural) {   
+                PsUiNotes::instance()->showGlobalNotificationDialog(
+                    hbTrId("txt_phone_info_diverts_activated"));
+            } else {       
+                PsUiNotes::instance()->showGlobalNotificationDialog(
+                    hbTrId("txt_phone_info_divert_activated"));
+            }
+            break;
+        case DivertingStatusNotRegistered:  
+        case DivertingStatusInactive:
+            if (aPlural) {
+                PsUiNotes::instance()->showGlobalNotificationDialog(
+                    hbTrId("txt_phone_info_diverts_deactivated"));
+            } else {
+                PsUiNotes::instance()->showGlobalNotificationDialog(
+                    hbTrId("txt_phone_info_divert_deactivated"));
+            }
+            break;
+        case DivertingStatusNotProvisioned:
+        case DivertingStatusUnknown:
+        default:
+            PsUiNotes::instance()->showGlobalNotificationDialog(
+                hbTrId("txt_phone_info_request_not_completed"));
+    }
+    DPRINT << ": OUT";
+}
+   
+/*!
+  PsUiDivertNoteHandler::handleDivertingStatus
+ */
+void PsUiDivertNoteHandler::handleDivertingStatus(
+    QList<PSCallDivertingStatus*>& divertList, 
+    bool plural)
+{
+    DPRINT << ": IN";   
+    Q_UNUSED(plural);
+
+    PsUiNotes::instance()->showCallDivertDetails(divertList);
+    DPRINT << ": OUT";
+}
+   
+/*!
+  PsUiDivertNoteHandler::handleDivertingError
+ */
+void PsUiDivertNoteHandler::handleDivertingError(int aReason)
+{
+    DPRINT << ": IN";
+    // Cancel previous note
+    PsUiNotes::instance()->cancelNote(m_activeNoteId);
+    // Show error note
+    PsUiNotes::instance()->showGlobalErrorNote(m_activeNoteId, aReason);    
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiDivertNoteHandler::handleCFRequesting
+ */
+void PsUiDivertNoteHandler::handleCFRequesting(bool ongoing, bool interrupted)
+{
+    DPRINT << ": IN";
+    if (interrupted) {
+       PsUiNotes::instance()->cancelNote(m_activeProgressNoteId);
+       PsUiNotes::instance()->cancelNote(m_activeNoteId);
+    } else {
+       if (ongoing) {
+           PsUiNotes::instance()->showGlobalProgressNote(
+               m_activeProgressNoteId, hbTrId("txt_phone_info_requesting"));
+       } else {
+           PsUiNotes::instance()->cancelNote(m_activeProgressNoteId);
+       }
+    }       
+    DPRINT << ": OUT";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/src/psuilocalisation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include "psuilocalisation.h"
+#include "psuilogging.h"
+#include <QTranslator>
+#include <QLocale>
+#include <QApplication>
+
+
+// Constant definitions 
+const char *TS_FILE_TELEPHONE_CP = "telephone_cp";
+const char *TS_FILE_COMMON = "common"; 
+
+/*!
+    \class PsUiLocalisation
+    \brief Localisation utility class for 
+           Telephony control panel plugins. 
+
+    Use installTranslator function for installing 
+    needed translation files. 
+    
+    Takes ownership of the created QTranslator objects
+    and destroys them when PsUiLocalisation 
+    object is destructed. 
+*/
+
+
+/*!
+  PsUiLocalisation::PsUiLocalisation() 
+ */
+PsUiLocalisation::PsUiLocalisation(QObject *parent)
+ :QObject(parent)
+{
+    DPRINT; 
+}
+
+
+/*!
+  PsUiLocalisation::~PsUiLocalisation() 
+*/
+PsUiLocalisation::~PsUiLocalisation()
+{
+    DPRINT << ":IN"; 
+    removeTranslators();
+    DPRINT << ":OUT";
+}
+
+
+/*!
+  PsUiLocalisation::installTranslator() 
+*/
+bool PsUiLocalisation::installTranslator(
+        TranslationFileId translationFileId)
+{
+    DPRINT << ": IN";
+   
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    bool translatorLoaded(false);  
+
+    QString fileName; 
+    switch (translationFileId) {
+        case TranslationFileTelephoneCp: 
+            fileName = TS_FILE_TELEPHONE_CP; 
+            break; 
+        case TranslationFileCommon:
+            fileName = TS_FILE_COMMON; 
+            break;
+        default: 
+            DWARNING << ": Unknown enum value!";
+            break; 
+    }
+
+    if (!fileName.isEmpty()) {
+        QTranslator* translator = new QTranslator;
+        translatorLoaded = translator->load(
+                path + fileName + "_" + lang);
+        if (translatorLoaded) {
+            m_translators.append(translator); 
+            qApp->installTranslator(translator);
+            DPRINT << ": translator installed: " << fileName; 
+        } else {
+            delete translator; 
+            translator = NULL;
+            DWARNING << ": Translator not loaded!";
+        }
+    }
+
+    DPRINT << ": OUT";
+    return translatorLoaded;
+}
+
+
+/*!
+  PsUiLocalisation::removeTranslators()
+*/
+void PsUiLocalisation::removeTranslators()
+{
+    DPRINT << ": IN";
+
+    foreach (QTranslator *translator, m_translators) {
+        qApp->removeTranslator(translator);
+    }    
+    qDeleteAll(m_translators);
+    m_translators.clear();
+    
+    DPRINT << ": OUT";
+}
+
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/src/psuinotes.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,544 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include <hbdevicemessagebox.h>
+#include <hbdevicenotificationdialog.h>
+#include <HbDeviceProgressDialog>
+#include <hblistview.h>
+#include <hbdialog.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <hbmessagebox.h>
+#include <hbnotificationdialog.h>
+#include <QStandardItemModel>
+#include <QItemSelectionModel>
+#include <hbstringutil.h>
+#include <hbextendedlocale.h>
+#include <HbInputDialog>
+#include <HbEditorInterface>
+#include <hbinputdef.h>
+#include <hbinputstandardfilters.h>
+#include <xqserviceutil.h>
+#include <QApplication>
+#include <QTranslator>
+#include <Qt>
+
+#include "psuinotes.h"
+#include "psuiutils.h"
+#include "psuilogging.h"
+#include "psuilocalisation.h"
+
+/*!
+  PsUiNotes::instance.
+ */
+PsUiNotes* PsUiNotes::instance()
+{
+    DPRINT << ": IN";
+  
+    static PsUiNotes theInstance;
+    
+    DPRINT << ", instance address: " << reinterpret_cast<int>(&theInstance);
+    return &theInstance;
+}
+ 
+/*!
+  PsUiNotes::PsUiNotes.
+ */
+PsUiNotes::PsUiNotes(): 
+     QObject(NULL), 
+     m_notesQueue(NULL),
+     m_isNoteShowingOngoing(false),
+     m_passwordDialog(NULL),
+     m_passwordValidator(NULL)
+    {
+    DPRINT << ": IN";
+
+    m_notesQueue = new QQueue<QObject*>();
+    
+    m_psuiSettings = new PsUiSettingsWrapper();
+ 
+    // Localization file loading 
+    m_localisation = new PsUiLocalisation(this); 
+       
+    // Install required translations
+    m_localisation->installTranslator(
+           PsUiLocalisation::
+           TranslationFileCommon);
+    m_localisation->installTranslator(
+           PsUiLocalisation::
+           TranslationFileTelephoneCp);
+    DPRINT << ": OUT";
+    }
+
+/*!
+  PsUiNotes::~PsUiNotes.
+ */
+PsUiNotes::~PsUiNotes()
+{
+    DPRINT << ": IN";
+
+    delete m_localisation;
+ 
+    qDeleteAll(*m_notesQueue);
+    
+    delete m_psuiSettings;
+    
+    delete m_notesQueue;
+        
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiNotes::showGlobalProgressNote.
+ */
+void PsUiNotes::showGlobalProgressNote(
+    int &noteId, const QString& text)
+{
+    DPRINT << ": IN";
+    
+    HbDeviceProgressDialog *note = 
+        new HbDeviceProgressDialog(HbProgressDialog::WaitDialog, this);
+    note->setText(text);
+    
+    if(hbTrId("txt_common_info_requesting") == text){
+        QAction *action = new QAction(hbTrId("txt_common_button_hide"), note);
+        note->setAction(action, HbDeviceProgressDialog::CancelButtonRole );
+    }
+    
+    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";
+}
+    
+/*!
+  PsUiNotes::showGlobalNote.
+ */
+void PsUiNotes::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";
+}
+
+
+/*!
+  PsUiNotes::cancelNote.
+ */
+void PsUiNotes::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)) {
+                static_cast<HbDeviceProgressDialog *>(note)->close();
+            } 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";
+}
+
+/*!
+  PsUiNotes::noteShowing.
+ */
+bool PsUiNotes::noteShowing()
+{
+    return !m_notesQueue->isEmpty();
+}
+
+/*!
+  PsUiNotes::showGlobalErrorNote.
+ */
+void PsUiNotes::showGlobalErrorNote(int &noteId, int errorcode)
+{
+    DPRINT << ": IN";
+    
+    QString errorText = "";
+    PsUiUtils::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";
+} 
+
+/*!
+  PsUiNotes::showCallDivertDetails.
+ */
+void PsUiNotes::showCallDivertDetails(
+    const QList<PSCallDivertingStatus*> &divertingStatusList)
+{
+    DPRINT << ": IN";
+    
+    DPRINT << ": Status " << divertingStatusList.first()->iStatus;
+    DPRINT << ": ServiceGroup " << divertingStatusList.first()->iServiceGroup;
+    
+    QString status;
+    QString content;
+    
+    switch( divertingStatusList.first()->iStatus )
+        {
+        case DivertingStatusActive:   
+            formatActiveDivertsNoteText(divertingStatusList,content);
+            break;
+        case DivertingStatusInactive:
+        case DivertingStatusNotRegistered:
+            status.append(hbTrId("txt_phone_dpopinfo_divert_not_active")); 
+            break;
+        case DivertingStatusNotProvisioned:
+            status.append(hbTrId("txt_phone_info_not_allowed"));
+            break;
+        case DivertingStatusUnknown:
+        default:
+            status.append(hbTrId("txt_phone_info_request_not_completed"));
+            break;
+        } 
+    if (divertingStatusList.first()->iStatus != DivertingStatusActive) {
+        showGlobalNotificationDialog(status);
+    }
+    else {     
+        HbDeviceMessageBox * note = 
+            new HbDeviceMessageBox(content, HbMessageBox::MessageTypeQuestion, this);
+        note->setIconVisible(EFalse);
+        note->setTimeout(0);
+        HbAction *backAction = 
+            new HbAction(hbTrId("txt_common_button_close_singledialog") );
+        note->setAction(backAction, HbDeviceMessageBox::AcceptButtonRole );
+        note->setAction(NULL, HbDeviceMessageBox::RejectButtonRole);
+        
+        QObject::connect(
+            note, SIGNAL(aboutToClose()),
+            this, SLOT(activeNoteAboutToClose()));
+        
+        m_notesQueue->enqueue(note);
+        launchNextNoteIfReady();      
+    }
+ 
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiNotes::showPasswordQueryDialog.
+ */
+void PsUiNotes::showPasswordQueryDialog(
+    const QString &title, 
+    const QValidator &validator,
+    int maxPasswordLength)
+{
+    DPRINT << ": IN";
+    
+    QScopedPointer<HbInputDialog> passwordDialog(new HbInputDialog());
+    
+    // configure editor so that only digits can be inputted
+    passwordDialog->setPromptText(title);
+    passwordDialog->setEchoMode(HbLineEdit::Password);
+    passwordDialog->setInputMethodHints(Qt::ImhDigitsOnly);
+    passwordDialog->actions().at(0)->setEnabled(false);
+    
+    HbLineEdit *hbLineEdit = passwordDialog->lineEdit();
+    hbLineEdit->setMaxLength(maxPasswordLength);
+    
+    HbEditorInterface editorInterface(hbLineEdit);
+    editorInterface.setMode(HbInputModeNumeric);
+    editorInterface.setInputConstraints(HbEditorConstraintFixedInputMode);
+    editorInterface.setFilter(HbDigitsOnlyFilter::instance());
+    
+    m_passwordValidator = &validator;
+    
+    connect(
+        hbLineEdit, SIGNAL(contentsChanged()), 
+        this, SLOT(passwordTextChanged()));
+    
+    passwordDialog->open(this, SLOT(finishedPasswordQueryDialog(HbAction*)));
+    if(m_passwordDialog) {
+        m_passwordDialog->deleteLater();
+        m_passwordDialog = NULL;
+    }
+    m_passwordDialog = passwordDialog.take();
+    m_passwordDialog->setParent(this);
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiNotes::finishedPasswordQueryDialog.
+ */
+void PsUiNotes::finishedPasswordQueryDialog(HbAction* action)
+{
+    bool ok;
+    QString password;
+    if(m_passwordDialog) {
+        if (action == m_passwordDialog->actions().at(1)) {
+            ok = false;
+        } else {
+            ok = true;
+            password = m_passwordDialog->value().toString();
+        }
+        
+        disconnect(
+            m_passwordDialog->lineEdit(), SIGNAL(contentsChanged()), 
+            this, SLOT(passwordTextChanged()));
+        
+        m_passwordDialog->deleteLater();
+        m_passwordDialog = NULL;
+        m_passwordValidator = NULL;
+        
+        emit passwordQueryCompleted(password, ok);
+    }
+}
+
+/*!
+  PsUiNotes::formatPhoneNumber.
+  Formats phone number according to locale specific rules.
+ */
+QString PsUiNotes::formatPhoneNumber(QString number) const
+{
+    DPRINT << ": IN";
+    
+    QString formattedNumber = number;
+    
+    if (m_psuiSettings->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;
+}
+
+/*!
+  PsUiNotes::launchNextNoteIfReady.
+ */
+void PsUiNotes::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)->show();
+        } else {
+            DPRINT << ", UNKNOWN NOTE";
+            Q_ASSERT(false);
+        }
+    } else {
+        DPRINT << ", BUSY";
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiNotes::handleActiveDiverts   
+ */
+void PsUiNotes::formatActiveDivertsNoteText(
+    const QList<PSCallDivertingStatus*> &divertingStatusList,
+    QString &text)
+{
+    text.append(hbTrId("Active for:") + "\n\n"); //txt_phone_title_active_for
+             
+    int entries = divertingStatusList.count(); 
+    DPRINT << ": entries " << entries;
+    bool dataSet = false;
+    bool voiceSet = false;
+    for (int i = 0; entries > i; i++) {
+       PSCallDivertingStatus *entry = divertingStatusList.at(i);
+       
+       if (((entry->iServiceGroup & ServiceGroupVoice) && !voiceSet ) ||
+           ((entry->iServiceGroup & ServiceGroupData)) && !dataSet) {   
+           if ((entry->iServiceGroup & ServiceGroupVoice) && !voiceSet) {
+               voiceSet = true;
+               text.append(hbTrId("Voice calls") + "\n"); //txt_phone_info_voice_calls  
+              
+           }
+           else if ((entry->iServiceGroup & ServiceGroupData) && !dataSet) {
+               dataSet = true;
+               text.append(hbTrId("Video calls") + "\n"); //txt_phone_info_video_calls
+           }
+                
+           QString phoneNumber = formatPhoneNumber(divertingStatusList.at(i)->iNumber);
+           text.append(hbTrId("To number:\n%L1").arg(phoneNumber) +"\n"); //txt_phone_info_to_numbernl1
+           if (0 < entry->iTimeout) {
+               text.append(hbTrId("Delay time:\n%L1 seconds").
+                   arg(entry->iTimeout) +"\n\n"); // txt_phone_info_delay_timenln_seconds    
+           }
+           else {
+               text.append("\n");
+           }
+          
+       }
+    }
+    // Convert plain text to html 
+    text = Qt::convertFromPlainText(text);
+}
+
+/*!
+  PsUiNotes::activeNoteAboutToClose.
+ */
+void PsUiNotes::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);
+            HbDeviceProgressDialog *pNote = 
+                qobject_cast<HbDeviceProgressDialog *>(note);
+            note->deleteLater();
+        }
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiNotes::handleProgressNoteCanceled().
+ */
+void PsUiNotes::handleProgressNoteCanceled()
+{
+    DPRINT << ": IN";
+    
+    emit progressNoteCanceled();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiNotes::passwordTextChanged().
+ */
+void PsUiNotes::passwordTextChanged()
+{
+    DPRINT << ": IN";
+    Q_ASSERT(m_passwordDialog && m_passwordValidator);
+    
+    HbLineEdit *hbLineEdit = m_passwordDialog->lineEdit();
+    int position = 0;
+    QString password = hbLineEdit->text();
+    bool isPasswordValid = 
+        (QValidator::Acceptable == m_passwordValidator->validate(
+            password, position));
+    m_passwordDialog->actions().at(0)->setEnabled(isPasswordValid);
+        
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  PsUiNotes::showNotificationDialog.
+ */
+void PsUiNotes::showNotificationDialog(const QString& text)
+{
+    DPRINT << ": IN";
+    
+    HbNotificationDialog *notifDialog = new HbNotificationDialog();
+    
+    notifDialog->setDismissPolicy(HbPopup::TapAnywhere);
+    notifDialog->setAttribute(Qt::WA_DeleteOnClose, true);
+    notifDialog->setText(text);
+    notifDialog->show();
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiNotes::showGlobalNotificationDialog   
+ */
+void PsUiNotes::showGlobalNotificationDialog(const QString& text)
+{
+    DPRINT << ": IN";
+        
+    HbDeviceNotificationDialog notifDialog;
+      
+    notifDialog.setText(text);
+    notifDialog.show();
+    
+    DPRINT << ": OUT";    
+}
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/src/psuiutils.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <xqsysinfo.h>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+#include <BTSapDomainPSKeys.h>
+#include <settingsinternalcrkeys.h>
+#include <CoreApplicationUIsSDKCRKeys.h>
+#include <NumberGroupingCRKeys.h>
+
+#include <etelmm.h>
+#include <exterror.h>               
+#include <gsmerror.h>
+
+#include <hbglobal.h>
+#include "psuiutils.h"
+#include "psuilogging.h"
+
+/*!
+  PsUiTools::errorCodeTextMapping.
+ */
+bool PsUiUtils::errorCodeTextMapping(const int errorcode, QString &errorText)
+{
+    DPRINT;
+    errorText.clear();
+    bool errorTextFound(true);
+
+    switch(errorcode){
+        case KErrGsmSSSubscriptionViolation:
+            errorText = hbTrId("txt_phone_info_barring_operation_not_successful");
+            break;
+        case KErrGsmSSUnknownSubscriber:
+        case KErrGsmSSAbsentSubscriber:
+        case KErrGsmSSIllegalOperation:
+        case KErrGsmSSIllegalSubscriber:
+        case KErrGsmSSIllegalEquipment:
+        case KErrGsmSSCallBarred:
+        case KErrGsmSSDataMissing:
+            errorText = hbTrId("txt_phone_info_not_allowed");
+            break;
+        case KErrGsmSSIncompatibility:
+            errorText = hbTrId("txt_phone_info_conflict_error");
+            break;
+        case KErrGsmSSSystemFailure:
+            errorText = hbTrId("txt_phone_info_result_unknown");
+            break;
+        case KErrGsmSSUnexpectedDataValue:
+        case KErrGsmSSResourcesUnavailable:
+            errorText = hbTrId("txt_phone_info_request_rejected");
+            break;
+        case KErrGsmSSNegativePasswordCheck:
+        case KErrGsmSSPasswordRegistrationFailure:
+            errorText = hbTrId("Password error");
+            break;
+        case KErrGsmSSPasswordAttemptsViolation:
+            errorText = hbTrId("txt_phone_info_barring_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("txt_phone_info_request_not_completed");
+            }
+
+            break;
+        case KErrGsmSSUnknownAlphabet:
+            errorText = hbTrId("txt_phone_info_invalid_phone_number");
+            break;
+        default:
+            errorText = hbTrId("txt_phone_info_request_not_completed");
+            break;
+    }
+
+    return errorTextFound;
+}
+
+PsUiSettingsWrapper::PsUiSettingsWrapper(QObject *parent): 
+    QObject(parent)
+{
+    m_Settings = new XQSettingsManager();
+}
+
+PsUiSettingsWrapper::~PsUiSettingsWrapper()
+{
+    delete m_Settings;
+}
+
+bool PsUiSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled()
+{
+    bool enabled = readCenrepValue(KCRUidPhoneSettings.iUid, KPSetCallWaiting).toBool();
+    DPRINT << "enabled: " << enabled;
+    return enabled;
+}
+
+bool PsUiSettingsWrapper::isPhoneOffline() const
+{
+    bool offLinesupport(false);
+    if (XQSysInfo::isSupported(KFeatureIdOfflineMode)) {
+        offLinesupport = !readCenrepValue(
+                KCRUidCoreApplicationUIs.iUid, 
+                KCoreAppUIsNetworkConnectionAllowed).toBool();
+    }
+    return offLinesupport;
+}
+
+QVariant PsUiSettingsWrapper::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;
+}
+
+bool PsUiSettingsWrapper::numberGroupingSupported() const
+ {
+     return readCenrepValue(KCRUidNumberGrouping.iUid, KNumberGrouping).toBool();
+ }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/src/psuiwaitingnotehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <hbdevicenotificationdialog.h>
+#include <psetcallwaitingwrapper.h>
+#include "psuinotes.h"
+#include "psuiwaitingnotehandler.h"
+#include "psuiutils.h"
+#include "psuilogging.h"
+
+/*!
+  PsUiWaitingNoteHandler::PsUiWaitingNoteHandler
+ */
+PsUiWaitingNoteHandler::PsUiWaitingNoteHandler(PSetCallWaitingWrapper& callWaitingWrapper) :
+    m_callWaitingWrapper(callWaitingWrapper)
+{
+    DPRINT << ": IN";
+    
+    m_settingsWrapper = new PsUiSettingsWrapper();
+    
+    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 )));
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiWaitingNoteHandler::~PsUiWaitingNoteHandler
+ */
+PsUiWaitingNoteHandler::~PsUiWaitingNoteHandler()
+{
+    DPRINT << ": IN";
+    delete m_settingsWrapper;
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiWaitingNoteHandler::handleCallWaitingGetStatus
+ */
+void PsUiWaitingNoteHandler::handleCallWaitingGetStatus( 
+    PSetCallWaitingWrapper::PsCallWaitingStatus status,
+    const QList<unsigned char> &basicServiceGroupIds)
+{
+    DPRINT << ": IN";
+    DPRINT << ": IN status: " << status;
+    Q_UNUSED(basicServiceGroupIds);
+
+    PsUiNotes::instance()->cancelNote(m_activeNoteId);
+    
+    if (PSetCallWaitingWrapper::StatusNotProvisioned == status && 
+        m_settingsWrapper->isFeatureCallWaitingDistiquishNotProvisionedEnabled()) {
+        DPRINT << ": not provisioned";
+        PsUiNotes::instance()->showGlobalNotificationDialog(hbTrId("txt_phone_info_request_not_completed"));
+    }
+    
+    else if (PSetCallWaitingWrapper::StatusActive == status) {
+        DPRINT << ": status active";
+        PsUiNotes::instance()->showGlobalNotificationDialog(
+            hbTrId("Call waiting active")); //txt_phone_dpopinfo_call_waiting_active 
+    }
+    else {
+        DPRINT << ": status not active";
+        PsUiNotes::instance()->showGlobalNotificationDialog(
+            hbTrId("Call waiting not active")); //txt_phone_dpopinfo_call_waiting_not_active      
+    }
+
+    DPRINT << ": OUT";   
+}
+
+/*!
+  PsUiWaitingNoteHandler::handleCallWaitingChanged
+ */
+void PsUiWaitingNoteHandler::handleCallWaitingChanged( 
+    PSetCallWaitingWrapper::PsCallWaitingCommand setting,
+    int result )
+{
+    DPRINT << ": IN";
+    PsUiNotes::instance()->cancelNote(m_activeNoteId);
+    if (result) {
+        PsUiNotes::instance()->showGlobalNote(m_activeNoteId,
+        hbTrId("txt_phone_info_request_not_confirmed"), 
+            HbMessageBox::MessageTypeWarning);
+    } else {
+        switch (setting){
+            case PSetCallWaitingWrapper::ActivateCallWaiting:
+                 PsUiNotes::instance()->showGlobalNotificationDialog(
+                 hbTrId("txt_phone_info_call_waiting_activated"));
+             break;
+            case PSetCallWaitingWrapper::DeactivateCallWaiting:
+                 PsUiNotes::instance()->showGlobalNotificationDialog(
+                 hbTrId("txt_phone_info_call_waiting_deactivated")); 
+             break;
+            default: 
+                 PsUiNotes::instance()->showGlobalNotificationDialog(
+                 hbTrId("txt_phone_info_result_unknown"));
+             break;
+        }
+      }
+        
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiWaitingNoteHandler::handleCallWaitingRequesting
+ */
+void PsUiWaitingNoteHandler::handleCallWaitingRequesting( bool ongoing, bool interrupted )
+{
+    DPRINT << ": IN";
+    DPRINT << "ongoing:" << ongoing << ", interrupted:" << interrupted;
+   
+    if (ongoing) {
+        PsUiNotes::instance()->showGlobalProgressNote(m_activeNoteId, hbTrId("txt_common_info_requesting"));
+    }
+      
+    if (interrupted) {
+        PsUiNotes::instance()->cancelNote(m_activeNoteId);
+    }
+    
+     
+    DPRINT << ": OUT";
+}
+
+/*!
+  PsUiWaitingNoteHandler::handleCallWaitingError
+ */
+void PsUiWaitingNoteHandler::handleCallWaitingError( int error )
+{
+    DPRINT << ": IN";
+    DPRINT << "errorCode:" << error;
+    PsUiNotes::instance()->cancelNote(m_activeNoteId);     
+    PsUiNotes::instance()->showGlobalErrorNote(m_activeNoteId, error);
+
+    DPRINT << ": OUT";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/mocks/mock_hbglobal.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "hbglobal.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+QString hbTrId(const char *id, int n)
+{
+    SMC_MOCK_METHOD2( QString, const char *, id, int, n )    
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/mocks/mock_psetcalldivertingwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,136 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "psetcalldivertingwrapper.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::PSetCallDivertingWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallDivertingWrapper::PSetCallDivertingWrapper( 
+        CPsetContainer & psetContainer,
+        QObject * parent )
+    //:
+    //QObject( /*psetContainer, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// 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 )
+    {
+    QStringList list;
+    list << "0401234567" << "0501234567" << "0451234567";
+    aDefNumbers = list;
+    
+    SMC_MOCK_METHOD1( void, QStringList &, aDefNumbers )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::setNewDefaultNumber
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapper::setNewDefaultNumber( 
+        QString aNumber )
+    {
+    SMC_MOCK_METHOD1( void, QString, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::getVoiceMailBoxNumber
+// -----------------------------------------------------------------------------
+//
+int PSetCallDivertingWrapper::getVoiceMailBoxNumber( 
+        QString & aNumber,
+        PsService aService )
+    {
+    SMC_MOCK_METHOD2( int, QString &, aNumber, 
+        PsService, aService )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::queryVoiceMailBoxNumber
+// -----------------------------------------------------------------------------
+//
+int PSetCallDivertingWrapper::queryVoiceMailBoxNumber( 
+        QString & aNumber,
+        PsService aService )
+    {
+    SMC_MOCK_METHOD2( int, QString &, aNumber, 
+        PsService, aService )
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/mocks/mock_psetcallwaitingwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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/cellular/psuinotes/tsrc/mocks/mock_psetcallwaitingwrapper_p.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,111 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <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/cellular/psuinotes/tsrc/mocks/mock_psuilocalisation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "psuilocalisation.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PsUiLocalisation::PsUiLocalisation
+// -----------------------------------------------------------------------------
+//
+PsUiLocalisation::PsUiLocalisation( 
+        QObject * parent )
+    //:
+    //QObject( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiLocalisation::~PsUiLocalisation
+// -----------------------------------------------------------------------------
+//
+PsUiLocalisation::~PsUiLocalisation(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiLocalisation::installTranslator
+// -----------------------------------------------------------------------------
+//
+bool PsUiLocalisation::installTranslator( 
+        TranslationFileId translationFileId )
+    {
+    SMC_MOCK_METHOD1( bool, TranslationFileId, translationFileId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiLocalisation::removeTranslators
+// -----------------------------------------------------------------------------
+//
+void PsUiLocalisation::removeTranslators(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/mocks/mock_psuinotes.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QDebug>
+#include <hbaction.h>
+#include <smcmockclassincludes.h>
+#include "psuinotes.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::PsUiNotes
+// -----------------------------------------------------------------------------
+//
+PsUiNotes::PsUiNotes(  )
+    //:
+    //QObject( /**/ )
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::PsUiNotes
+// -----------------------------------------------------------------------------
+//
+PsUiNotes::~PsUiNotes(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::instance
+// -----------------------------------------------------------------------------
+//
+PsUiNotes * PsUiNotes::instance(  )
+    {
+    SMC_MOCK_METHOD0( PsUiNotes * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::showGlobalProgressNote
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::showGlobalProgressNote( 
+        int & noteId,
+        const QString & text )
+    {
+    SMC_MOCK_METHOD2( void, int &, noteId, 
+        const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::showGlobalNote
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::showGlobalNote( 
+        int & noteId,
+        const QString & text,
+        HbMessageBox::MessageBoxType noteType )
+    {
+    SMC_MOCK_METHOD3( void, int &, noteId, 
+        const QString &, text, 
+        HbMessageBox::MessageBoxType, noteType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::showGlobalErrorNote
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::showGlobalErrorNote( 
+        int & noteId,
+        int errorCode )
+    {
+    SMC_MOCK_METHOD2( void, int &, noteId, 
+        int, errorCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::showCallDivertDetails
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::showCallDivertDetails( 
+        const QList<PSCallDivertingStatus *> & divertingStatusList )
+    {
+    SMC_MOCK_METHOD1( void, const QList<PSCallDivertingStatus *> &, divertingStatusList )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::showPasswordQueryDialog
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::showPasswordQueryDialog( 
+        const QString & title,
+        const QValidator & validator,
+        int maxPasswordLength )
+    {
+    SMC_MOCK_METHOD3( void, const QString &, title, 
+        const QValidator &, validator, 
+        int, maxPasswordLength )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::cancelNote
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::cancelNote( 
+        int noteId )
+    {
+    SMC_MOCK_METHOD1( void, int, noteId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::noteShowing
+// -----------------------------------------------------------------------------
+//
+bool PsUiNotes::noteShowing(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::finishedPasswordQueryDialog
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::finishedPasswordQueryDialog( 
+        HbAction * action2 )
+    {
+    SMC_MOCK_METHOD1( void, HbAction *, action2 )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::showNotificationDialog
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::showNotificationDialog( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiNotes::showGlobalNotificationDialog
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::showGlobalNotificationDialog( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::activeNoteAboutToClose
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::activeNoteAboutToClose()
+{
+    SMC_MOCK_METHOD0( void )
+}
+
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::handleProgressNoteCanceled
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::handleProgressNoteCanceled()
+{
+    SMC_MOCK_METHOD0( void )
+}
+
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::passwordTextChanged
+// -----------------------------------------------------------------------------
+//
+void PsUiNotes::passwordTextChanged()
+{
+    SMC_MOCK_METHOD0( void )
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/mocks/mock_psuiutils.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "psuiutils.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PsUiUtils::errorCodeTextMapping
+// -----------------------------------------------------------------------------
+//
+bool PsUiUtils::errorCodeTextMapping( 
+        const int errorcode,
+        QString & errorText )
+    {
+    SMC_MOCK_METHOD2( bool, const int, errorcode, 
+        QString &, errorText )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiSettingsWrapper::PsUiSettingsWrapper
+// -----------------------------------------------------------------------------
+//
+PsUiSettingsWrapper::PsUiSettingsWrapper( 
+        QObject * parent )
+    //:
+    //QObject( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiSettingsWrapper::~PsUiSettingsWrapper
+// -----------------------------------------------------------------------------
+//
+PsUiSettingsWrapper::~PsUiSettingsWrapper(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled
+// -----------------------------------------------------------------------------
+//
+bool PsUiSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiSettingsWrapper::isPhoneOffline
+// -----------------------------------------------------------------------------
+//
+bool PsUiSettingsWrapper::isPhoneOffline(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PsUiSettingsWrapper::numberGroupingSupported
+// -----------------------------------------------------------------------------
+//
+bool PsUiSettingsWrapper::numberGroupingSupported(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/mocks/mock_qobject.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 ConnectionType )
+    {
+    SMC_MOCK_METHOD5( bool, const QObject *, sender, 
+        const char *, signal, 
+        const QObject *, receiver, 
+        const char *, member, 
+        Qt::ConnectionType, 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/cellular/psuinotes/tsrc/mocks/mock_qtranslator.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+#include <QDebug>
+#include <qcoreapplication.h>
+#include <smcmockclassincludes.h>
+#include "qtranslator.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QTranslator::QTranslator
+// -----------------------------------------------------------------------------
+//
+QTranslator::QTranslator( 
+        QObject * parent )
+    :
+    QObject( parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::~QTranslator
+// -----------------------------------------------------------------------------
+//
+QTranslator::~QTranslator(  )
+    {
+    if (QCoreApplication::instance()) 
+        {
+        QCoreApplication::removeTranslator(this);
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::translate
+// -----------------------------------------------------------------------------
+//
+QString QTranslator::translate( 
+        const char * aContext,
+        const char * sourceText,
+        const char * disambiguation ) const
+    {
+    SMC_MOCK_METHOD3( QString, const char *, aContext, 
+        const char *, sourceText, 
+        const char *, disambiguation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::translate
+// -----------------------------------------------------------------------------
+//
+QString QTranslator::translate( 
+        const char * aContext,
+        const char * sourceText,
+        const char * disambiguation,
+        int n ) const
+    {
+    SMC_MOCK_METHOD4( QString, const char *, aContext, 
+        const char *, sourceText, 
+        const char *, disambiguation, 
+        int, n )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::isEmpty
+// -----------------------------------------------------------------------------
+//
+bool QTranslator::isEmpty(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::load
+// -----------------------------------------------------------------------------
+//
+bool QTranslator::load( 
+        const QString & filename,
+        const QString & directory,
+        const QString & search_delimiters,
+        const QString & suffix )
+    {
+    SMC_MOCK_METHOD4( bool, const QString &, filename, 
+        const QString &, directory, 
+        const QString &, search_delimiters, 
+        const QString &, suffix )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::load
+// -----------------------------------------------------------------------------
+//
+bool QTranslator::load( 
+        const uchar * data,
+        int len )
+    {
+    SMC_MOCK_METHOD2( bool, const uchar *, data, 
+        int, len )
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/mocks/mock_xqsettingskey.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,124 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <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/cellular/psuinotes/tsrc/mocks/mock_xqsettingsmanager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,108 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <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, const XQSettingsKey &, key, XQSettingsManager::Type, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::writeItemValue
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::writeItemValue( 
+        const XQSettingsKey & key,
+        const QVariant & value )
+    {
+    SMC_MOCK_METHOD2( bool, const XQSettingsKey &, key, const QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// 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/cellular/psuinotes/tsrc/mocks/mock_xqsysinfo.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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/cellular/psuinotes/tsrc/run_auto_tests_qt.bat	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,194 @@
+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 SBS_CALL=sbs --config winscw_udeb --keepgoing BUILD
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+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 sbs --config winscw_udeb --keepgoing CLEAN
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -2comp -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
+) else (
+call %SBS_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function 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
+    move \epoc32\winscw\c\data\%%a.log %PATH_TO_RESULT%\%%a.log
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | 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/cellular/psuinotes/tsrc/ut_psuidivertnotehandler/qtestmains60.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuidivertnotehandler/ut_psuidivertnotehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,195 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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_psuidivertnotehandler.h"
+#include "psuidivertnotehandler.h"
+#include "psetcalldivertingwrapper.h"
+#include "qtestmains60.h"
+#include <smcmockclassincludes.h>
+
+class CPsetContainer
+{
+public:
+    CPsetContainer(){};
+    ~CPsetContainer(){};
+};
+
+/*QString hbTrId(const char *id, int n)
+{
+    SMC_MOCK_METHOD2( QString, const char *, id, int, n )    
+}*/
+
+
+/*!
+  UT_psuidivertnotehandler::UT_psuidivertnotehandler
+ */
+UT_psuidivertnotehandler::UT_psuidivertnotehandler() 
+{
+    
+}
+
+/*!
+  UT_psuidivertnotehandler::~UT_psuidivertnotehandler
+ */
+UT_psuidivertnotehandler::~UT_psuidivertnotehandler()
+{
+    
+}
+
+/*!
+  UT_psuidivertnotehandler::init
+ */
+void UT_psuidivertnotehandler::init()
+{
+    initialize();
+}
+
+/*!
+  UT_psuidivertnotehandler::cleanup
+ */
+void UT_psuidivertnotehandler::cleanup()
+{
+    reset();
+}
+
+/*!
+  UT_psuidivertnotehandler::t_memleak
+ */
+void UT_psuidivertnotehandler::t_memleak()
+{
+    
+}
+
+/*!
+  UT_psuidivertnotehandler::t_construction
+ */
+void UT_psuidivertnotehandler::t_construction()
+{
+    expect("QObject::connect").times(4);
+    CPsetContainer psetContainer;
+    PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this);
+    PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper);
+    delete divertHandler;
+    delete mockDivertWrapper;
+    QVERIFY(verify());
+}
+
+void UT_psuidivertnotehandler::t_handleDivertingChanged()
+{
+    CPsetContainer psetContainer;
+    PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this);
+    PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper);
+    
+    // Divert activated, plural false
+    PSCallDivertingCommand testCommand;
+    testCommand.iStatus = DivertingStatusActive;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    divertHandler->handleDivertingChanged(testCommand, false);
+    QVERIFY(verify());  
+    
+    // Divert activated, plural true
+    testCommand.iStatus = DivertingStatusActive;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    divertHandler->handleDivertingChanged(testCommand, true);
+    QVERIFY(verify());  
+    
+    // Divert deactivated, plural false
+    testCommand.iStatus = DivertingStatusInactive;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    divertHandler->handleDivertingChanged(testCommand, false);
+    QVERIFY(verify());  
+    
+    // Divert deactivated, plural true
+    testCommand.iStatus = DivertingStatusInactive;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    divertHandler->handleDivertingChanged(testCommand, true);
+    QVERIFY(verify());  
+    
+    // Divert status unknown
+    testCommand.iStatus = DivertingStatusUnknown;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    divertHandler->handleDivertingChanged(testCommand, true);
+    QVERIFY(verify());  
+
+    delete divertHandler;
+    delete mockDivertWrapper;
+}
+
+void UT_psuidivertnotehandler::t_handleDivertingStatus()
+{
+    CPsetContainer psetContainer;
+    PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this);
+    PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper);
+    QList<PSCallDivertingStatus*> divertList; 
+    
+    expect("PsUiNotes::showCallDivertDetails").with(divertList);
+    divertHandler->handleDivertingStatus(divertList,false);
+       
+    QVERIFY(verify());  
+    delete divertHandler;
+    delete mockDivertWrapper;    
+}
+
+void UT_psuidivertnotehandler::t_handleDivertingError()
+{
+    CPsetContainer psetContainer;
+    PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this);
+    PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper);
+    int errorCode = -1;
+    expect("PsUiNotes::cancelNote");
+    expect("PsUiNotes::showGlobalErrorNote");
+    divertHandler->handleDivertingError(errorCode);
+     
+    QVERIFY(verify());  
+    delete divertHandler;
+    delete mockDivertWrapper;        
+}
+
+void UT_psuidivertnotehandler::t_handleCFRequesting()
+{
+    CPsetContainer psetContainer;
+    PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this);
+    PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper);
+  
+    bool ongoing = true;
+    bool interrupted = false;
+    expect("PsUiNotes::showGlobalProgressNote");
+    divertHandler->handleCFRequesting(ongoing,interrupted); 
+    QVERIFY(verify()); 
+    
+    ongoing = false;
+    interrupted = true;
+    expect("PsUiNotes::cancelNote").times(2);
+    divertHandler->handleCFRequesting(ongoing,interrupted);
+    QVERIFY(verify());
+    
+    ongoing = false;
+    interrupted = false;
+    expect("PsUiNotes::cancelNote");
+    divertHandler->handleCFRequesting(ongoing,interrupted);
+    QVERIFY(verify());
+
+    delete divertHandler;
+    delete mockDivertWrapper;           
+}
+
+QTEST_MAIN_S60(UT_psuidivertnotehandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuidivertnotehandler/ut_psuidivertnotehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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_PSUIDIVERTNOTEHANDLER_H
+#define UT_PSUIDIVERTNOTEHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class UT_psuidivertnotehandler : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_psuidivertnotehandler();
+    ~UT_psuidivertnotehandler();
+    
+private slots:
+    void init();
+    void cleanup();
+    void t_memleak();
+    
+    void t_construction();
+    void t_handleDivertingChanged();
+    void t_handleDivertingStatus();
+    void t_handleDivertingError();
+    void t_handleCFRequesting();
+    
+ 
+private: 
+    
+};
+
+#endif // UT_PSUIDIVERTNOTEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuidivertnotehandler/ut_psuidivertnotehandler.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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 += hb qtestlib
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../inc/
+DEFINES += BUILD_PSUINOTES BUILD_PSETWRAPPER
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib -lsymbianmock
+}
+
+# test code
+HEADERS += ut_psuidivertnotehandler.h
+SOURCES += ut_psuidivertnotehandler.cpp
+
+# code to be tested
+HEADERS += ../../../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuidivertnotehandler.h	 
+                   
+SOURCES += ../../src/psuidivertnotehandler.cpp 
+
+# mocks needed for testing
+HEADERS += ../../../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuinotes.h \ 
+	../../../../phonesrv_plat/phone_settings_api/inc/psetcalldivertingwrapper.h	
+
+SOURCES += ../mocks/mock_psuinotes.cpp \
+		../mocks/mock_psetcalldivertingwrapper.cpp \
+		../mocks/mock_qobject.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuilocalisation/qtestmains60.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuilocalisation/ut_psuilocalisation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_psuilocalisation.h"
+#include "qtestmains60.h"
+#include <smcmockclassincludes.h>
+#define private public
+#include "psuilocalisation.h"
+
+void QCoreApplication::installTranslator(QTranslator * messageFile)
+{
+    SMC_MOCK_METHOD1( void, QTranslator *, messageFile)
+}
+
+/*!
+  UT_psuilocalisation::UT_psuilocalisation
+ */
+UT_psuilocalisation::UT_psuilocalisation() 
+{
+    
+}
+
+/*!
+  UT_psuilocalisation::~UT_psuilocalisation
+ */
+UT_psuilocalisation::~UT_psuilocalisation()
+{
+    
+}
+
+/*!
+  UT_psuilocalisation::init
+ */
+void UT_psuilocalisation::init()
+{
+    initialize();
+    
+    m_psuiLocalisation.reset(new PsUiLocalisation); 
+}
+
+/*!
+  UT_psuilocalisation::cleanup
+ */
+void UT_psuilocalisation::cleanup()
+{
+    reset();
+    delete m_psuiLocalisation.take(); 
+}
+
+/*!
+  UT_psuilocalisation::t_memleak
+ */
+void UT_psuilocalisation::t_memleak()
+{
+    
+}
+
+/*!
+  UT_psuilocalisation::t_installTranslator
+ */
+void UT_psuilocalisation::t_installTranslator()
+{
+    
+    // Test: successfull load  
+    expect("QTranslator::load").
+        returns(true);    
+    expect("QCoreApplication::installTranslator").times(1);
+    
+    m_psuiLocalisation->installTranslator(
+            PsUiLocalisation::TranslationFileCommon);
+    QVERIFY(m_psuiLocalisation->m_translators.count() == 1);
+    QVERIFY(verify());
+    
+    // Test: failing load  
+    expect("QTranslator::load").
+        returns(false);
+    expect("QCoreApplication::installTranslator").times(0);
+    m_psuiLocalisation->installTranslator(
+        PsUiLocalisation::TranslationFileCommon);
+    QVERIFY(m_psuiLocalisation->m_translators.count() == 1);
+    
+    // Test: Unknown enum value
+    QVERIFY(verify());
+    expect("QCoreApplication::installTranslator").times(0);
+    m_psuiLocalisation->installTranslator(
+            (PsUiLocalisation::TranslationFileId)2);
+    QVERIFY(m_psuiLocalisation->m_translators.count() == 1);
+    QVERIFY(verify());
+    
+    // Test: telephone_cp translator load 
+    expect("QTranslator::load").
+        returns(false);
+    expect("QCoreApplication::installTranslator").times(0);
+    m_psuiLocalisation->installTranslator(
+        PsUiLocalisation::TranslationFileTelephoneCp);
+    QVERIFY(verify());
+ 
+}
+
+/*!
+  UT_psuilocalisation::t_removeTranslators
+ */
+void UT_psuilocalisation::t_removeTranslators()
+{
+    expect("QTranslator::load").
+        returns(true);
+    
+    m_psuiLocalisation->installTranslator(
+        PsUiLocalisation::TranslationFileCommon); 
+    m_psuiLocalisation->installTranslator(
+        PsUiLocalisation::TranslationFileTelephoneCp);
+    
+    m_psuiLocalisation->removeTranslators(); 
+    QVERIFY(m_psuiLocalisation->m_translators.count() == 0);
+    QVERIFY(verify());
+}
+
+QTEST_MAIN_S60(UT_psuilocalisation)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuilocalisation/ut_psuilocalisation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_PSUILOCALISATION_H
+#define UT_PSUILOCALISATION_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class PsUiLocalisation; 
+
+class UT_psuilocalisation : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_psuilocalisation();
+    ~UT_psuilocalisation();
+    
+private slots:
+    void init();
+    void cleanup();
+    void t_memleak();
+    void t_installTranslator();
+    void t_removeTranslators(); 
+ 
+private: 
+    QScopedPointer<PsUiLocalisation> m_psuiLocalisation; 
+    
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuilocalisation/ut_psuilocalisation.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+CONFIG += qtestlib
+CONFIG += hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../inc/
+DEFINES += BUILD_PSUINOTES 
+    
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib -lsymbianmock
+}
+
+# test code
+HEADERS += ut_psuilocalisation.h
+SOURCES += ut_psuilocalisation.cpp
+
+# code to be tested
+HEADERS += ../../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuilocalisation.h 
+           
+SOURCES += ../../src/psuilocalisation.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_qtranslator.cpp 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuinotes/qtestmains60ui.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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 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[]) \
+{ \
+HbApplication 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; \
+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/cellular/psuinotes/tsrc/ut_psuinotes/ut_psuinotes.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,244 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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_psuinotes.h"
+#include "qtestmains60ui.h"
+#include <hbmainwindow.h>
+#include <HbDeviceMessageBox.h>
+#include <HbMessageBox.h>
+#include <hbnotificationdialog.h>
+#define private public
+#include "psuinotes.h"
+
+/*!
+  UT_PsUiNotes::UT_PsUiNotes
+ */
+UT_PsUiNotes::UT_PsUiNotes() 
+{
+    PsUiNotes::instance();
+}
+
+/*!
+  UT_PsUiNotes::~UT_PsUiNotes
+ */
+UT_PsUiNotes::~UT_PsUiNotes()
+{
+    //delete m_psui;
+}
+
+/*!
+  UT_PsUiNotes::timerEvent
+ */
+void UT_PsUiNotes::timerEvent( QTimerEvent* event )
+{
+    QString currentTest(QTest::currentTestFunction());
+    qDebug() << "timerEvent:" << currentTest;
+    
+    if (currentTest == "t_showGlobalErrorNote") {
+        verifyGlobalNote(wantedNoteText);
+    }
+    
+    if (m_noteid1) {
+        PsUiNotes::instance()->cancelNote(m_noteid1);
+        m_noteid1 = 0;
+    }
+    if (m_noteid2) {
+        PsUiNotes::instance()->cancelNote(m_noteid2);
+        m_noteid2 = 0;
+    }
+    if (m_noteid3) {
+        PsUiNotes::instance()->cancelNote(m_noteid3);
+        m_noteid3 = 0;
+    }
+    
+    if (visibleDialog()) {
+        visibleDialog()->close();
+        QTest::qWait(1);
+    }
+	
+}
+
+/*!
+  UT_PsUiNotes::visibleDialog
+ */
+HbDialog *UT_PsUiNotes::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_PsUiNotes::verifyGlobalNote
+ */
+void UT_PsUiNotes::verifyGlobalNote( const QString& noteText )
+{
+    qDebug() << "verifyGlobalNote:" << noteText;
+    HbDeviceMessageBox *note=0;
+    QObject* o=0;
+    QVERIFY(PsUiNotes::instance()->m_notesQueue->count());
+    QVERIFY(o = PsUiNotes::instance()->m_notesQueue->at(0));
+    QVERIFY(note = qobject_cast<HbDeviceMessageBox *>(o));
+    QCOMPARE(note->text(), noteText);
+    note->close();
+    QTest::qWait(1);
+}
+
+/*!
+  UT_PsUiNotes::init
+ */
+void UT_PsUiNotes::init()
+{
+    initialize();
+    timerid = startTimer(3000);
+    m_noteid1 = 0;
+    m_noteid2 = 0;
+    m_noteid3 = 0;
+}
+
+/*!
+  UT_PsUiNotes::cleanup
+ */
+void UT_PsUiNotes::cleanup()
+{
+    reset();
+    if (timerid) {
+        killTimer(timerid);
+        timerid = 0;
+    }
+}
+
+/*!
+  UT_PsUiNotes::t_memleak
+ */
+void UT_PsUiNotes::t_memleak()
+{
+    
+}
+
+/*!
+  UT_PsUiNotes::t_showNotificationDialog
+ */
+void UT_PsUiNotes::t_showNotificationDialog()
+{
+    PsUiNotes::instance()->showNotificationDialog("NotificationDialog");
+}
+
+/*!
+  UT_PsUiNotes::t_showProgressNote
+ */
+void UT_PsUiNotes::t_showProgressNote()
+{
+    PsUiNotes::instance()->showGlobalProgressNote(m_noteid1, "testshowProgressNote1");
+    PsUiNotes::instance()->showGlobalProgressNote(m_noteid2, "testshowProgressNote2");
+    QTest::qWait(5000);
+}
+
+/*!
+  UT_PsUiNotes::t_showGlobalProgressNote
+ */
+void UT_PsUiNotes::t_showGlobalProgressNote()
+{
+    PsUiNotes::instance()->showGlobalProgressNote(m_noteid1, "testshowGPN");
+    QTest::qWait(5000);
+    PsUiNotes::instance()->showGlobalProgressNote(m_noteid1,
+            hbTrId("txt_common_info_requesting"));
+    QTest::qWait(5000);
+}
+
+/*!
+  UT_PsUiNotes::t_showGlobalNote
+ */
+void UT_PsUiNotes::t_showGlobalNote()
+{
+    PsUiNotes::instance()->showGlobalNote(m_noteid1, "MessageTypeQuestion",HbMessageBox::MessageTypeQuestion );
+    PsUiNotes::instance()->showGlobalNote(m_noteid2, "MessageTypeInformation",HbMessageBox::MessageTypeInformation);
+    PsUiNotes::instance()->showGlobalNote(m_noteid3, "MessageTypeWarning",HbMessageBox::MessageTypeWarning );
+    
+}
+
+/*!
+  UT_PsUiNotes::t_showGlobalErrorNote
+ */
+void UT_PsUiNotes::t_showGlobalErrorNote()
+{
+    int errorcode = -1;
+    wantedNoteText = "";
+    expect("PsUiUtils::errorCodeTextMapping").with(errorcode,wantedNoteText).returns(true);
+    PsUiNotes::instance()->showGlobalErrorNote(m_noteid1, errorcode );
+    QVERIFY( verify() );
+
+}
+
+
+/*!
+  UT_PsUiNotes::t_showCallDivertDetails
+ */
+void UT_PsUiNotes::t_showCallDivertDetails()
+{
+    expect("PsUiSettingsWrapper::numberGroupingSupported").returns(QVariant(true));
+    PSCallDivertingStatus status;
+    status.iStatus = DivertingStatusActive;
+    status.iServiceGroup = ServiceGroupVoice;
+    status.iTimeout = 30;
+    QList<PSCallDivertingStatus*> statusList;
+    statusList.append(&status);
+    PsUiNotes::instance()->showCallDivertDetails(statusList);
+    QVERIFY( verify() );
+
+    expect("PsUiSettingsWrapper::numberGroupingSupported").returns(QVariant(false));
+    PsUiNotes::instance()->showCallDivertDetails(statusList);
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_PsUiNotes::t_showPasswordQueryDialog
+ */
+void UT_PsUiNotes::t_showPasswordQueryDialog()
+{
+    QString queryTitle("Password query title");
+    QString password = "";
+    bool okPressed = false;
+    QRegExp regExpression("\\d{4}");
+    QRegExpValidator validator(regExpression, this);
+    PsUiNotes::instance()->showPasswordQueryDialog(
+        queryTitle, validator, 5);
+
+}
+
+/*!
+  UT_PsUiNotes::t_cancelNote
+ */
+void UT_PsUiNotes::t_cancelNote()
+{
+    PsUiNotes::instance()->cancelNote(m_noteid1);
+    PsUiNotes::instance()->showGlobalProgressNote(m_noteid1, "testcancelNote");
+    PsUiNotes::instance()->noteShowing();
+    PsUiNotes::instance()->cancelNote(m_noteid1);
+        
+    QTest::qWait(5000);
+}
+
+QTEST_MAIN_S60UI(UT_PsUiNotes)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuinotes/ut_psuinotes.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_PSUINOTES_H
+#define UT_PSUINOTES_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+#include <etelmm.h>
+#include <psetcalldivertingwrapper.h>
+
+class HbDialog;
+
+class UT_PsUiNotes : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_PsUiNotes();
+    ~UT_PsUiNotes();
+    
+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_showCallDivertDetails();
+    void t_showPasswordQueryDialog();
+    void t_cancelNote();
+    void t_showNotificationDialog();
+
+private:
+    int m_noteid1;
+    int m_noteid2;
+    int m_noteid3;
+    int timerid;
+    QString wantedNoteText;
+
+};
+
+#endif // UT_PSUINOTES_H 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuinotes/ut_psuinotes.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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: 
+#
+
+
+CONFIG += hb qtestlib
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../inc/
+DEFINES += BUILD_PSUINOTES
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib -lsymbianmock
+}
+
+# test code
+HEADERS += ut_psuinotes.h
+SOURCES += ut_psuinotes.cpp
+
+# code to be tested
+HEADERS += ../../../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuinotes.h	 
+                   
+SOURCES += ../../src/psuinotes.cpp 
+
+# mocks needed for testing
+HEADERS += ../../../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuilocalisation.h \
+		../../inc/psuiutils.h	
+
+SOURCES += ../mocks/mock_psuilocalisation.cpp \
+		../mocks/mock_psuiutils.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuiutils/qtestmains60.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuiutils/ut_psuiutils.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,180 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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_psuiutils.h"
+#include "qtestmains60.h"
+#include <gsmerror.h>
+#include <exterror.h>
+#include <etelmm.h>
+#include <btsapdomainpskeys.h>
+#define private public
+#include "psuiutils.h"
+
+/*!
+  UT_PsUiUtils::UT_PsUiUtils
+ */
+UT_PsUiUtils::UT_PsUiUtils() :
+    mWrapper(NULL)
+{
+}
+
+/*!
+  UT_PsUiUtils::~UT_PsUiUtils
+ */
+UT_PsUiUtils::~UT_PsUiUtils()
+{
+    delete mWrapper;
+}
+
+/*!
+  UT_PsUiUtils::init
+ */
+void UT_PsUiUtils::init()
+{
+    initialize();
+    
+    mWrapper = new PsUiSettingsWrapper();
+}
+
+/*!
+  UT_PsUiUtils::cleanup
+ */
+void UT_PsUiUtils::cleanup()
+{
+    reset();
+}
+
+/*!
+  UT_PsUiUtils::t_memleak
+ */
+void UT_PsUiUtils::t_memleak()
+{
+    
+}
+
+/*!
+  UT_PsUiUtils::t_errorCodeTextMapping
+ */
+void UT_PsUiUtils::t_errorCodeTextMapping()
+{
+    QString text = "";
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSSubscriptionViolation, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_barring_operation_not_successful"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSUnknownSubscriber, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_not_allowed"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSAbsentSubscriber, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_not_allowed"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSIllegalOperation, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_not_allowed"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSIllegalSubscriber, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_not_allowed"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSIllegalEquipment, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_not_allowed"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSCallBarred, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_not_allowed"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSDataMissing, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_not_allowed"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSIncompatibility, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_conflict_error"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSSystemFailure, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_result_unknown"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSUnexpectedDataValue, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_request_rejected"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSResourcesUnavailable, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_request_rejected"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSNegativePasswordCheck, text);
+    QCOMPARE( text, QString(
+            "Password error"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSPasswordRegistrationFailure, text);
+    QCOMPARE( text, QString(
+            "Password error"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSPasswordAttemptsViolation, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_barring_password_blocked"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSMSNoNetworkService, text);
+    QCOMPARE( text, QString(
+            "No network coverage"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmNoService, text);
+    QCOMPARE( text, QString(
+            "No network coverage"));
+    PsUiUtils::errorCodeTextMapping(KErrSsActivationDataLost, text);
+    QCOMPARE( text, QString(
+            "Check network services"));
+    PsUiUtils::errorCodeTextMapping(KErrGsmSSUnknownAlphabet, text);
+    QCOMPARE( text, QString("txt_phone_info_invalid_phone_number"));
+    
+    expect("XQSysInfo::isSupported").returns(false);
+    PsUiUtils::errorCodeTextMapping(KErrGsmOfflineOpNotAllowed, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_request_not_completed"));
+    QVERIFY( verify() );
+    
+    expect("XQSysInfo::isSupported").returns(true);
+    expect("XQSettingsManager::readItemValue").returns(QVariant(EBTSapConnected));
+    PsUiUtils::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));
+    PsUiUtils::errorCodeTextMapping(KErrGsmOfflineOpNotAllowed, text);
+    QCOMPARE( text, QString(
+            "Operation not possible in Off-line mode"));
+    
+    PsUiUtils::errorCodeTextMapping(-1, text);
+    QCOMPARE( text, QString(
+            "txt_phone_info_request_not_completed"));
+    
+    QVERIFY( verify() );
+        
+}
+
+/*!
+  UT_PsUiUtils::::t_isFeatureCallWaitingDistiquishNotProvisionedEnabled
+ */
+void UT_PsUiUtils::t_isFeatureCallWaitingDistiquishNotProvisionedEnabled()
+{
+    expect("XQSettingsManager::readItemValue").
+                returns(QVariant(1));
+    mWrapper->isFeatureCallWaitingDistiquishNotProvisionedEnabled();
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_PsUiUtils::::t_isPhoneOffline
+ */
+void UT_PsUiUtils::t_isPhoneOffline()
+{
+    expect("XQSysInfo::isSupported");
+    mWrapper->isPhoneOffline();
+    QVERIFY( verify() );
+}
+
+QTEST_MAIN_S60(UT_PsUiUtils)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuiutils/ut_psuiutils.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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_PSUIUTILS_H
+#define UT_PSUIUTILS_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class PsUiSettingsWrapper;
+
+class UT_PsUiUtils : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_PsUiUtils();
+    ~UT_PsUiUtils();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_memleak();
+    
+    void t_errorCodeTextMapping();
+    
+    void t_isFeatureCallWaitingDistiquishNotProvisionedEnabled();
+    void t_isPhoneOffline();
+    
+private:
+    PsUiSettingsWrapper *mWrapper;
+    
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuiutils/ut_psuiutils.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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: 
+#
+
+CONFIG += qtestlib
+CONFIG += hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../inc/
+DEFINES += BUILD_PSUINOTES \ 
+           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_psuiutils.h
+SOURCES += ut_psuiutils.cpp
+
+# code to be tested
+HEADERS += ../../inc/psuiutils.h 
+SOURCES += ../../src/psuiutils.cpp
+
+#mocks needed for testing
+HEADERS +=  /epoc32/include/platform/mw/xqsettingskey.h \
+           /epoc32/include/platform/mw/xqsettingsmanager.h \
+           /epoc32/include/platform/mw/xqsysinfo.h
+
+SOURCES += ../mocks/mock_xqsettingskey.cpp \
+           ../mocks/mock_xqsettingsmanager.cpp \
+           ../mocks/mock_xqsysinfo.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuiwaitingnotehandler/qtestmains60.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuiwaitingnotehandler/ut_psuiwaitingnotehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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"
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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_psuiwaitingnotehandler.h"
+#include "psuiwaitingnotehandler.h"
+#include "psetcallwaitingwrapper.h"
+#include "qtestmains60.h"
+#include <smcmockclassincludes.h>
+
+class CPsetContainer
+{
+public:
+    CPsetContainer(){};
+    ~CPsetContainer(){};
+};
+
+/*!
+  UT_psuiwaitingnotehandler::UT_psuiwaitingnotehandler
+ */
+UT_psuiwaitingnotehandler::UT_psuiwaitingnotehandler() 
+{
+    
+}
+
+/*!
+  UT_psuiwaitingnotehandler::~UT_psuiwaitingnotehandler
+ */
+UT_psuiwaitingnotehandler::~UT_psuiwaitingnotehandler()
+{
+    
+}
+
+/*!
+  UT_psuiwaitingnotehandler::init
+ */
+void UT_psuiwaitingnotehandler::init()
+{
+    initialize();
+    m_psetContainer = new CPsetContainer();
+    m_mockWaitingWrapper = new PSetCallWaitingWrapper(*m_psetContainer,this);
+    m_waitingHandler = new PsUiWaitingNoteHandler(*m_mockWaitingWrapper);
+}
+
+/*!
+  UT_psuiwaitingnotehandler::cleanup
+ */
+void UT_psuiwaitingnotehandler::cleanup()
+{
+    delete m_waitingHandler;
+    delete m_mockWaitingWrapper;   
+    delete m_psetContainer;
+    reset();
+}
+
+/*!
+  UT_psuiwaitingnotehandler::t_memleak
+ */
+void UT_psuiwaitingnotehandler::t_memleak()
+{
+    
+}
+
+/*!
+  UT_psuiwaitingnotehandler::t_construction
+ */
+void UT_psuiwaitingnotehandler::t_construction()
+{
+    expect("QObject::connect").times(4);
+    CPsetContainer psetContainer;
+    PSetCallWaitingWrapper *mockWaitingWrapper = new PSetCallWaitingWrapper(psetContainer,this);
+    PsUiWaitingNoteHandler *waitingHandler = new PsUiWaitingNoteHandler(*mockWaitingWrapper);
+    delete waitingHandler;
+    delete mockWaitingWrapper;
+    QVERIFY(verify());
+}
+
+void UT_psuiwaitingnotehandler::t_handleCallWaitingGetStatus()
+{
+    
+    PSetCallWaitingWrapper::PsCallWaitingStatus status = 
+            PSetCallWaitingWrapper::StatusNotProvisioned;
+    QList<unsigned char> serviceGroups;
+    expect("PsUiNotes::cancelNote");
+    expect("PsUiSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled").returns(true);
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    m_waitingHandler->handleCallWaitingGetStatus(status,serviceGroups);
+    QVERIFY(verify());
+    
+    status = PSetCallWaitingWrapper::StatusActive;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    m_waitingHandler->handleCallWaitingGetStatus(status,serviceGroups);
+    QVERIFY(verify());
+    
+    status = PSetCallWaitingWrapper::StatusDisabled;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    m_waitingHandler->handleCallWaitingGetStatus(status,serviceGroups);
+    QVERIFY(verify());
+}
+
+void UT_psuiwaitingnotehandler::t_handleCallWaitingChanged()
+{  
+    PSetCallWaitingWrapper::PsCallWaitingCommand setting;
+    int result;
+    
+    setting = PSetCallWaitingWrapper::ActivateCallWaiting;
+    result = true;
+    expect("PsUiNotes::showGlobalNote");
+    m_waitingHandler->handleCallWaitingChanged(setting,result);
+    QVERIFY(verify());
+    
+    setting = PSetCallWaitingWrapper::ActivateCallWaiting;
+    result = false;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    m_waitingHandler->handleCallWaitingChanged(setting,result);
+    QVERIFY(verify());
+    
+    setting = PSetCallWaitingWrapper::DeactivateCallWaiting;
+    result = false;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    m_waitingHandler->handleCallWaitingChanged(setting,result);
+    QVERIFY(verify());
+    
+    setting = PSetCallWaitingWrapper::CheckCallWaitingStatus;
+    result = false;
+    expect("PsUiNotes::showGlobalNotificationDialog");
+    m_waitingHandler->handleCallWaitingChanged(setting,result);
+    QVERIFY(verify());
+}
+
+void UT_psuiwaitingnotehandler::t_handleCallWaitingRequesting()
+{
+    expect("PsUiNotes::showGlobalProgressNote");
+    bool ongoing = true;
+    bool interrupted = false;
+    m_waitingHandler->handleCallWaitingRequesting(ongoing,interrupted);
+    QVERIFY(verify());
+    
+    expect("PsUiNotes::cancelNote");
+    ongoing = false;
+    interrupted = true;
+    m_waitingHandler->handleCallWaitingRequesting(ongoing,interrupted);
+   
+    QVERIFY(verify()); 
+}
+
+void UT_psuiwaitingnotehandler::t_handleCallWaitingError()
+{  
+    expect("PsUiNotes::cancelNote");
+    expect("PsUiNotes::showGlobalErrorNote");
+    int error = -1;
+    m_waitingHandler->handleCallWaitingError(error);
+    
+    QVERIFY(verify());
+}
+
+QTEST_MAIN_S60(UT_psuiwaitingnotehandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuiwaitingnotehandler/ut_psuiwaitingnotehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_PSUIWAITINGNOTEHANDLER_H
+#define UT_PSUIWAITINGNOTEHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CPsetContainer;
+class PSetCallWaitingWrapper;
+class PsUiWaitingNoteHandler;
+
+class UT_psuiwaitingnotehandler : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_psuiwaitingnotehandler();
+    ~UT_psuiwaitingnotehandler();
+    
+private slots:
+    void init();
+    void cleanup();
+    void t_memleak();
+    
+    void t_construction();
+    void t_handleCallWaitingGetStatus();
+    void t_handleCallWaitingChanged();
+    void t_handleCallWaitingRequesting();
+    void t_handleCallWaitingError();
+   
+ 
+private:
+    CPsetContainer *m_psetContainer;
+    PSetCallWaitingWrapper *m_mockWaitingWrapper;
+    PsUiWaitingNoteHandler *m_waitingHandler;
+};
+
+#endif // UT_PSUIWAITINGNOTEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/psuinotes/tsrc/ut_psuiwaitingnotehandler/ut_psuiwaitingnotehandler.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,53 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+
+CONFIG += hb qtestlib
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../inc/
+DEFINES += BUILD_PSUINOTES BUILD_PSETWRAPPER
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib -lsymbianmock
+}
+
+# test code
+HEADERS += ut_psuiwaitingnotehandler.h
+SOURCES += ut_psuiwaitingnotehandler.cpp
+
+# code to be tested
+HEADERS += ../../../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuiwaitingnotehandler.h	 
+SOURCES += ../../src/psuiwaitingnotehandler.cpp 
+
+# mocks needed for testing
+HEADERS += ../../../../phonesrv_plat/phone_settings_ui_notes_api/inc/psuinotes.h \  
+	../../../../phonesrv_plat/phone_settings_api/inc/psetcallwaitingwrapper.h \
+	../../../../phonesrv_plat/phone_settings_api/inc/psetcalldivertingwrapper.h \
+	../../../telephonysettings/xqbindings/psetwrapper/src/psetcallwaitingwrapper_p.h \
+	../../inc/psuiutils.h
+
+SOURCES += ../mocks/mock_psuinotes.cpp \
+		../mocks/mock_psetcallwaitingwrapper.cpp \ 
+		../mocks/mock_qobject.cpp \
+		../mocks/mock_psuiutils.cpp \
+		../mocks/mock_psetcallwaitingwrapper_p.cpp \
+		../mocks/mock_psetcalldivertingwrapper.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/bwins/sssettingswrapperu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,17 @@
+EXPORTS
+	?qt_metacast@SsSettingsWrapper@@UAEPAXPBD@Z @ 1 NONAME ; void * SsSettingsWrapper::qt_metacast(char const *)
+	?metaObject@SsSettingsWrapper@@UBEPBUQMetaObject@@XZ @ 2 NONAME ; struct QMetaObject const * SsSettingsWrapper::metaObject(void) const
+	??_ESsSettingsWrapper@@UAE@I@Z @ 3 NONAME ; SsSettingsWrapper::~SsSettingsWrapper(unsigned int)
+	??1SsSettingsWrapper@@UAE@XZ @ 4 NONAME ; SsSettingsWrapper::~SsSettingsWrapper(void)
+	?get@SsSettingsWrapper@@QAEHW4SsSettingsWrapperSettings@@AAH@Z @ 5 NONAME ; int SsSettingsWrapper::get(enum SsSettingsWrapperSettings, int &)
+	?staticMetaObject@SsSettingsWrapper@@2UQMetaObject@@B @ 6 NONAME ; struct QMetaObject const SsSettingsWrapper::staticMetaObject
+	?set@SsSettingsWrapper@@QAEHW4SsSettingsWrapperSettings@@H@Z @ 7 NONAME ; int SsSettingsWrapper::set(enum SsSettingsWrapperSettings, int)
+	?trUtf8@SsSettingsWrapper@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString SsSettingsWrapper::trUtf8(char const *, char const *)
+	?qt_metacall@SsSettingsWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9 NONAME ; int SsSettingsWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?phoneSettingChanged@SsSettingsWrapper@@IAEXW4SsSettingsWrapperSettings@@H@Z @ 10 NONAME ; void SsSettingsWrapper::phoneSettingChanged(enum SsSettingsWrapperSettings, int)
+	?tr@SsSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString SsSettingsWrapper::tr(char const *, char const *, int)
+	?tr@SsSettingsWrapper@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString SsSettingsWrapper::tr(char const *, char const *)
+	?trUtf8@SsSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString SsSettingsWrapper::trUtf8(char const *, char const *, int)
+	??0SsSettingsWrapper@@QAE@PAVQObject@@@Z @ 14 NONAME ; SsSettingsWrapper::SsSettingsWrapper(class QObject *)
+	?getStaticMetaObject@SsSettingsWrapper@@SAABUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const & SsSettingsWrapper::getStaticMetaObject(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/eabi/sssettingswrapperu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,17 @@
+EXPORTS
+	_ZN17SsSettingsWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN17SsSettingsWrapper11qt_metacastEPKc @ 2 NONAME
+	_ZN17SsSettingsWrapper16staticMetaObjectE @ 3 NONAME DATA 16
+	_ZN17SsSettingsWrapper19getStaticMetaObjectEv @ 4 NONAME
+	_ZN17SsSettingsWrapper19phoneSettingChangedE25SsSettingsWrapperSettingsi @ 5 NONAME
+	_ZN17SsSettingsWrapper3getE25SsSettingsWrapperSettingsRi @ 6 NONAME
+	_ZN17SsSettingsWrapper3setE25SsSettingsWrapperSettingsi @ 7 NONAME
+	_ZN17SsSettingsWrapperC1EP7QObject @ 8 NONAME
+	_ZN17SsSettingsWrapperC2EP7QObject @ 9 NONAME
+	_ZN17SsSettingsWrapperD0Ev @ 10 NONAME
+	_ZN17SsSettingsWrapperD1Ev @ 11 NONAME
+	_ZN17SsSettingsWrapperD2Ev @ 12 NONAME
+	_ZNK17SsSettingsWrapper10metaObjectEv @ 13 NONAME
+	_ZTI17SsSettingsWrapper @ 14 NONAME
+	_ZTV17SsSettingsWrapper @ 15 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/rom/sssettingswrapper.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __SSSETTINGSWRAPPER_IBY__
+#define __SSSETTINGSWRAPPER_IBY__
+
+#include <bldvariant.hrh>
+
+file=ABI_DIR\BUILD_DIR\sssettingswrapper.dll                 SHARED_LIB_DIR\sssettingswrapper.dll
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/src/logging.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef LOGGING_H
+#define LOGGING_H
+
+#include <QDebug>
+
+#define DPRINT qDebug() << __PRETTY_FUNCTION__
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/src/sssettingswrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <sssettingswrapper.h>
+#include <rsssettings.h>
+#include "sssettingswrapper_p.h"
+#include "logging.h"
+
+/*!
+  SsSettingsWrapper::SsSettingsWrapper
+ */
+SsSettingsWrapper::SsSettingsWrapper(QObject *parent): 
+    QObject(parent), m_Priv(new SsSettingsWrapperPrivate(*this))
+{
+    DPRINT << ": IN";
+    
+    // Initialize RSSSettings 
+    m_ssSettings = new RSSSettings;
+    int err = m_ssSettings->Open();
+    DPRINT << "err: " << err;
+    // Register for notifications
+    m_ssSettings->RegisterAll( *m_Priv );  
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  SsSettingsWrapper::~SsSettingsWrapper
+ */
+SsSettingsWrapper::~SsSettingsWrapper()
+{
+    DPRINT << ": IN";
+    
+    if(m_ssSettings){
+        m_ssSettings->Close();
+    }
+    delete m_ssSettings;
+    delete m_Priv;
+    
+    DPRINT << ": OUT";
+}
+    
+/*!
+  SsSettingsWrapper::get
+ */
+int SsSettingsWrapper::get(SsSettingsWrapperSettings setting, int &value)
+{
+    DPRINT << ": IN";
+    
+    int err = m_ssSettings->Get(static_cast<TSSSettingsSetting>(setting), value);
+    
+    DPRINT << ": err: " << err;
+    DPRINT << ": setting: " << setting;
+    DPRINT << ": value: " << value;
+    DPRINT << ": OUT" ;
+    return err;
+}   
+
+/*!
+  SsSettingsWrapper::set
+ */
+int SsSettingsWrapper::set(SsSettingsWrapperSettings setting, int value)
+{
+    DPRINT << ": IN";
+    
+    int err = m_ssSettings->Set( static_cast<TSSSettingsSetting>(setting), value );
+    
+    DPRINT << ": err: " << err;
+    DPRINT << ": setting: " << setting;
+    DPRINT << ": value: " << value;
+    DPRINT << ": OUT" ;
+    return err;   
+}     
+    
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/src/sssettingswrapper_p.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#include "sssettingswrapper_p.h"
+#include "sssettingswrapper.h"
+#include "logging.h"
+#include <rsssettings.h>
+
+/*!
+  SsSettingsWrapperPrivate::SsSettingsWrapperPrivate
+ */
+SsSettingsWrapperPrivate::SsSettingsWrapperPrivate( SsSettingsWrapper &owner ) : m_Owner(owner)
+{
+    DPRINT;
+}
+
+/*!
+  SsSettingsWrapperPrivate::~SsSettingsWrapperPrivate
+ */
+SsSettingsWrapperPrivate::~SsSettingsWrapperPrivate()
+{
+    DPRINT;
+}
+
+/*!
+  SsSettingsWrapperPrivate::PhoneSettingChanged
+ */
+void SsSettingsWrapperPrivate::PhoneSettingChanged( 
+    TSSSettingsSetting aSetting, 
+    TInt aNewValue )
+{
+    DPRINT << ": IN";
+    DPRINT << ": aSetting: " << static_cast<SsSettingsWrapperSettings>(aSetting);
+    DPRINT << ": aNewValue: " << aNewValue;
+        
+    emit m_Owner.phoneSettingChanged( 
+        static_cast<SsSettingsWrapperSettings>(aSetting),
+        static_cast<int>(aNewValue));
+        
+    DPRINT << ": OUT";
+}
+    
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/src/sssettingswrapper_p.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef SSSETTINGSWRAPPER_P_H
+#define SSSETTINGSWRAPPER_P_H
+
+#include <rsssettings.h>
+#include <msssettingsobserver.h>
+
+
+class SsSettingsWrapper;
+
+class SsSettingsWrapperPrivate: public MSSSettingsObserver
+{
+public:
+    SsSettingsWrapperPrivate( SsSettingsWrapper &owner );
+    
+    ~SsSettingsWrapperPrivate();
+    
+public: // From MSSSettingsObserver:
+    void PhoneSettingChanged( 
+        TSSSettingsSetting aSetting, 
+        TInt aNewValue ); 
+
+private: // Data: 
+    
+    SsSettingsWrapper &m_Owner;
+    
+};
+
+#endif // SSSETTINGSWRAPPER_P
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/src/sssettingswrapper_s.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  
+ *
+ */
+
+
+#include "sssettingswrapper.h"
+#include "logging.h"
+
+
+SsSettingsWrapper::SsSettingsWrapper(QObject *parent): 
+    QObject(parent)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+SsSettingsWrapper::~SsSettingsWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+    
+    
+int SsSettingsWrapper::get(SsSettingsWrapperSettings setting, int &value)
+{
+    DPRINT << "DUMMY WRAPPER";
+    return 0;
+}   
+
+int SsSettingsWrapper::set(SsSettingsWrapperSettings setting, int value)
+{
+    DPRINT << "DUMMY WRAPPER";
+    return 0;
+}     
+    
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/sssettingswrapper.pri	Tue Aug 31 15:45:17 2010 +0300
@@ -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: 
+#
+
+HEADERS += ../../../../phonesrv_plat/ss_settings_api/inc/sssettingswrapper.h \
+           ../../../../phonesrv_plat/ss_settings_api/inc/sssettingswrappertypes.h \
+   
+symbian: {
+    SOURCES += ./src/sssettingswrapper.cpp \
+              ./src/sssettingswrapper_p.cpp
+} 
+else: {
+    SOURCES = ./src/sssettingswrapper_s.cpp
+}
+       
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/sssettingswrapper.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,57 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = 
+MOC_DIR = moc
+
+INCLUDEPATH += ../../../../phonesrv_plat/ss_settings_api/inc
+SOURCEPATH += src
+
+# Input
+include(sssettingswrapper.pri)
+
+DEFINES += BUILD_SSSETTINGSWRAPPER
+
+symbian: {
+    LIBS += -lsssettings
+    load(data_caging_paths)
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+
+    TARGET.EPOCALLOWDLLDATA = 1 
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.UID3 = 0X20029F22
+
+    defFiles = \
+    "$${LITERAL_HASH}ifdef WINS" \
+        "DEFFILE bwins/sssettingswrapper.def" \
+    "$${LITERAL_HASH}else" \
+        "DEFFILE eabi/sssettingswrapper.def" \
+    "$${LITERAL_HASH}endif"
+    MMP_RULES += defFiles
+    
+    # For sis file
+    dllfile.sources = $${TARGET}.dll
+    dllfile.path = $$SHARED_LIB_DIR
+    DEPLOYMENT += dllfile
+
+    BLD_INF_RULES.prj_exports +=  \
+     "$${LITERAL_HASH}include <platform_paths.hrh>" \
+     "./rom/sssettingswrapper.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(sssettingswrapper.iby)"
+} else: {
+    DESTDIR = c:\hb\lib
+    DLLDESTDIR = c:\hb\bin
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/tsrc/mocks/mock_rsssettings.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,189 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this 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 <rsssettings.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// RSSSettings::RSSSettings
+// -----------------------------------------------------------------------------
+//
+RSSSettings::RSSSettings(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::Close
+// -----------------------------------------------------------------------------
+//
+void RSSSettings::Close(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::Open
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::Open(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::Open
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::Open( 
+        RTelServer * aTelServer )
+    {
+    SMC_MOCK_METHOD1( TInt, RTelServer *, aTelServer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::RegisterAll
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::RegisterAll( 
+        MSSSettingsObserver & aObserver )
+    {
+    //SMC_MOCK_METHOD1( TInt, MSSSettingsObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::Register
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::Register( 
+        TSSSettingsSetting aSetting,
+        MSSSettingsObserver & aObserver )
+    {
+    //SMC_MOCK_METHOD2( TInt, TSSSettingsSetting, aSetting, 
+    //    MSSSettingsObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::CancelAll
+// -----------------------------------------------------------------------------
+//
+void RSSSettings::CancelAll( 
+        MSSSettingsObserver & aObserver )
+    {
+    //SMC_MOCK_METHOD1( void, MSSSettingsObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::Cancel
+// -----------------------------------------------------------------------------
+//
+void RSSSettings::Cancel( 
+        TSSSettingsSetting aSetting,
+        MSSSettingsObserver & aObserver )
+    {
+    //SMC_MOCK_METHOD2( void, TSSSettingsSetting, aSetting, 
+    //    MSSSettingsObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::Get
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::Get( 
+        TSSSettingsSetting aSetting,
+        TInt & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TSSSettingsSetting, aSetting, 
+        TInt &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::Set
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::Set( 
+        TSSSettingsSetting aSetting,
+        TInt aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TSSSettingsSetting, aSetting, 
+        TInt, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::HandleSIMChanged
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::HandleSIMChanged(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::PreviousCugValue
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::PreviousCugValue( 
+        TInt & aPreviousValue )
+    {
+    SMC_MOCK_METHOD1( TInt, TInt &, aPreviousValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::ResetPreviousCugValue
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::ResetPreviousCugValue(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::HandleRefresh
+// -----------------------------------------------------------------------------
+//
+TInt RSSSettings::HandleRefresh(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSSSettings::IsValueValidCugIndex
+// -----------------------------------------------------------------------------
+//
+TBool RSSSettings::IsValueValidCugIndex( 
+        const TInt & aValue ) const
+    {
+    SMC_MOCK_METHOD1( TBool, const TInt &, aValue )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/tsrc/run_auto_tests_qt.bat	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,194 @@
+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 SBS_CALL=sbs --config winscw_udeb --keepgoing BUILD
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+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 sbs --config winscw_udeb --keepgoing CLEAN
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -2comp -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
+) else (
+call %SBS_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function 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 --
+    move \epoc32\winscw\c\data\%%a.log %PATH_TO_RESULT%\%%a.log
+)
+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/cellular/sssettings/xqbindings/sssettingswrapper/tsrc/ut_sssettingswrapper/qtestmains60.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/tsrc/ut_sssettingswrapper/ut_sssettingswrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_sssettingswrapper.h"
+#include "qtestmains60.h"
+#define private public
+#include "sssettingswrapper.h"
+#include "sssettingswrapper_p.h"
+
+/*!
+  UT_SsSettingsWrapper::UT_SsSettingsWrapper
+ */
+UT_SsSettingsWrapper::UT_SsSettingsWrapper() 
+    : mWrapper(NULL)
+{
+}
+
+/*!
+  UT_SsSettingsWrapper::~UT_SsSettingsWrapper
+ */
+UT_SsSettingsWrapper::~UT_SsSettingsWrapper()
+{
+    delete mWrapper;
+}
+
+/*!
+  UT_SsSettingsWrapper::init
+ */
+void UT_SsSettingsWrapper::init()
+{
+    initialize();
+
+    mWrapper = new SsSettingsWrapper();
+}
+
+/*!
+  UT_SsSettingsWrapper::cleanup
+ */
+void UT_SsSettingsWrapper::cleanup()
+{
+    reset();
+    
+    delete mWrapper;
+    mWrapper = NULL;
+}
+
+/*!
+  UT_SsSettingsWrapper::t_memleak
+ */
+void UT_SsSettingsWrapper::t_memleak()
+{
+    
+}
+
+/*!
+  UT_SsSettingsWrapper::t_get
+ */
+void UT_SsSettingsWrapper::t_get()
+{
+    int value = 0;
+    expect("RSSSettings::Get").with(ESSSettingsCug, 0);
+    QVERIFY( !mWrapper->get(Cug, value) );
+    expect("RSSSettings::Get").with(ESSSettingsClir, 0);
+    QVERIFY( !mWrapper->get(Clir, value) );
+    expect("RSSSettings::Get").with(ESSSettingsAls, 0);
+    QVERIFY( !mWrapper->get(Als, value) );
+    expect("RSSSettings::Get").with(ESSSettingsAlsBlocking, 0);
+    QVERIFY( !mWrapper->get(AlsBlocking, value) );
+    expect("RSSSettings::Get").with(ESSSettingsDefaultCug, 0);
+    QVERIFY( !mWrapper->get(DefaultCug, value) );
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_SsSettingsWrapper::t_set
+ */
+void UT_SsSettingsWrapper::t_set()
+{
+    int value = 0;
+    expect("RSSSettings::Set").with(ESSSettingsCug, 0);
+    QVERIFY( !mWrapper->set(Cug, value) );
+    expect("RSSSettings::Set").with(ESSSettingsClir, 0);
+    QVERIFY( !mWrapper->set(Clir, value) );
+    expect("RSSSettings::Set").with(ESSSettingsAls, 0);
+    QVERIFY( !mWrapper->set(Als, value) );
+    expect("RSSSettings::Set").with(ESSSettingsAlsBlocking, 0);
+    QVERIFY( !mWrapper->set(AlsBlocking, value) );
+    expect("RSSSettings::Set").with(ESSSettingsDefaultCug, 0);
+    QVERIFY( !mWrapper->set(DefaultCug, value) );
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_SsSettingsWrapper::t_PhoneSettingChanged
+ */
+Q_DECLARE_METATYPE(SsSettingsWrapperSettings)
+void UT_SsSettingsWrapper::t_PhoneSettingChanged()
+{
+    qRegisterMetaType<SsSettingsWrapperSettings> ("SsSettingsWrapperSettings");
+    QSignalSpy spy(mWrapper, 
+            SIGNAL(phoneSettingChanged(SsSettingsWrapperSettings, int )));
+    
+    mWrapper->m_Priv->PhoneSettingChanged(ESSSettingsCug, 0);
+    
+    QCOMPARE(spy.count(), 1);
+    const QList<QVariant> &arguments = spy.at(0);
+    QVERIFY(Cug == arguments.at(0).value<SsSettingsWrapperSettings>());
+    QVERIFY(0 == arguments.at(1).value<int>());
+}
+
+QTEST_MAIN_S60(UT_SsSettingsWrapper)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/tsrc/ut_sssettingswrapper/ut_sssettingswrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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_SSSETTINGWRAPPER_H
+#define UT_SSSETTINGWRAPPER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class SsSettingsWrapper;
+
+class UT_SsSettingsWrapper : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_SsSettingsWrapper();
+    ~UT_SsSettingsWrapper();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_memleak();
+    void t_get();
+    void t_set();
+    
+    void t_PhoneSettingChanged();
+
+private:
+    SsSettingsWrapper *mWrapper;
+
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/sssettings/xqbindings/sssettingswrapper/tsrc/ut_sssettingswrapper/ut_sssettingswrapper.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,46 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+DEFINES += 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
+}
+
+# test code
+HEADERS += ut_sssettingswrapper.h
+SOURCES += ut_sssettingswrapper.cpp
+
+# code to be tested
+HEADERS += ../../../../../../phonesrv_plat/ss_settings_api/inc/sssettingswrapper.h
+SOURCES += ../../src/sssettingswrapper.cpp    \
+           ../../src/sssettingswrapper_p.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_rsssettings.cpp
--- a/cellular/telephonysettings/Logger/PhoneSettingsLogger.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/Logger/PhoneSettingsLogger.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #ifndef PHONESETTINGSLOGGER_H
 #define PHONESETTINGSLOGGER_H
 
-#include "PhoneSettingsLoggingConf.h"
+#include "phonesettingsloggingconf.h" 
 #include <e32std.h>
 #include <flogger.h>
 #include <e32svr.h>
--- a/cellular/telephonysettings/bwins/PHONESETTINGSU.DEF	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/bwins/PHONESETTINGSU.DEF	Tue Aug 31 15:45:17 2010 +0300
@@ -1,80 +1,80 @@
 EXPORTS
-	?GetBarringStatusL@CPsetCallBarring@@UAEXW4TServiceGroup@@W4TBarringProgram@@@Z @ 1 NONAME ; void CPsetCallBarring::GetBarringStatusL(enum TServiceGroup, enum TBarringProgram)
-	?SetNetworkModeSelectionL@CPsetNetwork@@UAEXAAK@Z @ 2 NONAME ; void CPsetNetwork::SetNetworkModeSelectionL(unsigned long &)
-	?GetColpModeL@CPsetCli@@UAEXXZ @ 3 NONAME ; void CPsetCli::GetColpModeL(void)
-	?CreateCBObjectL@CPsetContainer@@QAEPAVCPsetCallBarring@@AAVMPsetBarringObserver@@@Z @ 4 NONAME ; class CPsetCallBarring * CPsetContainer::CreateCBObjectL(class MPsetBarringObserver &)
-	?SetRequestObserver@CPsetCallBarring@@QAEXPAVMPsetRequestObserver@@@Z @ 5 NONAME ; void CPsetCallBarring::SetRequestObserver(class MPsetRequestObserver *)
-	?IsCallActive@CPsetNetwork@@QAEHXZ @ 6 NONAME ; int CPsetNetwork::IsCallActive(void)
-	?GetCurrentNetworkInfo@CPsetNetwork@@UAEHAAUTCurrentNetworkInfo@MPsetNetworkSelect@@@Z @ 7 NONAME ; int CPsetNetwork::GetCurrentNetworkInfo(struct MPsetNetworkSelect::TCurrentNetworkInfo &)
-	?GetCnapL@CPsetCli@@UAEXXZ @ 8 NONAME ; void CPsetCli::GetCnapL(void)
-	?SelectNetworkL@CPsetNetwork@@UAEXABUTNetworkInfo@MPsetNetworkSelect@@@Z @ 9 NONAME ; void CPsetNetwork::SelectNetworkL(struct MPsetNetworkSelect::TNetworkInfo const &)
-	?NewL@CPsetNetwork@@SAPAV1@AAVRMobilePhone@@AAVMPsetNetworkInfoObserver@@@Z @ 10 NONAME ; class CPsetNetwork * CPsetNetwork::NewL(class RMobilePhone &, class MPsetNetworkInfoObserver &)
-	?GetNetworkSelectMode@CPsetNetwork@@UAEHAAW4TSelectMode@MPsetNetworkSelect@@@Z @ 11 NONAME ; int CPsetNetwork::GetNetworkSelectMode(enum MPsetNetworkSelect::TSelectMode &)
-	?SwapDefaultNumberL@CPsetCallDiverting@@QAEXABH@Z @ 12 NONAME ; void CPsetCallDiverting::SwapDefaultNumberL(int const &)
-	?VideoMailQueryL@CPsetCallDiverting@@QAEXAAVTDes16@@@Z @ 13 NONAME ; void CPsetCallDiverting::VideoMailQueryL(class TDes16 &)
-	?SetBarringL@CPsetCallBarring@@UAEXABVTCallBarringSetting@@W4TBasicServiceGroups@@@Z @ 14 NONAME ; void CPsetCallBarring::SetBarringL(class TCallBarringSetting const &, enum TBasicServiceGroups)
-	?IsCallActive@CPsetSAObserver@@QAEHXZ @ 15 NONAME ; int CPsetSAObserver::IsCallActive(void)
-	??1CPsetCallWaiting@@UAE@XZ @ 16 NONAME ; CPsetCallWaiting::~CPsetCallWaiting(void)
-	?ChangePasswordL@CPsetCallBarring@@QAEXAAVTMobilePhonePasswordChangeV2@RMobilePhone@@@Z @ 17 NONAME ; void CPsetCallBarring::ChangePasswordL(class RMobilePhone::TMobilePhonePasswordChangeV2 &)
-	?CreateCliObjectL@CPsetContainer@@QAEPAVCPsetCli@@AAVMPsetCliObserver@@@Z @ 18 NONAME ; class CPsetCli * CPsetContainer::CreateCliObjectL(class MPsetCliObserver &)
-	?VoiceMailQueryL@CPsetCallDiverting@@QAEXAAVTDes16@@@Z @ 19 NONAME ; void CPsetCallDiverting::VoiceMailQueryL(class TDes16 &)
-	??1CPsetContainer@@UAE@XZ @ 20 NONAME ; CPsetContainer::~CPsetContainer(void)
-	?NewL@CPsetNetwork@@SAPAV1@AAVRMobilePhone@@AAVMPsetNetworkModeObserver@@@Z @ 21 NONAME ; class CPsetNetwork * CPsetNetwork::NewL(class RMobilePhone &, class MPsetNetworkModeObserver &)
-	?GetDefaultNumbersL@CPsetCallDiverting@@QAEHAAVCDesC16ArrayFlat@@@Z @ 22 NONAME ; int CPsetCallDiverting::GetDefaultNumbersL(class CDesC16ArrayFlat &)
-	?NewL@CPsetContainer@@SAPAV1@XZ @ 23 NONAME ; class CPsetContainer * CPsetContainer::NewL(void)
-	?CreateCFObjectL@CPsetContainer@@QAEPAVCPsetCallDiverting@@AAVMPsetDivertObserver@@@Z @ 24 NONAME ; class CPsetCallDiverting * CPsetContainer::CreateCFObjectL(class MPsetDivertObserver &)
-	?IsGPRSConnected@CPsetSAObserver@@QAEHXZ @ 25 NONAME ; int CPsetSAObserver::IsGPRSConnected(void)
-	?IsNetworkSelectionSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 26 NONAME ; int CPsetCustomerServiceProfile::IsNetworkSelectionSupported(int &)
-	?GetCurrentDivertStatus@CPsetSAObserver@@QAEHAAW4TUnconditionalCFStatus@@@Z @ 27 NONAME ; int CPsetSAObserver::GetCurrentDivertStatus(enum TUnconditionalCFStatus &)
-	??1CPsetCallDiverting@@UAE@XZ @ 28 NONAME ; CPsetCallDiverting::~CPsetCallDiverting(void)
-	?OpenCSProfileL@CPsetCustomerServiceProfile@@QAEHXZ @ 29 NONAME ; int CPsetCustomerServiceProfile::OpenCSProfileL(void)
-	??1CPsetSAObserver@@UAE@XZ @ 30 NONAME ; CPsetSAObserver::~CPsetSAObserver(void)
-	?IsCFSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 31 NONAME ; int CPsetCustomerServiceProfile::IsCFSupported(int &)
-	?GetDivertingStatusL@CPsetCallDiverting@@UAEXW4TServiceGroup@@W4TCallDivertingCondition@@W4TBasicServiceGroups@@@Z @ 32 NONAME ; void CPsetCallDiverting::GetDivertingStatusL(enum TServiceGroup, enum TCallDivertingCondition, enum TBasicServiceGroups)
-	?NewL@CPsetCallDiverting@@SAPAV1@AAVMPsetDivertObserver@@AAVRMobilePhone@@@Z @ 33 NONAME ; class CPsetCallDiverting * CPsetCallDiverting::NewL(class MPsetDivertObserver &, class RMobilePhone &)
-	?SetUsedDataNumberL@CPsetCallDiverting@@QAEHAAV?$TBuf@$0GE@@@@Z @ 34 NONAME ; int CPsetCallDiverting::SetUsedDataNumberL(class TBuf<100> &)
-	?CreateNetworkModeObjectL@CPsetContainer@@QAEPAVCPsetNetwork@@AAVMPsetNetworkModeObserver@@@Z @ 35 NONAME ; class CPsetNetwork * CPsetContainer::CreateNetworkModeObjectL(class MPsetNetworkModeObserver &)
-	?GetCallWaitingStatusL@CPsetCallWaiting@@UAEXXZ @ 36 NONAME ; void CPsetCallWaiting::GetCallWaitingStatusL(void)
-	?ResetNetworkSearch@CPsetNetwork@@QAEHXZ @ 37 NONAME ; int CPsetNetwork::ResetNetworkSearch(void)
-	?GetAvailableNetworksL@CPsetNetwork@@UAEXXZ @ 38 NONAME ; void CPsetNetwork::GetAvailableNetworksL(void)
-	?SetNewDefaultNumberL@CPsetCallDiverting@@QAEHAAVTDes16@@@Z @ 39 NONAME ; int CPsetCallDiverting::SetNewDefaultNumberL(class TDes16 &)
-	?CreateCWObjectL@CPsetContainer@@QAEPAVCPsetCallWaiting@@AAVMPsetCallWaitingObserver@@@Z @ 40 NONAME ; class CPsetCallWaiting * CPsetContainer::CreateCWObjectL(class MPsetCallWaitingObserver &)
-	??1CPsetCli@@UAE@XZ @ 41 NONAME ; CPsetCli::~CPsetCli(void)
-	?CreateNetworkObjectL@CPsetContainer@@QAEPAVCPsetNetwork@@AAVMPsetNetworkInfoObserver@@@Z @ 42 NONAME ; class CPsetNetwork * CPsetContainer::CreateNetworkObjectL(class MPsetNetworkInfoObserver &)
-	?SetUsedFaxNumberL@CPsetCallDiverting@@QAEHAAV?$TBuf@$0GE@@@@Z @ 43 NONAME ; int CPsetCallDiverting::SetUsedFaxNumberL(class TBuf<100> &)
-	?CancelCurrentRequest@CPsetCallBarring@@UAEHXZ @ 44 NONAME ; int CPsetCallBarring::CancelCurrentRequest(void)
-	?NewL@CPsetCli@@SAPAV1@AAVRMobilePhone@@AAVMPsetCliObserver@@@Z @ 45 NONAME ; class CPsetCli * CPsetCli::NewL(class RMobilePhone &, class MPsetCliObserver &)
-	?NotifyDivertChange@CPsetSAObserver@@QAEXW4TSelectedLine@@AAVTCallDivertNotifySetting@@ABH@Z @ 46 NONAME ; void CPsetSAObserver::NotifyDivertChange(enum TSelectedLine, class TCallDivertNotifySetting &, int const &)
-	?GetCurrentNetworkModeSelectionL@CPsetNetwork@@UAEXXZ @ 47 NONAME ; void CPsetNetwork::GetCurrentNetworkModeSelectionL(void)
-	?GetUsedFaxNumberLC@CPsetCallDiverting@@QAEPAVHBufC16@@XZ @ 48 NONAME ; class HBufC16 * CPsetCallDiverting::GetUsedFaxNumberLC(void)
-	?SetNetSAObserver@CPsetNetwork@@QAEXAAVMPsetNetworkInfoObserver@@@Z @ 49 NONAME ; void CPsetNetwork::SetNetSAObserver(class MPsetNetworkInfoObserver &)
-	?NewL@CPsetCustomerServiceProfile@@SAPAV1@XZ @ 50 NONAME ; class CPsetCustomerServiceProfile * CPsetCustomerServiceProfile::NewL(void)
-	?SetNetworkModeObserver@CPsetNetwork@@QAEXAAVMPsetNetworkModeObserver@@@Z @ 51 NONAME ; void CPsetNetwork::SetNetworkModeObserver(class MPsetNetworkModeObserver &)
-	?NewL@CPsetCallWaiting@@SAPAV1@AAVRMobilePhone@@AAVMPsetCallWaitingObserver@@@Z @ 52 NONAME ; class CPsetCallWaiting * CPsetCallWaiting::NewL(class RMobilePhone &, class MPsetCallWaitingObserver &)
-	?SetRequestObserver@CPsetCallDiverting@@QAEXPAVMPsetRequestObserver@@@Z @ 53 NONAME ; void CPsetCallDiverting::SetRequestObserver(class MPsetRequestObserver *)
-	?CancelCurrentRequest@CPsetCallDiverting@@UAEHXZ @ 54 NONAME ; int CPsetCallDiverting::CancelCurrentRequest(void)
-	??1CPsetCallBarring@@UAE@XZ @ 55 NONAME ; CPsetCallBarring::~CPsetCallBarring(void)
-	?GetClirModeL@CPsetCli@@UAEXXZ @ 56 NONAME ; void CPsetCli::GetClirModeL(void)
-	?SetDivertingL@CPsetCallDiverting@@UAEXABVTCallDivertSetting@@W4TBasicServiceGroups@@H@Z @ 57 NONAME ; void CPsetCallDiverting::SetDivertingL(class TCallDivertSetting const &, enum TBasicServiceGroups, int)
-	?CreateRefreshHandlerL@CPsetContainer@@QAEPAVCPSetRefreshHandler@@XZ @ 58 NONAME ; class CPSetRefreshHandler * CPsetContainer::CreateRefreshHandlerL(void)
-	?SetRequestObserver@CPsetCallWaiting@@QAEXPAVMPsetRequestObserver@@@Z @ 59 NONAME ; void CPsetCallWaiting::SetRequestObserver(class MPsetRequestObserver *)
-	?CancelProcess@CPsetNetwork@@UAEXXZ @ 60 NONAME ; void CPsetNetwork::CancelProcess(void)
-	?IsALSSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 61 NONAME ; int CPsetCustomerServiceProfile::IsALSSupported(int &)
-	?SetNetObserver@CPsetSAObserver@@QAEXAAVMPsetNetworkInfoObserver@@@Z @ 62 NONAME ; void CPsetSAObserver::SetNetObserver(class MPsetNetworkInfoObserver &)
-	?SetRequestObserver@CPsetCli@@QAEXPAVMPsetRequestObserver@@@Z @ 63 NONAME ; void CPsetCli::SetRequestObserver(class MPsetRequestObserver *)
-	?NewL@CPsetSAObserver@@SAPAV1@XZ @ 64 NONAME ; class CPsetSAObserver * CPsetSAObserver::NewL(void)
-	?CancelAll@CPsetCli@@UAEXXZ @ 65 NONAME ; void CPsetCli::CancelAll(void)
-	?ChangePasswordL@CPsetCallBarring@@QAEXAAVTMobilePhonePasswordChangeV2@RMobilePhone@@H@Z @ 66 NONAME ; void CPsetCallBarring::ChangePasswordL(class RMobilePhone::TMobilePhonePasswordChangeV2 &, int)
-	?SetTimerValueL@CPsetCallDiverting@@QAEHABH@Z @ 67 NONAME ; int CPsetCallDiverting::SetTimerValueL(int const &)
-	??1CPsetCustomerServiceProfile@@UAE@XZ @ 68 NONAME ; CPsetCustomerServiceProfile::~CPsetCustomerServiceProfile(void)
-	?GetUsedDataNumberLC@CPsetCallDiverting@@QAEPAVHBufC16@@XZ @ 69 NONAME ; class HBufC16 * CPsetCallDiverting::GetUsedDataNumberLC(void)
-	?GetClipModeL@CPsetCli@@UAEXXZ @ 70 NONAME ; void CPsetCli::GetClipModeL(void)
-	?CancelProcess@CPsetCallWaiting@@UAEHXZ @ 71 NONAME ; int CPsetCallWaiting::CancelProcess(void)
-	?IsGPRSConnected@CPsetNetwork@@QAEHXZ @ 72 NONAME ; int CPsetNetwork::IsGPRSConnected(void)
-	?GetColrModeL@CPsetCli@@UAEXXZ @ 73 NONAME ; void CPsetCli::GetColrModeL(void)
-	?IsCBSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 74 NONAME ; int CPsetCustomerServiceProfile::IsCBSupported(int &)
-	??1CPsetNetwork@@UAE@XZ @ 75 NONAME ; CPsetNetwork::~CPsetNetwork(void)
-	?SetCallWaitingL@CPsetCallWaiting@@UAEXW4TSetCallWaiting@MPsetCallWaiting@@W4TBasicServiceGroups@@@Z @ 76 NONAME ; void CPsetCallWaiting::SetCallWaitingL(enum MPsetCallWaiting::TSetCallWaiting, enum TBasicServiceGroups)
-	?GetTimerValueL@CPsetCallDiverting@@QAEHXZ @ 77 NONAME ; int CPsetCallDiverting::GetTimerValueL(void)
-	?IsCWSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 78 NONAME ; int CPsetCustomerServiceProfile::IsCWSupported(int &)
+	??1CPsetCallBarring@@UAE@XZ @ 1 NONAME ; CPsetCallBarring::~CPsetCallBarring(void)
+	??1CPsetCallDiverting@@UAE@XZ @ 2 NONAME ; CPsetCallDiverting::~CPsetCallDiverting(void)
+	??1CPsetCallWaiting@@UAE@XZ @ 3 NONAME ; CPsetCallWaiting::~CPsetCallWaiting(void)
+	??1CPsetCli@@UAE@XZ @ 4 NONAME ; CPsetCli::~CPsetCli(void)
+	??1CPsetContainer@@UAE@XZ @ 5 NONAME ; CPsetContainer::~CPsetContainer(void)
+	??1CPsetCustomerServiceProfile@@UAE@XZ @ 6 NONAME ; CPsetCustomerServiceProfile::~CPsetCustomerServiceProfile(void)
+	??1CPsetNetwork@@UAE@XZ @ 7 NONAME ; CPsetNetwork::~CPsetNetwork(void)
+	??1CPsetSAObserver@@UAE@XZ @ 8 NONAME ; CPsetSAObserver::~CPsetSAObserver(void)
+	?CancelAll@CPsetCli@@UAEXXZ @ 9 NONAME ; void CPsetCli::CancelAll(void)
+	?CancelCurrentRequest@CPsetCallBarring@@UAEHXZ @ 10 NONAME ; int CPsetCallBarring::CancelCurrentRequest(void)
+	?CancelCurrentRequest@CPsetCallDiverting@@UAEHXZ @ 11 NONAME ; int CPsetCallDiverting::CancelCurrentRequest(void)
+	?CancelProcess@CPsetCallWaiting@@UAEHXZ @ 12 NONAME ; int CPsetCallWaiting::CancelProcess(void)
+	?CancelProcess@CPsetNetwork@@UAEXXZ @ 13 NONAME ; void CPsetNetwork::CancelProcess(void)
+	?ChangePasswordL@CPsetCallBarring@@QAEXAAVTMobilePhonePasswordChangeV2@RMobilePhone@@@Z @ 14 NONAME ; void CPsetCallBarring::ChangePasswordL(class RMobilePhone::TMobilePhonePasswordChangeV2 &)
+	?ChangePasswordL@CPsetCallBarring@@QAEXAAVTMobilePhonePasswordChangeV2@RMobilePhone@@H@Z @ 15 NONAME ; void CPsetCallBarring::ChangePasswordL(class RMobilePhone::TMobilePhonePasswordChangeV2 &, int)
+	?CreateCBObjectL@CPsetContainer@@QAEPAVCPsetCallBarring@@AAVMPsetBarringObserver@@@Z @ 16 NONAME ; class CPsetCallBarring * CPsetContainer::CreateCBObjectL(class MPsetBarringObserver &)
+	?CreateCFObjectL@CPsetContainer@@QAEPAVCPsetCallDiverting@@AAVMPsetDivertObserver@@@Z @ 17 NONAME ; class CPsetCallDiverting * CPsetContainer::CreateCFObjectL(class MPsetDivertObserver &)
+	?CreateCWObjectL@CPsetContainer@@QAEPAVCPsetCallWaiting@@AAVMPsetCallWaitingObserver@@@Z @ 18 NONAME ; class CPsetCallWaiting * CPsetContainer::CreateCWObjectL(class MPsetCallWaitingObserver &)
+	?CreateCliObjectL@CPsetContainer@@QAEPAVCPsetCli@@AAVMPsetCliObserver@@@Z @ 19 NONAME ; class CPsetCli * CPsetContainer::CreateCliObjectL(class MPsetCliObserver &)
+	?CreateNetworkModeObjectL@CPsetContainer@@QAEPAVCPsetNetwork@@AAVMPsetNetworkModeObserver@@@Z @ 20 NONAME ; class CPsetNetwork * CPsetContainer::CreateNetworkModeObjectL(class MPsetNetworkModeObserver &)
+	?CreateNetworkObjectL@CPsetContainer@@QAEPAVCPsetNetwork@@AAVMPsetNetworkInfoObserver@@@Z @ 21 NONAME ; class CPsetNetwork * CPsetContainer::CreateNetworkObjectL(class MPsetNetworkInfoObserver &)
+	?CreateRefreshHandlerL@CPsetContainer@@QAEPAVCPSetRefreshHandler@@XZ @ 22 NONAME ; class CPSetRefreshHandler * CPsetContainer::CreateRefreshHandlerL(void)
+	?GetAvailableNetworksL@CPsetNetwork@@UAEXXZ @ 23 NONAME ; void CPsetNetwork::GetAvailableNetworksL(void)
+	?GetBarringStatusL@CPsetCallBarring@@UAEXW4TServiceGroup@@W4TBarringProgram@@@Z @ 24 NONAME ; void CPsetCallBarring::GetBarringStatusL(enum TServiceGroup, enum TBarringProgram)
+	?GetCallWaitingStatusL@CPsetCallWaiting@@UAEXXZ @ 25 NONAME ; void CPsetCallWaiting::GetCallWaitingStatusL(void)
+	?GetClipModeL@CPsetCli@@UAEXXZ @ 26 NONAME ; void CPsetCli::GetClipModeL(void)
+	?GetClirModeL@CPsetCli@@UAEXXZ @ 27 NONAME ; void CPsetCli::GetClirModeL(void)
+	?GetCnapL@CPsetCli@@UAEXXZ @ 28 NONAME ; void CPsetCli::GetCnapL(void)
+	?GetColpModeL@CPsetCli@@UAEXXZ @ 29 NONAME ; void CPsetCli::GetColpModeL(void)
+	?GetColrModeL@CPsetCli@@UAEXXZ @ 30 NONAME ; void CPsetCli::GetColrModeL(void)
+	?GetCurrentDivertStatus@CPsetSAObserver@@QAEHAAW4TUnconditionalCFStatus@@@Z @ 31 NONAME ; int CPsetSAObserver::GetCurrentDivertStatus(enum TUnconditionalCFStatus &)
+	?GetCurrentNetworkInfo@CPsetNetwork@@UAEHAAUTCurrentNetworkInfo@MPsetNetworkSelect@@@Z @ 32 NONAME ; int CPsetNetwork::GetCurrentNetworkInfo(struct MPsetNetworkSelect::TCurrentNetworkInfo &)
+	?GetCurrentNetworkModeSelectionL@CPsetNetwork@@UAEXXZ @ 33 NONAME ; void CPsetNetwork::GetCurrentNetworkModeSelectionL(void)
+	?GetDefaultNumbersL@CPsetCallDiverting@@QAEHAAVCDesC16ArrayFlat@@@Z @ 34 NONAME ; int CPsetCallDiverting::GetDefaultNumbersL(class CDesC16ArrayFlat &)
+	?GetDivertingStatusL@CPsetCallDiverting@@UAEXW4TServiceGroup@@W4TCallDivertingCondition@@W4TBasicServiceGroups@@@Z @ 35 NONAME ; void CPsetCallDiverting::GetDivertingStatusL(enum TServiceGroup, enum TCallDivertingCondition, enum TBasicServiceGroups)
+	?GetNetworkSelectMode@CPsetNetwork@@UAEHAAW4TSelectMode@MPsetNetworkSelect@@@Z @ 36 NONAME ; int CPsetNetwork::GetNetworkSelectMode(enum MPsetNetworkSelect::TSelectMode &)
+	?GetTimerValueL@CPsetCallDiverting@@QAEHXZ @ 37 NONAME ; int CPsetCallDiverting::GetTimerValueL(void)
+	?GetUsedDataNumberLC@CPsetCallDiverting@@QAEPAVHBufC16@@XZ @ 38 NONAME ; class HBufC16 * CPsetCallDiverting::GetUsedDataNumberLC(void)
+	?GetUsedFaxNumberLC@CPsetCallDiverting@@QAEPAVHBufC16@@XZ @ 39 NONAME ; class HBufC16 * CPsetCallDiverting::GetUsedFaxNumberLC(void)
+	?IsALSSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 40 NONAME ; int CPsetCustomerServiceProfile::IsALSSupported(int &)
+	?IsCBSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 41 NONAME ; int CPsetCustomerServiceProfile::IsCBSupported(int &)
+	?IsCFSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 42 NONAME ; int CPsetCustomerServiceProfile::IsCFSupported(int &)
+	?IsCWSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 43 NONAME ; int CPsetCustomerServiceProfile::IsCWSupported(int &)
+	?IsCallActive@CPsetNetwork@@QAEHXZ @ 44 NONAME ; int CPsetNetwork::IsCallActive(void)
+	?IsCallActive@CPsetSAObserver@@QAEHXZ @ 45 NONAME ; int CPsetSAObserver::IsCallActive(void)
+	?IsGPRSConnected@CPsetNetwork@@QAEHXZ @ 46 NONAME ; int CPsetNetwork::IsGPRSConnected(void)
+	?IsGPRSConnected@CPsetSAObserver@@QAEHXZ @ 47 NONAME ; int CPsetSAObserver::IsGPRSConnected(void)
+	?IsNetworkSelectionSupported@CPsetCustomerServiceProfile@@QAEHAAH@Z @ 48 NONAME ; int CPsetCustomerServiceProfile::IsNetworkSelectionSupported(int &)
+	?NewL@CPsetCallDiverting@@SAPAV1@AAVMPsetDivertObserver@@AAVRMobilePhone@@@Z @ 49 NONAME ; class CPsetCallDiverting * CPsetCallDiverting::NewL(class MPsetDivertObserver &, class RMobilePhone &)
+	?NewL@CPsetCallWaiting@@SAPAV1@AAVRMobilePhone@@AAVMPsetCallWaitingObserver@@@Z @ 50 NONAME ; class CPsetCallWaiting * CPsetCallWaiting::NewL(class RMobilePhone &, class MPsetCallWaitingObserver &)
+	?NewL@CPsetCli@@SAPAV1@AAVRMobilePhone@@AAVMPsetCliObserver@@@Z @ 51 NONAME ; class CPsetCli * CPsetCli::NewL(class RMobilePhone &, class MPsetCliObserver &)
+	?NewL@CPsetContainer@@SAPAV1@XZ @ 52 NONAME ; class CPsetContainer * CPsetContainer::NewL(void)
+	?NewL@CPsetCustomerServiceProfile@@SAPAV1@XZ @ 53 NONAME ; class CPsetCustomerServiceProfile * CPsetCustomerServiceProfile::NewL(void)
+	?NewL@CPsetNetwork@@SAPAV1@AAVRMobilePhone@@AAVMPsetNetworkInfoObserver@@@Z @ 54 NONAME ; class CPsetNetwork * CPsetNetwork::NewL(class RMobilePhone &, class MPsetNetworkInfoObserver &)
+	?NewL@CPsetNetwork@@SAPAV1@AAVRMobilePhone@@AAVMPsetNetworkModeObserver@@@Z @ 55 NONAME ; class CPsetNetwork * CPsetNetwork::NewL(class RMobilePhone &, class MPsetNetworkModeObserver &)
+	?NewL@CPsetSAObserver@@SAPAV1@XZ @ 56 NONAME ; class CPsetSAObserver * CPsetSAObserver::NewL(void)
+	?NotifyDivertChange@CPsetSAObserver@@QAEXW4TSelectedLine@@AAVTCallDivertNotifySetting@@ABH@Z @ 57 NONAME ; void CPsetSAObserver::NotifyDivertChange(enum TSelectedLine, class TCallDivertNotifySetting &, int const &)
+	?OpenCSProfileL@CPsetCustomerServiceProfile@@QAEHXZ @ 58 NONAME ; int CPsetCustomerServiceProfile::OpenCSProfileL(void)
+	?ResetNetworkSearch@CPsetNetwork@@QAEHXZ @ 59 NONAME ; int CPsetNetwork::ResetNetworkSearch(void)
+	?SelectNetworkL@CPsetNetwork@@UAEXABUTNetworkInfo@MPsetNetworkSelect@@@Z @ 60 NONAME ; void CPsetNetwork::SelectNetworkL(struct MPsetNetworkSelect::TNetworkInfo const &)
+	?SetBarringL@CPsetCallBarring@@UAEXABVTCallBarringSetting@@W4TBasicServiceGroups@@@Z @ 61 NONAME ; void CPsetCallBarring::SetBarringL(class TCallBarringSetting const &, enum TBasicServiceGroups)
+	?SetCallWaitingL@CPsetCallWaiting@@UAEXW4TSetCallWaiting@MPsetCallWaiting@@W4TBasicServiceGroups@@@Z @ 62 NONAME ; void CPsetCallWaiting::SetCallWaitingL(enum MPsetCallWaiting::TSetCallWaiting, enum TBasicServiceGroups)
+	?SetDivertingL@CPsetCallDiverting@@UAEXABVTCallDivertSetting@@W4TBasicServiceGroups@@H@Z @ 63 NONAME ; void CPsetCallDiverting::SetDivertingL(class TCallDivertSetting const &, enum TBasicServiceGroups, int)
+	?SetNetObserver@CPsetSAObserver@@QAEXAAVMPsetNetworkInfoObserver@@@Z @ 64 NONAME ; void CPsetSAObserver::SetNetObserver(class MPsetNetworkInfoObserver &)
+	?SetNetSAObserver@CPsetNetwork@@QAEXAAVMPsetNetworkInfoObserver@@@Z @ 65 NONAME ; void CPsetNetwork::SetNetSAObserver(class MPsetNetworkInfoObserver &)
+	?SetNetworkModeObserver@CPsetNetwork@@QAEXAAVMPsetNetworkModeObserver@@@Z @ 66 NONAME ; void CPsetNetwork::SetNetworkModeObserver(class MPsetNetworkModeObserver &)
+	?SetNetworkModeSelectionL@CPsetNetwork@@UAEXAAK@Z @ 67 NONAME ; void CPsetNetwork::SetNetworkModeSelectionL(unsigned long &)
+	?SetNewDefaultNumberL@CPsetCallDiverting@@QAEHAAVTDes16@@@Z @ 68 NONAME ; int CPsetCallDiverting::SetNewDefaultNumberL(class TDes16 &)
+	?SetRequestObserver@CPsetCallBarring@@QAEXPAVMPsetRequestObserver@@@Z @ 69 NONAME ; void CPsetCallBarring::SetRequestObserver(class MPsetRequestObserver *)
+	?SetRequestObserver@CPsetCallDiverting@@QAEXPAVMPsetRequestObserver@@@Z @ 70 NONAME ; void CPsetCallDiverting::SetRequestObserver(class MPsetRequestObserver *)
+	?SetRequestObserver@CPsetCallWaiting@@QAEXPAVMPsetRequestObserver@@@Z @ 71 NONAME ; void CPsetCallWaiting::SetRequestObserver(class MPsetRequestObserver *)
+	?SetRequestObserver@CPsetCli@@QAEXPAVMPsetRequestObserver@@@Z @ 72 NONAME ; void CPsetCli::SetRequestObserver(class MPsetRequestObserver *)
+	?SetTimerValueL@CPsetCallDiverting@@QAEHABH@Z @ 73 NONAME ; int CPsetCallDiverting::SetTimerValueL(int const &)
+	?SetUsedDataNumberL@CPsetCallDiverting@@QAEHAAV?$TBuf@$0GE@@@@Z @ 74 NONAME ; int CPsetCallDiverting::SetUsedDataNumberL(class TBuf<100> &)
+	?SetUsedFaxNumberL@CPsetCallDiverting@@QAEHAAV?$TBuf@$0GE@@@@Z @ 75 NONAME ; int CPsetCallDiverting::SetUsedFaxNumberL(class TBuf<100> &)
+	?SwapDefaultNumberL@CPsetCallDiverting@@QAEXABH@Z @ 76 NONAME ; void CPsetCallDiverting::SwapDefaultNumberL(int const &)
+	?VideoMailQueryL@CPsetCallDiverting@@QAEXAAVTDes16@@@Z @ 77 NONAME ; void CPsetCallDiverting::VideoMailQueryL(class TDes16 &)
+	?VoiceMailQueryL@CPsetCallDiverting@@QAEXAAVTDes16@@@Z @ 78 NONAME ; void CPsetCallDiverting::VoiceMailQueryL(class TDes16 &)
 
--- a/cellular/telephonysettings/eabi/phonesettingsu.def	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/eabi/phonesettingsu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -100,41 +100,39 @@
 	_ZTI16CPsetCallBarring @ 99 NONAME
 	_ZTI16CPsetCallWaiting @ 100 NONAME
 	_ZTI18CPsetCallDiverting @ 101 NONAME
-	_ZTI20CNetworkResetHandler @ 102 NONAME
-	_ZTI23CPSetRefreshHandlerImpl @ 103 NONAME
-	_ZTI27CPsetCustomerServiceProfile @ 104 NONAME
-	_ZTI8CPsetCli @ 105 NONAME
-	_ZTV12CPsetNetwork @ 106 NONAME
-	_ZTV14CPsetContainer @ 107 NONAME
-	_ZTV14CPsetTelephony @ 108 NONAME
-	_ZTV15CPsetSAObserver @ 109 NONAME
-	_ZTV16CPsetCallBarring @ 110 NONAME
-	_ZTV16CPsetCallWaiting @ 111 NONAME
-	_ZTV18CPsetCallDiverting @ 112 NONAME
-	_ZTV20CNetworkResetHandler @ 113 NONAME
-	_ZTV23CPSetRefreshHandlerImpl @ 114 NONAME
-	_ZTV27CPsetCustomerServiceProfile @ 115 NONAME
-	_ZTV8CPsetCli @ 116 NONAME
-	_ZThn28_N12CPsetNetwork13CancelProcessEv @ 117 NONAME
-	_ZThn28_N12CPsetNetwork14SelectNetworkLERKN18MPsetNetworkSelect12TNetworkInfoE @ 118 NONAME
-	_ZThn28_N12CPsetNetwork20GetNetworkSelectModeERN18MPsetNetworkSelect11TSelectModeE @ 119 NONAME
-	_ZThn28_N12CPsetNetwork21GetAvailableNetworksLEv @ 120 NONAME
-	_ZThn28_N12CPsetNetwork21GetCurrentNetworkInfoERN18MPsetNetworkSelect19TCurrentNetworkInfoE @ 121 NONAME
-	_ZThn28_N16CPsetCallBarring11SetBarringLERK19TCallBarringSetting19TBasicServiceGroups @ 122 NONAME
-	_ZThn28_N16CPsetCallBarring17GetBarringStatusLE13TServiceGroup15TBarringProgram @ 123 NONAME
-	_ZThn28_N16CPsetCallBarring20CancelCurrentRequestEv @ 124 NONAME
-	_ZThn28_N16CPsetCallWaiting13CancelProcessEv @ 125 NONAME
-	_ZThn28_N16CPsetCallWaiting15SetCallWaitingLEN16MPsetCallWaiting15TSetCallWaitingE19TBasicServiceGroups @ 126 NONAME
-	_ZThn28_N16CPsetCallWaiting21GetCallWaitingStatusLEv @ 127 NONAME
-	_ZThn28_N8CPsetCli12GetClipModeLEv @ 128 NONAME
-	_ZThn28_N8CPsetCli12GetClirModeLEv @ 129 NONAME
-	_ZThn28_N8CPsetCli12GetColpModeLEv @ 130 NONAME
-	_ZThn28_N8CPsetCli12GetColrModeLEv @ 131 NONAME
-	_ZThn28_N8CPsetCli8GetCnapLEv @ 132 NONAME
-	_ZThn28_N8CPsetCli9CancelAllEv @ 133 NONAME
-	_ZThn32_N12CPsetNetwork24SetNetworkModeSelectionLERm @ 134 NONAME
-	_ZThn32_N12CPsetNetwork31GetCurrentNetworkModeSelectionLEv @ 135 NONAME
-	_ZThn4_N18CPsetCallDiverting13SetDivertingLERK18TCallDivertSetting19TBasicServiceGroupsi @ 136 NONAME
-	_ZThn4_N18CPsetCallDiverting19GetDivertingStatusLE13TServiceGroup23TCallDivertingCondition19TBasicServiceGroups @ 137 NONAME
-	_ZThn4_N18CPsetCallDiverting20CancelCurrentRequestEv @ 138 NONAME
+	_ZTI23CPSetRefreshHandlerImpl @ 102 NONAME
+	_ZTI27CPsetCustomerServiceProfile @ 103 NONAME
+	_ZTI8CPsetCli @ 104 NONAME
+	_ZTV12CPsetNetwork @ 105 NONAME
+	_ZTV14CPsetContainer @ 106 NONAME
+	_ZTV14CPsetTelephony @ 107 NONAME
+	_ZTV15CPsetSAObserver @ 108 NONAME
+	_ZTV16CPsetCallBarring @ 109 NONAME
+	_ZTV16CPsetCallWaiting @ 110 NONAME
+	_ZTV18CPsetCallDiverting @ 111 NONAME
+	_ZTV23CPSetRefreshHandlerImpl @ 112 NONAME
+	_ZTV27CPsetCustomerServiceProfile @ 113 NONAME
+	_ZTV8CPsetCli @ 114 NONAME
+	_ZThn28_N12CPsetNetwork13CancelProcessEv @ 115 NONAME
+	_ZThn28_N12CPsetNetwork14SelectNetworkLERKN18MPsetNetworkSelect12TNetworkInfoE @ 116 NONAME
+	_ZThn28_N12CPsetNetwork20GetNetworkSelectModeERN18MPsetNetworkSelect11TSelectModeE @ 117 NONAME
+	_ZThn28_N12CPsetNetwork21GetAvailableNetworksLEv @ 118 NONAME
+	_ZThn28_N12CPsetNetwork21GetCurrentNetworkInfoERN18MPsetNetworkSelect19TCurrentNetworkInfoE @ 119 NONAME
+	_ZThn28_N16CPsetCallBarring11SetBarringLERK19TCallBarringSetting19TBasicServiceGroups @ 120 NONAME
+	_ZThn28_N16CPsetCallBarring17GetBarringStatusLE13TServiceGroup15TBarringProgram @ 121 NONAME
+	_ZThn28_N16CPsetCallBarring20CancelCurrentRequestEv @ 122 NONAME
+	_ZThn28_N16CPsetCallWaiting13CancelProcessEv @ 123 NONAME
+	_ZThn28_N16CPsetCallWaiting15SetCallWaitingLEN16MPsetCallWaiting15TSetCallWaitingE19TBasicServiceGroups @ 124 NONAME
+	_ZThn28_N16CPsetCallWaiting21GetCallWaitingStatusLEv @ 125 NONAME
+	_ZThn28_N8CPsetCli12GetClipModeLEv @ 126 NONAME
+	_ZThn28_N8CPsetCli12GetClirModeLEv @ 127 NONAME
+	_ZThn28_N8CPsetCli12GetColpModeLEv @ 128 NONAME
+	_ZThn28_N8CPsetCli12GetColrModeLEv @ 129 NONAME
+	_ZThn28_N8CPsetCli8GetCnapLEv @ 130 NONAME
+	_ZThn28_N8CPsetCli9CancelAllEv @ 131 NONAME
+	_ZThn32_N12CPsetNetwork24SetNetworkModeSelectionLERm @ 132 NONAME
+	_ZThn32_N12CPsetNetwork31GetCurrentNetworkModeSelectionLEv @ 133 NONAME
+	_ZThn4_N18CPsetCallDiverting13SetDivertingLERK18TCallDivertSetting19TBasicServiceGroupsi @ 134 NONAME
+	_ZThn4_N18CPsetCallDiverting19GetDivertingStatusLE13TServiceGroup23TCallDivertingCondition19TBasicServiceGroups @ 135 NONAME
+	_ZThn4_N18CPsetCallDiverting20CancelCurrentRequestEv @ 136 NONAME
 
--- a/cellular/telephonysettings/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -26,9 +26,9 @@
 PRJ_EXPORTS
 
 
-../group/phonesettings_stub.SIS  /epoc32/data/z/system/install/phonesettings_stub.sis
+../group/phonesettings_stub.sis  /epoc32/data/z/system/install/phonesettings_stub.sis
 
 // IBY files
-../rom/PhoneSettings.iby      CORE_APP_LAYER_IBY_EXPORT_PATH(PhoneSettings.iby)
+../rom/phonesettings.iby      CORE_APP_LAYER_IBY_EXPORT_PATH(phonesettings.iby)
 
 // End of file
--- a/cellular/telephonysettings/group/phonesettings.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/group/phonesettings.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 */
 
 #include <platform_paths.hrh>
-#include "../Logger/PhoneSettingsLoggingConf.h"
+#include "../logger/phonesettingsloggingconf.h" 
 
 // Capability assignment.
 CAPABILITY CAP_GENERAL_DLL
@@ -28,39 +28,41 @@
 UID 0x1000008d 0x100058e3
 
 SOURCEPATH ../src
-SOURCE CNetworkResetHandler.cpp
-SOURCE PsetCallWaiting.cpp
-SOURCE PsetContainer.cpp
-SOURCE PsetCallBarring.cpp    
-SOURCE PsetCallDiverting.cpp
-SOURCE PsetTelephony.cpp         
-SOURCE PsetCli.cpp
-SOURCE PsetVariationProxy.cpp
-SOURCE PsetNetwork.cpp
-SOURCE PsetSAObserver.cpp
-SOURCE PsetCSP.cpp
-SOURCE PSetUtility.cpp
-SOURCE PSetRefreshHandlerImpl.cpp
-SOURCE PSetCallDivertingBase.cpp 
-SOURCE PSetSubscriberIdCheck.cpp 
-SOURCE PSetCallDivertingBasicImpl.cpp
-SOURCE PSetCallDivertingCreator.cpp 
-SOURCE PSetCallDivertingDualAffectImpl.cpp
+SOURCE psetcallwaiting.cpp 
+SOURCE psetcontainer.cpp 
+SOURCE psetcallbarring.cpp 
+SOURCE psetcalldiverting.cpp 
+SOURCE psettelephony.cpp 
+SOURCE psetcli.cpp 
+SOURCE psetvariationproxy.cpp 
+SOURCE psetnetwork.cpp 
+SOURCE psetsaobserver.cpp 
+SOURCE psetcsp.cpp 
+SOURCE psetutility.cpp 
+SOURCE psetrefreshhandlerimpl.cpp 
+SOURCE psetcalldivertingbase.cpp 
+SOURCE psetsubscriberidcheck.cpp 
+SOURCE psetcalldivertingbasicimpl.cpp 
+SOURCE psetcalldivertingcreator.cpp 
+SOURCE psetcalldivertingdualaffectimpl.cpp 
 
 USERINCLUDE     ../inc
-USERINCLUDE     ../Logger
-SYSTEMINCLUDE	../../../inc
+USERINCLUDE     ../logger 
+SYSTEMINCLUDE   ../../../inc
 // APP include needed because telephonysettings 
 // uses vmbx headers from APP layer.
-APP_LAYER_SYSTEMINCLUDE
-
+// <-- QT PHONE START -->
+MW_LAYER_SYSTEMINCLUDE
+// <-- QT PHONE END -->
 LIBRARY euser.lib
 LIBRARY etel.lib
 LIBRARY etelmm.lib
 LIBRARY customapi.lib
 LIBRARY bafl.lib         
 LIBRARY sssettings.lib
-LIBRARY vmbx.lib
+// <-- QT PHONE START -->
+//LIBRARY vmbx.lib
+// <-- QT PHONE END -->
 LIBRARY featmgr.lib
 
 LIBRARY centralrepository.lib
--- a/cellular/telephonysettings/inc/CNetworkResetHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  CNetworkResetHandler is a async activeobject which handles reseting network call.
-*
-*
-*/
-
-
-#ifndef     CNETWORKRESETHANDLER_H
-#define     CNETWORKRESETHANDLER_H
-
-//  INCLUDES
-#include "PsetNetwork.h"
-#include <rmmcustomapi.h>
-
-// FORWARD DECLARATIONS
-class CPsetNetwork;
-
-/**
-*  CNetworkResetHandler class is used to handle network reset search requests.´
-*/
-class CNetworkResetHandler : public CActive
-    {
-    
-    public: // constructor & destructor
-
-    	static CNetworkResetHandler* NewL( RMobilePhone& aPhone );
-
-        /* Destructor */
-        ~CNetworkResetHandler();
-    	
-        /* 
-        * Calls ETEL to start reseting the network.
-        * @return Error code, or KErrNone.
-        */        
-        TInt ResetNetworkSearch();
-        
-    private:
-    	
-    	CNetworkResetHandler( RMobilePhone& aPhone );
-    	
-    	void ConstructL();
-    	
-    	void RunL();
-    
-        void DoCancel();
-        
-        // Custom phone.       
-        RMmCustomAPI iCustomApi;
-        
-        //Provides client access to mobile phone functionality provided by TSY.
-        RMobilePhone& iPhone;
- 
-    };
-#endif // CNETWORKRESETHANDLER_H
-
-// end of file
--- a/cellular/telephonysettings/inc/MCallDiverting.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/inc/MCallDiverting.h	Tue Aug 31 15:45:17 2010 +0300
@@ -29,7 +29,11 @@
 class MCallDiverting
     {
     public:
-
+        /**
+         * Sets observer which informs when request is completed
+         */
+        virtual void SetRequestObserver( MPsetRequestObserver* aObs ) = 0;
+    
         /**
         * Sets diverting to the network.
         * 
@@ -108,15 +112,6 @@
         */
         virtual TInt SaveKey( TUint32 aKeyId, const TDesC& aKeyValue ) = 0;
         
-        /**
-        * Opens Vmbx connection. Leaves vmbx to the stack. 
-        * 
-        * @param aTelNumber vmbx number.
-        * @param aVmbx vmbx connection.
-        * @return used vmbx number.
-        */ 
-        virtual TInt OpenVmbxLC( TDes& aTelNumber, RVmbxNumber& aVmbx ) = 0;
-        
         /*
         * Virtual destructor. 
         */ 
--- a/cellular/telephonysettings/inc/MNetworkInfoObs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/inc/MNetworkInfoObs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -26,7 +26,7 @@
 #endif
 
 #ifndef     __MNETWORKSELECT_H
-#include    "MNetworkSelect.h"
+#include    "mnetworkselect.h" 
 #endif
 
 //  DATA TYPES  
--- a/cellular/telephonysettings/inc/PSetCallDivertingBase.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/inc/PSetCallDivertingBase.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,10 +24,10 @@
 #include <badesca.h>
 #include <mmretrieve.h>
 #include <ctsydomaincrkeys.h>
-#include "MCallDiverting.h"
-#include "MSSSettingsObserver.h"
+#include "mcalldiverting.h" 
+#include "msssettingsobserver.h" 
 #include "nwdefs.h"             
-#include "PsetConstants.h"
+#include "psetconstants.h" 
 
 // CLASS DECLARATION
 class MPsetDivertObserver;
@@ -66,7 +66,11 @@
         ~CPSetCallDivertingBase();
    
     public: // From base class.
-            
+        /**
+         * @see MCallDiverting.
+         */
+        void SetRequestObserver( MPsetRequestObserver* aObs );
+
         /**
         * @see MCallDiverting.
         */ 
@@ -111,11 +115,6 @@
         
         /**
         * @see MCallDiverting.
-        */ 
-        TInt OpenVmbxLC( TDes& aTelNumber, RVmbxNumber& aVmbx );
-        
-        /**
-        * @see MCallDiverting.
         */
         TInt GetNumbersFromSharedDataL( TInt aType, 
                                 CDesC16ArrayFlat& aArray );        
@@ -244,12 +243,12 @@
         /**
         * @see CActive::RunL().
         */
-        void RunL();
+        virtual void RunL();
            
         /**
         * @see CActive::DoCancel().
         */
-        void DoCancel();
+        virtual void DoCancel();
            
         /**
         * @see MSSSettingsObserver::PhoneSettingChanged().
--- a/cellular/telephonysettings/inc/PSetCallDivertingBasicImpl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/inc/PSetCallDivertingBasicImpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,13 +21,13 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <PsetCallDiverting.h>
+#include <psetcalldiverting.h> 
 #include <mmretrieve.h>
 #include <ctsydomaincrkeys.h>
-#include "MSSSettingsObserver.h"
+#include "msssettingsobserver.h" 
 #include "nwdefs.h"             
-#include "PsetConstants.h"
-#include "PSetCallDivertingBase.h"
+#include "psetconstants.h" 
+#include "psetcalldivertingbase.h" 
 
 // CLASS DECLARATION
 class CPsetSAObserver;
@@ -101,6 +101,10 @@
             const TBasicServiceGroups aBsc );
         
         TSelectedLine GetSAAls();
+        
+    private:
+        // Memorize requested service group
+        TServiceGroup iRequestedServiceGroup;
     };
 
 #endif      // CPSETCALLDIVERTINGBASICIMPL_H 
--- a/cellular/telephonysettings/inc/PSetCallDivertingCreator.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/inc/PSetCallDivertingCreator.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,11 +22,10 @@
 //  INCLUDES
 #include    <e32base.h>
 #include    <badesca.h>
-#include    <vmnumber.h>
 #include    <etelmm.h>
 #include    <nwdefs.h>
-#include    "MPsetDivertObs.h"
-#include    "MCallDiverting.h"
+#include    "mpsetdivertobs.h" 
+#include    "mcalldiverting.h" 
 
 /**
 *  Factory class for creating divert related classes.
--- a/cellular/telephonysettings/inc/PSetCallDivertingDualAffectImpl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/inc/PSetCallDivertingDualAffectImpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,13 +21,13 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <PsetCallDiverting.h>
+#include <psetcalldiverting.h> 
 #include <mmretrieve.h>
 #include <ctsydomaincrkeys.h>
-#include "MSSSettingsObserver.h"
+#include "msssettingsobserver.h" 
 #include "nwdefs.h"             
-#include "PsetConstants.h"
-#include "PSetCallDivertingBase.h"
+#include "psetconstants.h" 
+#include "psetcalldivertingbase.h" 
 
 // CLASS DECLARATION
 class CPsetSAObserver;
--- a/cellular/telephonysettings/inc/PSetRefreshHandlerImpl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/inc/PSetRefreshHandlerImpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 
 //  INCLUDES
-#include <PSetRefreshHandler.h>
+#include <psetrefreshhandler.h> 
 #include <msatrefreshobserver.h>
 
 
@@ -61,16 +61,16 @@
 
         /**
         * @see CPSetRefreshHandler::NotifyFileChangeL.
-		*/
-		void NotifyFileChangeL(
+        */
+        void NotifyFileChangeL(
             MSSSettingsRefreshObserver& aObserver,
             TSatElementaryFiles aObservedFiles,
             TSatRefreshType aObservedRefreshType );
 
-		/**
+        /**
         * @see CPSetRefreshHandler::CancelNotify.
-		*/
-		void CancelNotify();
+        */
+        void CancelNotify();
 
         /**
         * @see CPSetRefreshHandler::ChangedCspSettings.
@@ -82,17 +82,17 @@
 
     public: // Functions from base classes
 
-		/**
+        /**
         * @see MSSSettingsRefreshObserver::AllowRefresh
         */
         TBool AllowRefresh(
             const TSatRefreshType aType,
             const TSatElementaryFiles aFiles );
 
-		/**
+        /**
         * @see MSSSettingsRefreshObserver::Refresh
         */
-		void Refresh(
+        void Refresh(
             const TSatRefreshType aType,
             const TSatElementaryFiles aFiles );
 
--- a/cellular/telephonysettings/inc/PSetUtility.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/inc/PSetUtility.h	Tue Aug 31 15:45:17 2010 +0300
@@ -88,6 +88,9 @@
         static RMobilePhone::TMobilePhoneCFCondition 
             GetDivertReason( TCallDivertingCondition aCondition );
 
+        static TCallDivertingCondition
+            GetDivertReason( RMobilePhone::TMobilePhoneCFCondition aCondition );
+
         static RMobilePhone::TMobileService VerifyAltLineUseL();
     };
     
--- a/cellular/telephonysettings/inc/PsetVariationProxy.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/inc/PsetVariationProxy.h	Tue Aug 31 15:45:17 2010 +0300
@@ -12,9 +12,9 @@
 * Contributors:
 *
 * Description:  
-*		CPsetVariationProxy class is proxy class for 
-*		central repository variation
-*		(Call waiting/distinguish between not provisioned and not activated).
+*       CPsetVariationProxy class is proxy class for 
+*       central repository variation
+*       (Call waiting/distinguish between not provisioned and not activated).
 *  
 *
 */
@@ -42,47 +42,47 @@
     {
     public: //constructor & destructor
     
-    	/* 
-    	* Symbian OS 2-phase Constructor. 
-    	* 
-    	* @param aUid identifing the central repository UID.
+        /* 
+        * Symbian OS 2-phase Constructor. 
+        * 
+        * @param aUid identifing the central repository UID.
         * @param aId central repository ID.
         * @return the created instance.
-    	*/
-    	static CPSetVariationProxy* NewL( const TUid& aUid, 
+        */
+        static CPSetVariationProxy* NewL( const TUid& aUid, 
                                           const TUint aId );
-    	
-    	/* Destructor */
-    	~CPSetVariationProxy();
-    	
+        
+        /* Destructor */
+        ~CPSetVariationProxy();
+        
     public:
         
-    	/**
+        /**
         * Check from member variable 'iFeature' is the requested feature active.
-    	*
-    	* @param aFeature is uid for used central repository variable.
-    	* @return returns TBool type ETrue/EFalse is current feature enabled or not
-    	*/
-    	TBool IsFeatureEnabled( TUint aFeature ) const;
-    	
-    private:
-    	
-    	/**
-        * Constructor
-    	*
-    	* Open CenRep, read data into 'iFeatures' and close CenRep 
-    	*/
-    	void ConstructL( const TUid& aUid, const TUint aId );	
-    	
+        *
+        * @param aFeature is uid for used central repository variable.
+        * @return returns TBool type ETrue/EFalse is current feature enabled or not
+        */
+        TBool IsFeatureEnabled( TUint aFeature ) const;
+        
     private:
         
-    	/* Default constructor */
-    	CPSetVariationProxy();
-    	
+        /**
+        * Constructor
+        *
+        * Open CenRep, read data into 'iFeatures' and close CenRep 
+        */
+        void ConstructL( const TUid& aUid, const TUint aId );   
+        
     private:
         
-    	// Saves cen rep data readed in ConstructL()
-    	TInt iFeature;
+        /* Default constructor */
+        CPSetVariationProxy();
+        
+    private:
+        
+        // Saves cen rep data readed in ConstructL()
+        TInt iFeature;
     };
 
 #endif      // PSETVARIATIONPROXY_H
--- a/cellular/telephonysettings/rom/PhoneSettings.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/rom/PhoneSettings.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -21,6 +21,6 @@
 // Network Settings Engine Library
 file=ABI_DIR\BUILD_DIR\phonesettings.dll        SHARED_LIB_DIR\phonesettings.dll
 
-data=ZSYSTEM\install\phonesettings_stub.SIS     System\Install\phonesettings_stub.SIS
+data=ZSYSTEM\install\phonesettings_stub.sis     System\Install\phonesettings_stub.sis
 
 #endif
--- a/cellular/telephonysettings/src/CNetworkResetHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +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:  CNetworkResetHandler is a async activeobject which handles reseting network call.
-*
-*
-*/
-
-
-//  INCLUDE FILES
-#include "CNetworkResetHandler.h"
-#include "PhoneSettingsLogger.h"
-
-//  MEMBER FUNCTIONS
-
-// ---------------------------------------------------------------------------
-// 
-// 1st phase constructor for network reseting observer.
-// 
-// ---------------------------------------------------------------------------
-//
-CNetworkResetHandler* CNetworkResetHandler::NewL( RMobilePhone& aPhone )
-    {
-    __PHSLOGSTRING("[PHS]CNetworkResetHandler::NewL");
-
-    CNetworkResetHandler* self = new ( ELeave ) CNetworkResetHandler( aPhone );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;   
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// C++ constructor.
-// 
-// ---------------------------------------------------------------------------
-//
-CNetworkResetHandler::CNetworkResetHandler( RMobilePhone& aPhone ) 
-        : CActive( EPriorityStandard ), iPhone ( aPhone )                      
-    {
-    __PHSLOGSTRING("[PHS]CNetworkResetHandler::CNetworkResetHandler");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// Destructor.
-// 
-// ---------------------------------------------------------------------------
-//
-CNetworkResetHandler::~CNetworkResetHandler()
-    {
-    __PHSLOGSTRING("[PHS]CNetworkResetHandler::~CNetworkResetHandler");
-
-    Cancel();
-    iCustomApi.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ConstructL.
-// 
-// ---------------------------------------------------------------------------
-//
-void CNetworkResetHandler::ConstructL()
-	{
-    __PHSLOGSTRING("[PHS]CNetworkResetHandler::ConstructL");
-    CActiveScheduler::Add( this );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// Close connect to ctsy
-// 
-// ---------------------------------------------------------------------------
-//
-void CNetworkResetHandler::RunL()
-    {
-    __PHSLOGSTRING("[PHS]CNetworkResetHandler::RunL");
-    iCustomApi.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// Requests ETEL to Reset back to the previously used network.
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CNetworkResetHandler::ResetNetworkSearch()
-	{
-    __PHSLOGSTRING("[PHS]--> CNetworkResetHandler::ResetNetworkSearch");
-    
-    TInt error = KErrNone;
-
-    if( IsActive() )
-        {
-        error = KErrInUse;
-        }
-    else
-        {
-        error = iCustomApi.Open( iPhone );
-        }
-    if( KErrNone == error )
-        {
-        // if there wasn´t already connect open to ETEL or active object wasn´t already in use, 
-        // we can thus send request for reset network server
-        iCustomApi.ResetNetServer( iStatus );
-        SetActive();
-        }
-    __PHSLOGSTRING("[PHS]<-- CNetworkResetHandler::ResetNetworkSearch");
-    return error;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// DoCancel.
-// 
-// ---------------------------------------------------------------------------
-//
-void CNetworkResetHandler::DoCancel()
-	{
-    __PHSLOGSTRING("[PHS]CNetworkResetHandler::DoCancel");
-    iCustomApi.Close();
-	}
-
-// End of file
--- a/cellular/telephonysettings/src/PSetCallDivertingBase.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PSetCallDivertingBase.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,27 +17,26 @@
 
 
 // INCLUDE FILES
-#include "PSetCallDivertingBasicImpl.h"
+#include "psetcalldivertingbasicimpl.h" 
 
 #include <badesca.h>
 #include <etelmm.h>           
 #include <e32math.h>
-#include <vmnumber.h>
 #include <e32svr.h>
 #include <featmgr.h>
 #include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
+#include <settingsinternalcrkeys.h> 
 
-#include "PsetCallDiverting.h"
-#include "PsetContainer.h"
-#include "MPsetDivertObs.h"
-#include "PsetTelephony.h"
-#include "PSetPanic.h"
-#include "MPsetRequestObs.h"
-#include "PSetUtility.h"
-#include "PhoneSettingsLogger.h"
-#include "PsetSAObserver.h"
-#include "PSetCallDivertingBase.h"
+#include "psetcalldiverting.h" 
+#include "psetcontainer.h" 
+#include "mpsetdivertobs.h" 
+#include "psettelephony.h" 
+#include "psetpanic.h" 
+#include "mpsetrequestobs.h" 
+#include "psetutility.h" 
+#include "phonesettingslogger.h" 
+#include "psetsaobserver.h" 
+#include "psetcalldivertingbase.h" 
 
 //  LOCAL CONSTANTS AND MACROS
 
@@ -168,6 +167,15 @@
     }
 
 // ---------------------------------------------------------------------------
+// SetRequestObserver
+// ---------------------------------------------------------------------------
+//
+void CPSetCallDivertingBase::SetRequestObserver( MPsetRequestObserver* aObs )
+    {
+    iReqObserver = aObs;
+    }
+
+// ---------------------------------------------------------------------------
 // SetDivertingL
 // ---------------------------------------------------------------------------
 //
@@ -808,62 +816,17 @@
 // Verifies whether the divert-to number is to voice mail box.
 // ---------------------------------------------------------------------------
 //
-TBool CPSetCallDivertingBase::IsVMBXDivertL( TDesC& aTelNumber )
+TBool CPSetCallDivertingBase::IsVMBXDivertL( TDesC& /*aTelNumber*/ )
     {
+
     __PHSLOGSTRING("[PHS]--> CPSetCallDivertingBase::IsVMBXDivertL" );
     
     TBool result = EFalse;
-    
-    if ( FeatureManager::FeatureSupported ( KFeatureIdVmbxCallDivertIcon ) )
-        {
-        RVmbxNumber vmbxConnection;
-        TTelNumber telNumber;
-        TInt retValue = OpenVmbxLC( telNumber, vmbxConnection );
-        __PHSLOGSTRING1("[PHS]    CPSetCallDivertingBase::IsVMBXDivertL: telNumber = %S", &telNumber );
-        __PHSLOGSTRING1("[PHS]    CPSetCallDivertingBase::IsVMBXDivertL: retValue = %d", retValue );
-
-        CleanupStack::PopAndDestroy(); //vmbxConnection is closed when popped    
-        if ( retValue == KErrNone ) //VMBX number found
-            {
-            
-            //Concatenate the existing number and add '*' to the beginning
-            TTelNumber tempStr;
-            tempStr.Zero();
-            tempStr.Append( KPSetAsterisk );
-        
-            //Match with seven characters
-            TInt matchChars = KPsetMatchingChars;
-            if ( telNumber.Length() < matchChars )
-                {                
-                matchChars = telNumber.Length();
-                }
-            tempStr.Append( telNumber.Right( matchChars ) );
-        
-            //Compare value with divert-to number
-            if ( aTelNumber.Match ( tempStr ) != KErrNotFound )
-                {
-                __PHSLOGSTRING("[PHS]    CPSetCallDivertingBase::IsVMBXDivertL: Match found" );
-                result = ETrue;
-                }
-            }
-        }
     __PHSLOGSTRING("[PHS] <--CPSetCallDivertingBase::IsVMBXDivertL" );
     return result;
     }
 
 // ---------------------------------------------------------------------------
-// Opens Vmbx. Leaves vmbx to the stack.  
-// ---------------------------------------------------------------------------
-TInt CPSetCallDivertingBase::OpenVmbxLC( TDes& aTelNumber, RVmbxNumber& aVmbx )
-    {
-    __PHSLOGSTRING("[PHS]--> CPSetCallDivertingBase::OpenVmbxLC" );
-    User::LeaveIfError( aVmbx.Open( iPhone ) );
-    CleanupClosePushL( aVmbx );         
-    __PHSLOGSTRING("[PHS]<-- CPSetCallDivertingBase::OpenVmbxLC" );
-    return aVmbx.GetVmbxNumber( aTelNumber );
-    }
-
-// ---------------------------------------------------------------------------
 // If SsSettings notifies of settings change, copy new value to member variable. 
 // ---------------------------------------------------------------------------
 void CPSetCallDivertingBase::PhoneSettingChanged( 
--- a/cellular/telephonysettings/src/PSetCallDivertingBasicImpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PSetCallDivertingBasicImpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,26 +17,25 @@
 
 
 // INCLUDE FILES
-#include "PSetCallDivertingBasicImpl.h"
+#include "psetcalldivertingbasicimpl.h" 
 
 #include <badesca.h>
 #include <etelmm.h>           
 #include <e32math.h>
-#include <vmnumber.h>
 #include <e32svr.h>
 #include <featmgr.h>
 #include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
+#include <settingsinternalcrkeys.h> 
 
-#include "PsetCallDiverting.h"
-#include "PsetContainer.h"
-#include "MPsetDivertObs.h"
-#include "PsetTelephony.h"
-#include "PSetPanic.h"
-#include "MPsetRequestObs.h"
-#include "PSetUtility.h"
-#include "PhoneSettingsLogger.h"
-#include "PsetSAObserver.h"
+#include "psetcalldiverting.h" 
+#include "psetcontainer.h" 
+#include "mpsetdivertobs.h" 
+#include "psettelephony.h" 
+#include "psetpanic.h" 
+#include "mpsetrequestobs.h" 
+#include "psetutility.h" 
+#include "phonesettingslogger.h" 
+#include "psetsaobserver.h" 
 
 //  LOCAL CONSTANTS AND MACROS
 _LIT( KPSetIntNbr, "+" );
@@ -67,6 +66,7 @@
 //
 CPSetCallDivertingBasicImpl::~CPSetCallDivertingBasicImpl()
     {
+    Cancel();
     }
 
 // -----------------------------------------------------------------------------
@@ -105,6 +105,7 @@
        User::Leave( KErrInUse );
        }
    iBsc = aBsc;
+   iRequestedServiceGroup = aDivert.iServiceGroup;
    
    CPsetTelephony::CheckLineModeL( aDivert.iServiceGroup, &iPhone, iLine );
    if ( !iLine->SubSessionHandle() )
@@ -203,6 +204,10 @@
            __PHSLOGSTRING("[PHS]--> CPSetCallDivertingBasicImpl::RunL: EPSetChangeDivert" );
            //Notify Observer            
            iDivertStatus.iStatus = PSetUtility::GetChangeInfoStatus( iChangeInfo.iAction );
+           iDivertStatus.iNumber = iChangeInfo.iNumber.iTelNumber;
+           iDivertStatus.iCondition = PSetUtility::GetDivertReason(iReason);
+           iDivertStatus.iNoReplyTimer = iChangeInfo.iTimeout;
+           iDivertStatus.iServiceGroup = iRequestedServiceGroup;
            
             // Check is done because of VOIP notification functionality(PSetNotesUI).
            if ( iVoiceDivert && !iVideoDivert )
--- a/cellular/telephonysettings/src/PSetCallDivertingCreator.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PSetCallDivertingCreator.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,14 +18,14 @@
 
 
 // INCLUDE FILES
-#include    "PSetCallDivertingBasicImpl.h"
-#include    "PSetCallDivertingDualAffectImpl.h"
-#include    "PSetCallDivertingCreator.h"
-#include    "PsetVariationProxy.h"
+#include    "psetcalldivertingbasicimpl.h" 
+#include    "psetcalldivertingdualaffectimpl.h" 
+#include    "psetcalldivertingcreator.h" 
+#include    "psetvariationproxy.h" 
 
-#include    <PsetCallDiverting.h>
+#include    <psetcalldiverting.h> 
 #include    <centralrepository.h>
-#include    <telservicesinternalcrkeys.h> // Telephony service local variation keys.
+#include    <telservicesinternalcrkeys.h> // telephony service local variation keys. 
 #include    <telservicesvariant.hrh>
 
 
--- a/cellular/telephonysettings/src/PSetCallDivertingDualAffectImpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PSetCallDivertingDualAffectImpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,27 +17,26 @@
 
 
 // INCLUDE FILES
-#include "PSetCallDivertingDualAffectImpl.h"
-#include "PSetSubscriberIdCheck.h"
+#include "psetcalldivertingdualaffectimpl.h" 
+#include "psetsubscriberidcheck.h" 
 
 #include <badesca.h>
 #include <etelmm.h>
 #include <e32math.h>
-#include <vmnumber.h>
 #include <e32svr.h>
 #include <featmgr.h>
 #include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
+#include <settingsinternalcrkeys.h> 
 
-#include "PsetCallDiverting.h"
-#include "PsetContainer.h"
-#include "MPsetDivertObs.h"
-#include "PsetTelephony.h"
-#include "PSetPanic.h"
-#include "MPsetRequestObs.h"
-#include "PSetUtility.h"
-#include "PhoneSettingsLogger.h"
-#include "PsetSAObserver.h"
+#include "psetcalldiverting.h" 
+#include "psetcontainer.h" 
+#include "mpsetdivertobs.h" 
+#include "psettelephony.h" 
+#include "psetpanic.h" 
+#include "mpsetrequestobs.h" 
+#include "psetutility.h" 
+#include "phonesettingslogger.h" 
+#include "psetsaobserver.h" 
 
 //  LOCAL CONSTANTS AND MACROS
 _LIT( KPSetIntNbr, "+" );
--- a/cellular/telephonysettings/src/PSetRefreshHandlerImpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PSetRefreshHandlerImpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,12 +18,12 @@
 
 
 // INCLUDE FILES
-#include    "PSetRefreshHandlerImpl.h"
+#include    "psetrefreshhandlerimpl.h" 
 #include    <etelmm.h>
-#include    <MSSSettingsRefreshHandler.h>
+#include    <msssettingsrefreshhandler.h>
 #include    <csssettingsrefreshcontainer.h>
-#include    <PsetCSP.h>
-#include    "PhoneSettingsLogger.h"
+#include    <psetcsp.h> 
+#include    "phonesettingslogger.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/cellular/telephonysettings/src/PSetSubscriberIdCheck.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PSetSubscriberIdCheck.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDE FILES
-#include    "PSetSubscriberIdCheck.h"
+#include    "psetsubscriberidcheck.h" 
 
 _LIT( KRogersImsi, "30272" );
 const TInt KMinImsiLength = 5;
--- a/cellular/telephonysettings/src/PSetUtility.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PSetUtility.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include "PSetUtility.h"
-#include <RSSSettings.h>
-#include "PhoneSettingsLogger.h"
+#include "psetutility.h" 
+#include <rsssettings.h> 
+#include "phonesettingslogger.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -312,6 +312,37 @@
     }
 
 // ---------------------------------------------------------------------------
+// 
+// Returns divert reason
+// 
+// ---------------------------------------------------------------------------
+//
+TCallDivertingCondition PSetUtility::GetDivertReason(
+    RMobilePhone::TMobilePhoneCFCondition aCondition )
+    {
+    switch ( aCondition )
+        {
+        /*****************************************************
+        *    Series 60 Customer / ETel
+        *    Series 60  ETel API
+        *****************************************************/
+        case RMobilePhone::ECallForwardingAllConditionalCases:
+            return EDivertConditionAllConditionalCases;
+        case RMobilePhone::ECallForwardingAllCases:
+            return EDivertConditionAllCalls;
+        case RMobilePhone::ECallForwardingUnconditional:
+            return EDivertConditionUnconditional;
+        case RMobilePhone::ECallForwardingBusy:
+           return EDivertConditionBusy;
+        case RMobilePhone::ECallForwardingNoReply:
+            return EDivertConditionNoReply;
+        case RMobilePhone::ECallForwardingNotReachable:
+        default:
+           return EDivertConditionNotReachable;
+        }
+    }
+
+// ---------------------------------------------------------------------------
 // Verify that ALS is really used.
 // ---------------------------------------------------------------------------
 //
--- a/cellular/telephonysettings/src/PsetCSP.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetCSP.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,9 +22,9 @@
 
 
 //INCLUDE FILES
-#include "PsetCSP.h"
+#include "psetcsp.h" 
 #include <etelmm.h>
-#include "PhoneSettingsLogger.h"
+#include "phonesettingslogger.h" 
 
 //  MEMBER FUNCTIONS
 // ---------------------------------------------------------------------------
--- a/cellular/telephonysettings/src/PsetCallBarring.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetCallBarring.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,14 +19,14 @@
 
 //  Include Files
 #include <etelmm.h>
-#include <RSSSettings.h>
-#include "MPsetRequestObs.h"
-#include "PsetCallBarring.h"    
-#include "PsetTelephony.h"
-#include "PSetPanic.h"
-#include "PsetConstants.h"
-#include "PSetUtility.h"
-#include "PhoneSettingsLogger.h"
+#include <rsssettings.h> 
+#include "mpsetrequestobs.h" 
+#include "psetcallbarring.h" 
+#include "psettelephony.h" 
+#include "psetpanic.h" 
+#include "psetconstants.h" 
+#include "psetutility.h" 
+#include "phonesettingslogger.h" 
 
 // CONSTANTS    
 _LIT( KPSNameOfClass, "CPsetCallBarring" );
@@ -191,17 +191,17 @@
     __PHSLOGSTRING1("[PHS]    SetBarringL: Password: %S", &aBarring.iPassword);
     __PHSLOGSTRING1("[PHS]    SetBarringL: Settings: %d", aBarring.iSetting);
 
-	ValidateBsc( aBsc );
-	
-	if ( aBsc == EAltTele )
-		{
-		iBarringParameters.iServiceGroup = PSetUtility::VerifyAltLineUseL();
-		}
-		    	
-	iBarringParameters.iPassword = aBarring.iPassword;
+    ValidateBsc( aBsc );
+    
+    if ( aBsc == EAltTele )
+        {
+        iBarringParameters.iServiceGroup = PSetUtility::VerifyAltLineUseL();
+        }
+                
+    iBarringParameters.iPassword = aBarring.iPassword;
     iBarringParameters.iAction = SetBarringAction( aBarring.iSetting );
     iBarringParameters.iServiceGroup = PSetUtility::ChangeToEtelInternal( aBsc );
-    	
+        
     __PHSLOGSTRING1("[PHS]    SetBarringL: Program: %d", aBarring.iType);
 
     // Start to request barring change.
@@ -258,7 +258,7 @@
     iObserver->SetEngineContact( this );
     // Does not leave
     TRAPD( err, iObserver->HandleCBRequestingL( EFalse, ETrue ) );
-    	
+        
     if ( !IsActive() || err != KErrNone )
         {
         return KErrGeneral;
@@ -555,44 +555,44 @@
     RMobilePhone::TMobilePhoneCBInfoEntryV1 cbInfo;
     TInt entries = cbStatusList->Enumerate();
     __PHSLOGSTRING1("[PHS]    HandleInquiryResultL: Entry count: %d", entries);
-   	TInt i(0); 
-   	TInt cbArray(0);
-   	// If alternate line in use then only als line service information is shown.
+    TInt i(0); 
+    TInt cbArray(0);
+    // If alternate line in use then only als line service information is shown.
     if ( iAls == ESSSettingsAlsAlternate )
-    	{
-	    while ( entries > i )
-	        {
-	        cbInfo = cbStatusList->GetEntryL( i );
+        {
+        while ( entries > i )
+            {
+            cbInfo = cbStatusList->GetEntryL( i );
 
-	        if ( cbInfo.iStatus == RMobilePhone::ECallBarringStatusActive && cbInfo.iServiceGroup == RMobilePhone::EAuxVoiceService )
-		    	{
-		    	 __PHSLOGSTRING1("[PHS]    ALS: iServiceGroup: %d", cbInfo.iServiceGroup);
-		        status = EBarringStatusActive;
-		        arrayOfBsc[cbArray] = static_cast <TUint8> 
-		    		( PSetUtility::ChangeToGSM( cbInfo.iServiceGroup ) );
-		    	cbArray++;
-		        }
-	        i++;                                                                
-	        }	
+            if ( cbInfo.iStatus == RMobilePhone::ECallBarringStatusActive && cbInfo.iServiceGroup == RMobilePhone::EAuxVoiceService )
+                {
+                 __PHSLOGSTRING1("[PHS]    ALS: iServiceGroup: %d", cbInfo.iServiceGroup);
+                status = EBarringStatusActive;
+                arrayOfBsc[cbArray] = static_cast <TUint8> 
+                    ( PSetUtility::ChangeToGSM( cbInfo.iServiceGroup ) );
+                cbArray++;
+                }
+            i++;                                                                
+            }   
         }
-    else	// All other services than alternate line service is allowed to show when primary line is active.
-    	{
-	    while ( entries > i )
-	        {
-	        cbInfo = cbStatusList->GetEntryL( i );
+    else    // All other services than alternate line service is allowed to show when primary line is active.
+        {
+        while ( entries > i )
+            {
+            cbInfo = cbStatusList->GetEntryL( i );
 
-	        if ( cbInfo.iStatus == RMobilePhone::ECallBarringStatusActive && cbInfo.iServiceGroup != RMobilePhone::EAuxVoiceService )
-		    	{
-		    	__PHSLOGSTRING1("[PHS]  iServiceGroup: %d", cbInfo.iServiceGroup);
-		        status = EBarringStatusActive;             
-			 	arrayOfBsc[cbArray] = static_cast <TUint8> 
-			    	( PSetUtility::ChangeToGSM( cbInfo.iServiceGroup ) );
-			   	cbArray++; 
-		    	}
-	        i++;                       
-	        }
-       	}
-       	
+            if ( cbInfo.iStatus == RMobilePhone::ECallBarringStatusActive && cbInfo.iServiceGroup != RMobilePhone::EAuxVoiceService )
+                {
+                __PHSLOGSTRING1("[PHS]  iServiceGroup: %d", cbInfo.iServiceGroup);
+                status = EBarringStatusActive;             
+                arrayOfBsc[cbArray] = static_cast <TUint8> 
+                    ( PSetUtility::ChangeToGSM( cbInfo.iServiceGroup ) );
+                cbArray++; 
+                }
+            i++;                       
+            }
+        }
+        
     arrayOfBsc[cbArray] = KPSetUnusedValue;
     CleanupStack::PopAndDestroy( cbStatusList );
     iObserver->HandleBarringModeStatusL( arrayOfBsc, status );    
--- a/cellular/telephonysettings/src/PsetCallDiverting.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetCallDiverting.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,20 +22,18 @@
 #include <e32math.h>
 #include <e32svr.h>
 #include <badesca.h>
-
-#include <vmnumber.h>
 #include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
+#include <settingsinternalcrkeys.h> 
 
-#include "PsetCallDiverting.h"
-#include "PsetContainer.h"
-#include "MPsetDivertObs.h"
-#include "PsetTelephony.h"
-#include "PSetPanic.h"
-#include "PhoneSettingsLogger.h"
+#include "psetcalldiverting.h" 
+#include "psetcontainer.h" 
+#include "mpsetdivertobs.h" 
+#include "psettelephony.h" 
+#include "psetpanic.h" 
+#include "phonesettingslogger.h" 
 
-#include "PSetCallDivertingCreator.h"
-#include "MCallDiverting.h"
+#include "psetcalldivertingcreator.h" 
+#include "mcalldiverting.h" 
 
 //  MEMBER FUNCTIONS
 // ---------------------------------------------------------------------------
@@ -261,35 +259,16 @@
 EXPORT_C void CPsetCallDiverting::SetRequestObserver( MPsetRequestObserver* aObs )
     {
     iReqObserver = aObs;
+    iDivert->SetRequestObserver(aObs);
     }
 
 // ---------------------------------------------------------------------------
 // Queries for voice mail box number
 // ---------------------------------------------------------------------------
 //
-EXPORT_C void CPsetCallDiverting::VoiceMailQueryL( TDes& aTelNumber )
+EXPORT_C void CPsetCallDiverting::VoiceMailQueryL( TDes& /*aTelNumber*/ )
     {
     __PHSLOGSTRING("[PHS]--> CPsetCallDiverting::VoiceMailQueryL" );
-    RVmbxNumber vmbxConnection;
-    TBool vmbxNrChanged = ETrue;
-    TInt retValue = iDivert->OpenVmbxLC( aTelNumber, vmbxConnection );
-    __PHSLOGSTRING1("[PHS]    CPsetCallDiverting::VoiceMailQueryL: aTelNumber = %S", &aTelNumber );
-    __PHSLOGSTRING1("[PHS]    CPsetCallDiverting::VoiceMailQueryL: retValue = %d", retValue );
-
-    if ( retValue == KErrNotFound )
-        {
-        vmbxNrChanged = vmbxConnection.QueryNumberL( EVmbxNotDefinedQuery, aTelNumber );
-        }
-    else if ( retValue != KErrNone )
-        {
-        //Problem with vmbx application, better leave.
-        User::Leave( retValue );
-        }
-    if ( !vmbxNrChanged )
-        {
-        User::Leave( KErrCancel );
-        }
-    CleanupStack::PopAndDestroy(); // vmbxConnection
 
     __PHSLOGSTRING("[PHS] <--CPsetCallDiverting::VoiceMailQueryL" );
     }
@@ -298,29 +277,9 @@
 // Queries for voice mail box number
 // ---------------------------------------------------------------------------
 //
-EXPORT_C void CPsetCallDiverting::VideoMailQueryL( TDes& aTelNumber )
+EXPORT_C void CPsetCallDiverting::VideoMailQueryL( TDes& /*aTelNumber*/ )
     {
     __PHSLOGSTRING("[PHS]--> CPsetCallDiverting::VideoMailQueryL" );
-    RVmbxNumber vmbxConnection;
-    TBool vmbxNrChanged = ETrue;
-    TInt retValue = OpenVideoMailboxLC( aTelNumber, vmbxConnection );
-    __PHSLOGSTRING1("[PHS]    CPsetCallDiverting::VideoMailQueryL: aTelNumber = %S", &aTelNumber );
-    __PHSLOGSTRING1("[PHS]    CPsetCallDiverting::VideoMailQueryL: retValue = %d", retValue );
-
-    if ( retValue == KErrNotFound )
-        {
-        vmbxNrChanged = vmbxConnection.QueryVideoMbxNumberL( EVmbxNotDefinedQuery, aTelNumber );
-        }
-    else if ( retValue != KErrNone )
-        {
-        //Problem with vmbx application, better leave.
-        User::Leave( retValue );
-        }
-    if ( !vmbxNrChanged )
-        {
-        User::Leave( KErrCancel );
-        }
-    CleanupStack::PopAndDestroy(); // vmbxConnection
 
     __PHSLOGSTRING("[PHS] <--CPsetCallDiverting::VideoMailQueryL" );
     }    
@@ -329,13 +288,9 @@
 // Opens Vmbx. Leaves vmbx to the stack. 
 // ---------------------------------------------------------------------------
 //
-TInt CPsetCallDiverting::OpenVideoMailboxLC( TDes& aTelNumber, RVmbxNumber& aVmbx )
+TInt CPsetCallDiverting::OpenVideoMailboxLC( TDes& /*aTelNumber*/, RVmbxNumber& /*aVmbx*/ )
     {
-    __PHSLOGSTRING("[PHS]--> CPsetCallDiverting::OpenVideoMailboxLC" );
-    User::LeaveIfError( aVmbx.Open( iPhone ) );
-    CleanupClosePushL( aVmbx );         
-	__PHSLOGSTRING("[PHS]<-- CPsetCallDiverting::OpenVideoMailboxLC" );
-    return aVmbx.GetVideoMbxNumber( aTelNumber );
+    return 0;
     }
     
 // End of File
--- a/cellular/telephonysettings/src/PsetCallWaiting.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetCallWaiting.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,17 +18,17 @@
 
 
 //  Include Files
-#include "PsetCallWaiting.h"
-#include "MPsetCallWaitingObs.h"
+#include "psetcallwaiting.h" 
+#include "mpsetcallwaitingobs.h" 
 #include "nwdefs.h"             
-#include "PSetPanic.h"          
-#include "PsetConstants.h"      
-#include "MPsetRequestObs.h"
-#include "PSetUtility.h"
-#include "PhoneSettingsLogger.h"
+#include "psetpanic.h" 
+#include "psetconstants.h" 
+#include "mpsetrequestobs.h" 
+#include "psetutility.h" 
+#include "phonesettingslogger.h" 
 
-#include "PsetVariationProxy.h"
-#include <settingsinternalcrkeys.h>
+#include "psetvariationproxy.h" 
+#include <settingsinternalcrkeys.h> 
 
 // CONSTANTS    
 _LIT( KPSNameOfClass, "CPsetCallWaiting" );
@@ -107,14 +107,14 @@
     Cancel();
     iReqObserver = NULL;
 
-	if ( iSsSettings )
+    if ( iSsSettings )
         {
         iSsSettings->Cancel( ESSSettingsAls, *this ); 
         iSsSettings->Close();
         }
     delete iSsSettings;
     iSsSettings = NULL;
-	
+    
     delete iCwInterrogator;
     iCwInterrogator = NULL;
     }
@@ -125,14 +125,14 @@
 // 
 // ---------------------------------------------------------------------------
 void CPsetCallWaiting::PhoneSettingChanged( TSSSettingsSetting aSetting, TInt aNewValue )
-	{
-	__PHSLOGSTRING("[PHS]--> PhoneSettingChanged::ValidateBsc" );
-	if ( aSetting == ESSSettingsAls )
+    {
+    __PHSLOGSTRING("[PHS]--> PhoneSettingChanged::ValidateBsc" );
+    if ( aSetting == ESSSettingsAls )
         {
         iAls = static_cast <TSSSettingsAlsValue> (aNewValue);
         }
     __PHSLOGSTRING("[PHS] <--PhoneSettingChanged::ValidateBsc" );
-	}
+    }
 
 // ---------------------------------------------------------------------------
 // 
@@ -193,14 +193,14 @@
     
     RMobilePhone::TMobileService cwBasicServiceGroup;
 
-	ValidateBsc( aBsc );
+    ValidateBsc( aBsc );
 
     if ( aBsc == EAltTele )
         {
         cwBasicServiceGroup = PSetUtility::VerifyAltLineUseL();
         }
 
-	cwBasicServiceGroup = PSetUtility::ChangeToEtelInternal( aBsc );
+    cwBasicServiceGroup = PSetUtility::ChangeToEtelInternal( aBsc );
 
     if ( aSetting == EActivateCallWaiting )
         {
@@ -272,8 +272,8 @@
     // even though request is not active.
     iObserver->SetEngineContact( *this );
     // Does not leave
-	TRAPD( err, iObserver->HandleCWRequestingL( EFalse, ETrue ) );
-	
+    TRAPD( err, iObserver->HandleCWRequestingL( EFalse, ETrue ) );
+    
     if ( !IsActive() || err != KErrNone )
         {
         return KErrGeneral;
@@ -347,25 +347,25 @@
                     // pass on the status if the current status is still 
                     // unknown and the received status is not unknown
                     switch ( cwInfo.iStatus )
-                    	{
-                    	case RMobilePhone::ECallWaitingStatusNotProvisioned:
-                    		{
-                    		status = EStatusNotProvisioned;
-                    		break;
-                    		}	
-                    		
-                    		case RMobilePhone::ECallWaitingStatusNotAvailable:
-                    		{		
-                    		status = EStatusNotAvailable;
-                    		break;
-                    		}
-                    		
-                    		default:
-                    		{	
-                    		status = TGetCallWaitingStatus( cwInfo.iStatus );
-                    		break;		
-                    		}
-                    	}
+                        {
+                        case RMobilePhone::ECallWaitingStatusNotProvisioned:
+                            {
+                            status = EStatusNotProvisioned;
+                            break;
+                            }   
+                            
+                            case RMobilePhone::ECallWaitingStatusNotAvailable:
+                            {       
+                            status = EStatusNotAvailable;
+                            break;
+                            }
+                            
+                            default:
+                            {   
+                            status = TGetCallWaitingStatus( cwInfo.iStatus );
+                            break;      
+                            }
+                        }
                     }
                     
                 arrayOfBsc[i] = static_cast <TUint8> 
--- a/cellular/telephonysettings/src/PsetCli.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetCli.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 
 //INCLUDE FILES
-#include "PsetCli.h"
-#include "PSetPanic.h"
-#include "PsetConstants.h"
-#include "MPsetRequestObs.h"
+#include "psetcli.h" 
+#include "psetpanic.h" 
+#include "psetconstants.h" 
+#include "mpsetrequestobs.h" 
 #include <bldvariant.hrh>
 #include <featmgr.h>
 
--- a/cellular/telephonysettings/src/PsetContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetContainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,9 +20,9 @@
 
 
 // INCLUDES
-#include    "PsetContainer.h"
-#include    "PsetConstants.h"
-#include    "PSetRefreshHandlerImpl.h"
+#include    "psetcontainer.h" 
+#include    "psetconstants.h" 
+#include    "psetrefreshhandlerimpl.h" 
 #include    <mmtsy_names.h>
 
 // ---------------------------------------------------------------------------
--- a/cellular/telephonysettings/src/PsetNetwork.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetNetwork.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,20 +18,18 @@
 
 
 //  INCLUDE FILES
-#include "CNetworkResetHandler.h"
-#include "MPsetNetworkInfoObs.h"
-#include "MPsetNetworkSelect.h"
-#include "PsetNetwork.h"
-#include "PsetSAObserver.h"     
-#include "PSetPanic.h"          
-#include "PsetConstants.h"
-#include "PhoneSettingsLogger.h"
-
+#include "mpsetnetworkinfoobs.h" 
+#include "psetnetwork.h" 
+#include "psetsaobserver.h" 
+#include "psetpanic.h" 
+#include "psetconstants.h" 
+#include "mpsetnetworkselect.h" 
 #include <etelmm.h>
 #include <mmretrieve.h>
 #include <rmmcustomapi.h>
 
 #include <e32svr.h>
+#include "phonesettingslogger.h" 
 
 //  LOCAL CONSTANTS AND MACROS  
 _LIT( KPSNameOfClass, "CPsetNetwork" );
@@ -91,9 +89,7 @@
     delete iNetworkRetrieve;
     iNetworkRetrieve = NULL;
     delete iSAObserver;
-    iSAObserver = NULL;
-    delete iResetNetworkSearch;
-    iResetNetworkSearch = NULL;    
+    iSAObserver = NULL;    
     } 
 
 // ---------------------------------------------------------------------------
@@ -149,6 +145,10 @@
 //
 EXPORT_C TInt CPsetNetwork::GetNetworkSelectMode( TSelectMode& aMode )
     {
+    /*****************************************************
+    *    Series 60 Customer / ETel
+    *    Series 60  ETel API
+    *****************************************************/
     RMobilePhone::TMobilePhoneNetworkSelectionV1 setMode;
     RMobilePhone::TMobilePhoneNetworkSelectionV1Pckg setModePckg( setMode );
     
@@ -194,6 +194,10 @@
         }
     iTempNetInfo = aInfo;
 
+    /*****************************************************
+    *    Series 60 Customer / ETel
+    *    Series 60  ETel API
+    *****************************************************/
     if ( aInfo.iMode == ENetSelectModeManual )
         {        
         //Copy data to member variables and make a request.
@@ -269,12 +273,12 @@
     // resulting in a possible dead lock when CActive::Cancel()'s User::WaitForRequest( iStatus ) never gets signaled.
     ClearParams();
     
-    if ( iActiveObserver == ENetSelectObserver )
+    if ( iActiveObserver == ENetSelectObserver && iObserver )
         {
         __ASSERT_ALWAYS( iObserver, Panic( KPSNameOfClass, ENetNoObserver ) );
         HideRequestNoteL();
         }
-    else if ( iActiveObserver == ENetModeObserver )
+    else if ( iActiveObserver == ENetModeObserver && iNetworkModeObserver )
         {        
         __ASSERT_ALWAYS( iNetworkModeObserver, 
                      Panic( KPSNameOfClass, ENetNoNetworkObserver  ) );
@@ -315,7 +319,10 @@
                 TInt amount = results->Enumerate();
                 __PHSLOGSTRING1("[PHS]   CPsetNetwork::RunL: amount: %d", amount);
                 TInt i = 0;
- 
+                /*****************************************************
+                *    Series 60 Customer / ETel
+                *    Series 60  ETel API
+                *****************************************************/
                 RMobilePhone::TMobilePhoneNetworkInfoV2 nwNames;
                 while ( amount > i ) 
                     {
@@ -325,6 +332,9 @@
 
                     iTempNetInfo.iId.iNetworkCode.Copy( nwNames.iNetworkId );
                     __PHSLOGSTRING1("[PHS]   CPsetNetwork::RunL: NetworkCode: %S", &iTempNetInfo.iId.iNetworkCode);
+                    
+                    iTempNetInfo.iStatus = (MPsetNetworkSelect::TNetworkStatus)nwNames.iStatus;
+                    __PHSLOGSTRING1("[PHS]   CPsetNetwork::RunL: Status: %d", &iTempNetInfo.iStatus);
 
                     iTempNetInfo.iLongName.Copy( nwNames.iLongName );
                     __PHSLOGSTRING1("[PHS]   CPsetNetwork::RunL: LongName: %S", &iTempNetInfo.iLongName);
@@ -336,16 +346,14 @@
                         {
                         iTempNetInfo.iAccess = ENetNetworkWCDMA;
                         }
+                    else if ( nwNames.iAccess == RMobilePhone::ENetworkAccessGsmAndUtran )
+                        {
+                        iTempNetInfo.iAccess = ENetNetworkGSMandWCDMA;
+                        }
                     else
                         {
                         iTempNetInfo.iAccess = ENetNetworkGSM;
                         }
-
-                    /** Implementation of forbidden operator icon begins */
-                    // Set network status for displaying forbidden operator icon
-                    iTempNetInfo.iStatus = static_cast<MPsetNetworkSelect::TNetworkStatus>( nwNames.iStatus );
-                    /** Implementation of forbidden operator icon ends */
-                        
                     array->AppendL( iTempNetInfo );
                     i++;       
                     }
@@ -473,13 +481,15 @@
     {
     iObserver = &aObserver;
     iActiveObserver = ENetSelectObserver;
-
+    /*****************************************************
+    *    Series 60 Customer / ETel
+    *    Series 60  ETel API
+    *****************************************************/
     iRegStatus = RMobilePhone::ERegistrationUnknown;
     User::LeaveIfError( iCustomPhone.Open( iPhone ) );
     
     iSAObserver = CPsetSAObserver::NewL();
     CActiveScheduler::Add( this );
-    iResetNetworkSearch = CNetworkResetHandler::NewL( iPhone );
     }
 
 // ---------------------------------------------------------------------------
@@ -492,11 +502,13 @@
     {
     iNetworkModeObserver = &aModeObserver;
     iActiveObserver = ENetModeObserver;
-
+    /*****************************************************
+    *    Series 60 Customer / ETel
+    *    Series 60  ETel API
+    *****************************************************/
     User::LeaveIfError( iCustomPhone.Open( iPhone ) );
     
     CActiveScheduler::Add( this );
-    iResetNetworkSearch = CNetworkResetHandler::NewL( iPhone );
     }
 
 // ---------------------------------------------------------------------------
@@ -557,11 +569,15 @@
 EXPORT_C TInt CPsetNetwork::ResetNetworkSearch()
     {
     __PHSLOGSTRING("[PHS]--> CPsetNetwork::ResetNetworkSearch");
-	
-    TInt error = iResetNetworkSearch->ResetNetworkSearch();
-	
-    __PHSLOGSTRING1("[PHS] <--CPsetNetwork::ResetNetworkSearch: error: %d", error);
-	
+    RMmCustomAPI customApi;
+    TInt error = customApi.Open( iPhone );
+    if  (error == KErrNone)
+        {
+        customApi.ResetNetServer();
+        }
+    customApi.Close();
+
+    __PHSLOGSTRING("[PHS] <--CPsetNetwork::ResetNetworkSearch");
     //for compatibility reasons returns a value
     return error;
     }
--- a/cellular/telephonysettings/src/PsetSAObserver.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetSAObserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,15 +20,15 @@
 // INCLUDE FILES
 #include <centralrepository.h>
 #include <ctsydomainpskeys.h>
-#include <telservicesinternalcrkeys.h> // Telephony service local variation keys.
+#include <telservicesinternalcrkeys.h> // telephony service local variation keys. 
 #include <telservicesvariant.hrh>
 
-#include "PsetSAObserver.h"
-#include "MPsetNetworkInfoObs.h"    
-#include "MPsetDivertObs.h"       
-#include "PhoneSettingsLogger.h"
-#include "PSetUtility.h"
-#include "PsetVariationProxy.h"
+#include "psetsaobserver.h" 
+#include "mpsetnetworkinfoobs.h" 
+#include "mpsetdivertobs.h" 
+#include "phonesettingslogger.h" 
+#include "psetutility.h" 
+#include "psetvariationproxy.h" 
 
 //CONSTANTS
 const TInt KPsetRequesterUncertain = 0;
@@ -116,7 +116,7 @@
     __PHSLOGSTRING("[PHS]--> CPsetSAObserver::IsGPRSConnected" );
     TInt connectionStatus = KErrGeneral;
     
-	TInt error = RProperty::Get( KUidSystemCategory,
+    TInt error = RProperty::Get( KUidSystemCategory,
                                  KPSUidGprsStatusValue,
                                  connectionStatus );
                                  
@@ -305,7 +305,7 @@
     TInt package = aDivertNotify.iPreviousCfStatus;
     TPckg<TInt> indicatorPckg( package );
     TInt error = iRepository->Set( KCtsyUnconditionalCFStatus, indicatorPckg );
-	__PHSLOGSTRING("[PHS]<-- CPsetSAObserver::NotifyDivertChange" ); 
+    __PHSLOGSTRING("[PHS]<-- CPsetSAObserver::NotifyDivertChange" ); 
     }
     
 // ---------------------------------------------------------------------------
--- a/cellular/telephonysettings/src/PsetTelephony.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetTelephony.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -21,9 +21,9 @@
 #include <etelmm.h>
 #include <e32svr.h>
 #include <mmtsy_names.h>
-#include "PsetConstants.h"
-#include "PsetTelephony.h"
-#include "PhoneSettingsLogger.h"
+#include "psetconstants.h" 
+#include "psettelephony.h" 
+#include "phonesettingslogger.h" 
 
 //  MEMBER FUNCTIONS
 // ---------------------------------------------------------------------------
--- a/cellular/telephonysettings/src/PsetVariationProxy.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/src/PsetVariationProxy.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 */
 
 
-#include "PsetVariationProxy.h"
+#include "psetvariationproxy.h" 
 #include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
+#include <settingsinternalcrkeys.h> 
 #include <telservicesinternalcrkeys.h>
 
 // ---------------------------------------------------------------------------
@@ -27,16 +27,16 @@
 // ---------------------------------------------------------------------------
 //
 CPSetVariationProxy::CPSetVariationProxy()
-	{	
-	}
+    {   
+    }
 
 // ---------------------------------------------------------------------------
 // Destructor
 // ---------------------------------------------------------------------------
 //
 CPSetVariationProxy::~CPSetVariationProxy()
-	{		
-	}
+    {       
+    }
 
 // ---------------------------------------------------------------------------
 // NewL
@@ -45,13 +45,13 @@
 CPSetVariationProxy* CPSetVariationProxy::NewL( 
         const TUid& aUid, 
         const TUint aId )
-	{
-	CPSetVariationProxy* self = new ( ELeave ) CPSetVariationProxy();  
+    {
+    CPSetVariationProxy* self = new ( ELeave ) CPSetVariationProxy();  
     CleanupStack::PushL( self );
     self->ConstructL( aUid, aId );
     CleanupStack::Pop( self );         
     return self;
-	}
+    }
 
 // ---------------------------------------------------------------------------
 // ConstructL
@@ -60,29 +60,29 @@
 void CPSetVariationProxy::ConstructL( 
         const TUid& aUid, 
         const TUint aId  )
-	{
-	TInt keySetting = 0;
-	CRepository* centralRepository = CRepository::NewLC( aUid );
-	User::LeaveIfError( centralRepository->Get( aId, keySetting ) );
-	
-	if( ( aUid == KCRUidPhoneSettings ) && 
+    {
+    TInt keySetting = 0;
+    CRepository* centralRepository = CRepository::NewLC( aUid );
+    User::LeaveIfError( centralRepository->Get( aId, keySetting ) );
+    
+    if( ( aUid == KCRUidPhoneSettings ) && 
         ( keySetting ) )
-		{
-		iFeature |= KCallWaitingDistiquishNotProvisioned;	
-		}
-	else if ( aUid == KCRUidTelSrvVariation )
-	    {
-	    iFeature |= keySetting;
-	    }
-	
-	CleanupStack::PopAndDestroy( centralRepository );
-	}
+        {
+        iFeature |= KCallWaitingDistiquishNotProvisioned;   
+        }
+    else if ( aUid == KCRUidTelSrvVariation )
+        {
+        iFeature |= keySetting;
+        }
+    
+    CleanupStack::PopAndDestroy( centralRepository );
+    }
 
 // ---------------------------------------------------------------------------
 // IsFeatureEnabled
 // ---------------------------------------------------------------------------
 //
 TBool CPSetVariationProxy::IsFeatureEnabled( TUint aFeature ) const
-	{
-	return aFeature&iFeature;
-	}
+    {
+    return aFeature&iFeature;
+    }
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestCallDivertingObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestCallDivertingObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define PHONESETTINGSTESTCALLDIVERTINGGOBSERVER_H
 
 #include <e32base.h>
-#include <MPsetDivertObs.h>
+#include <mpsetdivertobs.h>
 
 // CLASS DECLARATION
 
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestCallWaitingObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestCallWaitingObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define PHONESETTINGSTESTCALLWAITINGGOBSERVER_H
 
 #include <e32base.h>
-#include <MPsetCallWaitingObs.h>
+#include <mpsetcallwaitingobs.h>
 
 // CLASS DECLARATION
 
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestCliObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestCliObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define PHONESETTINGSTESTCLIOBSERVER_H
 
 #include <e32base.h>
-#include <MPsetCliObserver.h>
+#include <mpsetcliobserver.h>
 
 // CLASS DECLARATION
 
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestNetworkInfoObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestNetworkInfoObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define PHONESETTINGSTESTNETWORKINFOOBSERVER_H
 
 #include <e32base.h>
-#include <MPsetNetworkInfoObs.h>
+#include <mpsetnetworkinfoobs.h>
 
 // CLASS DECLARATION
 
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestNetworkModeObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestNetworkModeObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define PHONESETTINGSTESTNETWORKMODEOBSERVER_H
 
 #include <e32base.h>
-#include <MPsetNetworkModeObs.h>
+#include <mpsetnetworkmodeobs.h>
 
 // CLASS DECLARATION
 
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -25,10 +25,10 @@
 #include    <e32base.h>
 #include    <etelmm.h>
 #include    <RMmCustomAPI.h>
-#include    <RSSSettings.h> 
-#include    <MPsetCallWaiting.h>
-#include    <MPsetNetworkSelect.h>
-#include    <PsetSAObserver.h>
+#include    <rsssettings.h> 
+#include    <mpsetcallwaiting.h>
+#include    <mpsetnetworkselect.h>
+#include    <psetsaobserver.h>
 #include    "PhoneSettingsTest.hrh"
 
 // FORWARD DECLARATIONS
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestPsetRequestObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestPsetRequestObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define PHONESETTINGSTESTPSETREQUESTOBSERVER_H
 
 #include <e32base.h>
-#include <MPsetRequestObs.h> 
+#include <mpsetrequestobs.h> 
 
 // CLASS DECLARATION
 
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestRefreshHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/inc/PhoneSettingsTestRefreshHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define PHONESETTINGSTESTREFRESHHANDLER_H
 
 #include <e32base.h>
-#include <PSetRefreshHandler.h>
+#include <psetrefreshhandler.h>
 #include "PhoneSettingsTestParser.h"
 
 // CLASS DECLARATION
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestCSP.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestCSP.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #include <nwdefs.h>             
 #include <etelmm.h> 
 #include <PsetConstants.h>
-#include <PsetCSP.h>
+#include <psetcsp.h>
 #include "PhoneSettingsTest.hrh"
 #include "PhoneSettingsTest.h"
 #include "MPhoneSettingsTestMessageHandler.h"
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestNetwork.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestNetwork.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -32,7 +32,7 @@
 #include "PhoneSettingsTestPsetRequestObserver.h" 
 #include "PhoneSettingsTestNetworkInfoObserver.h" 
 #include "PhoneSettingsTestNetworkModeObserver.h" 
-#include "PsetSAObserver.h" 
+#include "psetsaobserver.h" 
 #include "PhoneSettingsTestNetwork.h"
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestNetworkInfoObserver.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestNetworkInfoObserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include <MPsetNetworkInfoObs.h>
+#include <mpsetnetworkinfoobs.h>
 #include "PhoneSettingsTestNetworkInfoObserver.h"
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestNetworkModeObserver.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestNetworkModeObserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include <e32base.h>
-#include <MPsetNetworkModeObs.h>
+#include <mpsetnetworkmodeobs.h>
 #include "PhoneSettingsTestNetworkModeObserver.h"
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include <StifLogger.h>
 #include <StifTestModule.h>
-#include <RSSSettings.h> 
+#include <rsssettings.h> 
 #include "MPhoneSettingsTestMessageHandler.h"
 #include "PhoneSettingsTestParser.h"
 
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestSAObserver.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestSAObserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #include <nwdefs.h>             
 #include <etelmm.h> 
 #include <PsetConstants.h>
-#include <PsetSAObserver.h>
+#include <psetsaobserver.h>
 #include "PhoneSettingsTest.hrh"
 #include "MPhoneSettingsTestMessageHandler.h"
 #include "PhoneSettingsTestUtilities.h" 
--- a/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestUtilities.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/cellular/telephonysettings/tsrc/public/basic/PhoneSettingsTest/src/PhoneSettingsTestUtilities.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include <etelmm.h> 
 #include <MmTsy_names.h> 
-#include "PSetConstants.h"
+#include "psetconstants.h"
 #include "PhoneSettingsTestUtilities.h"
 
 // ============================ MEMBER FUNCTIONS ===============================
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/bwins/psetwrapperu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,135 @@
+EXPORTS
+	?trUtf8@PSetCallBarringWrapper@@SA?AVQString@@PBD0H@Z @ 1 NONAME ; class QString PSetCallBarringWrapper::trUtf8(char const *, char const *, int)
+	?getAvailableNetworks@PSetNetworkWrapper@@QAEXXZ @ 2 NONAME ; void PSetNetworkWrapper::getAvailableNetworks(void)
+	?staticMetaObject@PSetCallWaitingWrapper@@2UQMetaObject@@B @ 3 NONAME ; struct QMetaObject const PSetCallWaitingWrapper::staticMetaObject
+	?disableBarringRequestCompleted@PSetCallBarringWrapper@@IAEXHW4BarringType@1@W4BarringStatus@1@_N@Z @ 4 NONAME ; void PSetCallBarringWrapper::disableBarringRequestCompleted(int, enum PSetCallBarringWrapper::BarringType, enum PSetCallBarringWrapper::BarringStatus, bool)
+	??_EPSetWrapper@@UAE@I@Z @ 5 NONAME ; PSetWrapper::~PSetWrapper(unsigned int)
+	?trUtf8@PSetCallWaitingWrapper@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString PSetCallWaitingWrapper::trUtf8(char const *, char const *)
+	?validateDivertNumber@PSetCallDivertingWrapper@@ABEHABVTDesC16@@@Z @ 7 NONAME ; int PSetCallDivertingWrapper::validateDivertNumber(class TDesC16 const &) const
+	?qt_metacast@PSetNetworkWrapper@@UAEPAXPBD@Z @ 8 NONAME ; void * PSetNetworkWrapper::qt_metacast(char const *)
+	?isManualNetworkSelectionSupported@PSetNetworkWrapper@@QBE_NXZ @ 9 NONAME ; bool PSetNetworkWrapper::isManualNetworkSelectionSupported(void) const
+	?callDivertingWrapper@PSetWrapper@@QAEAAVPSetCallDivertingWrapper@@XZ @ 10 NONAME ; class PSetCallDivertingWrapper & PSetWrapper::callDivertingWrapper(void)
+	?cliInformation@PSetCliWrapper@@IAEXABW4PsCallLineIdentity@@@Z @ 11 NONAME ; void PSetCliWrapper::cliInformation(enum PsCallLineIdentity const &)
+	?handleDivertingError@PSetCallDivertingWrapper@@IAEXH@Z @ 12 NONAME ; void PSetCallDivertingWrapper::handleDivertingError(int)
+	?cancelRequest@PSetNetworkWrapper@@QAEXXZ @ 13 NONAME ; void PSetNetworkWrapper::cancelRequest(void)
+	?qt_metacast@PSetCallBarringWrapper@@UAEPAXPBD@Z @ 14 NONAME ; void * PSetCallBarringWrapper::qt_metacast(char const *)
+	?staticMetaObject@PSetCallBarringWrapper@@2UQMetaObject@@B @ 15 NONAME ; struct QMetaObject const PSetCallBarringWrapper::staticMetaObject
+	??0PSetCallDivertingWrapper@@QAE@AAVCPsetContainer@@PAVQObject@@@Z @ 16 NONAME ; PSetCallDivertingWrapper::PSetCallDivertingWrapper(class CPsetContainer &, class QObject *)
+	?metaObject@PSetCliWrapper@@UBEPBUQMetaObject@@XZ @ 17 NONAME ; struct QMetaObject const * PSetCliWrapper::metaObject(void) const
+	?tr@PSetCallWaitingWrapper@@SA?AVQString@@PBD0@Z @ 18 NONAME ; class QString PSetCallWaitingWrapper::tr(char const *, char const *)
+	?getNetworkAccessMode@PSetNetworkWrapper@@QBEXXZ @ 19 NONAME ; void PSetNetworkWrapper::getNetworkAccessMode(void) const
+	?callWaitingWrapper@PSetWrapper@@QAEAAVPSetCallWaitingWrapper@@XZ @ 20 NONAME ; class PSetCallWaitingWrapper & PSetWrapper::callWaitingWrapper(void)
+	?handleCnapStatus@PSetCliWrapper@@IAEXH@Z @ 21 NONAME ; void PSetCliWrapper::handleCnapStatus(int)
+	?availableNetworksGot@PSetNetworkWrapper@@IAEXAAV?$QList@PAUNetworkInfo@PSetNetworkWrapper@@@@@Z @ 22 NONAME ; void PSetNetworkWrapper::availableNetworksGot(class QList<struct PSetNetworkWrapper::NetworkInfo *> &)
+	?handleCallWaitingChanged@PSetCallWaitingWrapper@@IAEXW4PsCallWaitingCommand@1@H@Z @ 23 NONAME ; void PSetCallWaitingWrapper::handleCallWaitingChanged(enum PSetCallWaitingWrapper::PsCallWaitingCommand, int)
+	?metaObject@PSetCallDivertingWrapper@@UBEPBUQMetaObject@@XZ @ 24 NONAME ; struct QMetaObject const * PSetCallDivertingWrapper::metaObject(void) const
+	?cancelProcess@PSetCallDivertingWrapper@@QAEXXZ @ 25 NONAME ; void PSetCallDivertingWrapper::cancelProcess(void)
+	?getCPsetCallDiverting@PSetCallDivertingWrapper@@QBEAAVCPsetCallDiverting@@XZ @ 26 NONAME ; class CPsetCallDiverting & PSetCallDivertingWrapper::getCPsetCallDiverting(void) const
+	?trUtf8@PSetCallWaitingWrapper@@SA?AVQString@@PBD0H@Z @ 27 NONAME ; class QString PSetCallWaitingWrapper::trUtf8(char const *, char const *, int)
+	?networkChanged@PSetNetworkWrapper@@IAEXAAUNetworkInfo@1@AAW4RegistrationStatus@1@@Z @ 28 NONAME ; void PSetNetworkWrapper::networkChanged(struct PSetNetworkWrapper::NetworkInfo &, enum PSetNetworkWrapper::RegistrationStatus &)
+	?trUtf8@PSetCallDivertingWrapper@@SA?AVQString@@PBD0H@Z @ 29 NONAME ; class QString PSetCallDivertingWrapper::trUtf8(char const *, char const *, int)
+	?qt_metacast@PSetCliWrapper@@UAEPAXPBD@Z @ 30 NONAME ; void * PSetCliWrapper::qt_metacast(char const *)
+	?callBarringWrapper@PSetWrapper@@QAEAAVPSetCallBarringWrapper@@XZ @ 31 NONAME ; class PSetCallBarringWrapper & PSetWrapper::callBarringWrapper(void)
+	?tr@PSetCallBarringWrapper@@SA?AVQString@@PBD0H@Z @ 32 NONAME ; class QString PSetCallBarringWrapper::tr(char const *, char const *, int)
+	?networkAccessModeGot@PSetNetworkWrapper@@IAEXH@Z @ 33 NONAME ; void PSetNetworkWrapper::networkAccessModeGot(int)
+	??_EPSetCallBarringWrapper@@UAE@I@Z @ 34 NONAME ; PSetCallBarringWrapper::~PSetCallBarringWrapper(unsigned int)
+	?trUtf8@PSetNetworkWrapper@@SA?AVQString@@PBD0@Z @ 35 NONAME ; class QString PSetNetworkWrapper::trUtf8(char const *, char const *)
+	?getClirMode@PSetCliWrapper@@QAEXXZ @ 36 NONAME ; void PSetCliWrapper::getClirMode(void)
+	?qt_metacall@PSetWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 37 NONAME ; int PSetWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?trUtf8@PSetNetworkWrapper@@SA?AVQString@@PBD0H@Z @ 38 NONAME ; class QString PSetNetworkWrapper::trUtf8(char const *, char const *, int)
+	?trUtf8@PSetCallDivertingWrapper@@SA?AVQString@@PBD0@Z @ 39 NONAME ; class QString PSetCallDivertingWrapper::trUtf8(char const *, char const *)
+	?tr@PSetCallDivertingWrapper@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString PSetCallDivertingWrapper::tr(char const *, char const *, int)
+	?handleCallWaitingError@PSetCallWaitingWrapper@@IAEXH@Z @ 41 NONAME ; void PSetCallWaitingWrapper::handleCallWaitingError(int)
+	?getStaticMetaObject@PSetCallWaitingWrapper@@SAABUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const & PSetCallWaitingWrapper::getStaticMetaObject(void)
+	?disableBarring@PSetCallBarringWrapper@@QAEXV?$QFlags@W4PsService@@@@W4BarringType@1@VQString@@@Z @ 43 NONAME ; void PSetCallBarringWrapper::disableBarring(class QFlags<enum PsService>, enum PSetCallBarringWrapper::BarringType, class QString)
+	?tr@PSetWrapper@@SA?AVQString@@PBD0@Z @ 44 NONAME ; class QString PSetWrapper::tr(char const *, char const *)
+	??1PSetCliWrapper@@UAE@XZ @ 45 NONAME ; PSetCliWrapper::~PSetCliWrapper(void)
+	?getColrMode@PSetCliWrapper@@QAEXXZ @ 46 NONAME ; void PSetCliWrapper::getColrMode(void)
+	?qt_metacall@PSetCliWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 47 NONAME ; int PSetCliWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?handleCallWaitingRequesting@PSetCallWaitingWrapper@@IAEX_N0@Z @ 48 NONAME ; void PSetCallWaitingWrapper::handleCallWaitingRequesting(bool, bool)
+	?trUtf8@PSetCallBarringWrapper@@SA?AVQString@@PBD0@Z @ 49 NONAME ; class QString PSetCallBarringWrapper::trUtf8(char const *, char const *)
+	?barringStatus@PSetCallBarringWrapper@@QAEXV?$QFlags@W4PsService@@@@W4BarringType@1@@Z @ 50 NONAME ; void PSetCallBarringWrapper::barringStatus(class QFlags<enum PsService>, enum PSetCallBarringWrapper::BarringType)
+	??1PSetWrapper@@UAE@XZ @ 51 NONAME ; PSetWrapper::~PSetWrapper(void)
+	?cancelProcess@PSetCallWaitingWrapper@@QAEXXZ @ 52 NONAME ; void PSetCallWaitingWrapper::cancelProcess(void)
+	?findPlus@PSetCallDivertingWrapper@@ABE_NABVTDesC16@@@Z @ 53 NONAME ; bool PSetCallDivertingWrapper::findPlus(class TDesC16 const &) const
+	??_EPSetCallDivertingWrapper@@UAE@I@Z @ 54 NONAME ; PSetCallDivertingWrapper::~PSetCallDivertingWrapper(unsigned int)
+	?setCallWaiting@PSetCallWaitingWrapper@@QAEXW4PsCallWaitingCommand@1@H@Z @ 55 NONAME ; void PSetCallWaitingWrapper::setCallWaiting(enum PSetCallWaitingWrapper::PsCallWaitingCommand, int)
+	??_EPSetCliWrapper@@UAE@I@Z @ 56 NONAME ; PSetCliWrapper::~PSetCliWrapper(unsigned int)
+	?tr@PSetCallBarringWrapper@@SA?AVQString@@PBD0@Z @ 57 NONAME ; class QString PSetCallBarringWrapper::tr(char const *, char const *)
+	?trUtf8@PSetCliWrapper@@SA?AVQString@@PBD0H@Z @ 58 NONAME ; class QString PSetCliWrapper::trUtf8(char const *, char const *, int)
+	?handleCallWaitingGetStatus@PSetCallWaitingWrapper@@IAEXW4PsCallWaitingStatus@1@ABV?$QList@E@@@Z @ 59 NONAME ; void PSetCallWaitingWrapper::handleCallWaitingGetStatus(enum PSetCallWaitingWrapper::PsCallWaitingStatus, class QList<unsigned char> const &)
+	?requestDone@PSetCallDivertingWrapper@@IAEXXZ @ 60 NONAME ; void PSetCallDivertingWrapper::requestDone(void)
+	?qt_metacast@PSetWrapper@@UAEPAXPBD@Z @ 61 NONAME ; void * PSetWrapper::qt_metacast(char const *)
+	?tr@PSetCliWrapper@@SA?AVQString@@PBD0H@Z @ 62 NONAME ; class QString PSetCliWrapper::tr(char const *, char const *, int)
+	?tr@PSetNetworkWrapper@@SA?AVQString@@PBD0H@Z @ 63 NONAME ; class QString PSetNetworkWrapper::tr(char const *, char const *, int)
+	?qt_metacast@PSetCallWaitingWrapper@@UAEPAXPBD@Z @ 64 NONAME ; void * PSetCallWaitingWrapper::qt_metacast(char const *)
+	?tr@PSetCallWaitingWrapper@@SA?AVQString@@PBD0H@Z @ 65 NONAME ; class QString PSetCallWaitingWrapper::tr(char const *, char const *, int)
+	?getStaticMetaObject@PSetNetworkWrapper@@SAABUQMetaObject@@XZ @ 66 NONAME ; struct QMetaObject const & PSetNetworkWrapper::getStaticMetaObject(void)
+	?trUtf8@PSetWrapper@@SA?AVQString@@PBD0@Z @ 67 NONAME ; class QString PSetWrapper::trUtf8(char const *, char const *)
+	?getStaticMetaObject@PSetWrapper@@SAABUQMetaObject@@XZ @ 68 NONAME ; struct QMetaObject const & PSetWrapper::getStaticMetaObject(void)
+	?staticMetaObject@PSetWrapper@@2UQMetaObject@@B @ 69 NONAME ; struct QMetaObject const PSetWrapper::staticMetaObject
+	?metaObject@PSetWrapper@@UBEPBUQMetaObject@@XZ @ 70 NONAME ; struct QMetaObject const * PSetWrapper::metaObject(void) const
+	?getDefaultNumbers@PSetCallDivertingWrapper@@QAEXAAVQStringList@@@Z @ 71 NONAME ; void PSetCallDivertingWrapper::getDefaultNumbers(class QStringList &)
+	?getCallWaitingStatus@PSetCallWaitingWrapper@@QAEXXZ @ 72 NONAME ; void PSetCallWaitingWrapper::getCallWaitingStatus(void)
+	?tr@PSetCliWrapper@@SA?AVQString@@PBD0@Z @ 73 NONAME ; class QString PSetCliWrapper::tr(char const *, char const *)
+	?staticMetaObject@PSetCliWrapper@@2UQMetaObject@@B @ 74 NONAME ; struct QMetaObject const PSetCliWrapper::staticMetaObject
+	?tr@PSetWrapper@@SA?AVQString@@PBD0H@Z @ 75 NONAME ; class QString PSetWrapper::tr(char const *, char const *, int)
+	?getClipMode@PSetCliWrapper@@QAEXXZ @ 76 NONAME ; void PSetCliWrapper::getClipMode(void)
+	??1PSetCallWaitingWrapper@@UAE@XZ @ 77 NONAME ; PSetCallWaitingWrapper::~PSetCallWaitingWrapper(void)
+	?qt_metacast@PSetCallDivertingWrapper@@UAEPAXPBD@Z @ 78 NONAME ; void * PSetCallDivertingWrapper::qt_metacast(char const *)
+	?barringPasswordChangeRequestCompleted@PSetCallBarringWrapper@@IAEXH@Z @ 79 NONAME ; void PSetCallBarringWrapper::barringPasswordChangeRequestCompleted(int)
+	?networkWrapper@PSetWrapper@@QAEAAVPSetNetworkWrapper@@XZ @ 80 NONAME ; class PSetNetworkWrapper & PSetWrapper::networkWrapper(void)
+	?getColpMode@PSetCliWrapper@@QAEXXZ @ 81 NONAME ; void PSetCliWrapper::getColpMode(void)
+	?metaObject@PSetCallBarringWrapper@@UBEPBUQMetaObject@@XZ @ 82 NONAME ; struct QMetaObject const * PSetCallBarringWrapper::metaObject(void) const
+	?requestingSelectedNetwork@PSetNetworkWrapper@@IAEX_N@Z @ 83 NONAME ; void PSetNetworkWrapper::requestingSelectedNetwork(bool)
+	?queryVoiceMailBoxNumber@PSetCallDivertingWrapper@@QAEHAAVQString@@W4PsService@@@Z @ 84 NONAME ; int PSetCallDivertingWrapper::queryVoiceMailBoxNumber(class QString &, enum PsService)
+	?qt_metacall@PSetNetworkWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 85 NONAME ; int PSetNetworkWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?handleDivertingChanged@PSetCallDivertingWrapper@@IAEXABVPSCallDivertingCommand@@_N@Z @ 86 NONAME ; void PSetCallDivertingWrapper::handleDivertingChanged(class PSCallDivertingCommand const &, bool)
+	?cliWrapper@PSetWrapper@@QAEAAVPSetCliWrapper@@XZ @ 87 NONAME ; class PSetCliWrapper & PSetWrapper::cliWrapper(void)
+	?handleCliStatus@PSetCliWrapper@@IAEXPAEHABW4PsCallLineIdentity@@@Z @ 88 NONAME ; void PSetCliWrapper::handleCliStatus(unsigned char *, int, enum PsCallLineIdentity const &)
+	?getStaticMetaObject@PSetCallBarringWrapper@@SAABUQMetaObject@@XZ @ 89 NONAME ; struct QMetaObject const & PSetCallBarringWrapper::getStaticMetaObject(void)
+	?qt_metacall@PSetCallDivertingWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 90 NONAME ; int PSetCallDivertingWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?changeBarringPassword@PSetCallBarringWrapper@@QAEXABVQString@@00@Z @ 91 NONAME ; void PSetCallBarringWrapper::changeBarringPassword(class QString const &, class QString const &, class QString const &)
+	?getNetworkSelectionMode@PSetNetworkWrapper@@QBE?AW4ErrorCode@1@AAW4NetworkSelectionMode@1@@Z @ 92 NONAME ; enum PSetNetworkWrapper::ErrorCode PSetNetworkWrapper::getNetworkSelectionMode(enum PSetNetworkWrapper::NetworkSelectionMode &) const
+	?getVoiceMailBoxNumber@PSetCallDivertingWrapper@@QAEHAAVQString@@W4PsService@@@Z @ 93 NONAME ; int PSetCallDivertingWrapper::getVoiceMailBoxNumber(class QString &, enum PsService)
+	?tr@PSetNetworkWrapper@@SA?AVQString@@PBD0@Z @ 94 NONAME ; class QString PSetNetworkWrapper::tr(char const *, char const *)
+	?staticMetaObject@PSetCallDivertingWrapper@@2UQMetaObject@@B @ 95 NONAME ; struct QMetaObject const PSetCallDivertingWrapper::staticMetaObject
+	??0PSetCliWrapper@@QAE@AAVCPsetContainer@@PAVQObject@@@Z @ 96 NONAME ; PSetCliWrapper::PSetCliWrapper(class CPsetContainer &, class QObject *)
+	?trUtf8@PSetCliWrapper@@SA?AVQString@@PBD0@Z @ 97 NONAME ; class QString PSetCliWrapper::trUtf8(char const *, char const *)
+	??0PSetNetworkWrapper@@QAE@AAVCPsetContainer@@PAVQObject@@@Z @ 98 NONAME ; PSetNetworkWrapper::PSetNetworkWrapper(class CPsetContainer &, class QObject *)
+	?qt_metacall@PSetCallWaitingWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 99 NONAME ; int PSetCallWaitingWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?searchingNetworks@PSetNetworkWrapper@@IAEXAAW4RequestType@1@@Z @ 100 NONAME ; void PSetNetworkWrapper::searchingNetworks(enum PSetNetworkWrapper::RequestType &)
+	?getStaticMetaObject@PSetCliWrapper@@SAABUQMetaObject@@XZ @ 101 NONAME ; struct QMetaObject const & PSetCliWrapper::getStaticMetaObject(void)
+	?handleDivertingStatus@PSetCallDivertingWrapper@@IAEXAAV?$QList@PAVPSCallDivertingStatus@@@@_N@Z @ 102 NONAME ; void PSetCallDivertingWrapper::handleDivertingStatus(class QList<class PSCallDivertingStatus *> &, bool)
+	??1PSetCallDivertingWrapper@@UAE@XZ @ 103 NONAME ; PSetCallDivertingWrapper::~PSetCallDivertingWrapper(void)
+	?selectNetwork@PSetNetworkWrapper@@QAEXABUNetworkInfo@1@@Z @ 104 NONAME ; void PSetNetworkWrapper::selectNetwork(struct PSetNetworkWrapper::NetworkInfo const &)
+	?handleCliRequesting@PSetCliWrapper@@IAEX_N0@Z @ 105 NONAME ; void PSetCliWrapper::handleCliRequesting(bool, bool)
+	?enableBarringRequestCompleted@PSetCallBarringWrapper@@IAEXHW4BarringType@1@W4BarringStatus@1@_N@Z @ 106 NONAME ; void PSetCallBarringWrapper::enableBarringRequestCompleted(int, enum PSetCallBarringWrapper::BarringType, enum PSetCallBarringWrapper::BarringStatus, bool)
+	?metaObject@PSetCallWaitingWrapper@@UBEPBUQMetaObject@@XZ @ 107 NONAME ; struct QMetaObject const * PSetCallWaitingWrapper::metaObject(void) const
+	?trUtf8@PSetWrapper@@SA?AVQString@@PBD0H@Z @ 108 NONAME ; class QString PSetWrapper::trUtf8(char const *, char const *, int)
+	?getCallDivertingStatus@PSetCallDivertingWrapper@@QAEXV?$QFlags@W4PsService@@@@W4PsCallDivertingCondition@@H@Z @ 109 NONAME ; void PSetCallDivertingWrapper::getCallDivertingStatus(class QFlags<enum PsService>, enum PsCallDivertingCondition, int)
+	?setCallDiverting@PSetCallDivertingWrapper@@QAEHAAVPSCallDivertingCommand@@H@Z @ 110 NONAME ; int PSetCallDivertingWrapper::setCallDiverting(class PSCallDivertingCommand &, int)
+	?setNetworkAccessMode@PSetNetworkWrapper@@QAEXW4NetworkAccessMode@1@@Z @ 111 NONAME ; void PSetNetworkWrapper::setNetworkAccessMode(enum PSetNetworkWrapper::NetworkAccessMode)
+	??0PSetWrapper@@QAE@PAVQObject@@@Z @ 112 NONAME ; PSetWrapper::PSetWrapper(class QObject *)
+	?handleCliError@PSetCliWrapper@@IAEXH@Z @ 113 NONAME ; void PSetCliWrapper::handleCliError(int)
+	?handleCFRequesting@PSetCallDivertingWrapper@@IAEX_N0@Z @ 114 NONAME ; void PSetCallDivertingWrapper::handleCFRequesting(bool, bool)
+	?cancelAll@PSetCliWrapper@@QAEXXZ @ 115 NONAME ; void PSetCliWrapper::cancelAll(void)
+	?networkReqestFailed@PSetNetworkWrapper@@IAEXW4ErrorCode@1@W4RequestType@1@@Z @ 116 NONAME ; void PSetNetworkWrapper::networkReqestFailed(enum PSetNetworkWrapper::ErrorCode, enum PSetNetworkWrapper::RequestType)
+	?enableBarring@PSetCallBarringWrapper@@QAEXV?$QFlags@W4PsService@@@@W4BarringType@1@VQString@@@Z @ 117 NONAME ; void PSetCallBarringWrapper::enableBarring(class QFlags<enum PsService>, enum PSetCallBarringWrapper::BarringType, class QString)
+	?setNewDefaultNumber@PSetCallDivertingWrapper@@QAEXVQString@@@Z @ 118 NONAME ; void PSetCallDivertingWrapper::setNewDefaultNumber(class QString)
+	??0PSetCallBarringWrapper@@QAE@AAVCPsetContainer@@PAVQObject@@@Z @ 119 NONAME ; PSetCallBarringWrapper::PSetCallBarringWrapper(class CPsetContainer &, class QObject *)
+	?barringStatusRequestCompleted@PSetCallBarringWrapper@@IAEXHABV?$QList@E@@W4BarringStatus@1@@Z @ 120 NONAME ; void PSetCallBarringWrapper::barringStatusRequestCompleted(int, class QList<unsigned char> const &, enum PSetCallBarringWrapper::BarringStatus)
+	??_EPSetNetworkWrapper@@UAE@I@Z @ 121 NONAME ; PSetNetworkWrapper::~PSetNetworkWrapper(unsigned int)
+	?getCPsetCallWaiting@PSetCallWaitingWrapper@@QBEAAVCPsetCallWaiting@@XZ @ 122 NONAME ; class CPsetCallWaiting & PSetCallWaitingWrapper::getCPsetCallWaiting(void) const
+	?getCnap@PSetCliWrapper@@QAEXXZ @ 123 NONAME ; void PSetCliWrapper::getCnap(void)
+	??1PSetCallBarringWrapper@@UAE@XZ @ 124 NONAME ; PSetCallBarringWrapper::~PSetCallBarringWrapper(void)
+	?tr@PSetCallDivertingWrapper@@SA?AVQString@@PBD0@Z @ 125 NONAME ; class QString PSetCallDivertingWrapper::tr(char const *, char const *)
+	?getStaticMetaObject@PSetCallDivertingWrapper@@SAABUQMetaObject@@XZ @ 126 NONAME ; struct QMetaObject const & PSetCallDivertingWrapper::getStaticMetaObject(void)
+	?metaObject@PSetNetworkWrapper@@UBEPBUQMetaObject@@XZ @ 127 NONAME ; struct QMetaObject const * PSetNetworkWrapper::metaObject(void) const
+	??1PSetNetworkWrapper@@UAE@XZ @ 128 NONAME ; PSetNetworkWrapper::~PSetNetworkWrapper(void)
+	?staticMetaObject@PSetNetworkWrapper@@2UQMetaObject@@B @ 129 NONAME ; struct QMetaObject const PSetNetworkWrapper::staticMetaObject
+	??_EPSetCallWaitingWrapper@@UAE@I@Z @ 130 NONAME ; PSetCallWaitingWrapper::~PSetCallWaitingWrapper(unsigned int)
+	??0PSetCallWaitingWrapper@@QAE@AAVCPsetContainer@@PAVQObject@@@Z @ 131 NONAME ; PSetCallWaitingWrapper::PSetCallWaitingWrapper(class CPsetContainer &, class QObject *)
+	?qt_metacall@PSetCallBarringWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 132 NONAME ; int PSetCallBarringWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?chageVisbilityOfManualNetworkSelection@PSetNetworkWrapper@@IAEX_N@Z @ 133 NONAME ; void PSetNetworkWrapper::chageVisbilityOfManualNetworkSelection(bool)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/eabi/psetwrapperu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,135 @@
+EXPORTS
+	_ZN11PSetWrapper10cliWrapperEv @ 1 NONAME
+	_ZN11PSetWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN11PSetWrapper11qt_metacastEPKc @ 3 NONAME
+	_ZN11PSetWrapper14networkWrapperEv @ 4 NONAME
+	_ZN11PSetWrapper16staticMetaObjectE @ 5 NONAME DATA 16
+	_ZN11PSetWrapper18callBarringWrapperEv @ 6 NONAME
+	_ZN11PSetWrapper18callWaitingWrapperEv @ 7 NONAME
+	_ZN11PSetWrapper19getStaticMetaObjectEv @ 8 NONAME
+	_ZN11PSetWrapper20callDivertingWrapperEv @ 9 NONAME
+	_ZN11PSetWrapperC1EP7QObject @ 10 NONAME
+	_ZN11PSetWrapperC2EP7QObject @ 11 NONAME
+	_ZN11PSetWrapperD0Ev @ 12 NONAME
+	_ZN11PSetWrapperD1Ev @ 13 NONAME
+	_ZN11PSetWrapperD2Ev @ 14 NONAME
+	_ZN14PSetCliWrapper11getClipModeEv @ 15 NONAME
+	_ZN14PSetCliWrapper11getClirModeEv @ 16 NONAME
+	_ZN14PSetCliWrapper11getColpModeEv @ 17 NONAME
+	_ZN14PSetCliWrapper11getColrModeEv @ 18 NONAME
+	_ZN14PSetCliWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 19 NONAME
+	_ZN14PSetCliWrapper11qt_metacastEPKc @ 20 NONAME
+	_ZN14PSetCliWrapper14cliInformationERK18PsCallLineIdentity @ 21 NONAME
+	_ZN14PSetCliWrapper14handleCliErrorEi @ 22 NONAME
+	_ZN14PSetCliWrapper15handleCliStatusEPhiRK18PsCallLineIdentity @ 23 NONAME
+	_ZN14PSetCliWrapper16handleCnapStatusEi @ 24 NONAME
+	_ZN14PSetCliWrapper16staticMetaObjectE @ 25 NONAME DATA 16
+	_ZN14PSetCliWrapper19getStaticMetaObjectEv @ 26 NONAME
+	_ZN14PSetCliWrapper19handleCliRequestingEbb @ 27 NONAME
+	_ZN14PSetCliWrapper7getCnapEv @ 28 NONAME
+	_ZN14PSetCliWrapper9cancelAllEv @ 29 NONAME
+	_ZN14PSetCliWrapperC1ER14CPsetContainerP7QObject @ 30 NONAME
+	_ZN14PSetCliWrapperC2ER14CPsetContainerP7QObject @ 31 NONAME
+	_ZN14PSetCliWrapperD0Ev @ 32 NONAME
+	_ZN14PSetCliWrapperD1Ev @ 33 NONAME
+	_ZN14PSetCliWrapperD2Ev @ 34 NONAME
+	_ZN18PSetNetworkWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 35 NONAME
+	_ZN18PSetNetworkWrapper11qt_metacastEPKc @ 36 NONAME
+	_ZN18PSetNetworkWrapper13cancelRequestEv @ 37 NONAME
+	_ZN18PSetNetworkWrapper13selectNetworkERKNS_11NetworkInfoE @ 38 NONAME
+	_ZN18PSetNetworkWrapper14networkChangedERNS_11NetworkInfoERNS_18RegistrationStatusE @ 39 NONAME
+	_ZN18PSetNetworkWrapper16staticMetaObjectE @ 40 NONAME DATA 16
+	_ZN18PSetNetworkWrapper17searchingNetworksERNS_11RequestTypeE @ 41 NONAME
+	_ZN18PSetNetworkWrapper19getStaticMetaObjectEv @ 42 NONAME
+	_ZN18PSetNetworkWrapper19networkReqestFailedENS_9ErrorCodeENS_11RequestTypeE @ 43 NONAME
+	_ZN18PSetNetworkWrapper20availableNetworksGotER5QListIPNS_11NetworkInfoEE @ 44 NONAME
+	_ZN18PSetNetworkWrapper20getAvailableNetworksEv @ 45 NONAME
+	_ZN18PSetNetworkWrapper20networkAccessModeGotEi @ 46 NONAME
+	_ZN18PSetNetworkWrapper20setNetworkAccessModeENS_17NetworkAccessModeE @ 47 NONAME
+	_ZN18PSetNetworkWrapper25requestingSelectedNetworkEb @ 48 NONAME
+	_ZN18PSetNetworkWrapperC1ER14CPsetContainerP7QObject @ 49 NONAME
+	_ZN18PSetNetworkWrapperC2ER14CPsetContainerP7QObject @ 50 NONAME
+	_ZN18PSetNetworkWrapperD0Ev @ 51 NONAME
+	_ZN18PSetNetworkWrapperD1Ev @ 52 NONAME
+	_ZN18PSetNetworkWrapperD2Ev @ 53 NONAME
+	_ZN22PSetCallBarringWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 54 NONAME
+	_ZN22PSetCallBarringWrapper11qt_metacastEPKc @ 55 NONAME
+	_ZN22PSetCallBarringWrapper13barringStatusE6QFlagsI9PsServiceENS_11BarringTypeE @ 56 NONAME
+	_ZN22PSetCallBarringWrapper13enableBarringE6QFlagsI9PsServiceENS_11BarringTypeE7QString @ 57 NONAME
+	_ZN22PSetCallBarringWrapper14disableBarringE6QFlagsI9PsServiceENS_11BarringTypeE7QString @ 58 NONAME
+	_ZN22PSetCallBarringWrapper16staticMetaObjectE @ 59 NONAME DATA 16
+	_ZN22PSetCallBarringWrapper19getStaticMetaObjectEv @ 60 NONAME
+	_ZN22PSetCallBarringWrapper21changeBarringPasswordERK7QStringS2_S2_ @ 61 NONAME
+	_ZN22PSetCallBarringWrapper29barringStatusRequestCompletedEiRK5QListIhENS_13BarringStatusE @ 62 NONAME
+	_ZN22PSetCallBarringWrapper29enableBarringRequestCompletedEiNS_11BarringTypeENS_13BarringStatusEb @ 63 NONAME
+	_ZN22PSetCallBarringWrapper30disableBarringRequestCompletedEiNS_11BarringTypeENS_13BarringStatusEb @ 64 NONAME
+	_ZN22PSetCallBarringWrapper37barringPasswordChangeRequestCompletedEi @ 65 NONAME
+	_ZN22PSetCallBarringWrapperC1ER14CPsetContainerP7QObject @ 66 NONAME
+	_ZN22PSetCallBarringWrapperC2ER14CPsetContainerP7QObject @ 67 NONAME
+	_ZN22PSetCallBarringWrapperD0Ev @ 68 NONAME
+	_ZN22PSetCallBarringWrapperD1Ev @ 69 NONAME
+	_ZN22PSetCallBarringWrapperD2Ev @ 70 NONAME
+	_ZN22PSetCallWaitingWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 71 NONAME
+	_ZN22PSetCallWaitingWrapper11qt_metacastEPKc @ 72 NONAME
+	_ZN22PSetCallWaitingWrapper13cancelProcessEv @ 73 NONAME
+	_ZN22PSetCallWaitingWrapper14setCallWaitingENS_20PsCallWaitingCommandEi @ 74 NONAME
+	_ZN22PSetCallWaitingWrapper16staticMetaObjectE @ 75 NONAME DATA 16
+	_ZN22PSetCallWaitingWrapper19getStaticMetaObjectEv @ 76 NONAME
+	_ZN22PSetCallWaitingWrapper20getCallWaitingStatusEv @ 77 NONAME
+	_ZN22PSetCallWaitingWrapper22handleCallWaitingErrorEi @ 78 NONAME
+	_ZN22PSetCallWaitingWrapper24handleCallWaitingChangedENS_20PsCallWaitingCommandEi @ 79 NONAME
+	_ZN22PSetCallWaitingWrapper26handleCallWaitingGetStatusENS_19PsCallWaitingStatusERK5QListIhE @ 80 NONAME
+	_ZN22PSetCallWaitingWrapper27handleCallWaitingRequestingEbb @ 81 NONAME
+	_ZN22PSetCallWaitingWrapperC1ER14CPsetContainerP7QObject @ 82 NONAME
+	_ZN22PSetCallWaitingWrapperC2ER14CPsetContainerP7QObject @ 83 NONAME
+	_ZN22PSetCallWaitingWrapperD0Ev @ 84 NONAME
+	_ZN22PSetCallWaitingWrapperD1Ev @ 85 NONAME
+	_ZN22PSetCallWaitingWrapperD2Ev @ 86 NONAME
+	_ZN24PSetCallDivertingWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 87 NONAME
+	_ZN24PSetCallDivertingWrapper11qt_metacastEPKc @ 88 NONAME
+	_ZN24PSetCallDivertingWrapper11requestDoneEv @ 89 NONAME
+	_ZN24PSetCallDivertingWrapper13cancelProcessEv @ 90 NONAME
+	_ZN24PSetCallDivertingWrapper16setCallDivertingER22PSCallDivertingCommandi @ 91 NONAME
+	_ZN24PSetCallDivertingWrapper16staticMetaObjectE @ 92 NONAME DATA 16
+	_ZN24PSetCallDivertingWrapper17getDefaultNumbersER11QStringList @ 93 NONAME
+	_ZN24PSetCallDivertingWrapper18handleCFRequestingEbb @ 94 NONAME
+	_ZN24PSetCallDivertingWrapper19getStaticMetaObjectEv @ 95 NONAME
+	_ZN24PSetCallDivertingWrapper19setNewDefaultNumberE7QString @ 96 NONAME
+	_ZN24PSetCallDivertingWrapper20handleDivertingErrorEi @ 97 NONAME
+	_ZN24PSetCallDivertingWrapper21getVoiceMailBoxNumberER7QString9PsService @ 98 NONAME
+	_ZN24PSetCallDivertingWrapper21handleDivertingStatusER5QListIP21PSCallDivertingStatusEb @ 99 NONAME
+	_ZN24PSetCallDivertingWrapper22getCallDivertingStatusE6QFlagsI9PsServiceE24PsCallDivertingConditioni @ 100 NONAME
+	_ZN24PSetCallDivertingWrapper22handleDivertingChangedERK22PSCallDivertingCommandb @ 101 NONAME
+	_ZN24PSetCallDivertingWrapper23queryVoiceMailBoxNumberER7QString9PsService @ 102 NONAME
+	_ZN24PSetCallDivertingWrapperC1ER14CPsetContainerP7QObject @ 103 NONAME
+	_ZN24PSetCallDivertingWrapperC2ER14CPsetContainerP7QObject @ 104 NONAME
+	_ZN24PSetCallDivertingWrapperD0Ev @ 105 NONAME
+	_ZN24PSetCallDivertingWrapperD1Ev @ 106 NONAME
+	_ZN24PSetCallDivertingWrapperD2Ev @ 107 NONAME
+	_ZNK11PSetWrapper10metaObjectEv @ 108 NONAME
+	_ZNK14PSetCliWrapper10metaObjectEv @ 109 NONAME
+	_ZNK18PSetNetworkWrapper10metaObjectEv @ 110 NONAME
+	_ZNK18PSetNetworkWrapper20getNetworkAccessModeEv @ 111 NONAME
+	_ZNK18PSetNetworkWrapper23getNetworkSelectionModeERNS_20NetworkSelectionModeE @ 112 NONAME
+	_ZNK18PSetNetworkWrapper33isManualNetworkSelectionSupportedEv @ 113 NONAME
+	_ZNK22PSetCallBarringWrapper10metaObjectEv @ 114 NONAME
+	_ZNK22PSetCallWaitingWrapper10metaObjectEv @ 115 NONAME
+	_ZNK22PSetCallWaitingWrapper19getCPsetCallWaitingEv @ 116 NONAME
+	_ZNK24PSetCallDivertingWrapper10metaObjectEv @ 117 NONAME
+	_ZNK24PSetCallDivertingWrapper20validateDivertNumberERK7TDesC16 @ 118 NONAME
+	_ZNK24PSetCallDivertingWrapper21getCPsetCallDivertingEv @ 119 NONAME
+	_ZNK24PSetCallDivertingWrapper8findPlusERK7TDesC16 @ 120 NONAME
+	_ZTI11PSetWrapper @ 121 NONAME
+	_ZTI14PSetCliWrapper @ 122 NONAME
+	_ZTI18PSetNetworkWrapper @ 123 NONAME
+	_ZTI22PSetCallBarringWrapper @ 124 NONAME
+	_ZTI22PSetCallWaitingWrapper @ 125 NONAME
+	_ZTI24PSetCallDivertingWrapper @ 126 NONAME
+	_ZTV11PSetWrapper @ 127 NONAME
+	_ZTV14PSetCliWrapper @ 128 NONAME
+	_ZTV18PSetNetworkWrapper @ 129 NONAME
+	_ZTV22PSetCallBarringWrapper @ 130 NONAME
+	_ZTV22PSetCallWaitingWrapper @ 131 NONAME
+	_ZTV24PSetCallDivertingWrapper @ 132 NONAME
+	_ZN18PSetNetworkWrapper38chageVisbilityOfManualNetworkSelectionEb @ 133 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/psetwrapper.pri	Tue Aug 31 15:45:17 2010 +0300
@@ -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 += ../../../../phonesrv_plat/\phone_settings_api/inc/psetcallbarringwrapper.h \
+           ../../../../phonesrv_plat/\phone_settings_api/inc/psetcalldivertingwrapper.h \
+           ../../../../phonesrv_plat/\phone_settings_api/inc/psetcallwaitingwrapper.h \
+           ../../../../phonesrv_plat/\phone_settings_api/inc/psetcliwrapper.h \
+           ../../../../phonesrv_plat/\phone_settings_api/inc/psetnetworkwrapper.h \
+           ../../../../phonesrv_plat/\phone_settings_api/inc/psetwrapper.h \
+           ../../../../phonesrv_plat/\phone_settings_api/inc/psetwrappertypes.h \
+           ./src/psetcallbarringwrapper_p.h \
+           ./src/psetcalldivertingwrapper_p.h \
+           ./src/psetcallwaitingwrapper_p.h \
+           ./src/psetcliwrapper_p.h \
+           ./src/psetnetworkwrapper_p.h
+           
+symbian: {
+    SOURCES += ./src/psetcallbarringwrapper_p.cpp \
+        ./src/psetcalldivertingwrapper_p.cpp \
+        ./src/psetcliwrapper_p.cpp \
+        ./src/psetcallwaitingwrapper_p.cpp \
+        ./src/psetnetworkwrapper_p.cpp \
+        ./src/psetwrapper.cpp \
+        ./src/psetcliwrapper.cpp \
+        ./src/psetcallwaitingwrapper.cpp \
+        ./src/psetcalldivertingwrapper.cpp \
+        ./src/psetnetworkwrapper.cpp \
+        ./src/psetnetworkinfoconverter.cpp \
+        ./src/psetcallbarringwrapper.cpp
+} 
+else: {
+    SOURCES = ./src/psetwrapper_s.cpp
+}
+           
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/psetwrapper.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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: 
+#
+
+TEMPLATE = lib
+TARGET = psetwrapper
+MOC_DIR = moc
+
+INCLUDEPATH += ../../../../phonesrv_plat/phone_settings_api/inc
+SOURCEPATH += src
+
+# Input
+include(psetwrapper.pri)
+    
+DEFINES += BUILD_PSETWRAPPER
+
+symbian: {
+    LIBS += -lsssettings \
+        -lphonesettings \
+        -lcustomapi \
+        -letelmm \
+        -lbafl \
+        -lphoneclient \
+        -lvmbxengine
+
+    load(data_caging_paths)
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.UID3 = 0X20029F20
+    
+    defFiles = \
+    "$${LITERAL_HASH}ifdef WINS" \
+        "DEFFILE bwins/psetwrapper.def" \
+    "$${LITERAL_HASH}else" \
+        "DEFFILE eabi/psetwrapper.def" \
+    "$${LITERAL_HASH}endif"
+    MMP_RULES += defFiles
+    
+    # For sis file
+    dllfile.sources = $${TARGET}.dll
+    dllfile.path = $$SHARED_LIB_DIR
+    DEPLOYMENT += dllfile
+
+    BLD_INF_RULES.prj_exports +=  \
+     "$${LITERAL_HASH}include <platform_paths.hrh>" \
+     "./rom/psetwrapper.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(psetwrapper.iby)"
+
+} else: {
+    DESTDIR = c:\hb\lib
+    DLLDESTDIR = c:\hb\bin
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/rom/psetwrapper.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __PSETWRAPPER_IBY__
+#define __PSETWRAPPER_IBY__
+
+#include <bldvariant.hrh>
+
+file=ABI_DIR\BUILD_DIR\psetwrapper.dll                 SHARED_LIB_DIR\psetwrapper.dll
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/logging.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef LOGGING_H
+#define LOGGING_H
+
+#include <QDebug>
+
+#define DPRINT qDebug() << __PRETTY_FUNCTION__
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallbarringwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#include <psetcontainer.h>
+#include <psetcallbarring.h>
+#include <psetcallbarringwrapper.h>
+#include "psetcallbarringwrapper_p.h"
+#include "logging.h"
+
+/*!
+  PSetCallBarringWrapper::PSetCallBarringWrapper
+ */
+PSetCallBarringWrapper::PSetCallBarringWrapper( 
+    CPsetContainer &psetContainer, 
+    QObject *parent) 
+    : 
+    QObject(parent), 
+    m_privateImpl(new PSetCallBarringWrapperPrivate(*this, psetContainer))
+{
+    DPRINT;
+}
+
+/*!
+  PSetCallBarringWrapper::~PSetCallBarringWrapper
+ */
+PSetCallBarringWrapper::~PSetCallBarringWrapper()
+{
+    DPRINT;
+}
+
+/*!
+  PSetCallBarringWrapper::barringStatus
+ */
+void PSetCallBarringWrapper::barringStatus(
+    PsServiceGroup serviceGroup,
+    BarringType barringType)
+{
+    DPRINT;
+    
+    m_privateImpl->barringStatus(serviceGroup, barringType);
+}
+
+/*!
+  PSetCallBarringWrapper::enableBarring
+ */
+void PSetCallBarringWrapper::enableBarring(
+    PsServiceGroup serviceGroup,
+    BarringType barringType,
+    QString barringPassword)
+{
+    DPRINT;
+    
+    m_privateImpl->enableBarring(serviceGroup, barringType, barringPassword);
+}
+
+/*!
+  PSetCallBarringWrapper::disableBarring
+ */
+void PSetCallBarringWrapper::disableBarring(
+    PsServiceGroup serviceGroup,
+    BarringType barringType,
+    QString barringPassword)
+{
+    DPRINT;
+    
+    m_privateImpl->disableBarring(serviceGroup, barringType, barringPassword);
+}
+
+/*!
+  PSetCallBarringWrapper::changeBarringPassword
+ */
+void PSetCallBarringWrapper::changeBarringPassword(
+    const QString &oldPassword, 
+    const QString &newPassword,
+    const QString &verifiedPassword)
+{
+    DPRINT;
+    
+    m_privateImpl->changeBarringPassword(
+        oldPassword, newPassword, verifiedPassword);
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallbarringwrapper_p.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,473 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#include <psetcontainer.h>
+#include <psetcallbarring.h>
+#include "psetcallbarringwrapper.h"
+#include "psetcallbarringwrapper_p.h"
+#include "logging.h"
+
+TServiceGroup convertServiceGroup(PsServiceGroup serviceGroup)
+{
+    TServiceGroup convertedType = EServiceGroupVoice;
+    switch (serviceGroup) {
+        case ServiceGroupVoice:
+            convertedType = EServiceGroupVoice;
+            break;
+        case ServiceGroupData:
+            convertedType = EServiceGroupData;
+            break;
+        case ServiceGroupFax:
+            convertedType = EServiceGroupFax;
+            break;
+        case ServiceGroupAllTeleservices:
+            convertedType = EServiceGroupAllTeleservices;
+            break;
+        default:
+            break;
+    }
+    
+    return convertedType;
+}
+
+PSetCallBarringWrapper::BarringType convertBarringType(
+    TBarringProgram barringType)
+{
+    PSetCallBarringWrapper::BarringType convertedType = 
+        PSetCallBarringWrapper::BarringTypeAllBarrings;
+    switch (barringType) {
+        case EBarringTypeAllBarrings:
+            convertedType = PSetCallBarringWrapper::BarringTypeAllBarrings;
+            break;
+        case EBarringTypeAllOutgoing:
+            convertedType = PSetCallBarringWrapper::BarringTypeAllOutgoing;
+            break;
+        case EBarringTypeOutgoingInternational:
+            convertedType = PSetCallBarringWrapper::BarringTypeOutgoingInternational;
+            break;
+        case EBarringTypeOutgoingInternationalExceptToHomeCountry:
+            convertedType = PSetCallBarringWrapper::
+                BarringTypeOutgoingInternationalExceptToHomeCountry;
+            break;
+        case EBarringTypeAllIncoming:
+            convertedType = PSetCallBarringWrapper::BarringTypeAllIncoming;
+            break;
+        case EBarringTypeIncomingWhenRoaming:
+            convertedType = PSetCallBarringWrapper::BarringTypeIncomingWhenRoaming;
+            break;
+        case EBarringTypeAllServices:
+            convertedType = PSetCallBarringWrapper::BarringTypeAllServices;
+            break;
+        case EBarringTypeAllOutgoingServices:
+            convertedType = PSetCallBarringWrapper::BarringTypeAllOutgoingServices;
+            break;
+        case EBarringTypeAllIncomingServices:
+            convertedType = PSetCallBarringWrapper::BarringTypeAllIncomingServices;
+            break;
+        default:
+            break;
+    }
+    
+    return convertedType;
+}
+
+TBarringProgram convertBarringType(
+    PSetCallBarringWrapper::BarringType barringType)
+{
+    TBarringProgram convertedType = EBarringTypeAllBarrings;
+    switch (barringType) {
+        case PSetCallBarringWrapper::BarringTypeAllBarrings:
+            convertedType = EBarringTypeAllBarrings;
+            break;
+        case PSetCallBarringWrapper::BarringTypeAllOutgoing:
+            convertedType = EBarringTypeAllOutgoing;
+            break;
+        case PSetCallBarringWrapper::BarringTypeOutgoingInternational:
+            convertedType = EBarringTypeOutgoingInternational;
+            break;
+        case PSetCallBarringWrapper::
+                BarringTypeOutgoingInternationalExceptToHomeCountry:
+            convertedType 
+                = EBarringTypeOutgoingInternationalExceptToHomeCountry;
+            break;
+        case PSetCallBarringWrapper::BarringTypeAllIncoming:
+            convertedType = EBarringTypeAllIncoming;
+            break;
+        case PSetCallBarringWrapper::BarringTypeIncomingWhenRoaming:
+            convertedType = EBarringTypeIncomingWhenRoaming;
+            break;
+        case PSetCallBarringWrapper::BarringTypeAllServices:
+            convertedType = EBarringTypeAllServices;
+            break;
+        case PSetCallBarringWrapper::BarringTypeAllOutgoingServices:
+            convertedType = EBarringTypeAllOutgoingServices;
+            break;
+        case PSetCallBarringWrapper::BarringTypeAllIncomingServices:
+            convertedType = EBarringTypeAllIncomingServices;
+            break;
+        default:
+            break;
+    }
+    
+    return convertedType;
+}
+
+
+PSetCallBarringWrapper::BarringStatus convertBarringStatus(
+    TBarringStatus status)
+{
+    PSetCallBarringWrapper::BarringStatus convertedType = 
+        PSetCallBarringWrapper::BarringStatusUnknown;
+    switch (status) {
+        case EBarringStatusActive:
+            convertedType = PSetCallBarringWrapper::BarringStatusActive;
+            break;
+        case EBarringStatusInactive:
+            convertedType = PSetCallBarringWrapper::BarringStatusInactive;
+            break;
+        case EBarringStatusNotProvisioned:
+            convertedType = 
+                PSetCallBarringWrapper::BarringStatusNotProvisioned;
+            break;
+        case EBarringStatusUnavailable:
+            convertedType = PSetCallBarringWrapper::BarringStatusUnavailable;
+            break;
+        case EBarringStatusUnknown:
+        default:
+            convertedType = PSetCallBarringWrapper::BarringStatusUnknown;
+            break;
+    }
+    
+    return convertedType;
+}
+
+
+/*!
+  PSetCallBarringWrapperPrivate::PSetCallBarringWrapperPrivate
+ */
+PSetCallBarringWrapperPrivate::PSetCallBarringWrapperPrivate( 
+        PSetCallBarringWrapper &owner, CPsetContainer &psetContainer) 
+    : 
+    m_owner(owner),
+    m_callBarring(NULL),
+    m_currentRequest(RequestNone),
+    m_barringError(PSetCallBarringWrapper::BarringErrorNone),
+    m_barringStatus(PSetCallBarringWrapper::BarringStatusUnknown),
+    m_barringType(PSetCallBarringWrapper::BarringTypeAllBarrings),
+    m_plural(false)
+{
+    DPRINT;
+    
+    QT_TRAP_THROWING(
+        m_callBarring = psetContainer.CreateCBObjectL(*this)
+    )
+    
+    m_callBarring->SetRequestObserver(this);
+}
+
+
+/*!
+  PSetCallBarringWrapperPrivate::~PSetCallBarringWrapperPrivate
+ */
+PSetCallBarringWrapperPrivate::~PSetCallBarringWrapperPrivate()
+{
+    DPRINT;
+    
+    delete m_callBarring;
+}
+
+
+/*!
+  PSetCallBarringWrapperPrivate::barringStatus
+ */
+void PSetCallBarringWrapperPrivate::barringStatus(
+    PsServiceGroup serviceGroup,
+    PSetCallBarringWrapper::BarringType barringType)
+{
+    DPRINT;
+    
+    TServiceGroup convertedServiceGroup = convertServiceGroup(serviceGroup);
+    TBarringProgram convertedBarringType = convertBarringType(barringType);
+
+    m_currentRequest = RequestBarringStatus;
+    QT_TRAP_THROWING(m_callBarring->GetBarringStatusL(
+        convertedServiceGroup, convertedBarringType)
+    )
+}
+
+
+/*!
+  PSetCallBarringWrapperPrivate::enableBarring
+ */
+void PSetCallBarringWrapperPrivate::enableBarring(
+        PsServiceGroup serviceGroup,
+        PSetCallBarringWrapper::BarringType barringType,
+        QString barringPassword)
+{
+    DPRINT;
+    
+    TCallBarringSetting setting;
+    setting.iType = convertBarringType(barringType);
+    setting.iSetting = EActivateBarring;
+    setting.iServiceGroup = convertServiceGroup(serviceGroup);
+    setting.iPassword.Copy(barringPassword.utf16());
+    
+    TBasicServiceGroups serviceGroups = EAllTeleAndBearer;
+    
+    m_currentRequest = RequestEnableBarring;
+    QT_TRAP_THROWING(
+        m_callBarring->SetBarringL(setting, serviceGroups);
+    )
+}
+
+
+/*!
+  PSetCallBarringWrapperPrivate::disableBarring
+ */
+void PSetCallBarringWrapperPrivate::disableBarring(
+    PsServiceGroup serviceGroup,
+    PSetCallBarringWrapper::BarringType barringType,
+    QString barringPassword)
+{
+    DPRINT;
+    
+    TCallBarringSetting setting;
+    setting.iType = convertBarringType(barringType);
+    setting.iSetting = ECancelBarring;
+    setting.iServiceGroup = convertServiceGroup(serviceGroup);
+    setting.iPassword.Copy(barringPassword.utf16());
+    
+    TBasicServiceGroups serviceGroups = EAllTeleAndBearer;
+
+    m_currentRequest = RequestDisableBarring;
+    QT_TRAP_THROWING(
+        m_callBarring->SetBarringL(setting, serviceGroups);
+    )    
+}
+
+
+/*!
+  PSetCallBarringWrapperPrivate::changeBarringPassword
+ */
+void PSetCallBarringWrapperPrivate::changeBarringPassword(
+    const QString &oldPassword,
+    const QString &newPassword,
+    const QString &verifiedPassword)
+{
+    RMobilePhone::TMobilePhonePasswordChangeV2 passwordChange;
+    passwordChange.iOldPassword.Copy(oldPassword.utf16());
+    passwordChange.iNewPassword.Copy(newPassword.utf16());
+    passwordChange.iVerifiedPassword.Copy(verifiedPassword.utf16());
+    
+    m_currentRequest = RequestChangePassword;
+    QT_TRAP_THROWING(
+        m_callBarring->ChangePasswordL(passwordChange);
+    )
+}
+
+
+/*!
+  From MPsetBarringObserver.
+  PSetCallBarringWrapperPrivate::HandleBarringModeChangedL
+ */
+void PSetCallBarringWrapperPrivate::HandleBarringModeChangedL( 
+    TBarringProgram aType, 
+    TBarringStatus aStatus, 
+    TBool aPlural )
+{
+    DPRINT;
+    Q_ASSERT(RequestEnableBarring == m_currentRequest || 
+             RequestDisableBarring == m_currentRequest);
+    
+    m_barringType = convertBarringType(aType);
+    m_barringError = PSetCallBarringWrapper::BarringErrorNone;
+    m_barringStatus = convertBarringStatus(aStatus);
+    m_plural = static_cast<bool>(aPlural);
+}
+
+
+/*!
+  From MPsetBarringObserver.
+  PSetCallBarringWrapperPrivate::HandleBarringModeStatusL
+ */
+void PSetCallBarringWrapperPrivate::HandleBarringModeStatusL( 
+    TUint8 aBsc[KPSetNumberOfBsc], 
+    TBarringStatus aStatus )
+{
+    DPRINT;
+    Q_ASSERT(RequestBarringStatus == m_currentRequest);
+    
+    m_barringError = PSetCallBarringWrapper::BarringErrorNone;
+    QT_TRYCATCH_LEAVING(
+        int index = 0;
+        unsigned char groupIdCandidate = aBsc[index];
+        while ((groupIdCandidate 
+                != static_cast<unsigned char>(KPSetUnusedValue))) {
+            m_basicServiceGroupIds << groupIdCandidate;
+            groupIdCandidate = aBsc[++index];
+        }
+    )
+    m_barringStatus = convertBarringStatus(aStatus);
+}
+
+
+/*!
+  From MPsetBarringObserver.
+  PSetCallBarringWrapperPrivate::HandleBarringErrorL
+ */
+void PSetCallBarringWrapperPrivate::HandleBarringErrorL( 
+    TInt aReason )
+{
+    DPRINT;
+    Q_UNUSED(aReason)
+    
+    m_barringError = aReason;
+    m_basicServiceGroupIds.clear();
+    m_barringStatus = PSetCallBarringWrapper::BarringStatusUnknown;
+    m_plural = false;
+}
+
+
+/*!
+  From MPsetBarringObserver.
+  PSetCallBarringWrapperPrivate::HandleCBRequestingL
+ */
+void PSetCallBarringWrapperPrivate::HandleCBRequestingL( 
+    TBool aTrue, 
+    TBool aInterrupted )
+{
+    DPRINT;
+    
+    Q_UNUSED(aTrue)
+    Q_UNUSED(aInterrupted)
+}
+
+
+/*!
+  From MPsetBarringObserver.
+  PSetCallBarringWrapperPrivate::SetEngineContact
+ */
+void PSetCallBarringWrapperPrivate::SetEngineContact( 
+    MPsetCallBarring* aBarringEngine )
+{
+    DPRINT;
+    
+    Q_UNUSED(aBarringEngine)
+}
+
+
+/*!
+  From MPsetBarringObserver.
+  PSetCallBarringWrapperPrivate::CbPasswordChangedL
+ */
+void PSetCallBarringWrapperPrivate::CbPasswordChangedL( 
+    TBool aSuccess )
+{
+    DPRINT;
+    
+    if (aSuccess) {
+        m_barringError = PSetCallBarringWrapper::BarringErrorNone;
+    } else {
+        m_barringError = KErrGsmSSNegativePasswordCheck;
+    }
+}
+
+
+/*!
+  From MPsetRequestObserver.
+  PSetCallBarringWrapperPrivate::RequestComplete
+ */
+void PSetCallBarringWrapperPrivate::RequestComplete()
+{
+    DPRINT;
+    Q_ASSERT(RequestNone != m_currentRequest);
+    BarringRequest completedRequest = m_currentRequest;
+    m_currentRequest = RequestNone;
+    
+    switch (completedRequest)
+    {
+        case RequestBarringStatus:
+        {
+            int errorCode = 0;
+            QT_TRYCATCH_ERROR( errorCode,
+                emit m_owner.barringStatusRequestCompleted(
+                    m_barringError,
+                    m_basicServiceGroupIds, 
+                    m_barringStatus);
+            )
+            DPRINT << "RequestBarringStatus ERROR:" << errorCode;
+            break;
+        }
+        
+        case RequestEnableBarring:
+        {
+            int errorCode = 0;
+            QT_TRYCATCH_ERROR( errorCode,
+                emit m_owner.enableBarringRequestCompleted(
+                    m_barringError,
+                    m_barringType,
+                    m_barringStatus, 
+                    m_plural);
+            )
+            DPRINT << "RequestEnableBarring ERROR:" << errorCode;
+            break;
+        }
+        
+        case RequestDisableBarring:
+        {
+            int errorCode = 0;
+            QT_TRYCATCH_ERROR( errorCode,
+                emit m_owner.disableBarringRequestCompleted(
+                    m_barringError,
+                    m_barringType,
+                    m_barringStatus, 
+                    m_plural);
+            )
+            DPRINT << "RequestDisableBarring ERROR:" << errorCode;
+            break;
+        }
+        
+        case RequestChangePassword:
+        {
+            int errorCode = 0;
+            QT_TRYCATCH_ERROR( errorCode,
+                emit m_owner.barringPasswordChangeRequestCompleted(
+                    m_barringError);
+            )
+            DPRINT << "RequestChangePassword ERROR:" << errorCode;
+            break;
+        }
+        
+        default:
+            break;
+    }
+}
+
+
+/*!
+  From MPsetRequestObserver.
+  PSetCallBarringWrapperPrivate::RequestStatusChanged
+ */
+void PSetCallBarringWrapperPrivate::RequestStatusChanged( 
+    TInt aNewStatus)
+{
+    DPRINT;
+    Q_UNUSED(aNewStatus)
+    Q_ASSERT(RequestNone != m_currentRequest);
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallbarringwrapper_p.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 PSETCALLBARRINGWRAPPER_P_H
+#define PSETCALLBARRINGWRAPPER_P_H
+
+#include <mpsetbarringobs.h>
+#include <mpsetrequestobs.h>
+#include <nwdefs.h>
+#include <psetcallbarringwrapper.h>
+
+// Forward declarations
+class PSetCallBarringWrapper;
+class CPsetContainer;
+class CPsetCallBarring;
+
+class PSetCallBarringWrapperPrivate 
+    : public MPsetBarringObserver, public MPsetRequestObserver
+{
+public:
+    
+    enum BarringRequest
+    {
+        RequestNone,
+        RequestBarringStatus,
+        RequestEnableBarring,
+        RequestDisableBarring,
+        RequestChangePassword
+    };
+    
+public:
+    
+    PSetCallBarringWrapperPrivate(
+        PSetCallBarringWrapper &owner,
+        CPsetContainer &psetContainer);
+    
+    ~PSetCallBarringWrapperPrivate();
+    
+    void barringStatus(
+        PsServiceGroup serviceGroup, 
+        PSetCallBarringWrapper::BarringType barringType);
+    
+    void enableBarring(
+        PsServiceGroup serviceGroup,
+        PSetCallBarringWrapper::BarringType barringType,
+        QString barringPassword);
+    
+    void disableBarring(
+        PsServiceGroup serviceGroup,
+        PSetCallBarringWrapper::BarringType barringType,
+        QString barringPassword);
+    
+    void changeBarringPassword(
+        const QString &oldPassword, 
+        const QString &newPassword,
+        const QString &verifiedPassword);
+    
+public: // From MPsetBarringObserver
+    
+    /**
+     * From MPsetBarringObserver.
+     * @see MPsetBarringObserver.
+     */
+    void HandleBarringModeChangedL( 
+        TBarringProgram aType, 
+        TBarringStatus aStatus, 
+        TBool aPlural );        
+    
+    /**
+     * From MPsetBarringObserver.
+     * @see MPsetBarringObserver.
+     */
+    void HandleBarringModeStatusL( 
+        TUint8 aBsc[KPSetNumberOfBsc], 
+        TBarringStatus aStatus );
+    
+    /**
+     * From MPsetBarringObserver.
+     * @see MPsetBarringObserver.
+     */
+    void HandleBarringErrorL( 
+        TInt aReason );
+
+    /**
+     * From MPsetBarringObserver.
+     * @see MPsetBarringObserver.
+     */
+    void HandleCBRequestingL( 
+        TBool aTrue, 
+        TBool aInterrupted ); 
+    
+    /**
+     * From MPsetBarringObserver.
+     * @see MPsetBarringObserver.
+     */
+    void SetEngineContact( 
+        MPsetCallBarring* aBarringEngine );
+
+    /**
+     * From MPsetBarringObserver.
+     * @see MPsetBarringObserver.
+     */
+    void CbPasswordChangedL( 
+        TBool aSuccess );
+
+public: // From MPsetRequestObserver
+    
+    /**
+     * From MPsetRequestObserver.
+     * @see MPsetRequestObserver.
+     */
+    void RequestComplete();
+
+    /**
+     * From MPsetRequestObserver.
+     * @see MPsetRequestObserver.
+     */
+    void RequestStatusChanged( 
+        TInt aNewStatus);
+    
+private: 
+    
+    /** Owner. */
+    PSetCallBarringWrapper &m_owner;
+    
+    /** Call barring supplementary service handler. */
+    CPsetCallBarring *m_callBarring;
+    
+    /** Current barring request. */
+    BarringRequest m_currentRequest;
+    
+    /** Error info from last completed request. */
+    int m_barringError;
+    
+    /** Basic service group identifiers from last completed request. */
+    QList<unsigned char> m_basicServiceGroupIds;
+    
+    /** Barring status from last completed request. */
+    PSetCallBarringWrapper::BarringStatus m_barringStatus;
+    
+    /** Barring type from last completed request. */
+    PSetCallBarringWrapper::BarringType m_barringType;
+    
+    /** Plurality from last completed request. */
+    bool m_plural;
+};
+
+#endif // PSETCALLBARRINGWRAPPER_P
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcalldivertingwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,376 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#include <QtGlobal>
+#include <rsssettings.h>
+#include <psetcontainer.h>
+#include <psetcalldiverting.h>
+#include <mmlist.h>
+#include <cphcltemergencycall.h>
+#include <badesca.h>
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+#include "psetcalldivertingwrapper.h"
+#include "psetcalldivertingwrapper_p.h"
+#include "logging.h"
+
+//Constant
+_LIT(KCFInvalidChars,"*#pw");
+_LIT(KCFPlusSign,"+");
+
+/*!
+  PSetCallDivertingWrapper::PSetCallDivertingWrapper
+ */
+PSetCallDivertingWrapper::PSetCallDivertingWrapper(
+        CPsetContainer &psetContainer, 
+        QObject *parent) :
+    QObject(parent), m_psetCallDiverting(NULL), m_emergencyCall(NULL), 
+    m_DefaultNumberListCDes(NULL), m_Priv(NULL)
+{
+    DPRINT << ": IN";
+    
+    m_Priv = new PSetCallDivertingWrapperPrivate(*this);
+    QScopedPointer<PSetCallDivertingWrapperPrivate> privateImplGuard(m_Priv);
+    
+    QT_TRAP_THROWING(
+        m_psetCallDiverting = psetContainer.CreateCFObjectL( *m_Priv ));
+    m_psetCallDiverting->SetRequestObserver(m_Priv);
+	QScopedPointer<CPsetCallDiverting> pSetCallDivertingGuard(m_psetCallDiverting);
+    
+    QT_TRAP_THROWING(m_emergencyCall = CPhCltEmergencyCall::NewL( m_Priv ));
+    QScopedPointer<CPhCltEmergencyCall> emergencyCallGuard(m_emergencyCall);
+    
+    privateImplGuard.take();
+    pSetCallDivertingGuard.take();
+    emergencyCallGuard.take();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  PSetCallDivertingWrapper::~PSetCallDivertingWrapper
+ */
+PSetCallDivertingWrapper::~PSetCallDivertingWrapper()
+{
+    DPRINT << ": IN";
+    
+    delete m_psetCallDiverting;
+    delete m_emergencyCall;
+    
+    if (m_DefaultNumberListCDes) {
+        m_DefaultNumberListCDes->Reset();
+        delete m_DefaultNumberListCDes;
+    }
+    
+    delete m_Priv;
+    
+    DPRINT << ": OUT";
+}
+
+// --------  Wrapper interface  --------- // 
+/*!
+  PSetCallDivertingWrapper::setCallDiverting
+ */
+int PSetCallDivertingWrapper::setCallDiverting(
+        PSCallDivertingCommand& aSetting, int aBasicServiceGroup)
+{
+    DPRINT << ": IN";
+
+    TCallDivertSetting param;
+    param.iCondition = m_Priv->convert(aSetting.iCondition);
+    param.iSetting = m_Priv->convert(aSetting.iSetting);
+    param.iStatus = m_Priv->convert(aSetting.iStatus);
+    param.iServiceGroup = m_Priv->convert(aSetting.iServiceGroup);
+    param.iNumber = TPtrC16(aSetting.iNumber.utf16());
+    param.iNoReplyTimer = aSetting.iNoReplyTimer;
+    
+    int result = validateDivertNumber(param.iNumber);
+    if (0 == result) {
+        QT_TRAP_THROWING(
+            m_psetCallDiverting->SetDivertingL(
+                param,
+                static_cast<TBasicServiceGroups>(aBasicServiceGroup)));
+    } 
+    
+    DPRINT << ": OUT";
+    return result;
+}
+
+/*!
+  PSetCallDivertingWrapper::getCallDivertingStatus
+ */
+void PSetCallDivertingWrapper::getCallDivertingStatus(
+        const PsServiceGroup aServiceGroup, 
+        const PsCallDivertingCondition aCondition,
+        int aBsc)
+{
+    DPRINT << ": IN";
+    DPRINT << "aServiceGroup : " << aServiceGroup;
+    DPRINT << "aCondition : " << aCondition;
+    
+    QT_TRAP_THROWING(
+        m_psetCallDiverting->GetDivertingStatusL(
+            m_Priv->convert(aServiceGroup),
+            m_Priv->convert(aCondition),
+            (TBasicServiceGroups)aBsc));
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  PSetCallDivertingWrapper::cancelProcess
+ */
+void PSetCallDivertingWrapper::cancelProcess()
+{
+    DPRINT << ": IN";
+    
+    m_psetCallDiverting->CancelCurrentRequest();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  PSetCallDivertingWrapper::getDefaultNumbers
+ */
+void PSetCallDivertingWrapper::getDefaultNumbers(QStringList &aDefNumbers)
+{
+    // QStringList?, max 3 numbers to retrieve.
+
+    DPRINT << ": IN";
+
+    while (!m_DefaultnumberListQSList.empty()) {
+        m_DefaultnumberListQSList.removeFirst();
+    }
+    m_DefaultNumberListCDes = new CDesC16ArrayFlat(3);
+    QT_TRAP_THROWING(
+        m_psetCallDiverting->GetDefaultNumbersL(*m_DefaultNumberListCDes));
+    int count = m_DefaultNumberListCDes->Count();
+    for (int i = 0; i < count; i++) {
+        m_DefaultnumberListQSList.append(QString::fromUtf16(
+            m_DefaultNumberListCDes->MdcaPoint(i).Ptr(),
+            m_DefaultNumberListCDes->MdcaPoint(i).Length()));
+    }
+    aDefNumbers = m_DefaultnumberListQSList;
+    m_DefaultNumberListCDes->Reset();
+    delete m_DefaultNumberListCDes;
+    m_DefaultNumberListCDes = NULL;
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  PSetCallDivertingWrapper::setNewDefaultNumber
+ */
+void PSetCallDivertingWrapper::setNewDefaultNumber(QString aNumber)
+{
+    DPRINT << ": IN";
+    
+    TBuf<KPsetPhoneNumberLength> bufNumber(aNumber.utf16());
+    TInt found(KErrNotFound);
+    TInt loc(KErrNotFound);
+    m_DefaultNumberListCDes = new CDesC16ArrayFlat(3);
+    QT_TRAP_THROWING(
+        m_psetCallDiverting->GetDefaultNumbersL(*m_DefaultNumberListCDes));
+    found = m_DefaultNumberListCDes->Find(bufNumber, loc);
+    m_DefaultNumberListCDes->Reset();
+    delete m_DefaultNumberListCDes;
+    m_DefaultNumberListCDes = NULL;
+    if (found != KErrNone) { //number is not part of current def.numbers
+        QT_TRAP_THROWING(
+            m_psetCallDiverting->SetNewDefaultNumberL(bufNumber));
+    } else {
+        QT_TRAP_THROWING(
+            m_psetCallDiverting->SwapDefaultNumberL(loc+1));
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+ * PSetCallDivertingWrapper::getVoiceMailBoxNumber
+ * @param aNumber empty if not set
+ * @return -1 if not supported
+ */
+int PSetCallDivertingWrapper::getVoiceMailBoxNumber(
+        QString &aNumber, PsService aService)
+{
+    DPRINT << ": IN";
+
+    CVoiceMailboxEntry* psetVoiceMailboxEntry = NULL;
+    CVoiceMailbox* psetVoiceMailBoxScoped = NULL;
+    QT_TRAP_THROWING(psetVoiceMailBoxScoped = CVoiceMailbox::NewL());
+    QScopedPointer<CVoiceMailbox> psetVoiceMailBox(psetVoiceMailBoxScoped);
+
+    TVoiceMailboxParams psetVoiceMailboxParams;
+    // Selected mailbox type is voice
+    psetVoiceMailboxParams.iType = m_Priv->convert(aService);
+    psetVoiceMailboxEntry = 0;
+    int ret = 0;
+    TInt error = psetVoiceMailBox->GetStoredEntry(
+            psetVoiceMailboxParams, psetVoiceMailboxEntry);
+    DPRINT << "error: " << error;
+    if (KErrNotSupported == error) {
+        ret = -1;
+    } else if (KErrNone == error) {
+        // Entry ok, check the number
+        TPtrC ptrNumber(KNullDesC);
+        if (KErrNone == psetVoiceMailboxEntry->GetVmbxNumber(ptrNumber)) {
+            // number ok
+            aNumber = QString::fromUtf16(ptrNumber.Ptr(),
+                    ptrNumber.Length());
+        }
+        
+    } else {
+        // illegal argument
+    }
+
+    delete psetVoiceMailboxEntry; // Entry ownership was transferred
+    psetVoiceMailboxEntry = NULL;
+
+    DPRINT << "aVmbxNumber: " << aNumber;
+    DPRINT << ": OUT";
+    return ret;
+}
+
+/*!
+ * PSetCallDivertingWrapper::queryVoiceMailBoxNumber
+ * @param aNumber empty if not set
+ * @return -1 if not supported
+ */
+int PSetCallDivertingWrapper::queryVoiceMailBoxNumber(
+        QString &aNumber, PsService aService)
+{
+    DPRINT << ": IN";
+
+    CVoiceMailboxEntry* psetVoiceMailboxEntry = NULL;
+    CVoiceMailbox* psetVoiceMailBoxScoped = NULL;
+    QT_TRAP_THROWING(psetVoiceMailBoxScoped = CVoiceMailbox::NewL());
+    QScopedPointer<CVoiceMailbox> psetVoiceMailBox(psetVoiceMailBoxScoped);
+
+    TVoiceMailboxParams psetVoiceMailboxParams;
+    // Selected mailbox type is voice
+    psetVoiceMailboxParams.iType = m_Priv->convert(aService);
+    psetVoiceMailboxEntry = 0;
+    int ret = 0;
+    TInt error = psetVoiceMailBox->GetStoredEntry(
+            psetVoiceMailboxParams, psetVoiceMailboxEntry);
+    
+    if (KErrNotSupported == error) {
+        ret = -1;
+    } else if (KErrNone == error || KErrNotFound == error) {
+        // No number defined, query new entry from user
+        error = psetVoiceMailBox->QueryNewEntry(
+                psetVoiceMailboxParams, psetVoiceMailboxEntry);
+
+        if (KErrNone == error) {
+            // Save new entry and get the number.
+            error = psetVoiceMailBox->SaveEntry( *psetVoiceMailboxEntry );
+            TPtrC ptrNumber( KNullDesC );
+            if ( KErrNone == psetVoiceMailboxEntry->GetVmbxNumber( ptrNumber )) {
+                // New number ok.
+                aNumber = QString::fromUtf16(ptrNumber.Ptr(),
+                        ptrNumber.Length());
+            }
+        
+        } else {
+            // New number not given.
+            DPRINT << "New number error: " << error;
+        }
+    } else {
+        // illegal argument 
+        DPRINT << "error: " << error;
+    }
+
+    delete psetVoiceMailboxEntry; // Entry ownership was transferred
+    psetVoiceMailboxEntry = NULL;
+
+    DPRINT << "aVmbxNumber: " << aNumber;
+    DPRINT << ": OUT";
+    return ret;
+}
+
+/*!
+  PSetCallDivertingWrapper::validateDivertNumber
+ */
+int PSetCallDivertingWrapper::validateDivertNumber(
+        const TDesC16& aDivertTo) const
+{
+    DPRINT << ": IN ";
+    
+    int result = 0;
+    
+    QString diverto = QString::fromUtf16(aDivertTo.Ptr(),aDivertTo.Length());
+    DPRINT << "aDivertTo: " << diverto;
+    TInt noOfInvalidChars = KCFInvalidChars().Length();
+    TBool isEmergency(EFalse);
+    TTelNumber number;
+    TInt error = m_emergencyCall->IsEmergencyPhoneNumber(aDivertTo, number,
+            isEmergency);
+    if ((error == KErrNone) && isEmergency) {
+        result = KErrGsmSSIllegalOperation;
+        DPRINT << ": emergency number.";
+    } else {
+        // Plus is a special case, as it is accepted as first character.
+        if (findPlus(aDivertTo)) {
+            result = KErrGsmSSUnknownAlphabet;
+        }
+        for (int index = 0; index < noOfInvalidChars; index++) {
+            if (aDivertTo.Find(KCFInvalidChars().Mid(index, 1)) == KErrNone) {
+                result = KErrGsmSSUnknownAlphabet;
+                DPRINT << ": Invalid divert number. ";
+            }
+        }
+    }
+
+    DPRINT << ": OUT : result " << result;
+    return result;
+}
+
+/*!
+  PSetCallDivertingWrapper::findPlus
+  Seeks '+' from given number. If '+' is first character, it is ignored.
+ */
+bool PSetCallDivertingWrapper::findPlus(const TDesC16& aDivertTo) const
+{
+    DPRINT << ": IN ";
+
+    bool plusFound(false);
+    if (!(aDivertTo.Find(KCFPlusSign) == KErrNotFound)) {
+        //first char '+', but there can additional '+'s
+        //ignore first '+'
+        TPtrC concat = aDivertTo.Right(aDivertTo.Length() - 1);
+        if (concat.Find(KCFPlusSign) == KErrNone) {
+            plusFound = true;
+            DPRINT << ": Invalid divert number. ";
+        }
+    }
+
+    DPRINT << ": OUT : plusFound " << plusFound;
+    return plusFound;
+}
+
+/**
+ * Get CPsetCallDiverting reference.
+ */
+CPsetCallDiverting &  PSetCallDivertingWrapper::getCPsetCallDiverting() const
+    {
+    DPRINT;
+    
+    return *m_psetCallDiverting;
+    }
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcalldivertingwrapper_p.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,464 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this 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 "psetcalldivertingwrapper_p.h"
+#include "logging.h"
+
+/*!
+  PSetCallDivertingWrapperPrivate::PSetCallDivertingWrapperPrivate
+ */
+PSetCallDivertingWrapperPrivate::PSetCallDivertingWrapperPrivate(
+        PSetCallDivertingWrapper &owner) :
+    m_Owner(owner)
+{
+    DPRINT;
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::~PSetCallDivertingWrapperPrivate
+ */
+PSetCallDivertingWrapperPrivate::~PSetCallDivertingWrapperPrivate()
+{
+    DPRINT;
+    while (!m_DivertingStatusList.empty()) {
+        DPRINT << "m_DivertingStatusList item to be deleted";
+        delete  m_DivertingStatusList.takeFirst();
+    }
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::HandleDivertingChangedL
+ */
+void PSetCallDivertingWrapperPrivate::HandleDivertingChangedL(
+        const TCallDivertSetting& aSetting, TBool aPlural)
+{
+    DPRINT << ": IN ";
+    
+    m_callDivertingSetting.iCondition = convert(aSetting.iCondition);
+    m_callDivertingSetting.iStatus = convert(aSetting.iStatus);
+    m_callDivertingSetting.iSetting = 
+        static_cast<PsCallDivertingSetting>(aSetting.iSetting);
+    m_callDivertingSetting.iServiceGroup = convert(aSetting.iServiceGroup);
+    m_callDivertingSetting.iNumber = 
+        QString::fromUtf16(aSetting.iNumber.Ptr(), aSetting.iNumber.Length());
+    m_callDivertingSetting.iNoReplyTimer = aSetting.iNoReplyTimer;
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleDivertingChanged(m_callDivertingSetting, aPlural));
+
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::HandleDivertingStatusL
+ */
+void PSetCallDivertingWrapperPrivate::HandleDivertingStatusL(
+        CMobilePhoneCFList& aSetting, TBool aPlural)
+{
+    DPRINT << ": IN ";
+
+    // reset list
+    while (!m_DivertingStatusList.empty()) {
+        PSCallDivertingStatus* divertingStatus =
+            m_DivertingStatusList.takeFirst();
+        DPRINT << ": delete :  " << divertingStatus;
+        delete divertingStatus;
+    }
+    TInt entries = aSetting.Enumerate();
+    TInt numberOfBscs = 0;
+    RMobilePhone::TMobilePhoneCFInfoEntryV1 cfInfo;
+    while (entries > numberOfBscs) {
+        cfInfo = aSetting.GetEntryL(numberOfBscs);
+        PSCallDivertingStatus* divertingStatus =
+            new (ELeave) PSCallDivertingStatus();
+        divertingStatus->iCondition = convert(cfInfo.iCondition);
+        divertingStatus->iServiceGroup = convert(cfInfo.iServiceGroup);
+        divertingStatus->iStatus = convert(cfInfo.iStatus);
+        divertingStatus->iNumber = QString::fromUtf16(
+            cfInfo.iNumber.iTelNumber.Ptr(),
+            cfInfo.iNumber.iTelNumber.Length());
+        divertingStatus->iTimeout = cfInfo.iTimeout;
+        m_DivertingStatusList.append(divertingStatus);
+        numberOfBscs++;
+    }
+
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleDivertingStatus(m_DivertingStatusList,aPlural));
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::HandleDivertingErrorL
+ */
+void PSetCallDivertingWrapperPrivate::HandleDivertingErrorL(TInt aReason)
+{
+    DPRINT << ": IN : aReason" << aReason;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleDivertingError(aReason));
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::HandleCFRequestingL
+ */
+void PSetCallDivertingWrapperPrivate::HandleCFRequestingL(TBool aOngoing,
+        TBool aInterrupted)
+{
+    DPRINT << ": IN ";
+
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCFRequesting(aOngoing, aInterrupted));
+
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::SetEngineContact
+ */
+void PSetCallDivertingWrapperPrivate::SetEngineContact(
+        MPsetCallDiverting* aDivertEngine)
+{
+    DPRINT << ": IN ";
+    
+    Q_UNUSED(aDivertEngine);
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::HandleEmergencyDialL
+ */
+void PSetCallDivertingWrapperPrivate::HandleEmergencyDialL(const TInt aStatus)
+{
+    DPRINT << ": IN ";
+    
+    Q_UNUSED(aStatus);
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::RequestComplete
+ */
+void PSetCallDivertingWrapperPrivate::RequestComplete()
+{
+    DPRINT << ": IN ";
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.requestDone());
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::RequestStatusChanged
+ */
+void PSetCallDivertingWrapperPrivate::RequestStatusChanged(TInt aNewStatus)
+{
+    DPRINT << ": IN ";
+    Q_UNUSED(aNewStatus);
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+PsCallDivertingCondition PSetCallDivertingWrapperPrivate::convert(
+         TCallDivertingCondition type)
+{
+    switch (type) {
+    case EDivertConditionUnconditional:
+        return DivertConditionUnconditional;
+    case EDivertConditionBusy:
+        return DivertConditionBusy;
+    case EDivertConditionNoReply:
+        return DivertConditionNoReply;
+    case EDivertConditionNotReachable:
+        return DivertConditionNotReachable;
+    case EDivertConditionAllCalls:
+        return DivertConditionAllCalls;
+    case EDivertConditionAllConditionalCases:
+        return DivertConditionAllConditionalCases;
+    default:
+        break;
+    }
+    return DivertConditionUnknown;
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+TCallDivertingCondition PSetCallDivertingWrapperPrivate::convert(
+        PsCallDivertingCondition type)
+{
+    switch (type) {
+    case DivertConditionUnconditional:
+        return EDivertConditionUnconditional;
+    case DivertConditionBusy:
+        return EDivertConditionBusy;
+    case DivertConditionNoReply:
+        return EDivertConditionNoReply;
+    case DivertConditionNotReachable:
+        return EDivertConditionNotReachable;
+    case DivertConditionAllCalls:
+        return EDivertConditionAllCalls;
+    case DivertConditionAllConditionalCases:
+        return EDivertConditionAllConditionalCases;
+    default:
+        break;
+    }
+    return EDivertConditionUnconditional;
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+PsCallDivertingCondition PSetCallDivertingWrapperPrivate::convert(
+        RMobilePhone::TMobilePhoneCFCondition type)
+{
+    switch (type) {
+    case RMobilePhone::ECallForwardingUnconditional:
+        return DivertConditionUnconditional;
+    case RMobilePhone::ECallForwardingBusy:
+        return DivertConditionBusy;
+    case RMobilePhone::ECallForwardingNoReply:
+        return DivertConditionNoReply;
+    case RMobilePhone::ECallForwardingNotReachable:
+        return DivertConditionNotReachable;
+    case RMobilePhone::ECallForwardingAllCases:
+        return DivertConditionAllCalls;
+    case RMobilePhone::ECallForwardingAllConditionalCases:
+        return DivertConditionAllConditionalCases;
+    default:
+        break;
+    }
+    return DivertConditionUnknown;
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+PsCallDivertingStatus PSetCallDivertingWrapperPrivate::convert(
+        TDivertingStatus type)
+{
+    switch (type) {
+    case EDivertingStatusActive:
+        return DivertingStatusActive;
+    case EDivertingStatusInactive:
+        return DivertingStatusInactive;
+    case EDivertingStatusNotRegistered:
+        return DivertingStatusNotRegistered;
+    case EDivertingStatusNotProvisioned:
+        return DivertingStatusNotProvisioned;
+    default:
+        break;
+    }
+    return DivertingStatusUnknown;
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+TDivertingStatus PSetCallDivertingWrapperPrivate::convert(
+        PsCallDivertingStatus type)
+{
+    switch (type) {
+    case DivertingStatusActive:
+        return EDivertingStatusActive;
+    case DivertingStatusInactive:
+        return EDivertingStatusInactive;
+    case DivertingStatusNotRegistered:
+        return EDivertingStatusNotRegistered;
+    case DivertingStatusNotProvisioned:
+        return EDivertingStatusNotProvisioned;
+    default:
+        break;
+    }
+    return EDivertingStatusUnknown;
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+PsCallDivertingStatus PSetCallDivertingWrapperPrivate::convert(
+        RMobilePhone::TMobilePhoneCFStatus type)
+{
+    switch (type) {
+    case RMobilePhone::ECallForwardingStatusActive:
+        return DivertingStatusActive;
+    case RMobilePhone::ECallForwardingStatusNotActive:
+        return DivertingStatusInactive;
+    case RMobilePhone::ECallForwardingStatusNotRegistered:
+        return DivertingStatusNotRegistered;
+    case RMobilePhone::ECallForwardingStatusNotProvisioned:
+        return DivertingStatusNotProvisioned;
+    default:
+        break;
+    }
+    return DivertingStatusUnknown;
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+PsServiceGroup PSetCallDivertingWrapperPrivate::convert(TServiceGroup type)
+{
+    PsServiceGroup ret(ServiceGroupAllTeleservices);
+    ret &= type;
+    return ret;
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+TServiceGroup PSetCallDivertingWrapperPrivate::convert(PsServiceGroup type)
+{
+    const int tmp = type;
+    TServiceGroup ret = (TServiceGroup)tmp;
+    return ret;
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+TDivertingSetting PSetCallDivertingWrapperPrivate::convert(
+        PsCallDivertingSetting type)
+{
+    switch(type){
+    case ActivateDiverting:
+        return EActivateDiverting;
+    case CancelDiverting:
+        return ECancelDiverting;
+    case RegisterDiverting:
+        return ERegisterDiverting;
+    case EraseDiverting:
+        return EEraseDiverting;
+    case CheckStatus:
+    default:
+        return ECheckStatus;
+    }
+}
+
+/*!
+  PSetCallDivertingWrapperPrivate::convert
+ */
+PsServiceGroup PSetCallDivertingWrapperPrivate::convert(
+        RMobilePhone::TMobileService service )
+{
+    PsServiceGroup ret(0);
+    switch (service) {
+    case RMobilePhone::EAllServices:
+        ret |= ServiceGroupData;
+        ret |= ServiceGroupVoice;
+        ret |= ServiceGroupFax;
+        break;
+    case RMobilePhone::EAllTele:
+    case RMobilePhone::EAllTeleExcSms:
+        ret |= ServiceGroupVoice;
+        ret |= ServiceGroupFax;
+        break;
+    case RMobilePhone::ECircuitDataService:
+    case RMobilePhone::EPacketDataService:
+    case RMobilePhone::EAllDataExSms:
+    case RMobilePhone::ESyncData:
+    case RMobilePhone::EAsyncData:
+    case RMobilePhone::EPacketData:
+    case RMobilePhone::EAllGprsBearer:
+    case RMobilePhone::EAllPlmnBearer:
+    case RMobilePhone::EPlmnBearerServ1:
+    case RMobilePhone::EPlmnBearerServ2:
+    case RMobilePhone::EPlmnBearerServ3:
+    case RMobilePhone::EPlmnBearerServ4:
+    case RMobilePhone::EPlmnBearerServ5:
+    case RMobilePhone::EPlmnBearerServ6:
+    case RMobilePhone::EPlmnBearerServ7:
+    case RMobilePhone::EPlmnBearerServ8:
+    case RMobilePhone::EPlmnBearerServ9:
+    case RMobilePhone::EPlmnBearerServA:
+    case RMobilePhone::EPlmnBearerServB:
+    case RMobilePhone::EPlmnBearerServC:
+    case RMobilePhone::EPlmnBearerServD:
+    case RMobilePhone::EPlmnBearerServE:
+    case RMobilePhone::EPlmnBearerServF:
+    case RMobilePhone::EAllBearer:
+    case RMobilePhone::EPadAccess:
+    case RMobilePhone::EAllAsync:
+    case RMobilePhone::EAllSync:
+        ret |= ServiceGroupData;
+        break;
+    case RMobilePhone::ETelephony:
+    case RMobilePhone::EVoiceService:
+    case RMobilePhone::EAuxVoiceService:
+    case RMobilePhone::EAllPlmnTele:
+    case RMobilePhone::EPlmnTele1:
+    case RMobilePhone::EPlmnTele2:
+    case RMobilePhone::EPlmnTele3:
+    case RMobilePhone::EPlmnTele4:
+    case RMobilePhone::EPlmnTele5:
+    case RMobilePhone::EPlmnTele6:
+    case RMobilePhone::EPlmnTele7:
+    case RMobilePhone::EPlmnTele8:
+    case RMobilePhone::EPlmnTele9:
+    case RMobilePhone::EPlmnTeleA:
+    case RMobilePhone::EPlmnTeleB:
+    case RMobilePhone::EPlmnTeleC:
+    case RMobilePhone::EPlmnTeleD:
+    case RMobilePhone::EPlmnTeleE:
+    case RMobilePhone::EPlmnTeleF:
+    case RMobilePhone::EAltTele:
+        ret |= ServiceGroupVoice;
+        break;
+    case RMobilePhone::EAllDataTele:
+    case RMobilePhone::EFaxService:
+        ret |= ServiceGroupFax;
+        break;
+    case RMobilePhone::EVoiceGroupCall:
+    case RMobilePhone::EVoiceBroadcast:
+    case RMobilePhone::EShortMessageService:
+    case RMobilePhone::EServiceUnspecified:
+    default:
+        // Not supported, skip
+        break;
+    }
+    return ret;
+}
+
+TVmbxType PSetCallDivertingWrapperPrivate::convert(
+        PsService aService)
+{
+    TVmbxType ret = EVmbxNone;
+    switch (aService) {
+    case ServiceGroupVoice:
+        ret = EVmbxVoice;
+        break;
+    case ServiceGroupData:
+        ret = EVmbxVideo;
+        break;
+    case ServiceGroupAllTeleservices:
+    case ServiceGroupFax:
+    case ServiceGroupUnknown:
+    default:
+        ret = EVmbxNone;
+        break;
+    }
+    return ret;
+}
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcalldivertingwrapper_p.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef DIVERTINGOBSERVER_H_
+#define DIVERTINGOBSERVER_H_
+
+#include <mpsetdivertobs.h>
+#include <mphcltemergencycallobserver.h>
+#include <mpsetrequestobs.h>
+#include <voicemailboxdefs.h>
+#include "psetcalldivertingwrapper.h"
+#include "psetwrappertypes.h"
+
+class PSetCallDivertingWrapperPrivate : 
+        public MPsetDivertObserver,
+        public MPhCltEmergencyCallObserver,
+        public MPsetRequestObserver
+{
+public:
+    PSetCallDivertingWrapperPrivate(PSetCallDivertingWrapper &owner);
+
+    virtual ~PSetCallDivertingWrapperPrivate();
+
+public:
+    // Functions from base classes (observer interface):     
+
+    /**
+     * Handles showing notes, when diverts change.
+     *
+     * @param aSetting Setting which was changed.
+     * @param aPlural Plural notes to be used.
+     */
+    void HandleDivertingChangedL(const TCallDivertSetting& aSetting,
+            TBool aPlural);
+
+    /**
+     * Handles showing of status inquiry notes.
+     *
+     * @param aBsc List of basic services.
+     * @param aSetting Divert setting which was queried.
+     * @param aPlural Plural notes to be used.
+     */
+
+    void HandleDivertingStatusL(CMobilePhoneCFList& aSetting, TBool aPlural);
+
+    /**
+     * Handles showing of error notes.
+     *
+     * @param aReason Reason for diverting error.
+     */
+    void HandleDivertingErrorL(TInt aReason);
+
+    /**
+     * Handles requesting notes.
+     *
+     * @param aOngoing Is there a request going on.
+     * @param aInterrupted Request needs to immediately cancelled.
+     */
+    void HandleCFRequestingL(TBool aOngoing, TBool aInterrupted);
+
+    /**
+     * Sets pointer so that message is passed succesfully
+     * from requester to observer.
+     *
+     * @param aDivertEngine Source for the events to observer.
+     */
+    void SetEngineContact(MPsetCallDiverting* aDivertEngine);
+
+public:
+    // From MPhCltEmergencyCallObserver   
+
+    /**
+     * It is called whenever client's dial request is completed.
+     *
+     * @param aStatus error code of the success of the operation.
+     */
+    void HandleEmergencyDialL(const TInt aStatus);
+
+public:
+    // From MPsetRequestObserver
+    /**
+    * Informs the receiver that request has been completed.
+    */
+    void RequestComplete();
+
+    /**
+    * Informs the receiver that request state has changed.
+    * @param new status, or when finished KErrNone or error code.
+    */
+    void RequestStatusChanged( TInt aNewStatus );
+    
+public:
+    TCallDivertingCondition convert(PsCallDivertingCondition type);
+    TDivertingStatus convert(PsCallDivertingStatus type);
+    TServiceGroup convert(PsServiceGroup type);
+    TDivertingSetting convert(PsCallDivertingSetting type);
+    TVmbxType convert(PsService aService);
+    
+private:
+    PsCallDivertingCondition convert(TCallDivertingCondition type);
+    PsCallDivertingCondition convert(RMobilePhone::TMobilePhoneCFCondition type);
+    PsCallDivertingStatus convert(TDivertingStatus type);
+    PsCallDivertingStatus convert(RMobilePhone::TMobilePhoneCFStatus type);
+    PsServiceGroup convert(TServiceGroup type);
+    PsServiceGroup convert(RMobilePhone::TMobileService service);
+    
+    
+private:
+    PSetCallDivertingWrapper &m_Owner;
+
+    QList<PSCallDivertingStatus*> m_DivertingStatusList;
+
+    PSCallDivertingCommand m_callDivertingSetting;
+};
+
+#endif /* DIVERTINGOBSERVER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallwaitingwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <rsssettings.h>
+#include <psetcontainer.h>
+#include <psetcallwaiting.h>
+#include "psetcallwaitingwrapper.h"
+#include "psetcallwaitingwrapper_p.h"
+#include "logging.h"
+
+/*!
+  PSetCallWaitingWrapper::PSetCallWaitingWrapper
+ */
+PSetCallWaitingWrapper::PSetCallWaitingWrapper( 
+        CPsetContainer &psetContainer, 
+        QObject *parent) : 
+        QObject(parent), 
+        m_psetCallWaiting(NULL),
+        m_privateImpl(new PSetCallWaitingWrapperPrivate(*this))
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(m_psetCallWaiting = 
+        psetContainer.CreateCWObjectL(*m_privateImpl));
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallWaitingWrapper::~PSetCallWaitingWrapper
+ */
+PSetCallWaitingWrapper::~PSetCallWaitingWrapper()
+{
+    DPRINT << ": IN ";
+    
+    delete m_psetCallWaiting;
+    
+    DPRINT << ": OUT ";
+}
+    
+// --------  Wrapper interface  --------- // 
+/*!
+  PSetCallWaitingWrapper::setCallWaiting
+ */
+void PSetCallWaitingWrapper::setCallWaiting(PsCallWaitingCommand aSetting, 
+                                            int aBasicServiceGroup )
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(m_psetCallWaiting->SetCallWaitingL(
+        (MPsetCallWaiting::TSetCallWaiting)aSetting, 
+        (TBasicServiceGroups)aBasicServiceGroup));
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallWaitingWrapper::getCallWaitingStatus
+ */
+void PSetCallWaitingWrapper::getCallWaitingStatus()
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(m_psetCallWaiting->GetCallWaitingStatusL());
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallWaitingWrapper::cancelProcess
+ */
+void PSetCallWaitingWrapper::cancelProcess()
+{
+    DPRINT << ": IN ";
+    
+    m_psetCallWaiting->CancelProcess();
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCallWaitingWrapper::getCPsetCallWaiting
+ */
+CPsetCallWaiting &  PSetCallWaitingWrapper::getCPsetCallWaiting() const
+    {
+    DPRINT;
+    
+    return *m_psetCallWaiting;
+    }
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallwaitingwrapper_p.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+ *
+ */
+
+#include <rsssettings.h>
+#include <psetcontainer.h>
+#include <psetcallwaiting.h>
+#include "psetcallwaitingwrapper.h"
+#include "psetcallwaitingwrapper_p.h"
+#include "logging.h"
+
+/*!
+  ConvertToQtType
+ */
+PSetCallWaitingWrapper::PsCallWaitingStatus ConvertToQtType(
+    const MPsetCallWaiting::TGetCallWaitingStatus& status)
+{
+    PSetCallWaitingWrapper::PsCallWaitingStatus convertedType =
+        PSetCallWaitingWrapper::StatusUnknown;
+    
+    switch (status) {
+        case MPsetCallWaiting::EStatusActive:
+            convertedType = PSetCallWaitingWrapper::StatusActive;
+            break;
+        case MPsetCallWaiting::EStatusDisabled:
+            convertedType = PSetCallWaitingWrapper::StatusDisabled;
+            break;
+        case MPsetCallWaiting::EStatusNotAvailable:
+            convertedType = PSetCallWaitingWrapper::StatusNotAvailable;
+            break;
+        case MPsetCallWaiting::EStatusNotProvisioned:
+            convertedType = PSetCallWaitingWrapper::StatusNotProvisioned;
+            break;
+        case MPsetCallWaiting::EStatusUnknown:
+            convertedType = PSetCallWaitingWrapper::StatusUnknown;
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+            break;
+    }
+    
+    return convertedType;
+}
+
+/*!
+  ConvertToQtType
+ */
+PSetCallWaitingWrapper::PsCallWaitingCommand ConvertToQtType(
+    const MPsetCallWaiting::TSetCallWaiting& callWaitingCommand)
+{
+    PSetCallWaitingWrapper::PsCallWaitingCommand convertedType =
+        PSetCallWaitingWrapper::ActivateCallWaiting;
+    
+    switch (callWaitingCommand) {
+        case MPsetCallWaiting::EActivateCallWaiting:
+            convertedType = PSetCallWaitingWrapper::ActivateCallWaiting;
+            break;
+        case MPsetCallWaiting::EDeactivateCallWaiting:
+            convertedType = PSetCallWaitingWrapper::DeactivateCallWaiting;
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+            break;
+    }
+    
+    return convertedType;
+}
+    
+/*!
+  PSetCallWaitingWrapperPrivate::PSetCallWaitingWrapperPrivate
+ */
+PSetCallWaitingWrapperPrivate::PSetCallWaitingWrapperPrivate( 
+        PSetCallWaitingWrapper &owner ) : m_Owner(owner)
+{
+    DPRINT;
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::~PSetCallWaitingWrapperPrivate
+ */
+PSetCallWaitingWrapperPrivate::~PSetCallWaitingWrapperPrivate()
+{
+    DPRINT;
+}
+
+// --------  Observer interface  --------- // 
+/*!
+  PSetCallWaitingWrapperPrivate::HandleCallWaitingGetStatusL
+ */
+void PSetCallWaitingWrapperPrivate::HandleCallWaitingGetStatusL( 
+        const MPsetCallWaiting::TGetCallWaitingStatus aStatus, 
+        TUint8 aBsc[KPSetNumberOfBsc] )
+{
+    DPRINT << "aStatus:" << aStatus;
+    
+    QT_TRYCATCH_LEAVING(
+        QList<unsigned char> basicServiceGroupIds;
+        int index = 0;
+        unsigned char groupIdCandidate = aBsc[index];
+        while (groupIdCandidate != KPSetUnusedValue) {
+            basicServiceGroupIds << groupIdCandidate;
+            groupIdCandidate = aBsc[++index];
+        }
+        
+        emit m_Owner.handleCallWaitingGetStatus(
+            ConvertToQtType(aStatus), basicServiceGroupIds );
+    )
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::HandleCallWaitingChangedL
+ */
+void PSetCallWaitingWrapperPrivate::HandleCallWaitingChangedL( 
+        const MPsetCallWaiting::TSetCallWaiting aSetting, 
+        const int aResult )
+{
+    DPRINT << "aSetting: " << aSetting
+            << "aResult" << aResult;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCallWaitingChanged(
+            ConvertToQtType(aSetting), 
+            static_cast<int>(aResult) );
+    )
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::HandleCWRequestingL
+ */
+void PSetCallWaitingWrapperPrivate::HandleCWRequestingL( TBool aOngoing, 
+        TBool aInterrupted )   
+{
+    DPRINT << "aOngoing: " << aOngoing
+            << " aInterrupted: " << aInterrupted;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCallWaitingRequesting( 
+            static_cast<bool>(aOngoing), 
+            static_cast<bool>(aInterrupted) );
+    )
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::HandleCWErrorL
+ */
+void PSetCallWaitingWrapperPrivate::HandleCWErrorL( TInt aError )
+{
+    DPRINT << "aError: " << aError;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCallWaitingError( aError );
+    )
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::SetEngineContact
+ */
+void PSetCallWaitingWrapperPrivate::SetEngineContact(
+        MPsetCallWaiting& aEngineContact )
+{   
+    DPRINT << "aEngineContact: " << &aEngineContact;
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallwaitingwrapper_p.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+ *
+ */
+
+#ifndef PSETCALLWAITINGWRAPPER_P_H_
+#define PSETCALLWAITINGWRAPPER_P_H_
+
+#include <mpsetcallwaitingobs.h>
+
+// Forward declarations
+class PSetCallWaitingWrapper;
+
+class PSetCallWaitingWrapperPrivate: 
+    public MPsetCallWaitingObserver
+{
+public:
+    
+    PSetCallWaitingWrapperPrivate( PSetCallWaitingWrapper &owner );
+    
+    ~PSetCallWaitingWrapperPrivate();
+        
+public: // From MPsetCallWaitingObserver
+    
+    /**
+    * Handles notes when requesting Call Waiting status.
+    *
+    * @param aStatus Query result.
+    * @param aBsc is List of active groups.
+    */
+    void HandleCallWaitingGetStatusL( 
+        const MPsetCallWaiting::TGetCallWaitingStatus aStatus, 
+        TUint8 aBsc[KPSetNumberOfBsc] );
+    
+    /**
+    * Handles notes when Call Waiting has been changed.
+    *
+    * @param aSetting Changed setting.
+    * @param aResult Result of the action.
+    */
+    void HandleCallWaitingChangedL( 
+        const MPsetCallWaiting::TSetCallWaiting aSetting, 
+        const TInt aResult );
+
+    /**
+    * Handles requesting notes.
+    *
+    * @param aStarted Is there a request going on.
+    * @param aInterrupted Request needs to be immediately cancelled.
+    */
+    void HandleCWRequestingL( TBool aOngoing, 
+        TBool aInterrupted ); 
+    /**
+    * Handles errors in call waiting requests.
+    *
+    * @param aReason Reason for the error.
+    */
+    void HandleCWErrorL( TInt aReason );
+
+    /**
+    * Sets pointer so that message is passed succesfully
+    * from requester to observer.
+    *
+    * @param aEngineContact Source of events to observer.
+    */
+    void SetEngineContact( MPsetCallWaiting& aEngineContact );
+
+private: // Data: 
+    PSetCallWaitingWrapper &m_Owner;
+
+};
+
+
+#endif /* PSETCALLWAITINGWRAPPER_P_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcliwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#include "psetcliwrapper_p.h"
+#include "psetcliwrapper.h"
+#include "logging.h"
+#include <rsssettings.h>
+#include <msssettingsobserver.h>
+#include <mpsetcliobserver.h>
+#include <psetcontainer.h>
+#include <psetcli.h>
+
+/*!
+  PSetCliWrapper::PSetCliWrapper
+ */
+PSetCliWrapper::PSetCliWrapper( CPsetContainer &psetContainer, 
+        QObject *parent): QObject(parent),
+            m_privateImpl(new PSetCliWrapperPrivate(*this))
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(
+        m_psetCli = psetContainer.CreateCliObjectL(*m_privateImpl));
+}
+
+/*!
+  PSetCliWrapper::~PSetCliWrapper
+ */
+PSetCliWrapper::~PSetCliWrapper()
+{
+    DPRINT << ": IN ";
+    
+    delete m_psetCli;
+    
+    DPRINT << ": OUT ";
+}
+    
+// --------  Wrapper interface  --------- // 
+/*!
+  PSetCliWrapper::getColpMode
+ */
+void PSetCliWrapper::getColpMode()
+{
+    DPRINT << ": IN ";
+     
+    QT_TRAP_THROWING(m_psetCli->GetColpModeL());
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCliWrapper::getClipMode
+ */
+void PSetCliWrapper::getClipMode()
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(m_psetCli->GetClipModeL());
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCliWrapper::getClirMode
+ */
+void PSetCliWrapper::getClirMode()
+{
+    DPRINT << ": IN ";
+        
+    QT_TRAP_THROWING(m_psetCli->GetClirModeL());
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCliWrapper::getColrMode
+ */
+void PSetCliWrapper::getColrMode()
+{
+    DPRINT << ": IN ";
+        
+    QT_TRAP_THROWING(m_psetCli->GetColrModeL());
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCliWrapper::getCnap
+ */
+void PSetCliWrapper::getCnap()
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(m_psetCli->GetCnapL());
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetCliWrapper::cancelAll
+ */
+void PSetCliWrapper::cancelAll()
+{
+    DPRINT << ": IN ";
+    
+    m_psetCli->CancelAll();  
+    
+    DPRINT << ": OUT ";
+}
+    
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcliwrapper_p.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  
+ *
+ */
+
+#include "psetcliwrapper_p.h"
+#include "psetcliwrapper.h"
+#include "psetwrappertypes.h"
+#include "logging.h"
+#include <rsssettings.h>
+#include <psetcontainer.h>
+#include <psetcli.h>
+
+/*!
+  PSetCliWrapperPrivate::PSetCliWrapperPrivate
+ */
+PSetCliWrapperPrivate::PSetCliWrapperPrivate(
+        PSetCliWrapper &owner) :
+    m_Owner(owner)
+{
+    DPRINT;
+}
+
+/*!
+  PSetCliWrapperPrivate::~PSetCliWrapperPrivate
+ */
+PSetCliWrapperPrivate::~PSetCliWrapperPrivate()
+{
+    DPRINT;
+}
+
+// --------  Observer interface  --------- // 
+/*!
+  PSetCliWrapperPrivate::SetEngineContact
+ */
+void PSetCliWrapperPrivate::SetEngineContact(MPsetCli* aEngine)
+{
+    DPRINT << "aEngine: " << aEngine;
+}
+
+/*!
+  PSetCliWrapperPrivate::HandleCliRequestingL
+ */
+void PSetCliWrapperPrivate::HandleCliRequestingL(TBool aOngoing,
+        TBool aInterrupted)
+{
+    DPRINT << "aOngoing: " << aOngoing
+        << " aInterrupted: " << aInterrupted;
+
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCliRequesting(static_cast<bool>(aOngoing),
+                static_cast<bool> (aInterrupted));
+    )
+}
+
+/*!
+  PSetCliWrapperPrivate::CliInformationL
+ */
+void PSetCliWrapperPrivate::CliInformationL(TPsuiCli aType)
+{
+    DPRINT << "aType: " << aType;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.cliInformation(static_cast<PsCallLineIdentity>(aType));
+    )
+}
+
+/*!
+  PSetCliWrapperPrivate::HandleCliStatusL
+ */
+void PSetCliWrapperPrivate::HandleCliStatusL(
+        TUint8 aBsc[KPSetNumberOfBsc], TPsuiCli aMode)
+{
+    DPRINT << "aBsc[0]: " << aBsc[0]
+            << " aMode: " << aMode;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCliStatus(static_cast<unsigned char *>(aBsc),
+            KPSetNumberOfBsc, static_cast<PsCallLineIdentity> (aMode));
+    )
+}
+
+/*!
+  PSetCliWrapperPrivate::HandleCnapStatusL
+ */
+void PSetCliWrapperPrivate::HandleCnapStatusL(TInt aStatus)
+{
+    DPRINT << "aStatus: " << aStatus;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCnapStatus(aStatus);
+    )
+}
+
+/*!
+  PSetCliWrapperPrivate::HandleCliErrorL
+ */
+void PSetCliWrapperPrivate::HandleCliErrorL(TInt aError)
+{
+    DPRINT << "aError: " << aError;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCliError(aError);
+    )
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcliwrapper_p.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+
+#ifndef PSETCLIWRAPPER_P_H_
+#define PSETCLIWRAPPER_P_H_
+
+#include <mpsetcliobserver.h>
+
+class PSetCliWrapper;
+
+class PSetCliWrapperPrivate : public MPsetCliObserver
+{
+public:
+    PSetCliWrapperPrivate( PSetCliWrapper &owner );
+    ~PSetCliWrapperPrivate();
+    
+public: // From MPsetCliObserver
+    void SetEngineContact( MPsetCli* aEngine );
+    void HandleCliRequestingL( TBool aOngoing, 
+            TBool aInterrupted );
+    void CliInformationL( TPsuiCli aType );
+    void HandleCliStatusL( TUint8 aBsc[KPSetNumberOfBsc], TPsuiCli aMode );
+    void HandleCnapStatusL( TInt aStatus );
+    void HandleCliErrorL( TInt aError );
+private:
+    PSetCliWrapper &m_Owner;
+};
+
+#endif
+    
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkinfoconverter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 "psetnetworkinfoconverter.h"
+
+/*!
+    \class NetworkInfoConverter
+    \brief Offers converting services between Symbian and Qt data types.
+*/
+
+/*!
+  NetworkInfoConverter::ConvertToSymbianType
+ */
+MPsetNetworkSelect::TNetworkInfo NetworkInfoConverter::ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkInfo &networkInfo)
+{
+    MPsetNetworkSelect::TNetworkInfo convertedType;
+    convertedType.iId = ConvertToSymbianType(networkInfo.m_id);
+    convertedType.iStatus = ConvertToSymbianType(networkInfo.m_status);
+    convertedType.iMode = ConvertToSymbianType(networkInfo.m_mode);
+    convertedType.iAccess = ConvertToSymbianType(networkInfo.m_access);
+    convertedType.iShortName.Copy(networkInfo.m_shortName.utf16());
+    convertedType.iLongName.Copy(networkInfo.m_longName.utf16());
+    return convertedType;
+}
+
+/*!
+  NetworkInfoConverter::ConvertToSymbianType
+ */
+MPsetNetworkSelect::TNetworkId NetworkInfoConverter::ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkId &networkId)
+{
+    MPsetNetworkSelect::TNetworkId convertedType;
+    convertedType.iCountryCode.Copy(networkId.m_countryCode.utf16());
+    convertedType.iNetworkCode.Copy(networkId.m_networkCode.utf16());
+    return convertedType;
+}
+
+/*!
+  NetworkInfoConverter::ConvertToSymbianType
+ */
+MPsetNetworkSelect::TNetworkStatus NetworkInfoConverter::ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkStatus &networkStatus)
+{
+    MPsetNetworkSelect::TNetworkStatus convertedType =
+        MPsetNetworkSelect::ENetStatUnknown;
+    switch (networkStatus)
+    {
+        case PSetNetworkWrapper::StatusUnknown:
+            convertedType = MPsetNetworkSelect::ENetStatUnknown;
+            break;
+        case PSetNetworkWrapper::StatusAvailable:
+            convertedType = MPsetNetworkSelect::ENetStatAvailable;
+            break;
+        case PSetNetworkWrapper::StatusCurrent:
+            convertedType = MPsetNetworkSelect::ENetStatCurrent;
+            break;
+        case PSetNetworkWrapper::StatusForbidden:
+            convertedType = MPsetNetworkSelect::ENetStatForbidden;
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+            break;
+    }
+    
+    return convertedType;
+}
+
+/*!
+  NetworkInfoConverter::ConvertToSymbianType
+ */
+MPsetNetworkSelect::TSelectMode NetworkInfoConverter::ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkSelectionMode &selectionMode)
+{
+    MPsetNetworkSelect::TSelectMode convertedType =
+        MPsetNetworkSelect::ENetSelectModeAutomatic;
+    switch (selectionMode)
+    {
+        case PSetNetworkWrapper::SelectionModeAutomatic:
+            convertedType = MPsetNetworkSelect::ENetSelectModeAutomatic;
+            break;
+        case PSetNetworkWrapper::SelectionModeManual:
+            convertedType = MPsetNetworkSelect::ENetSelectModeManual;
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+            break;
+    }
+    
+    return convertedType;
+}
+
+/*!
+  NetworkInfoConverter::ConvertToSymbianType
+ */
+MPsetNetworkSelect::TNetworkAccess NetworkInfoConverter::ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkAccessType &accessType)
+{
+    MPsetNetworkSelect::TNetworkAccess convertedType =
+        MPsetNetworkSelect::ENetNetworkGSM;
+    switch (accessType)
+    {
+        case PSetNetworkWrapper::AccessTypeGsm:
+            convertedType = MPsetNetworkSelect::ENetNetworkGSM;
+            break;
+        case PSetNetworkWrapper::AccessTypeWcdma:
+            convertedType = MPsetNetworkSelect::ENetNetworkWCDMA;
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+            break;
+    }
+    
+    return convertedType;
+}
+
+/*!
+  NetworkInfoConverter::ConvertToQtType
+ */
+PSetNetworkWrapper::NetworkSelectionMode NetworkInfoConverter::ConvertToQtType(
+    const MPsetNetworkSelect::TSelectMode &selectMode)
+{
+    PSetNetworkWrapper::NetworkSelectionMode convertedType =
+        PSetNetworkWrapper::SelectionModeAutomatic;
+    switch (selectMode)
+    {
+        case MPsetNetworkSelect::ENetSelectModeAutomatic:
+            convertedType = PSetNetworkWrapper::SelectionModeAutomatic;
+            break;
+        case MPsetNetworkSelect::ENetSelectModeManual:
+            convertedType = PSetNetworkWrapper::SelectionModeManual;
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+            break;
+    }
+    
+    return convertedType;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkinfoconverter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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 PSETNETWORKINFOCONVERTER_H
+#define PSETNETWORKINFOCONVERTER_H
+
+#include <psetnetworkwrapper.h>
+#include <mpsetnetworkselect.h>
+
+class NetworkInfoConverter
+{
+public:
+    
+    static MPsetNetworkSelect::TNetworkInfo ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkInfo &networkInfo);
+    
+    static MPsetNetworkSelect::TNetworkId ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkId &networkId);
+    
+    static MPsetNetworkSelect::TNetworkStatus ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkStatus &networkStatus);
+    
+    static MPsetNetworkSelect::TSelectMode ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkSelectionMode &selectionMode);
+    
+    static MPsetNetworkSelect::TNetworkAccess ConvertToSymbianType(
+        const PSetNetworkWrapper::NetworkAccessType &accessType);
+    
+    static PSetNetworkWrapper::NetworkSelectionMode ConvertToQtType(
+        const MPsetNetworkSelect::TSelectMode &selectMode);
+};
+
+#endif // PSETNETWORKINFOCONVERTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,232 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#include <QtGlobal>
+#include "psetnetworkwrapper.h"
+#include "psetnetworkwrapper_p.h"
+#include "logging.h"
+
+/*!
+    \class PSetNetworkWrapper
+    \brief TODO: description
+*/
+
+/*!
+    \enum PSetNetworkWrapper::ErrorCode
+    
+    This enumeration defines error codes used by PSetNetworkWrapper.
+*/
+/*!
+    \var PSetNetworkWrapper::ErrNoError
+         Indicates that no error has happened.
+*/
+
+// TODO: better commenting for NetworkAccessMode enumeration
+/*!
+    \enum NetworkAccessMode
+    This enumeration defines possible network access modes.
+*/
+/*!
+    \var PSetNetworkWrapper::AccessModeDual
+         Dual mode.
+*/
+/*!
+    \var PSetNetworkWrapper::AccessModeUmts
+         3g/UMTS network mode.
+*/
+/*!
+    \var PSetNetworkWrapper::AccessModeGsm
+         2g/GSM network mode.
+*/
+
+/*! 
+     \struct PSetNetworkWrapper::NetworkId
+     NetworkId contains network and country identifiers. 
+*/
+// TODO: is that valid way to document struct members
+/*!
+    \var PSetNetworkWrapper::NetworkId::m_countryCode
+         Country code. Maximum length is 4.
+*/
+/*!
+    \var PSetNetworkWrapper::NetworkId::m_networkCode
+         Network code. Maximum length is 8.
+*/
+
+/*!
+    \enum PSetNetworkWrapper::NetworkSelectionMode
+    Network selection mode.
+*/
+/*!
+    \var PSetNetworkWrapper::SelectionModeManual
+         Specific network is selected manually.
+*/
+/*!
+    \var PSetNetworkWrapper::SelectionModeAutomatic
+         Network is selected automatically without user interaction.
+*/
+
+/*!
+    \enum PSetNetworkWrapper::NetworkStatus
+    Status of a network.
+*/
+// TODO: enumerator comments
+/*!
+    \var PSetNetworkWrapper::StatusUnknown
+*/
+/*!
+    \var PSetNetworkWrapper::StatusAvailable
+*/
+/*!
+    \var PSetNetworkWrapper::StatusCurrent
+*/
+/*!
+    \var PSetNetworkWrapper::StatusForbidden
+*/
+
+/*!
+    \enum PSetNetworkWrapper::NetworkAccessType
+    Network access type.
+*/
+// TODO: enumerator comments
+/*!
+    \var PSetNetworkWrapper::AccessTypeGsm
+*/
+/*!
+    \var PSetNetworkWrapper::AccessTypeWcdma
+*/
+
+/*! 
+     \struct PSetNetworkWrapper::NetworkInfo
+     Encapsulates information about network.
+*/
+// TODO: struct member commenting
+
+/*! void PSetNetworkWrapper::networkAccessModeGot(
+        PSetNetworkWrapper::NetworkAccessMode mode)
+    
+    This signal is emitted when the current network access mode query has been
+    completed. 
+*/
+
+/*!
+  PSetNetworkWrapper::PSetNetworkWrapper
+ */
+PSetNetworkWrapper::PSetNetworkWrapper(
+    CPsetContainer &psetContainer, QObject *parent) 
+    :
+    QObject(parent), 
+    m_privateImpl(new PSetNetworkWrapperPrivate(*this, psetContainer))
+{
+    DPRINT << ": IN";
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  PSetNetworkWrapper::~PSetNetworkWrapper
+ */
+PSetNetworkWrapper::~PSetNetworkWrapper()
+{
+    DPRINT << ": IN";
+    
+    delete m_privateImpl;
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+    Puts network retrieve results into array.
+*/
+void PSetNetworkWrapper::getAvailableNetworks()
+{
+    DPRINT;
+    
+    m_privateImpl->getAvailableNetworks();
+}
+
+/*!
+    Returns current network selection mode.
+    
+    \param  aMode   Network selection mode.
+    \return Error code.
+*/
+PSetNetworkWrapper::ErrorCode PSetNetworkWrapper::getNetworkSelectionMode(
+    PSetNetworkWrapper::NetworkSelectionMode& mode) const
+{
+    DPRINT;
+    
+    return m_privateImpl->getNetworkSelectionMode(mode);
+}
+
+/*!
+    Selects network, also for selecting automatic/manual mode.
+    \param   aInfo   Network information.
+*/
+void PSetNetworkWrapper::selectNetwork( 
+    const PSetNetworkWrapper::NetworkInfo& info)
+{
+    DPRINT;
+    
+    m_privateImpl->selectNetwork(info);
+}
+
+/*!
+    Cancels ongoing request if any.
+*/
+void PSetNetworkWrapper::cancelRequest()
+{
+    DPRINT;
+    
+    m_privateImpl->cancelRequest();
+}
+
+/*!
+    Starts to query network access mode. Result is informed with a
+    networkAccessModeGot() signal.
+*/
+void PSetNetworkWrapper::getNetworkAccessMode() const
+{
+    DPRINT;
+    
+    m_privateImpl->getNetworkAccessMode();
+}
+
+/*!
+  Sets network access mode.
+  \param  mode    Network access mode. 
+  \return ErrorCode.
+*/
+void PSetNetworkWrapper::setNetworkAccessMode(
+    PSetNetworkWrapper::NetworkAccessMode mode)
+{
+    DPRINT;
+    
+    m_privateImpl->setNetworkAccessMode(mode);
+}
+
+/*!
+  Is manual network selection supported.
+*/
+bool PSetNetworkWrapper::isManualNetworkSelectionSupported() const
+{
+    DPRINT;
+    
+    return m_privateImpl->isManualNetworkSelectionSupported();
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkwrapper_p.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,525 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this 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 <gsmerror.h>
+#include <PsetCSP.h>
+
+#include "psetnetworkwrapper_p.h"
+#include "logging.h"
+#include "psetnetworkinfoconverter.h"
+
+/*!
+    \class PSetNetworkWrapperPrivate
+    \brief Private implementation for network wrapper.
+*/
+
+/*!
+  PSetNetworkWrapperPrivate::PSetNetworkWrapperPrivate
+ */
+PSetNetworkWrapperPrivate::PSetNetworkWrapperPrivate(
+    PSetNetworkWrapper &owner,
+    CPsetContainer &psetContainer)
+    :
+    m_owner(owner),
+    m_psetNetwork(NULL),
+    m_psetNetworkMode(NULL)
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(
+        m_psetNetwork.reset(psetContainer.CreateNetworkObjectL(*this)));
+    m_psetNetwork->SetNetworkModeObserver(*this);
+    m_psetNetwork->SetNetSAObserver(*this);
+    QT_TRAP_THROWING(
+        m_psetNetworkMode.reset(psetContainer.CreateNetworkModeObjectL(*this)));
+    QT_TRAP_THROWING(
+        m_refreshHandler.reset(psetContainer.CreateRefreshHandlerL()));
+    QT_TRAP_THROWING(m_refreshHandler->NotifyFileChangeL(
+                *this,
+                KCsp1Ef,
+                EFileChangeNotification));
+    
+    QT_TRAP_THROWING(m_csp.reset(CPsetCustomerServiceProfile::NewL()));
+    QT_TRAP_THROWING(m_csp->OpenCSProfileL());
+
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetNetworkWrapperPrivate::~PSetNetworkWrapperPrivate
+ */
+PSetNetworkWrapperPrivate::~PSetNetworkWrapperPrivate()
+{
+    DPRINT << ": IN ";
+    
+    while (!m_networkInfoList.isEmpty()) {
+        DPRINT << " delete : " << m_networkInfoList.first()->m_longName;
+        delete m_networkInfoList.takeFirst();
+    }
+    m_networkInfoList.clear();
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+    PSetNetworkWrapperPrivate::getAvailableNetworks.
+*/
+void PSetNetworkWrapperPrivate::getAvailableNetworks()
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(m_psetNetwork->GetAvailableNetworksL());
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+    PSetNetworkWrapperPrivate::getNetworkSelectionMode
+*/
+PSetNetworkWrapper::ErrorCode 
+    PSetNetworkWrapperPrivate::getNetworkSelectionMode(
+    PSetNetworkWrapper::NetworkSelectionMode& mode) const
+{
+    DPRINT;
+    
+    MPsetNetworkSelect::TSelectMode selectMode = 
+        MPsetNetworkSelect::ENetSelectModeAutomatic;
+    int result = m_psetNetwork->GetNetworkSelectMode(selectMode);
+    mode = NetworkInfoConverter::ConvertToQtType(selectMode);
+    
+    return ConvertToQtErrorCode(result);
+}
+
+/*!
+    PSetNetworkWrapperPrivate::selectNetwork.
+ */
+void PSetNetworkWrapperPrivate::selectNetwork( 
+    const PSetNetworkWrapper::NetworkInfo& info)
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(m_psetNetwork->SelectNetworkL(
+        NetworkInfoConverter::ConvertToSymbianType(info)));
+         
+    DPRINT << ": OUT ";
+}
+
+/*!
+    PSetNetworkWrapperPrivate::cancelRequest
+*/
+void PSetNetworkWrapperPrivate::cancelRequest()
+{
+    DPRINT;
+    
+    m_psetNetwork->CancelProcess();
+}
+
+/*!
+    PSetNetworkWrapperPrivate::getNetworkAccessMode
+*/
+void PSetNetworkWrapperPrivate::getNetworkAccessMode() const
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(
+        m_psetNetwork->GetCurrentNetworkModeSelectionL());
+        
+    DPRINT << ": OUT ";
+}
+
+/*!
+    PSetNetworkWrapperPrivate::setNetworkAccessMode
+*/
+void PSetNetworkWrapperPrivate::setNetworkAccessMode(
+    PSetNetworkWrapper::NetworkAccessMode mode)
+{
+    DPRINT << ": IN ";
+    
+    RMmCustomAPI::TNetworkModeCaps modeCaps = 
+        RMmCustomAPI::KCapsNetworkModeDual;
+    switch (mode) {
+        case PSetNetworkWrapper::AccessModeDual:
+            modeCaps = RMmCustomAPI::KCapsNetworkModeDual;
+            break;
+        case PSetNetworkWrapper::AccessModeUmts:
+            modeCaps = RMmCustomAPI::KCapsNetworkModeUmts;
+            break;
+        case PSetNetworkWrapper::AccessModeGsm:
+            modeCaps = RMmCustomAPI::KCapsNetworkModeGsm;
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+    }
+    
+    QT_TRAP_THROWING(m_psetNetwork->SetNetworkModeSelectionL(
+        reinterpret_cast<TUint32&>(modeCaps)));
+        
+    DPRINT << ": OUT ";
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleNetworkInfoReceivedL( 
+    const CNetworkInfoArray* aInfoArray, 
+    const TInt aResult)
+{
+    DPRINT << ": IN ";
+    
+    Q_UNUSED(aResult);
+    __ASSERT_DEBUG(NULL != aInfoArray, User::Leave(KErrArgument));
+    
+    // delete qlist
+    while (!m_networkInfoList.isEmpty()) {
+        DPRINT << " delete : " << m_networkInfoList.first()->m_longName;
+        delete m_networkInfoList.takeFirst();
+    }
+    m_networkInfoList.clear();
+    
+    const int itemsCount = aInfoArray->Count();
+
+    //then insert found networks
+    for(int i = 0; i < itemsCount; i++)
+        {
+        PSetNetworkWrapper::NetworkInfo *info = 
+            new (ELeave) PSetNetworkWrapper::NetworkInfo;
+        
+        info->m_id.m_countryCode = QString::fromUtf16(
+            aInfoArray->At(i).iId.iCountryCode.Ptr(), 
+            aInfoArray->At(i).iId.iCountryCode.Length());
+        info->m_id.m_networkCode =  QString::fromUtf16(
+            aInfoArray->At(i).iId.iNetworkCode.Ptr(), 
+            aInfoArray->At(i).iId.iNetworkCode.Length());
+        info->m_status = 
+            static_cast<PSetNetworkWrapper::NetworkStatus>(
+                aInfoArray->At(i).iStatus);
+        info->m_mode = 
+            static_cast<PSetNetworkWrapper::NetworkSelectionMode>(
+                aInfoArray->At(i).iMode);
+        info->m_access = 
+            static_cast<PSetNetworkWrapper::NetworkAccessType>(
+                aInfoArray->At(i).iAccess);
+        info->m_shortName = 
+            QString::fromUtf16(
+                aInfoArray->At(i).iShortName.Ptr(), 
+                aInfoArray->At(i).iShortName.Length());
+        info->m_longName = 
+            QString::fromUtf16(
+                aInfoArray->At(i).iLongName.Ptr(), 
+                aInfoArray->At(i).iLongName.Length());
+        
+        m_networkInfoList.append(info);
+        }
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_owner.availableNetworksGot(m_networkInfoList);
+    )
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleCurrentNetworkInfoL( 
+    const MPsetNetworkSelect::TCurrentNetworkInfo& aCurrentInfo, 
+    const TInt aResult)
+{
+    DPRINT;
+    
+    Q_UNUSED(aCurrentInfo);
+    Q_UNUSED(aResult);
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleNetworkChangedL( 
+    const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
+    const MPsetNetworkSelect::TCurrentNetworkStatus aStatus, 
+    const TInt aResult)
+{
+    DPRINT;
+    
+    Q_UNUSED(aCurrentInfo);
+    Q_UNUSED(aStatus);
+    Q_UNUSED(aResult);
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleNetworkChangedL( 
+    const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
+    const RMobilePhone::TMobilePhoneRegistrationStatus& aStatus, 
+    const TInt aResult)
+{
+    DPRINT << ": IN ";
+    
+    Q_UNUSED(aResult);
+    
+    PSetNetworkWrapper::NetworkInfo info;      
+    info.m_id.m_countryCode =  QString::fromUtf16(
+        aCurrentInfo.iId.iCountryCode.Ptr(), 
+        aCurrentInfo.iId.iCountryCode.Length());
+    info.m_id.m_networkCode =  QString::fromUtf16(
+        aCurrentInfo.iId.iNetworkCode.Ptr(), 
+        aCurrentInfo.iId.iNetworkCode.Length());
+    info.m_status = 
+        static_cast<PSetNetworkWrapper::NetworkStatus>(
+            aCurrentInfo.iStatus);
+    info.m_mode = 
+        static_cast<PSetNetworkWrapper::NetworkSelectionMode>(
+            aCurrentInfo.iMode);
+    info.m_access = 
+        static_cast<PSetNetworkWrapper::NetworkAccessType>(
+            aCurrentInfo.iAccess);
+    info.m_shortName = 
+        QString::fromUtf16(
+            aCurrentInfo.iShortName.Ptr(), 
+            aCurrentInfo.iShortName.Length());
+    info.m_longName = 
+        QString::fromUtf16(
+            aCurrentInfo.iLongName.Ptr(), 
+            aCurrentInfo.iLongName.Length());
+    
+    PSetNetworkWrapper::RegistrationStatus status;
+    switch (aStatus){
+        case RMobilePhone::ERegisteredOnHomeNetwork:
+            status = PSetNetworkWrapper::RegisteredOnHomeNetwork;
+            break;
+        case RMobilePhone::ERegisteredRoaming:
+            status = PSetNetworkWrapper::RegisteredRoaming;
+            break;
+        }
+   
+    QT_TRYCATCH_LEAVING(
+        emit m_owner.networkChanged(info, status);
+    )
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleSearchingNetworksL( 
+    MPsetNetworkInfoObserver::TServiceRequest aRequest)
+{
+    DPRINT << ": IN ";
+    
+    PSetNetworkWrapper::RequestType type =
+        static_cast<PSetNetworkWrapper::RequestType>(aRequest);
+    QT_TRYCATCH_LEAVING(
+        emit m_owner.searchingNetworks(type);
+    )
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleRequestingSelectedNetworkL( 
+    TBool aOngoing)
+{
+    DPRINT << ": IN ";
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_owner.requestingSelectedNetwork(
+            static_cast<bool>(aOngoing));
+    )
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleCallActivatedL()
+{
+    DPRINT;
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleNetworkErrorL( 
+    const MPsetNetworkInfoObserver::TServiceRequest aRequest,
+    const TInt aError)
+{
+    DPRINT << ": IN ";
+    
+    PSetNetworkWrapper::ErrorCode error;
+    switch(aError) {
+        case KErrGsmNetCauseCallActive:
+            error = PSetNetworkWrapper::ErrCauseCallActive;
+            break;
+        case KErrGsm0707NoNetworkService:
+            error = PSetNetworkWrapper::ErrNoNetworkService;
+            break;
+        case KErrGsmOfflineOpNotAllowed:
+            error = PSetNetworkWrapper::ErrOfflineOpNotAllowed;
+            break;
+        default:
+            error = PSetNetworkWrapper::ErrNoNetworkAccess;
+            break;
+    }
+
+    QT_TRYCATCH_LEAVING(
+        emit m_owner.networkReqestFailed(
+            error, static_cast<PSetNetworkWrapper::RequestType>(aRequest));
+    )
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleNetworkSystemModeEventsL( 
+    const MPsetNetworkModeObserver::TServiceRequest aRequest,
+    const TUint32 aNetworkModeCaps)
+{
+    DPRINT;
+    
+    switch (aRequest) {
+        case MPsetNetworkModeObserver::EServiceRequestNone:
+            // TODO: what to do with this kind of event
+            break;
+        case MPsetNetworkModeObserver::EServiceRequestSetSelectedNetworkMode:
+            // TODO: implement this
+            break;
+        case MPsetNetworkModeObserver::EServiceRequestGetCurrentNetworkMode: {
+            PSetNetworkWrapper::NetworkAccessMode mode =
+                PSetNetworkWrapper::AccessModeDual;
+            if (aNetworkModeCaps & RMmCustomAPI::KCapsNetworkModeDual) {
+                mode = PSetNetworkWrapper::AccessModeDual;
+            } else if 
+                (aNetworkModeCaps & RMmCustomAPI::KCapsNetworkModeUmts) {
+                    mode = PSetNetworkWrapper::AccessModeUmts;
+            } else if 
+                (aNetworkModeCaps & RMmCustomAPI::KCapsNetworkModeGsm) {
+                    mode = PSetNetworkWrapper::AccessModeGsm;
+            } else {
+                Q_ASSERT(false);
+            }
+            QT_TRYCATCH_LEAVING(
+                emit m_owner.networkAccessModeGot(static_cast<int>(mode));
+            )
+
+        }
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+    }
+}
+
+/*!
+     From MPsetNetworkInfoObserver.
+     \see MPsetNetworkInfoObserver.
+*/
+void PSetNetworkWrapperPrivate::HandleNetworkErrorL(
+    const MPsetNetworkModeObserver::TServiceRequest aRequest,
+    const TInt aError)
+{
+    DPRINT;
+    
+    Q_UNUSED(aRequest);
+    Q_UNUSED(aError);
+}
+
+/*!
+     PSetNetworkWrapperPrivate::ConvertToQtErrorCode
+*/
+PSetNetworkWrapper::ErrorCode PSetNetworkWrapperPrivate::ConvertToQtErrorCode(
+    TInt symbianErrorCode) const
+{
+    // TODO: do proper conversion for error codes
+    if (KErrNone == symbianErrorCode) {
+        return PSetNetworkWrapper::ErrNoError;
+    } else {
+        return PSetNetworkWrapper::ErrGeneral;
+    }    
+}
+
+/*!
+     PSetNetworkWrapperPrivate::isManualNetworkSelectionSupported
+*/
+bool PSetNetworkWrapperPrivate::isManualNetworkSelectionSupported() const
+{
+    DPRINT << ": IN ";
+    
+    TBool settingSupported(EFalse);
+    TInt retVal = m_csp->IsNetworkSelectionSupported(settingSupported);
+ 
+    if ( retVal != KErrNone )
+         {
+        //if a CSP error occurs, by default service is available
+        settingSupported = ETrue;
+        }
+
+    DPRINT << ": OUT ";
+    return settingSupported;
+}
+
+/*!
+     PSetNetworkWrapperPrivate::AllowRefresh
+*/
+TBool PSetNetworkWrapperPrivate::AllowRefresh(
+                const TSatRefreshType aType,
+                const TSatElementaryFiles aFiles )
+{
+    DPRINT << "aType: " << aType;
+    DPRINT << "aFiles: " << aFiles;
+    
+    return ETrue;
+}
+
+/*!
+     PSetNetworkWrapperPrivate::Refresh
+*/
+void PSetNetworkWrapperPrivate::Refresh(
+                const TSatRefreshType aType,
+                const TSatElementaryFiles aFiles )
+{
+    DPRINT << "aType: " << aType;
+    DPRINT << "aFiles: " << aFiles;
+    
+    if ((aType != EFileChangeNotification) ||
+        ((aType == EFileChangeNotification) &&
+        (aFiles == KCsp1Ef))) {
+        TBool networkSelectionSupported;
+        if (KErrNone == m_csp->IsNetworkSelectionSupported(networkSelectionSupported)) {
+            DPRINT << "networkSelectionSupported " << networkSelectionSupported;
+            emit m_owner.chageVisbilityOfManualNetworkSelection(networkSelectionSupported);
+        }
+    }
+    
+    DPRINT << ": OUT";
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkwrapper_p.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef PSETNETWORKWRAPPERPRIVATE_H
+#define PSETNETWORKWRAPPERPRIVATE_H
+
+#include <mpsetnetworkinfoobs.h>
+#include <mpsetnetworkmodeobs.h>
+#include <mpsetnetworkselect.h>
+#include <QList>
+#include <MSSSettingsRefreshObserver.h>
+#include "psetnetworkwrapper.h"
+
+class PSetNetworkWrapper;
+class CPsetContainer;
+class CPsetNetwork;
+class CPsetCustomerServiceProfile;
+class CPSetRefreshHandler;
+
+class PSetNetworkWrapperPrivate
+    :
+    public MPsetNetworkInfoObserver, 
+    public MPsetNetworkModeObserver,
+    public MSSSettingsRefreshObserver
+{
+public:
+    
+    PSetNetworkWrapperPrivate(
+        PSetNetworkWrapper &owner,
+        CPsetContainer &psetContainer);
+    
+    virtual ~PSetNetworkWrapperPrivate();
+
+public:
+    
+    void getAvailableNetworks();
+
+    PSetNetworkWrapper::ErrorCode getNetworkSelectionMode(
+        PSetNetworkWrapper::NetworkSelectionMode& mode) const;
+    
+    void selectNetwork( 
+        const PSetNetworkWrapper::NetworkInfo& info);
+    
+    void cancelRequest();
+    
+public:
+
+    void getNetworkAccessMode() const;
+
+    void setNetworkAccessMode(PSetNetworkWrapper::NetworkAccessMode mode);
+    
+    bool isManualNetworkSelectionSupported() const;
+
+public: // From MPsetNetworkInfoObserver
+    
+    void HandleNetworkInfoReceivedL( 
+        const CNetworkInfoArray* aInfoArray, 
+        const TInt aResult );
+    
+    void HandleCurrentNetworkInfoL( 
+        const MPsetNetworkSelect::TCurrentNetworkInfo& aCurrentInfo, 
+        const TInt aResult );
+
+    void HandleNetworkChangedL( 
+        const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
+        const MPsetNetworkSelect::TCurrentNetworkStatus aStatus, 
+        const TInt aResult );    
+
+    void HandleNetworkChangedL( 
+        const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
+        const RMobilePhone::TMobilePhoneRegistrationStatus& aStatus, 
+        const TInt aResult );    
+
+    void HandleSearchingNetworksL( 
+        MPsetNetworkInfoObserver::TServiceRequest aRequest );
+
+    void HandleRequestingSelectedNetworkL( 
+        TBool aOngoing );
+
+    void HandleCallActivatedL();
+
+    void HandleNetworkErrorL( 
+        const MPsetNetworkInfoObserver::TServiceRequest aRequest,
+        const TInt aError );
+
+public: // From MPsetNetworkModeObserver
+
+    void HandleNetworkSystemModeEventsL( 
+        const MPsetNetworkModeObserver::TServiceRequest aRequest,
+        const TUint32 aNetworkModeCaps );
+
+    void HandleNetworkErrorL(
+        const MPsetNetworkModeObserver::TServiceRequest aRequest,
+        const TInt aError );
+    
+public: // From MSSSettingsRefreshObserver
+
+        TBool AllowRefresh(
+            const TSatRefreshType aType,
+            const TSatElementaryFiles aFiles );
+
+        void Refresh(
+            const TSatRefreshType aType,
+            const TSatElementaryFiles aFiles );
+
+private:
+    
+    PSetNetworkWrapper::ErrorCode ConvertToQtErrorCode(
+        TInt symbianErrorCode) const;
+    
+private:
+    
+    /*! Owner. */
+    PSetNetworkWrapper &m_owner;
+    
+    // TODO: better comments
+    /*! Own. Network object used to observe network information. */
+    QScopedPointer<CPsetNetwork> m_psetNetwork;
+    
+    /*! Own. Network object used to observe network mode changes. */
+    QScopedPointer<CPsetNetwork> m_psetNetworkMode;
+    
+    QList<PSetNetworkWrapper::NetworkInfo*> m_networkInfoList;
+    
+    /*! Own. */
+    QScopedPointer<CPsetCustomerServiceProfile> m_csp;
+    
+    /*! Own. */
+    QScopedPointer<CPSetRefreshHandler> m_refreshHandler;
+    
+};
+
+#endif // PSETNETWORKWRAPPERPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <psetcontainer.h>
+#include "psetwrapper.h"
+#include "psetcliwrapper.h"
+#include "psetcallwaitingwrapper.h"
+#include "psetcalldivertingwrapper.h"
+#include "psetnetworkwrapper.h"
+#include "psetcallbarringwrapper.h"
+#include "logging.h"
+
+/*!
+  PSetWrapper::PSetWrapper
+ */
+PSetWrapper::PSetWrapper(QObject *parent) : 
+    QObject(parent),
+        m_psetContainer(NULL),
+        m_wrapperCli(NULL),
+        m_callWaitingWrapper(NULL),
+        m_callDivertingWrapper(NULL),
+        m_networkWrapper(NULL),
+        m_callBarringWrapper(NULL)
+{
+    DPRINT << ": IN ";
+    
+    QT_TRAP_THROWING(m_psetContainer = CPsetContainer::NewL()); 
+
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetWrapper::~PSetWrapper
+ */
+PSetWrapper::~PSetWrapper()
+{
+    DPRINT << ": IN ";
+    
+    delete m_wrapperCli;
+    delete m_callWaitingWrapper;
+    delete m_callDivertingWrapper;
+    delete m_networkWrapper;
+    delete m_callBarringWrapper;
+    delete m_psetContainer;
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  PSetWrapper::cliWrapper
+ */
+PSetCliWrapper& PSetWrapper::cliWrapper()
+{
+    DPRINT;
+    
+    if (!m_wrapperCli) {
+        m_wrapperCli = new PSetCliWrapper(*m_psetContainer, this);
+        Q_CHECK_PTR(m_wrapperCli);
+    }
+    
+    return *m_wrapperCli;
+}
+
+/*!
+  PSetWrapper::callWaitingWrapper
+ */
+PSetCallWaitingWrapper& PSetWrapper::callWaitingWrapper()
+{
+    DPRINT;
+    
+    if (!m_callWaitingWrapper) {
+        m_callWaitingWrapper = 
+            new PSetCallWaitingWrapper(*m_psetContainer, this);
+        Q_CHECK_PTR(m_callWaitingWrapper);
+    }
+    
+    return *m_callWaitingWrapper;
+}
+
+/*!
+  PSetWrapper::callDivertingWrapper
+ */
+PSetCallDivertingWrapper& PSetWrapper::callDivertingWrapper()
+{
+    DPRINT;
+    
+    if (!m_callDivertingWrapper) {
+        m_callDivertingWrapper = 
+            new PSetCallDivertingWrapper(*m_psetContainer, this);
+        Q_CHECK_PTR(m_callDivertingWrapper);
+    }
+    
+    return *m_callDivertingWrapper;
+}
+
+/*!
+  PSetWrapper::networkWrapper
+ */
+PSetNetworkWrapper& PSetWrapper::networkWrapper()
+{
+    DPRINT;
+    
+    if (!m_networkWrapper) {
+        m_networkWrapper = new PSetNetworkWrapper(*m_psetContainer, this);
+        Q_CHECK_PTR(m_networkWrapper);
+    }
+    
+    return *m_networkWrapper;    
+}
+
+/*!
+  PSetWrapper::callBarringWrapper
+ */
+PSetCallBarringWrapper& PSetWrapper::callBarringWrapper()
+{
+    DPRINT;
+    
+    if (!m_callBarringWrapper) {
+        m_callBarringWrapper = 
+            new PSetCallBarringWrapper(*m_psetContainer, this);
+    }
+    
+    return *m_callBarringWrapper;    
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetwrapper_s.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,292 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+
+#include "psetwrapper.h"
+#include "psetcliwrapper.h"
+#include "psetcallwaitingwrapper.h"
+#include "psetcalldivertingwrapper.h"
+#include "psetnetworkwrapper.h"
+#include "psetcallbarringwrapper.h"
+#include "logging.h"
+
+
+PSetWrapper::PSetWrapper(QObject *parent):
+        QObject(parent),
+        m_wrapperCli(NULL),
+        m_callWaitingWrapper(NULL),
+        m_callDivertingWrapper(NULL),
+        m_networkWrapper(NULL)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+PSetWrapper::~PSetWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+
+    delete m_wrapperCli;
+    delete m_callWaitingWrapper;
+    delete m_callDivertingWrapper;
+    delete m_networkWrapper;
+
+}
+
+PSetCliWrapper& PSetWrapper::cliWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+    
+    if( !m_wrapperCli ){
+        m_wrapperCli = new PSetCliWrapper(*m_psetContainer, this);
+    }
+
+    return *m_wrapperCli;
+}
+
+
+PSetCallWaitingWrapper& PSetWrapper::callWaitingWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+        
+    if( !m_callWaitingWrapper ){
+        m_callWaitingWrapper = new PSetCallWaitingWrapper(*m_psetContainer, this);
+    }
+
+    return *m_callWaitingWrapper;
+}
+
+
+PSetCallDivertingWrapper& PSetWrapper::callDivertingWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+    
+    if( !m_callWaitingWrapper ){
+        m_callDivertingWrapper = new PSetCallDivertingWrapper(*m_psetContainer, this);
+    }
+
+    return *m_callDivertingWrapper;
+}
+
+PSetNetworkWrapper& PSetWrapper::networkWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+    
+    if (!m_networkWrapper) {
+        m_networkWrapper = new PSetNetworkWrapper(*m_psetContainer, this);
+    }
+
+    return *m_networkWrapper;
+}
+
+class PSetCliWrapperPrivate {
+    PSetCliWrapperPrivate(){}
+};
+
+PSetCliWrapper::PSetCliWrapper( CPsetContainer &psetContainer,
+        QObject *parent):
+    QObject(parent), m_privateImpl(NULL)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+PSetCliWrapper::~PSetCliWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+// --------  Wrapper interface  --------- //
+void PSetCliWrapper::getColpMode()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetCliWrapper::getClipMode()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetCliWrapper::getClirMode()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetCliWrapper::getColrMode()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetCliWrapper::getCnap()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetCliWrapper::cancelAll()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+class PSetCallWaitingWrapperPrivate {
+    PSetCallWaitingWrapperPrivate(){}
+};
+
+PSetCallWaitingWrapper::PSetCallWaitingWrapper(
+        CPsetContainer &psetContainer,
+        QObject *parent) : QObject(parent), m_privateImpl(NULL)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+PSetCallWaitingWrapper::~PSetCallWaitingWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+// --------  Wrapper interface  --------- //
+void PSetCallWaitingWrapper::setCallWaiting( PsCallWaitingCommand aSetting,
+                                            int aBasicServiceGroup )
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetCallWaitingWrapper::getCallWaitingStatus()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetCallWaitingWrapper::cancelProcess()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+PSetCallDivertingWrapper::PSetCallDivertingWrapper(
+        CPsetContainer &psetContainer, QObject *parent) :
+    QObject(parent), m_DefaultNumberListCDes(NULL)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+PSetCallDivertingWrapper::~PSetCallDivertingWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+// --------  Wrapper interface  --------- //
+
+int PSetCallDivertingWrapper::setCallDiverting(
+        PSCallDivertingCommand& aSetting, int aBasicServiceGroup)
+{
+    DPRINT << "DUMMY WRAPPER";
+    return 0;
+}
+
+void PSetCallDivertingWrapper::getCallDivertingStatus(
+        const PsServiceGroup aServiceGroup, const PsCallDivertingCondition aCondition,
+        int aBsc)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetCallDivertingWrapper::cancelProcess()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetCallDivertingWrapper::getDefaultNumbers(QStringList &aDefNumbers)
+{
+    DPRINT << "DUMMY WRAPPER";
+    aDefNumbers = m_DefaultnumberListQSList;
+}
+
+void PSetCallDivertingWrapper::setNewDefaultNumber(QString aNumber)
+{
+    DPRINT << "DUMMY WRAPPER";
+    m_DefaultnumberListQSList.append(aNumber);
+}
+
+void PSetCallDivertingWrapper::getVoiceMailBoxNumber(QString &/*aVmbxNumber*/)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+PSetNetworkWrapper::PSetNetworkWrapper(
+    CPsetContainer &psetContainer, QObject *parent)
+    : QObject(parent)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+PSetNetworkWrapper::~PSetNetworkWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetNetworkWrapper::getNetworkAccessMode() const
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetNetworkWrapper::setNetworkAccessMode(
+    PSetNetworkWrapper::NetworkAccessMode mode)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetNetworkWrapper::getAvailableNetworks()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+PSetNetworkWrapper::ErrorCode PSetNetworkWrapper::getNetworkSelectionMode(
+    PSetNetworkWrapper::NetworkSelectionMode& mode) const
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetNetworkWrapper::selectNetwork(
+    const PSetNetworkWrapper::NetworkInfo& info)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+void PSetNetworkWrapper::cancelRequest()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+class PSetCallBarringWrapperPrivate {
+public:
+    PSetCallBarringWrapperPrivate() {}
+    ~PSetCallBarringWrapperPrivate() {}
+};
+
+PSetCallBarringWrapper::PSetCallBarringWrapper(
+    CPsetContainer &psetContainer,
+    QObject *parent)
+    :
+    QObject(parent)
+{
+    DPRINT << "DUMMY PSetCallBarringWrapper";
+}
+
+
+PSetCallBarringWrapper::~PSetCallBarringWrapper()
+{
+    DPRINT << "DUMMY PSetCallBarringWrapper";
+}
+
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/common/qtestmains60.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/common/testutilities.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,251 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QByteArray>
+#include "testutilities.h"
+
+/*!
+  Replaces global new operator for utilizing binary. Enables OOM 
+  simulation and memory leak detection.
+  
+  Note that creation of CBase derived Symbian classes 
+  are not tracked, because CBase overloads new operator. 
+ */
+void* operator new(std::size_t sz) throw(std::bad_alloc)
+{
+    return MemoryAllocator::alloc(sz);
+}
+
+/*!
+  Replaces global delete operator for utilizing binary. Enables OOM 
+  simulation and memory leak detection. 
+ */
+void operator delete(void* memoryAddr) throw()
+{
+    return MemoryAllocator::free(memoryAddr);
+}
+
+void* operator new(std::size_t sz, const std::nothrow_t&) throw()
+{
+    return qMalloc(sz);
+}
+
+void  operator delete(void* memoryAddress, const std::nothrow_t&) throw()
+{
+    if (NULL != memoryAddress) {
+        qFree(memoryAddress);
+    }
+}
+
+bool MemoryAllocator::m_isOomSimulationEnabled = false;
+int MemoryAllocator::m_numOfAllocsSinceLastFail = 0;
+int MemoryAllocator::m_allocFailIndex = 1;
+QList<void*> MemoryAllocator::m_allocList;
+
+/*!
+  MemoryAllocator::enableOomSimulation
+ */
+void MemoryAllocator::enableOomSimulation()
+{
+    m_isOomSimulationEnabled = true;
+    m_allocFailIndex = 1;
+    m_numOfAllocsSinceLastFail = 0;
+}
+
+/*!
+  MemoryAllocator::disableOomSimulation
+ */
+void MemoryAllocator::disableOomSimulation()
+{
+    m_isOomSimulationEnabled = false;
+}
+
+/*!
+  MemoryAllocator::isOomSimulationEnabled
+ */
+bool MemoryAllocator::isOomSimulationEnabled()
+{
+    return m_isOomSimulationEnabled;
+}
+
+/*!
+  MemoryAllocator::currentAllocFailIndex
+ */
+int MemoryAllocator::currentAllocFailIndex()
+{
+    return m_allocFailIndex;
+}
+
+/*!
+  MemoryAllocator::alloc
+ */
+void* MemoryAllocator::alloc(std::size_t sz)
+{
+    if (isOomSimulationEnabled()) {
+        m_numOfAllocsSinceLastFail++;
+        if (m_allocFailIndex == m_numOfAllocsSinceLastFail) {
+            m_allocFailIndex++;
+            m_numOfAllocsSinceLastFail = 0;
+#ifdef QT_NO_EXCEPTIONS
+            return NULL;
+#else
+            throw std::bad_alloc();
+#endif
+        }
+    }
+    
+    void *allocatedMemoryAddr = qMalloc(sz);
+    m_allocList.append(allocatedMemoryAddr);
+    return allocatedMemoryAddr;
+}
+
+/*!
+  MemoryAllocator::free
+ */
+void MemoryAllocator::free(void *memoryAddress)
+{
+    if (memoryAddress) {
+        int index = m_allocList.indexOf(memoryAddress);
+        if (-1 != index) {
+            m_allocList.removeAt(index);
+        }
+        qFree(memoryAddress);
+    }
+}
+
+/*!
+  MemoryAllocator::verifyMemoryAllocations
+ */
+void MemoryAllocator::verifyMemoryAllocations()
+{
+    int numOfUnfreedCells = m_allocList.count();
+    if (0 != numOfUnfreedCells) {
+        for ( int i = 0; i < numOfUnfreedCells; i++) {
+            qDebug("UNFREED CELL: %x", reinterpret_cast<int>(m_allocList.at(i)));
+        }
+    
+    m_allocList.clear();
+    throw std::bad_alloc();
+    }
+    
+    m_allocList.clear();
+}
+
+
+/*!
+  OomTestExecuter::runTest
+ */
+void OomTestExecuter::runTest(
+    QObject &testObject, const char *testMethod)
+{
+    qDebug() << "OomTestExecuter::runTest : IN :" << testMethod;
+    
+    MemoryAllocator::enableOomSimulation();
+
+    bool exceptionCaught = false;
+    do {
+        exceptionCaught = false;
+        int currentAllocFailIndex = MemoryAllocator::currentAllocFailIndex();
+        
+        try {
+            try {
+                QMetaObject::invokeMethod(
+                    &testObject, "init", Qt::DirectConnection);
+                QMetaObject::invokeMethod(
+                    &testObject, testMethod, Qt::DirectConnection);
+            } catch (const std::bad_alloc &ex) {
+                exceptionCaught = true;
+                QMetaObject::invokeMethod(
+                    &testObject, "cleanup", Qt::DirectConnection);
+            }
+        // TODO: for some reason bad_alloc exception is corrupted to 
+        // unknown exception and nested catch block is needed to be able to
+        // handle situation. One level catch does not work for some reason.
+        } catch (...) {
+            exceptionCaught = true;
+            QMetaObject::invokeMethod(
+                &testObject, "cleanup", Qt::DirectConnection);
+            if (currentAllocFailIndex == MemoryAllocator::currentAllocFailIndex()) {
+                qDebug() << "OomTestExecuter::runTest, ERROR: unexpected exception!";
+                throw;
+            }
+        }
+    } while(exceptionCaught);
+    
+    QMetaObject::invokeMethod(&testObject, "cleanup", Qt::DirectConnection);
+    MemoryAllocator::disableOomSimulation();
+    qDebug() << "OomTestExecuter::runTest : OUT :" << testMethod;
+}
+
+/*!
+  OomTestExecuter::runAllTests
+ */
+void OomTestExecuter::runAllTests(
+    QObject &testObject, const char *callingTestMethod)
+{
+    const QMetaObject *metaObject = testObject.metaObject();
+    
+    int methodCount = metaObject->methodCount();
+    for (int i = 0; i < methodCount; ++i) {
+        QMetaMethod slotMethodCandidate = metaObject->method(i);
+        if (!isValidSlot(slotMethodCandidate)) {
+            continue;
+        }
+        
+        QByteArray slotMethodName(slotMethodCandidate.signature());
+        // remove parentheses
+        slotMethodName = slotMethodName.left(slotMethodName.length() - 2);
+        
+        // Prevent from infinite loop and do not execute test method, which
+        // has called runAllTests.
+        if (slotMethodName != callingTestMethod) {
+            runTest(testObject, slotMethodName);
+        }
+    }
+}
+
+/*!
+  OomTestExecuter::isValidSlot
+ */
+bool OomTestExecuter::isValidSlot(const QMetaMethod &sl)
+{
+    if ((sl.access() != QMetaMethod::Private) || !sl.parameterTypes().isEmpty()
+        || qstrlen(sl.typeName()) || (sl.methodType() != QMetaMethod::Slot)) {
+        return false;
+    }
+    
+    const char *sig = sl.signature();
+    int len = qstrlen(sig);
+    if (len < 2) {
+        return false;
+    }
+    
+    if (sig[len - 2] != '(' || sig[len - 1] != ')') {
+        return false;
+    }
+    
+    if (len > 7 && strcmp(sig + (len - 7), "_data()") == 0) {
+        return false;
+    }
+    
+    if ((strcmp(sig, "initTestCase()") == 0) || (strcmp(sig, "cleanupTestCase()") == 0)
+        || (strcmp(sig, "cleanup()") == 0) || (strcmp(sig, "init()") == 0)) {
+        return false;
+    }
+    
+    return true;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/common/testutilities.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TESTUTILITIES_H
+#define TESTUTILITIES_H
+
+#include <qobject.h>
+#include <qglobal.h>
+#include <qlist.h>
+#include <qmetaobject.h>
+#include <QDebug>
+
+/*! Provides services for OOM simulation and memory leak detection. */
+class MemoryAllocator : public QObject
+{
+    Q_OBJECT
+    
+public:
+    
+    /*! Activates OOM simulation. */
+    static void enableOomSimulation();
+    
+    /*! Disables OOM simulation. */
+    static void disableOomSimulation();
+    
+    /*! Checks whether OOM simulation is active. */
+    static bool isOomSimulationEnabled();
+    
+    /*! Returns current alloc fail index. */
+    static int currentAllocFailIndex();
+    
+    /*! Allocates memory. */
+    static void* alloc(std::size_t sz);
+    
+    /*! Frees allocated memory. */
+    static void free(void *memoryAddress);
+    
+    /*! Checks that all memory allocated through this allocator is freed. */
+    static void verifyMemoryAllocations();
+
+private:
+    
+    static bool m_isOomSimulationEnabled;
+    static int m_numOfAllocsSinceLastFail;
+    static int m_allocFailIndex;
+    static QList<void*> m_allocList;
+};
+
+/*! Provides services to run QTest cases with OOM simulation. */
+class OomTestExecuter : public QObject
+{
+    Q_OBJECT
+    
+public:
+    
+    /*! Runs specified test case with OOM simulation. */
+    template <typename CLASS>
+    static void runTest(CLASS& testObject, void(CLASS::*testMethod)())
+    {
+        MemoryAllocator::enableOomSimulation();
+
+        bool exceptionCaught = false;
+        do {
+            exceptionCaught = false;
+            int currentAllocFailIndex = 
+                MemoryAllocator::currentAllocFailIndex();
+            
+            try {
+                try {
+                    QMetaObject::invokeMethod(
+                        &testObject, "init", Qt::DirectConnection);
+                    (testObject.*testMethod)();
+                } catch (const std::bad_alloc &ex) {
+                    exceptionCaught = true;
+                    QMetaObject::invokeMethod(
+                        &testObject, "cleanup", Qt::DirectConnection);
+                }
+            // TODO: for some reason bad_alloc exception is corrupted to 
+            // unknown exception and nested catch block is needed to be able to
+            // handle situation. One level try-catch does not work for some reason.
+            } catch (...) {
+                exceptionCaught = true;
+                QMetaObject::invokeMethod(
+                    &testObject, "cleanup", Qt::DirectConnection);
+                if (currentAllocFailIndex == MemoryAllocator::currentAllocFailIndex()) {
+                    qDebug() << "OomTestExecuter::runTest, ERROR: unexpected exception!";
+                    throw;
+                }
+            }
+        } while(exceptionCaught);
+        
+        QMetaObject::invokeMethod(&testObject, "cleanup", Qt::DirectConnection);
+        MemoryAllocator::disableOomSimulation();
+    }
+
+    /*! Runs specified test case with OOM simulation. */
+    static void runTest(
+        QObject &testObject, 
+        const char *testMethod);
+    
+    /*! Runs all test cases in given QTest object with OOM simulation. */
+    static void runAllTests(
+        QObject &testObject, 
+        const char *callingTestMethod);
+
+private:
+    
+    static bool isValidSlot(const QMetaMethod &sl);
+};
+
+#define EXPECT_EXCEPTION(statements)    \
+{                                       \
+    bool exceptionDetected = false;     \
+    try {                               \
+        statements                      \
+    } catch (...) {                     \
+        exceptionDetected = true;       \
+    }                                   \
+    QVERIFY(true == exceptionDetected); \
+}
+
+#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; \
+    int result = QTest::qExec(&tc, 3, new_argv); \
+    \
+    MemoryAllocator::verifyMemoryAllocations(); \
+    \
+    return result;\
+}
+
+#endif  // TESTUTILITIES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cphcltemergencycall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <mphcltemergencycallobserver.h>
+#include "mock_cphcltemergencycall.h"
+
+TBool CPhCltEmergencyCallMock::iSimulateEmergencyNumberMatch = EFalse;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCall::CPhCltEmergencyCall
+// C++ constructor.
+// -----------------------------------------------------------------------------
+//
+CPhCltEmergencyCall::CPhCltEmergencyCall( 
+        MPhCltEmergencyCallObserver* aObserver )
+    : CActive( EPriorityStandard ), iObserver( aObserver )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCall::CPhCltEmergencyCall
+// -----------------------------------------------------------------------------
+//
+CPhCltEmergencyCall* CPhCltEmergencyCall::NewL( 
+        MPhCltEmergencyCallObserver* aObserver )
+    {
+    return CPhCltEmergencyCallMock::NewL( aObserver );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::CPhCltEmergencyCallMock
+// C++ constructor.
+// -----------------------------------------------------------------------------
+//
+CPhCltEmergencyCallMock::CPhCltEmergencyCallMock( 
+        MPhCltEmergencyCallObserver * aObserver )
+    : CPhCltEmergencyCall( aObserver )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::NewL
+// -----------------------------------------------------------------------------
+//
+CPhCltEmergencyCallMock * CPhCltEmergencyCallMock::NewL( 
+        MPhCltEmergencyCallObserver * aObserver )
+    {
+    SMC_MOCK_NEWL1( CPhCltEmergencyCallMock *, MPhCltEmergencyCallObserver *, aObserver )
+
+    CPhCltEmergencyCallMock* self = new( ELeave ) CPhCltEmergencyCallMock( aObserver );
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::IsEmergencyPhoneNumber
+// -----------------------------------------------------------------------------
+//
+TInt CPhCltEmergencyCallMock::IsEmergencyPhoneNumber( 
+        const TDesC & aNumber,
+        TBool & aIsEmergencyNumber )
+    {
+    SMC_MOCK_METHOD2( TInt, const TDesC &, aNumber, 
+        TBool &, aIsEmergencyNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::FindEmergencyPhoneNumber
+// -----------------------------------------------------------------------------
+//
+TInt CPhCltEmergencyCallMock::FindEmergencyPhoneNumber( 
+        TDes & aNumber,
+        TBool & aIsEmergencyNumber )
+    {
+    SMC_MOCK_METHOD2( TInt, TDes &, aNumber, 
+        TBool &, aIsEmergencyNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::DialEmergencyCallL
+// -----------------------------------------------------------------------------
+//
+void CPhCltEmergencyCallMock::DialEmergencyCallL( 
+        const TDesC & aNumber )
+    {
+    SMC_MOCK_METHOD1( void, const TDesC &, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::IsEmergencyPhoneNumber
+// -----------------------------------------------------------------------------
+//
+TInt CPhCltEmergencyCallMock::IsEmergencyPhoneNumber( 
+        const TDesC & aNumber,
+        TDes & aMatchedEmergencyNumber,
+        TBool & aIsEmergencyNumber )
+    {
+    if (iSimulateEmergencyNumberMatch) {
+        aIsEmergencyNumber = ETrue;
+    }
+    
+    SMC_MOCK_METHOD3( TInt, const TDesC &, aNumber, 
+        TDes &, aMatchedEmergencyNumber, 
+        TBool &, aIsEmergencyNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::RunL
+// Declaration needed due to vftable references.
+// -----------------------------------------------------------------------------
+//
+void CPhCltEmergencyCallMock::RunL()
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::DoCancel
+// Declaration needed due to vftable references.
+// -----------------------------------------------------------------------------
+//
+void CPhCltEmergencyCallMock::DoCancel()
+    {
+    
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cphcltemergencycall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,144 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHCLTEMERGENCYCALLMOCK_H
+#define CPHCLTEMERGENCYCALLMOCK_H
+
+#include <e32base.h>
+#include <cphcltemergencycall.h>
+
+// FORWARD DECLARATIONS
+class MPhCltEmergencyCallObserver;
+
+// CLASS DECLARATION
+/**
+*   Phone Client Emergency Call Api for emergency number query
+*   and emergency dialing.
+*
+*   @lib phoneclient.lib
+*   @since SeriesS60_3.2
+*/
+class CPhCltEmergencyCallMock : public CPhCltEmergencyCall
+    {
+    public:
+        static TBool iSimulateEmergencyNumberMatch;
+    
+    public:  // Constructors and destructor
+ 
+        /**
+        * Create an instance that implements the interface.
+        *
+        * @param aObserver It is the observer for the instance.
+        * @return Returns the created instance.
+        */
+        static CPhCltEmergencyCallMock* NewL( 
+            MPhCltEmergencyCallObserver* aObserver );
+
+    public: // New functions    
+        
+       /**
+        * Returns information whether the number specified was an emergency number.
+        * 
+        * @param aNumber Number to be queried. aNumber might contain prefix (SS code)
+        *                and/or postfix (DTMF part).  
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltEmergencyNumber.
+        *
+        * @param aIsEmergencyNumber If ETrue, then the aNumber 
+        *                           parameter included emergency number.
+        * @return Returns error code of the success of the operation.
+        */
+        TInt IsEmergencyPhoneNumber( const TDesC& aNumber, 
+            TBool& aIsEmergencyNumber );
+
+        /**
+        * Method can be used to check if the number specified contains 
+        * a valid emergency number in the end of the number.
+        * 
+        * @param aNumber Number to be queried, matched emergency number 
+        *                is returned in this parameter.
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltTelephoneNumber.
+        *             
+        * @param aIsEmergencyNumber If ETrue, then the aNumber parameter 
+        *                           was emergency number. 
+        * @return Returns error code of the success of the operation.
+        */
+        TInt FindEmergencyPhoneNumber( TDes& aNumber, 
+            TBool& aIsEmergencyNumber );
+
+        /**
+        * Initiates an emergency call.
+        *
+        * @param aNumber Emergency number to be dialed.
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltEmergencyNumber. 
+        *
+        *                If the aNumber parameter supplies an "empty" buffer 
+        *                the call is created either dialing the default emergency 
+        *                phone number or use the SET UP EMERGENCY request  
+        *                that does not contain a  dialling number.
+        *
+        *                Leaves with KErrArgument, if parameter aNumber was
+        *                not an emergency number.
+        *
+        * @pre IsActive() returns EFalse, otherwise leaves with KErrInUse.
+        */
+        void DialEmergencyCallL( const TDesC& aNumber );
+        
+        /**
+        * Returns information whether the number specified was an emergency 
+        * number and also returns the plain emergency number.
+        * 
+        * @param aNumber Number to be queried.aNumber might contain prefix (SS code)
+        *                and/or postfix (DTMF part).
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltEmergencyNumber. 
+        *
+        * @param aMatchedEmergencyNumber Matched emergencynumber without prefix or 
+        *                postfix is returned in this parameter. The aMatchedEmergencyNumber 
+        *                parameter should be a buffer and the clients are
+        *                provided with atypedef called TPhCltEmergencyNumber.
+        * 
+        * @param aIsEmergencyNumber If ETrue, then the aNumber 
+        *                           parameter included emergency number.
+        *
+        * @return Returns error code of the success of the operation.
+        */
+        TInt IsEmergencyPhoneNumber( const TDesC& aNumber,
+            TDes& aMatchedEmergencyNumber, TBool& aIsEmergencyNumber );                    
+        
+    protected:
+
+        /**
+        * C++ constructor.
+        */
+        CPhCltEmergencyCallMock( MPhCltEmergencyCallObserver* aObserver );
+        
+        void RunL();
+        
+        void DoCancel();
+
+    };
+
+#endif      // CPHCLTEMERGENCYCALLMOCK_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cpsetrefreshhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,99 @@
+/** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include <mock_cpsetrefreshhandler.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPSetRefreshHandlerMock::NewL
+// -----------------------------------------------------------------------------
+//
+CPSetRefreshHandlerMock * CPSetRefreshHandlerMock::NewL(  )
+    {
+    SMC_MOCK_NEWL0( CPSetRefreshHandlerMock * )
+
+    CPSetRefreshHandlerMock* self = new( ELeave ) CPSetRefreshHandlerMock;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPSetRefreshHandlerMock::NotifyFileChangeL
+// -----------------------------------------------------------------------------
+//
+void CPSetRefreshHandlerMock::NotifyFileChangeL( 
+        MSSSettingsRefreshObserver & aObserver,
+        TSatElementaryFiles aObservedFile,
+        TSatRefreshType aObservedRefreshType )
+    {
+    m_observer = &aObserver;
+    SMC_MOCK_METHOD3( void, MSSSettingsRefreshObserver &, aObserver, 
+        TSatElementaryFiles, aObservedFile, 
+        TSatRefreshType, aObservedRefreshType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPSetRefreshHandlerMock::CancelNotify
+// -----------------------------------------------------------------------------
+//
+void CPSetRefreshHandlerMock::CancelNotify(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPSetRefreshHandlerMock::ChangedCspSettings
+// -----------------------------------------------------------------------------
+//
+TInt CPSetRefreshHandlerMock::ChangedCspSettings( 
+        TPSetChangedCspSetting & aChangedCspSettings,
+        TPSetChangedCspSetting & aNewValues )
+    {
+    SMC_MOCK_METHOD2( TInt, TPSetChangedCspSetting &, aChangedCspSettings, 
+        TPSetChangedCspSetting &, aNewValues )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPSetRefreshHandlerMock::ChangedCspSettings
+// -----------------------------------------------------------------------------
+//
+void CPSetRefreshHandlerMock::trigerAllowRefresh( 
+        const TSatRefreshType aType,
+        const TSatElementaryFiles aFiles  )
+    {
+    m_observer->AllowRefresh(aType, aFiles);
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPSetRefreshHandlerMock::ChangedCspSettings
+// -----------------------------------------------------------------------------
+//
+void CPSetRefreshHandlerMock::trigerRefresh( 
+        const TSatRefreshType aType,
+        const TSatElementaryFiles aFiles  )
+    {
+    m_observer->Refresh(aType, aFiles);
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cpsetrefreshhandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,41 @@
+/** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef CPSetRefreshHandler_h
+#define CPSetRefreshHandler_h
+
+#include <psetrefreshhandler.h> 
+   
+class CPSetRefreshHandlerMock : public CPSetRefreshHandler
+    {
+    public:
+        static CPSetRefreshHandlerMock* NewL();
+        void NotifyFileChangeL( MSSSettingsRefreshObserver & aObserver, TSatElementaryFiles aObservedFile, TSatRefreshType aObservedRefreshType );
+        void CancelNotify( );
+        TInt ChangedCspSettings( TPSetChangedCspSetting & aChangedCspSettings, TPSetChangedCspSetting & aNewValues );
+        
+    public:
+        void trigerAllowRefresh( 
+                const TSatRefreshType aType,
+                const TSatElementaryFiles aFiles  );
+
+        void trigerRefresh( 
+                const TSatRefreshType aType,
+                const TSatElementaryFiles aFiles  );
+        
+        MSSSettingsRefreshObserver *m_observer;
+    };
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cvoicemailbox.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,246 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+#include <mvoicemailboxobserver.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// TVoiceMailboxParams::TVoiceMailboxParams
+// -----------------------------------------------------------------------------
+//
+TVoiceMailboxParams::TVoiceMailboxParams(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// TVoiceMailboxParams::Version
+// -----------------------------------------------------------------------------
+//
+TInt TVoiceMailboxParams::Version(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// TVoiceMailboxParams::TVoiceMailboxParams
+// -----------------------------------------------------------------------------
+//
+TVoiceMailboxParams::TVoiceMailboxParams( 
+        const CVoiceMailboxEntry & aEntry )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::CVoiceMailbox
+// -----------------------------------------------------------------------------
+//
+CVoiceMailbox::CVoiceMailbox(  )
+    //:
+    //CBase( /**/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailbox::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::NewL
+// -----------------------------------------------------------------------------
+//
+CVoiceMailbox * CVoiceMailbox::NewL(  )
+    {
+    SMC_MOCK_NEWL0( CVoiceMailbox * )
+
+    CVoiceMailbox* self = new( ELeave ) CVoiceMailbox;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::NewLC
+// -----------------------------------------------------------------------------
+//
+CVoiceMailbox * CVoiceMailbox::NewLC(  )
+    {
+    SMC_MOCK_NEWLC0( CVoiceMailbox * )
+
+    CVoiceMailbox* self = new( ELeave ) CVoiceMailbox;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::~CVoiceMailbox
+// -----------------------------------------------------------------------------
+//
+CVoiceMailbox::~CVoiceMailbox(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::GetStoredEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::GetStoredEntry( 
+        const TVoiceMailboxParams & aParams,
+        CVoiceMailboxEntry * & aEntry ) const
+    {
+
+    CVoiceMailboxEntry* vmbxEntry = NULL;
+    vmbxEntry = CVoiceMailboxEntry::NewL();
+    vmbxEntry->SetServiceId( KVmbxServiceVoice );
+    vmbxEntry->SetVoiceMailboxType( EVmbxVoice );
+    vmbxEntry->SetVmbxAlsLineType( EVmbxAlsLine1 );
+    aEntry = vmbxEntry;
+    SMC_MOCK_METHOD2( TInt, const TVoiceMailboxParams &, aParams, 
+        CVoiceMailboxEntry *, aEntry )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::SaveEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::SaveEntry( 
+        const CVoiceMailboxEntry & aEntry )
+    {
+    SMC_MOCK_METHOD1( TInt, const CVoiceMailboxEntry &, aEntry )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::QueryNewEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::QueryNewEntry( 
+        const TVoiceMailboxParams & aParams,
+        CVoiceMailboxEntry * & aEntry )
+    {
+    SMC_MOCK_METHOD2( TInt, const TVoiceMailboxParams &, aParams, 
+        CVoiceMailboxEntry *, aEntry )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::QueryChangeEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::QueryChangeEntry( 
+        const TVoiceMailboxParams & aParams,
+        CVoiceMailboxEntry * & aEntry )
+    {
+    SMC_MOCK_METHOD2( TInt, const TVoiceMailboxParams &, aParams, 
+        CVoiceMailboxEntry *, aEntry )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::QueryVmbxType
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::QueryVmbxType( 
+        TVoiceMailboxParams & aParams )
+    {
+    SMC_MOCK_METHOD1( TInt, TVoiceMailboxParams &, aParams )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::NotifyVmbxNumberChangeL
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailbox::NotifyVmbxNumberChangeL( 
+        MVoiceMailboxObserver & aObserver,
+        const TBool aNotifyOnActiveLineOnly )
+    {
+    SMC_MOCK_METHOD2( void, MVoiceMailboxObserver &, aObserver, 
+        const TBool, aNotifyOnActiveLineOnly )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::NotifyVmbxNumberChangeCancel
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailbox::NotifyVmbxNumberChangeCancel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::CheckConfiguration
+// -----------------------------------------------------------------------------
+//
+TBool CVoiceMailbox::CheckConfiguration( 
+        const TVoiceMailboxParams & aParams,
+        const TInt aFlags )
+    {
+    SMC_MOCK_METHOD2( TBool, const TVoiceMailboxParams &, aParams, 
+        const TInt, aFlags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::GetServiceIds
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::GetServiceIds( 
+        RIdArray & aProfileIds ) const
+    {
+    SMC_MOCK_METHOD1( TInt, RIdArray &, aProfileIds )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::SaveProvisionedEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::SaveProvisionedEntry( 
+        const CVoiceMailboxEntry & aEntry )
+    {
+    SMC_MOCK_METHOD1( TInt, const CVoiceMailboxEntry &, aEntry )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_cvoicemailboxentry.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,244 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 "cvoicemailboxentry.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::CVoiceMailboxEntry
+// -----------------------------------------------------------------------------
+//
+CVoiceMailboxEntry::CVoiceMailboxEntry(  )
+    //:
+    //CBase( /**/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::NewL
+// -----------------------------------------------------------------------------
+//
+CVoiceMailboxEntry * CVoiceMailboxEntry::NewL(  )
+    {
+    SMC_MOCK_NEWL0( CVoiceMailboxEntry * )
+
+    CVoiceMailboxEntry* self = new( ELeave ) CVoiceMailboxEntry;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::NewLC
+// -----------------------------------------------------------------------------
+//
+CVoiceMailboxEntry * CVoiceMailboxEntry::NewLC(  )
+    {
+    SMC_MOCK_NEWLC0( CVoiceMailboxEntry * )
+
+    CVoiceMailboxEntry* self = new( ELeave ) CVoiceMailboxEntry;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::~CVoiceMailboxEntry
+// -----------------------------------------------------------------------------
+//
+CVoiceMailboxEntry::~CVoiceMailboxEntry(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::ServiceId
+// -----------------------------------------------------------------------------
+//
+TServiceId CVoiceMailboxEntry::ServiceId(  ) const
+    {
+    SMC_MOCK_METHOD0( TServiceId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetServiceId
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetServiceId( 
+        const TServiceId & aVmbxServiceId )
+    {
+    SMC_MOCK_METHOD1( void, const TServiceId &, aVmbxServiceId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::VoiceMailboxType
+// -----------------------------------------------------------------------------
+//
+TVmbxType CVoiceMailboxEntry::VoiceMailboxType(  ) const
+    {
+    SMC_MOCK_METHOD0( TVmbxType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVoiceMailboxType
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetVoiceMailboxType( 
+        const TVmbxType & aVmbxType )
+    {
+    SMC_MOCK_METHOD1( void, const TVmbxType &, aVmbxType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::VmbxAlsLineType
+// -----------------------------------------------------------------------------
+//
+TVmbxAlsLineType CVoiceMailboxEntry::VmbxAlsLineType(  ) const
+    {
+    SMC_MOCK_METHOD0( TVmbxAlsLineType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVmbxAlsLineType
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetVmbxAlsLineType( 
+        const TVmbxAlsLineType & aLine )
+    {
+    SMC_MOCK_METHOD1( void, const TVmbxAlsLineType &, aLine )
+    }
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::GetVmbxNumber
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::GetVmbxNumber( 
+        TPtrC & aVmbxNumber ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TPtrC &, aVmbxNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVmbxNumber
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::SetVmbxNumber( 
+        const TDesC & aVmbxNumber )
+    {
+    SMC_MOCK_METHOD1( TInt, const TDesC &, aVmbxNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::GetBrandId
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::GetBrandId( 
+        TPtrC8 & aBrandId ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TPtrC8 &, aBrandId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetBrandId
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::SetBrandId( 
+        const TDesC8 & aBrandId )
+    {
+    SMC_MOCK_METHOD1( TInt, const TDesC8 &, aBrandId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::GetVmbxName
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::GetVmbxName( 
+        TPtrC & aVmbxName ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TPtrC &, aVmbxName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVmbxName
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::SetVmbxName( 
+        const TDesC & aVmbxName )
+    {
+    SMC_MOCK_METHOD1( TInt, const TDesC &, aVmbxName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::UsingMemoryLocation
+// -----------------------------------------------------------------------------
+//
+TVmbxMemoryLocation CVoiceMailboxEntry::UsingMemoryLocation(  ) const
+    {
+    SMC_MOCK_METHOD0( TVmbxMemoryLocation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::Reset
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::Reset(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetUsingMemoryLocation
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetUsingMemoryLocation( 
+        const TVmbxMemoryLocation & aType )
+    {
+    SMC_MOCK_METHOD1( void, const TVmbxMemoryLocation &, aType )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcallbarring.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,178 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <smcmockclassincludes.h>
+#include <etelmm.h>
+#include <rsssettings.h> 
+#include <PsetCallBarring.h>
+#include <mpsetrequestobs.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::CPsetCallBarring
+// -----------------------------------------------------------------------------
+//
+CPsetCallBarring::CPsetCallBarring( 
+        RMobilePhone & aPhone )
+    :
+	CActive(EPriorityStandard),
+	iPhone(aPhone)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallBarring::ConstructL( 
+        MPsetBarringObserver & /*aObserver*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::NewL
+// -----------------------------------------------------------------------------
+//
+CPsetCallBarring * CPsetCallBarring::NewL( 
+        MPsetBarringObserver & aObserver,
+        RMobilePhone & aPhone )
+    {
+    SMC_MOCK_NEWL2( CPsetCallBarring *, MPsetBarringObserver &, aObserver, 
+        RMobilePhone &, aPhone )
+
+    CPsetCallBarring* self = new( ELeave ) CPsetCallBarring(aPhone);
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::~CPsetCallBarring
+// -----------------------------------------------------------------------------
+//
+CPsetCallBarring::~CPsetCallBarring(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::SetBarringL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallBarring::SetBarringL( 
+        const TCallBarringSetting & aBarring,
+        TBasicServiceGroups aBsc )
+    {
+    SMC_MOCK_METHOD2( void, const TCallBarringSetting &, aBarring, 
+        TBasicServiceGroups, aBsc )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::GetBarringStatusL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallBarring::GetBarringStatusL( 
+        const TServiceGroup aGroup,
+        const TBarringProgram aMode )
+    {
+    SMC_MOCK_METHOD2( void, const TServiceGroup, aGroup, 
+        const TBarringProgram, aMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::CancelCurrentRequest
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCallBarring::CancelCurrentRequest(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::PhoneSettingChanged
+// -----------------------------------------------------------------------------
+//
+void CPsetCallBarring::PhoneSettingChanged( 
+        TSSSettingsSetting aSetting,
+        TInt aNewValue )
+    {
+    SMC_MOCK_METHOD2( void, TSSSettingsSetting, aSetting, 
+        TInt, aNewValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::ChangePasswordL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallBarring::ChangePasswordL( 
+        RMobilePhone::TMobilePhonePasswordChangeV2 & aPwds,
+        TBool aIsBarringPassword )
+    {
+    SMC_MOCK_METHOD2( void, RMobilePhone::TMobilePhonePasswordChangeV2 &, aPwds, 
+        TBool, aIsBarringPassword )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::ChangePasswordL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallBarring::ChangePasswordL( 
+        RMobilePhone::TMobilePhonePasswordChangeV2 & aPwds )
+    {
+    SMC_MOCK_METHOD1( void, RMobilePhone::TMobilePhonePasswordChangeV2 &, aPwds )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallBarring::SetRequestObserver
+// -----------------------------------------------------------------------------
+//
+void CPsetCallBarring::SetRequestObserver( 
+        MPsetRequestObserver * aObs )
+    {
+    SMC_MOCK_METHOD1( void, MPsetRequestObserver *, aObs )
+    }
+
+
+// ---------------------------------------------------------------------------
+// CPsetCallBarring::DoCancel
+// ---------------------------------------------------------------------------
+//
+void CPsetCallBarring::DoCancel()
+    {    
+
+    }
+// ---------------------------------------------------------------------------
+// CPsetCallBarring::RunL
+
+// ---------------------------------------------------------------------------
+//
+void CPsetCallBarring::RunL()
+    {
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcallbarringwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,111 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <psetcontainer.h>
+#include <psetcallbarring.h>
+#include <psetcallbarringwrapper.h>
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "psetcallbarringwrapper.h"
+
+class PSetCallBarringWrapperPrivate {
+public:
+    PSetCallBarringWrapperPrivate() {}
+    ~PSetCallBarringWrapperPrivate() {}
+};
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetCallBarringWrapper::PSetCallBarringWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallBarringWrapper::PSetCallBarringWrapper( 
+        CPsetContainer & psetContainer,
+        QObject * parent )
+    :
+    QObject(parent)
+    {
+    Q_UNUSED(psetContainer)
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallBarringWrapper::~PSetCallBarringWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallBarringWrapper::~PSetCallBarringWrapper(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallBarringWrapper::barringStatus
+// -----------------------------------------------------------------------------
+//
+void PSetCallBarringWrapper::barringStatus( 
+        PsServiceGroup serviceGroup,
+        BarringType barringType )
+    {
+    SMC_MOCK_METHOD2( void, int/*PsServiceGroup*/, static_cast<int>(serviceGroup), 
+        BarringType, barringType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallBarringWrapper::enableBarring
+// -----------------------------------------------------------------------------
+//
+void PSetCallBarringWrapper::enableBarring(
+    PsServiceGroup serviceGroup,
+    BarringType barringType,
+    QString barringPassword)
+    {
+    SMC_MOCK_METHOD3( void, int/*PsServiceGroup*/, static_cast<int>(serviceGroup), 
+        BarringType, barringType, QString, barringPassword )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallBarringWrapper::disableBarring
+// -----------------------------------------------------------------------------
+//
+void PSetCallBarringWrapper::disableBarring(
+    PsServiceGroup serviceGroup,
+    BarringType barringType,
+    QString barringPassword)
+    {
+    SMC_MOCK_METHOD3( void, int/*PsServiceGroup*/, static_cast<int>(serviceGroup), 
+        BarringType, barringType, QString, barringPassword )
+    }
+
+// -----------------------------------------------------------------------------
+// PSetCallBarringWrapper::changeBarringPassword
+// -----------------------------------------------------------------------------
+//
+void PSetCallBarringWrapper::changeBarringPassword(
+    const QString &oldPassword, 
+    const QString &newPassword,
+    const QString &verifiedPassword)
+{
+    SMC_MOCK_METHOD3( void, 
+        const QString &, oldPassword, 
+        const QString &, newPassword, 
+        const QString &, verifiedPassword )
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcalldiverting.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <smcmockclassincludes.h>
+#include <etelmm.h>           
+#include <e32math.h>
+#include <e32svr.h>
+#include <badesca.h>
+#include <centralrepository.h>
+#include <SettingsInternalCRKeys.h>
+#include <mpsetrequestobs.h>
+#include <mpsetdivertobs.h>
+#include "PsetCallDiverting.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::CPsetCallDiverting
+// -----------------------------------------------------------------------------
+//
+CPsetCallDiverting::CPsetCallDiverting( 
+        RMobilePhone & aPhone ) : iPhone(aPhone)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallDiverting::ConstructL( 
+        MPsetDivertObserver & /*aObserver*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::NewL
+// -----------------------------------------------------------------------------
+//
+CPsetCallDiverting * CPsetCallDiverting::NewL( 
+        MPsetDivertObserver & aObserver,
+        RMobilePhone & aPhone )
+    {
+    SMC_MOCK_NEWL2( CPsetCallDiverting *, MPsetDivertObserver &, aObserver, 
+        RMobilePhone &, aPhone )
+
+    CPsetCallDiverting* self = new( ELeave ) CPsetCallDiverting( aPhone );
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::~CPsetCallDiverting
+// -----------------------------------------------------------------------------
+//
+CPsetCallDiverting::~CPsetCallDiverting(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::SetDivertingL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallDiverting::SetDivertingL( 
+        const TCallDivertSetting & aDivert,
+        TBasicServiceGroups aBsc,
+        TBool aVmbx )
+    {
+    SMC_MOCK_METHOD3( void, const TCallDivertSetting &, aDivert, 
+        TBasicServiceGroups, aBsc, 
+        TBool, aVmbx )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::GetDivertingStatusL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallDiverting::GetDivertingStatusL( 
+        const TServiceGroup aServiceGroup,
+        const TCallDivertingCondition aCondition,
+        TBasicServiceGroups aBsc )
+    {
+    SMC_MOCK_METHOD3( void, const TServiceGroup, aServiceGroup, 
+        const TCallDivertingCondition, aCondition, 
+        TBasicServiceGroups, aBsc )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::CancelCurrentRequest
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCallDiverting::CancelCurrentRequest(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::GetTimerValueL
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCallDiverting::GetTimerValueL(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::SetTimerValueL
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCallDiverting::SetTimerValueL( 
+        const TInt & aIndex )
+    {
+    SMC_MOCK_METHOD1( TInt, const TInt &, aIndex )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::GetDefaultNumbersL
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCallDiverting::GetDefaultNumbersL( 
+        CDesC16ArrayFlat & aDefNumbers )
+    {
+    _LIT( KNumber1,"111111" );
+    _LIT( KNumber2,"222222" );
+    
+    aDefNumbers.AppendL(KNumber1());
+    aDefNumbers.AppendL(KNumber2());
+
+    SMC_MOCK_METHOD1( TInt, CDesC16ArrayFlat &, aDefNumbers )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::SetNewDefaultNumberL
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCallDiverting::SetNewDefaultNumberL( 
+        TDes & aNumber )
+    {
+    SMC_MOCK_METHOD1( TInt, TDes &, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::SwapDefaultNumberL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallDiverting::SwapDefaultNumberL( 
+        const TInt & aLocation )
+    {
+    SMC_MOCK_METHOD1( void, const TInt &, aLocation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::SetUsedDataNumberL
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCallDiverting::SetUsedDataNumberL( 
+        TTelNumber & aNumber )
+    {
+    SMC_MOCK_METHOD1( TInt, TTelNumber &, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::SetUsedFaxNumberL
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCallDiverting::SetUsedFaxNumberL( 
+        TTelNumber & aNumber )
+    {
+    SMC_MOCK_METHOD1( TInt, TTelNumber &, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::GetUsedFaxNumberLC
+// -----------------------------------------------------------------------------
+//
+HBufC * CPsetCallDiverting::GetUsedFaxNumberLC(  )
+    {
+    SMC_MOCK_METHOD0( HBufC * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::GetUsedDataNumberLC
+// -----------------------------------------------------------------------------
+//
+HBufC * CPsetCallDiverting::GetUsedDataNumberLC(  )
+    {
+    SMC_MOCK_METHOD0( HBufC * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::SetRequestObserver
+// -----------------------------------------------------------------------------
+//
+void CPsetCallDiverting::SetRequestObserver( 
+        MPsetRequestObserver * aObs )
+    {
+    SMC_MOCK_METHOD1( void, MPsetRequestObserver *, aObs )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::VoiceMailQueryL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallDiverting::VoiceMailQueryL( 
+        TDes & aTelNumber )
+    {
+    SMC_MOCK_METHOD1( void, TDes &, aTelNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallDiverting::VideoMailQueryL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallDiverting::VideoMailQueryL( 
+        TDes & aTelNumber )
+    {
+    SMC_MOCK_METHOD1( void, TDes &, aTelNumber )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcalldivertingwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include <QtGlobal>
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "psetcalldivertingwrapper.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::PSetCallDivertingWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallDivertingWrapper::PSetCallDivertingWrapper( 
+        CPsetContainer & /*psetContainer*/,
+        QObject * parent )
+    :
+    QObject(parent)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// 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 )
+    {
+    SMC_MOCK_METHOD3( void, int/*const PsServiceGroup*/, static_cast<int>(aServiceGroup), 
+        const PsCallDivertingCondition, aCondition, 
+        int, aBsc )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::cancelProcess
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapper::cancelProcess(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::getDefaultNumbers
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapper::getDefaultNumbers( 
+        QStringList & aDefNumbers )
+    {
+    SMC_MOCK_METHOD1( void, QStringList &, aDefNumbers )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::setNewDefaultNumber
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapper::setNewDefaultNumber( 
+        QString aNumber )
+    {
+    SMC_MOCK_METHOD1( void, QString, aNumber )
+    }
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::getVoiceMailBoxNumber
+// -----------------------------------------------------------------------------
+//
+int PSetCallDivertingWrapper::getVoiceMailBoxNumber(
+        QString &aNumber, PsService aService)
+    {
+    SMC_MOCK_METHOD2( int, QString & , aNumber, PsService, aService )
+    }
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::queryVoiceMailBoxNumber
+// -----------------------------------------------------------------------------
+//
+int PSetCallDivertingWrapper::queryVoiceMailBoxNumber(
+        QString &aNumber, PsService aService)
+    {
+    SMC_MOCK_METHOD2( int, QString & , aNumber, PsService, aService )
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcallwaiting.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,150 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <mpsetrequestobs.h>
+#include "PsetCallWaiting.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::CPsetCallWaiting
+// -----------------------------------------------------------------------------
+//
+CPsetCallWaiting::CPsetCallWaiting( 
+        RMobilePhone & aPhone )
+    :
+        CActive( EPriorityStandard ),
+        iPhone(aPhone)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallWaiting::ConstructL( 
+        MPsetCallWaitingObserver & /*aObserver*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::NewL
+// -----------------------------------------------------------------------------
+//
+CPsetCallWaiting * CPsetCallWaiting::NewL( 
+        RMobilePhone & aPhone,
+        MPsetCallWaitingObserver & aObserver )
+    {
+    SMC_MOCK_NEWL2( CPsetCallWaiting *, RMobilePhone &, aPhone, 
+        MPsetCallWaitingObserver &, aObserver )
+
+    CPsetCallWaiting* self = new( ELeave ) CPsetCallWaiting(aPhone);
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::~CPsetCallWaiting
+// -----------------------------------------------------------------------------
+//
+CPsetCallWaiting::~CPsetCallWaiting(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::SetCallWaitingL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallWaiting::SetCallWaitingL( 
+        TSetCallWaiting aSetting,
+        TBasicServiceGroups aBsc )
+    {
+    SMC_MOCK_METHOD2( void, TSetCallWaiting, aSetting, 
+        TBasicServiceGroups, aBsc )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::GetCallWaitingStatusL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallWaiting::GetCallWaitingStatusL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::CancelProcess
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCallWaiting::CancelProcess(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::SetRequestObserver
+// -----------------------------------------------------------------------------
+//
+void CPsetCallWaiting::SetRequestObserver( 
+        MPsetRequestObserver * aObs )
+    {
+    SMC_MOCK_METHOD1( void, MPsetRequestObserver *, aObs )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::PhoneSettingChanged
+// -----------------------------------------------------------------------------
+//
+void CPsetCallWaiting::PhoneSettingChanged( 
+        TSSSettingsSetting aSetting,
+        TInt aNewValue )
+    {
+    SMC_MOCK_METHOD2( void, TSSSettingsSetting, aSetting, 
+        TInt, aNewValue )
+    }
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::RunL
+// -----------------------------------------------------------------------------
+//
+void CPsetCallWaiting::RunL()
+{
+    
+}
+
+// -----------------------------------------------------------------------------
+// CPsetCallWaiting::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CPsetCallWaiting::DoCancel()
+{
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcallwaitingwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include <QtGlobal>
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "psetcallwaitingwrapper.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+class PSetCallWaitingWrapperPrivate
+{
+public:
+    PSetCallWaitingWrapperPrivate() {}
+};
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapper::PSetCallWaitingWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallWaitingWrapper::PSetCallWaitingWrapper( 
+        CPsetContainer & /*psetContainer*/,
+        QObject * parent )
+    :
+    QObject(parent)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// 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/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcli.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  
+ *
+ */
+#include <smcmockclassincludes.h>
+#include <mpsetrequestobs.h>
+#include "PsetCli.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPsetCli::CPsetCli
+// -----------------------------------------------------------------------------
+//
+CPsetCli::CPsetCli( 
+        RMobilePhone & aPhone )
+    :
+        CActive( EPriorityStandard ),
+        iPhone( aPhone )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCli::NewL
+// -----------------------------------------------------------------------------
+//
+CPsetCli * CPsetCli::NewL( 
+        RMobilePhone & aPhone,
+        MPsetCliObserver & aObserver )
+    {
+    SMC_MOCK_NEWL2( CPsetCli *, RMobilePhone &, aPhone, 
+        MPsetCliObserver &, aObserver )
+
+    CPsetCli* self = new( ELeave ) CPsetCli(aPhone);
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCli::~CPsetCli
+// -----------------------------------------------------------------------------
+//
+CPsetCli::~CPsetCli(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCli::GetColpModeL
+// -----------------------------------------------------------------------------
+//
+void CPsetCli::GetColpModeL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCli::GetClipModeL
+// -----------------------------------------------------------------------------
+//
+void CPsetCli::GetClipModeL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCli::GetClirModeL
+// -----------------------------------------------------------------------------
+//
+void CPsetCli::GetClirModeL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCli::GetColrModeL
+// -----------------------------------------------------------------------------
+//
+void CPsetCli::GetColrModeL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCli::CancelAll
+// -----------------------------------------------------------------------------
+//
+void CPsetCli::CancelAll(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCli::GetCnapL
+// -----------------------------------------------------------------------------
+//
+void CPsetCli::GetCnapL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCli::SetRequestObserver
+// -----------------------------------------------------------------------------
+//
+void CPsetCli::SetRequestObserver( 
+        MPsetRequestObserver * aObs )
+    {
+    SMC_MOCK_METHOD1( void, MPsetRequestObserver *, aObs )
+    }
+
+// -----------------------------------------------------------------------------
+// CPsetCli::RunL
+// -----------------------------------------------------------------------------
+//
+void CPsetCli::RunL()
+    {
+        
+    }
+
+// -----------------------------------------------------------------------------
+// CPsetCli::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CPsetCli::DoCancel()
+    {
+        
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcliwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include <QtGlobal>
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "psetcliwrapper.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+class PSetCliWrapperPrivate
+{
+public:
+    PSetCliWrapperPrivate() {}
+};
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapper::PSetCliWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCliWrapper::PSetCliWrapper( 
+        CPsetContainer & /*psetContainer*/,
+        QObject * parent )
+    :
+    QObject(parent)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// 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/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcontainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <smcmockclassincludes.h>
+#include <mmtsy_names.h>
+#include <mpsetdivertobs.h>
+#include "PsetContainer.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPsetContainer::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::NewL
+// -----------------------------------------------------------------------------
+//
+CPsetContainer * CPsetContainer::NewL(  )
+    {
+    SMC_MOCK_NEWL0( CPsetContainer * )
+
+    CPsetContainer* self = new( ELeave ) CPsetContainer;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::~CPsetContainer
+// -----------------------------------------------------------------------------
+//
+CPsetContainer::~CPsetContainer(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::CreateCWObjectL
+// -----------------------------------------------------------------------------
+//
+CPsetCallWaiting * CPsetContainer::CreateCWObjectL( 
+        MPsetCallWaitingObserver & aObserver )
+    {
+    SMC_MOCK_METHOD1( CPsetCallWaiting *, MPsetCallWaitingObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::CreateCFObjectL
+// -----------------------------------------------------------------------------
+//
+CPsetCallDiverting * CPsetContainer::CreateCFObjectL( 
+        MPsetDivertObserver & aObserver )
+    {
+    SMC_MOCK_METHOD1( CPsetCallDiverting *, MPsetDivertObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::CreateCliObjectL
+// -----------------------------------------------------------------------------
+//
+CPsetCli * CPsetContainer::CreateCliObjectL( 
+        MPsetCliObserver & aObserver )
+    {
+    SMC_MOCK_METHOD1( CPsetCli *, MPsetCliObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::CreateCBObjectL
+// -----------------------------------------------------------------------------
+//
+CPsetCallBarring * CPsetContainer::CreateCBObjectL( 
+        MPsetBarringObserver & aObserver )
+    {
+    SMC_MOCK_METHOD1( CPsetCallBarring *, MPsetBarringObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::CreateNetworkObjectL
+// -----------------------------------------------------------------------------
+//
+CPsetNetwork * CPsetContainer::CreateNetworkObjectL( 
+        MPsetNetworkInfoObserver & aObserver )
+    {
+    SMC_MOCK_METHOD1( CPsetNetwork *, MPsetNetworkInfoObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::CreateRefreshHandlerL
+// -----------------------------------------------------------------------------
+//
+CPSetRefreshHandler * CPsetContainer::CreateRefreshHandlerL(  )
+    {
+    SMC_MOCK_METHOD0( CPSetRefreshHandler * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetContainer::CreateNetworkModeObjectL
+// -----------------------------------------------------------------------------
+//
+CPsetNetwork * CPsetContainer::CreateNetworkModeObjectL( 
+        MPsetNetworkModeObserver & aModeObserver )
+    {
+    SMC_MOCK_METHOD1( CPsetNetwork *, MPsetNetworkModeObserver &, aModeObserver )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetcsp.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <psetcsp.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::NewL
+// -----------------------------------------------------------------------------
+//
+CPsetCustomerServiceProfile * CPsetCustomerServiceProfile::NewL(  )
+    {
+    SMC_MOCK_NEWL0( CPsetCustomerServiceProfile * )
+
+    CPsetCustomerServiceProfile* self = new( ELeave ) CPsetCustomerServiceProfile;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::~CPsetCustomerServiceProfile
+// -----------------------------------------------------------------------------
+//
+CPsetCustomerServiceProfile::~CPsetCustomerServiceProfile(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::IsCWSupported
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCustomerServiceProfile::IsCWSupported( 
+        TBool & aSupport )
+    {
+    SMC_MOCK_METHOD1( TInt, TBool &, aSupport )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::IsCBSupported
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCustomerServiceProfile::IsCBSupported( 
+        TBool & aSupport )
+    {
+    SMC_MOCK_METHOD1( TInt, TBool &, aSupport )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::IsCFSupported
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCustomerServiceProfile::IsCFSupported( 
+        TBool & aSupport )
+    {
+    SMC_MOCK_METHOD1( TInt, TBool &, aSupport )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::IsALSSupported
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCustomerServiceProfile::IsALSSupported( 
+        TBool & aSupport )
+    {
+    SMC_MOCK_METHOD1( TInt, TBool &, aSupport )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::OpenCSProfileL
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCustomerServiceProfile::OpenCSProfileL(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::IsNetworkSelectionSupported
+// -----------------------------------------------------------------------------
+//
+TInt CPsetCustomerServiceProfile::IsNetworkSelectionSupported( 
+        TBool & aSupport )
+    {
+    SMC_MOCK_METHOD1( TInt, TBool &, aSupport )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::CheckIfCWSupported
+// -----------------------------------------------------------------------------
+//
+TBool CPsetCustomerServiceProfile::CheckIfCWSupported( 
+        const RMobilePhone::TCspCallCompletion aContainer ) const
+    {
+    SMC_MOCK_METHOD1( TBool, const RMobilePhone::TCspCallCompletion, aContainer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::CheckIfCBSupported
+// -----------------------------------------------------------------------------
+//
+TBool CPsetCustomerServiceProfile::CheckIfCBSupported( 
+        const RMobilePhone::TCspCallRestriction aContainer ) const
+    {
+    SMC_MOCK_METHOD1( TBool, const RMobilePhone::TCspCallRestriction, aContainer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::CheckIfCFSupported
+// -----------------------------------------------------------------------------
+//
+TBool CPsetCustomerServiceProfile::CheckIfCFSupported( 
+        const RMobilePhone::TCspCallOffering aContainer ) const
+    {
+    SMC_MOCK_METHOD1( TBool, const RMobilePhone::TCspCallOffering, aContainer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::CheckIfAlsSupported
+// -----------------------------------------------------------------------------
+//
+TBool CPsetCustomerServiceProfile::CheckIfAlsSupported( 
+        const RMobilePhone::TCspCPHSTeleservices aContainer ) const
+    {
+    SMC_MOCK_METHOD1( TBool, const RMobilePhone::TCspCPHSTeleservices, aContainer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetCustomerServiceProfile::CheckIfNetworkSelectionSupported
+// -----------------------------------------------------------------------------
+//
+TBool CPsetCustomerServiceProfile::CheckIfNetworkSelectionSupported( 
+        const RMobilePhone::TCspValueAdded aContainer ) const
+    {
+    SMC_MOCK_METHOD1( TBool, const RMobilePhone::TCspValueAdded, aContainer )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetnetwork.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,246 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <mmretrieve.h>
+#include <RmmCustomApi.h>
+
+#include <e32svr.h>
+#include <smcmockclassincludes.h>
+#include "PsetNetwork.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::CPsetNetwork
+// -----------------------------------------------------------------------------
+//
+CPsetNetwork::CPsetNetwork( 
+        RMobilePhone & aPhone )
+    :
+    CActive(EPriorityStandard),
+    iPhone(aPhone)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::ConstructL( 
+        MPsetNetworkInfoObserver & /*aObserver*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::NewL
+// -----------------------------------------------------------------------------
+//
+CPsetNetwork * CPsetNetwork::NewL( 
+        RMobilePhone & aPhone,
+        MPsetNetworkInfoObserver & aObserver )
+    {
+    SMC_MOCK_NEWL2( CPsetNetwork *, RMobilePhone &, aPhone, 
+        MPsetNetworkInfoObserver &, aObserver )
+
+    CPsetNetwork* self = new ( ELeave ) CPsetNetwork( aPhone );
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::NewL
+// -----------------------------------------------------------------------------
+//
+CPsetNetwork * CPsetNetwork::NewL( 
+        RMobilePhone & aPhone,
+        MPsetNetworkModeObserver & aObserver )
+    {
+    SMC_MOCK_NEWL2( CPsetNetwork *, RMobilePhone &, aPhone, 
+        MPsetNetworkModeObserver &, aObserver )
+
+    CPsetNetwork* self = new ( ELeave ) CPsetNetwork( aPhone );
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::~CPsetNetwork
+// -----------------------------------------------------------------------------
+//
+CPsetNetwork::~CPsetNetwork(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::GetAvailableNetworksL
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::GetAvailableNetworksL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::GetCurrentNetworkInfo
+// -----------------------------------------------------------------------------
+//
+TInt CPsetNetwork::GetCurrentNetworkInfo( 
+        TCurrentNetworkInfo & aInfo )
+    {
+    SMC_MOCK_METHOD1( TInt, TCurrentNetworkInfo &, aInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::GetNetworkSelectMode
+// -----------------------------------------------------------------------------
+//
+TInt CPsetNetwork::GetNetworkSelectMode( 
+        TSelectMode & aMode )
+    {
+    SMC_MOCK_METHOD1( TInt, TSelectMode &, aMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::SelectNetworkL
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::SelectNetworkL( 
+        const TNetworkInfo & aInfo )
+    {
+    SMC_MOCK_METHOD1( void, const TNetworkInfo &, aInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::CancelProcess
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::CancelProcess(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::SetNetworkModeSelectionL
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::SetNetworkModeSelectionL( 
+        TUint32 & aNetworkMode )
+    {
+    // Reference parameter is not really used to return some value so do not 
+    // save it as a reference to the symbianmock, because test will fail
+    // if stack-based parameter is saved as a reference.
+    SMC_MOCK_METHOD1( void, TUint32/* &*/, aNetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::GetCurrentNetworkModeSelectionL
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::GetCurrentNetworkModeSelectionL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::IsCallActive
+// -----------------------------------------------------------------------------
+//
+TInt CPsetNetwork::IsCallActive(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::IsGPRSConnected
+// -----------------------------------------------------------------------------
+//
+TInt CPsetNetwork::IsGPRSConnected(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::ResetNetworkSearch
+// -----------------------------------------------------------------------------
+//
+TInt CPsetNetwork::ResetNetworkSearch(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::SetNetSAObserver
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::SetNetSAObserver( 
+        MPsetNetworkInfoObserver & aObserver )
+    {
+    SMC_MOCK_METHOD1( void, MPsetNetworkInfoObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::SetNetworkModeObserver
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::SetNetworkModeObserver( 
+        MPsetNetworkModeObserver & aObserver )
+    {
+    SMC_MOCK_METHOD1( void, MPsetNetworkModeObserver &, aObserver )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::DoCancel()
+    {
+        
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPsetNetwork::RunL
+// -----------------------------------------------------------------------------
+//
+void CPsetNetwork::RunL()
+    {
+        
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/mocks/mock_psetnetworkwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include <QtGlobal>
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "psetnetworkwrapper.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::PSetNetworkWrapper
+// -----------------------------------------------------------------------------
+//
+PSetNetworkWrapper::PSetNetworkWrapper( 
+        CPsetContainer & /*psetContainer*/,
+        QObject * parent )
+    :
+    QObject(parent)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// 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( ErrorCode, PSetNetworkWrapper::NetworkSelectionMode &, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::selectNetwork
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapper::selectNetwork( 
+        const PSetNetworkWrapper::NetworkInfo & networkInfo )
+    {
+    SMC_MOCK_METHOD1( void, const PSetNetworkWrapper::NetworkInfo &, networkInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// 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/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/run_auto_tests_qt.bat	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,194 @@
+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 SBS_CALL=sbs --config winscw_udeb --keepgoing BUILD
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+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 sbs --config winscw_udeb --keepgoing CLEAN
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -2comp -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
+) else (
+call %SBS_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function 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 --
+    move \epoc32\winscw\c\data\%%a.log %PATH_TO_RESULT%\%%a.log
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | 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/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallbarringwrapper/ut_psetcallbarringwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,825 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <PsetContainer.h>
+#include <mpsetbarringobs.h>
+#include <psetwrappertypes.h>
+#include <nwdefs.h>
+#include "ut_psetcallbarringwrapper.h"
+#include "testutilities.h"
+#define private public
+#include <psetcallbarringwrapper.h>
+#include "psetcallbarringwrapper_p.h"
+
+const int KInvalidEnumeration = -1;
+        
+class BarringObserver : public MPsetBarringObserver
+{
+    void HandleBarringModeChangedL( 
+        TBarringProgram aType, 
+        TBarringStatus aStatus, 
+        TBool aPlural )
+    {
+        Q_UNUSED(aType);
+        Q_UNUSED(aStatus);
+        Q_UNUSED(aPlural);
+    }
+
+    void HandleBarringModeStatusL( 
+        TUint8 aBsc[KPSetNumberOfBsc], 
+        TBarringStatus aStatus )
+    {
+        Q_UNUSED(aBsc);
+        Q_UNUSED(aStatus);
+    }
+
+    void HandleBarringErrorL( 
+        TInt aReason )
+    {
+        Q_UNUSED(aReason);
+    }
+
+    void HandleCBRequestingL( 
+        TBool aTrue, 
+        TBool aInterrupted )
+    {
+        Q_UNUSED(aTrue);
+        Q_UNUSED(aInterrupted);
+    }
+
+    void SetEngineContact( 
+        MPsetCallBarring* aBarringEngine )
+    {
+        Q_UNUSED(aBarringEngine);
+    }
+
+    void CbPasswordChangedL( 
+        TBool aSuccess )
+    {
+        Q_UNUSED(aSuccess);
+    }
+};
+
+void simulateLeaveL()
+{
+    User::Leave(KErrGeneral);
+}
+
+/*!
+  UT_PSetCallBarringWrapper::UT_PSetCallBarringWrapper
+ */
+UT_PSetCallBarringWrapper::UT_PSetCallBarringWrapper()
+    :
+    m_psetContainerMock(NULL),
+    m_wrapper(NULL)
+{
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::~UT_PSetCallBarringWrapper
+ */
+UT_PSetCallBarringWrapper::~UT_PSetCallBarringWrapper()
+{
+    delete m_psetContainerMock;
+    delete m_wrapper;
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::init
+ */
+void UT_PSetCallBarringWrapper::init()
+{
+    initialize();
+    
+    m_psetContainerMock = new CPsetContainer();
+    
+    BarringObserver dummyObserver;
+    RMobilePhone dummyPhone;
+    
+    CPsetCallBarring *barringMock = NULL;
+    TRAPD(result, barringMock = CPsetCallBarring::NewL(dummyObserver, dummyPhone));
+    QScopedPointer<CPsetCallBarring> barringMockGuard(barringMock);
+    EXPECT(CPsetContainer, CreateCBObjectL)
+        .returns(barringMock);
+    m_wrapper = new PSetCallBarringWrapper(*m_psetContainerMock, NULL);
+    barringMockGuard.take();
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::cleanup
+ */
+void UT_PSetCallBarringWrapper::cleanup()
+{
+    reset();
+    
+    delete m_psetContainerMock;
+    m_psetContainerMock = NULL;
+    delete m_wrapper;
+    m_wrapper = NULL;
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_construction
+ */
+void UT_PSetCallBarringWrapper::t_construction()
+{
+    EXPECT(CPsetContainer, CreateCBObjectL).
+        willOnce(invokeWithoutArguments(this, simulateLeaveAtMockMethodCall));
+    PSetCallBarringWrapper *wrapper = NULL;
+    EXPECT_EXCEPTION(
+        wrapper = new PSetCallBarringWrapper(*m_psetContainerMock, NULL););
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_barringStatus
+ */
+void UT_PSetCallBarringWrapper::t_barringStatus()
+{
+// test status query with different service groups
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeAllBarrings);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupData, EBarringTypeAllBarrings);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupFax, EBarringTypeAllBarrings);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupAllTeleservices, EBarringTypeAllBarrings);
+    // invalid/unknown enumeration as service group identifier
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeAllBarrings);
+    
+    //TODO: remove SeviceGroupUnknown enumeration?
+    //m_wrapper->barringStatus(ServiceGroupUnknown);
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllBarrings);
+    m_wrapper->barringStatus(ServiceGroupData,
+        PSetCallBarringWrapper::BarringTypeAllBarrings);
+    m_wrapper->barringStatus(ServiceGroupFax,
+        PSetCallBarringWrapper::BarringTypeAllBarrings);
+    m_wrapper->barringStatus(ServiceGroupAllTeleservices,
+        PSetCallBarringWrapper::BarringTypeAllBarrings);
+    // invalid/unknown enumeration as service group identifier
+    m_wrapper->barringStatus(
+        static_cast<PsService>(KInvalidEnumeration),
+        PSetCallBarringWrapper::BarringTypeAllBarrings);
+
+// test status query with different barring types    
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeAllOutgoing);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeOutgoingInternational);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, 
+            EBarringTypeOutgoingInternationalExceptToHomeCountry);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeAllIncoming);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeIncomingWhenRoaming);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeAllServices);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeAllOutgoingServices);
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeAllIncomingServices);
+    // invalid/unknown enumeration as barring type
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .with(EServiceGroupVoice, EBarringTypeAllBarrings);
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllOutgoing);
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeOutgoingInternational);
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        PSetCallBarringWrapper::
+            BarringTypeOutgoingInternationalExceptToHomeCountry);
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllIncoming);
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeIncomingWhenRoaming);
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllServices);
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllOutgoingServices);
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllIncomingServices);
+    // invalid/unknown enumeration as barring type
+    m_wrapper->barringStatus(ServiceGroupVoice, 
+        static_cast<PSetCallBarringWrapper::BarringType>(KInvalidEnumeration));
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_barringStatusExceptionOccurs
+ */
+void UT_PSetCallBarringWrapper::t_barringStatusExceptionOccurs()
+{
+    EXPECT(CPsetCallBarring, GetBarringStatusL)
+        .willOnce(invokeWithoutArguments(this, simulateLeaveAtMockMethodCall));
+    
+    EXPECT_EXCEPTION(
+        m_wrapper->barringStatus(
+            ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllBarrings);
+    )
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_enableBarring
+ */
+void UT_PSetCallBarringWrapper::t_enableBarring()
+{
+    _LIT(KPassword, "1234");
+    TCallBarringSetting setting;
+    setting.iType = EBarringTypeAllBarrings;
+    setting.iSetting = EActivateBarring;
+    setting.iServiceGroup = EServiceGroupVoice;
+    setting.iPassword.Copy(KPassword());
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllBarrings,
+        QString("1234"));
+
+    setting.iType = EBarringTypeAllOutgoing;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllOutgoing,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeOutgoingInternational;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeOutgoingInternational,
+        QString("1234"));
+
+    setting.iType = EBarringTypeOutgoingInternationalExceptToHomeCountry;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeOutgoingInternationalExceptToHomeCountry,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeAllIncoming;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllIncoming,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeIncomingWhenRoaming;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeIncomingWhenRoaming,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeAllServices;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllServices,
+        QString("1234"));
+
+    setting.iType = EBarringTypeAllOutgoingServices;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllOutgoingServices,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeAllIncomingServices;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllIncomingServices,
+        QString("1234"));
+
+// error handling    
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .willOnce(invokeWithoutArguments(simulateLeaveL));
+    EXPECT_EXCEPTION(
+        m_wrapper->enableBarring(
+            ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllIncomingServices,
+            QString("1234"));
+    )
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_disableBarring
+ */
+void UT_PSetCallBarringWrapper::t_disableBarring()
+{
+    _LIT(KPassword, "1234");
+    TCallBarringSetting setting;
+    setting.iType = EBarringTypeAllBarrings;
+    setting.iSetting = ECancelBarring;
+    setting.iServiceGroup = EServiceGroupVoice;
+    setting.iPassword.Copy(KPassword());
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllBarrings,
+        QString("1234"));
+
+    setting.iType = EBarringTypeAllOutgoing;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllOutgoing,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeOutgoingInternational;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeOutgoingInternational,
+        QString("1234"));
+
+    setting.iType = EBarringTypeOutgoingInternationalExceptToHomeCountry;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeOutgoingInternationalExceptToHomeCountry,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeAllIncoming;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllIncoming,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeIncomingWhenRoaming;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeIncomingWhenRoaming,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeAllServices;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllServices,
+        QString("1234"));
+
+    setting.iType = EBarringTypeAllOutgoingServices;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllOutgoingServices,
+        QString("1234"));
+    
+    setting.iType = EBarringTypeAllIncomingServices;
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .with(setting, EAllTeleAndBearer);
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllIncomingServices,
+        QString("1234"));
+    
+// error handling    
+    EXPECT(CPsetCallBarring, SetBarringL)
+        .willOnce(invokeWithoutArguments(simulateLeaveL));
+    EXPECT_EXCEPTION(
+        m_wrapper->disableBarring(
+            ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllIncomingServices,
+            QString("1234"));
+    )
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_changeBarringPassword
+ */
+void UT_PSetCallBarringWrapper::t_changeBarringPassword()
+{
+    QString oldPassword = "1234";
+    QString newPassword = "4321";
+    QString verifiedPassword = "4321";
+    RMobilePhone::TMobilePhonePasswordChangeV2 passwordChange;
+    passwordChange.iOldPassword.Copy(oldPassword.utf16());
+    passwordChange.iNewPassword.Copy(newPassword.utf16());
+    passwordChange.iVerifiedPassword.Copy(verifiedPassword.utf16());
+    EXPECT(CPsetCallBarring, ChangePasswordL)
+        .with(passwordChange);
+    
+    m_wrapper->changeBarringPassword(
+        oldPassword, newPassword, verifiedPassword);
+    
+// error handling    
+    EXPECT(CPsetCallBarring, ChangePasswordL)
+        .willOnce(invokeWithoutArguments(simulateLeaveL));
+    EXPECT_EXCEPTION(
+        m_wrapper->changeBarringPassword(
+            oldPassword, newPassword, verifiedPassword);
+    )
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_HandleBarringModeChangedL
+ */
+void UT_PSetCallBarringWrapper::t_HandleBarringModeChangedL()
+{
+    TBool plural = EFalse;
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeAllBarrings, EBarringStatusActive, plural);
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeAllOutgoing, EBarringStatusActive, plural);
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeOutgoingInternational, EBarringStatusActive, plural);
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeOutgoingInternationalExceptToHomeCountry, EBarringStatusActive, plural);
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeAllIncoming, EBarringStatusActive, plural);
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeIncomingWhenRoaming, EBarringStatusActive, plural);
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeAllServices, EBarringStatusActive, plural);
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeAllOutgoingServices, EBarringStatusActive, plural);
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeAllIncomingServices, EBarringStatusActive, plural);
+    )
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_HandleBarringErrorL
+ */
+void UT_PSetCallBarringWrapper::t_HandleBarringErrorL()
+{
+    // TODO: dummy test as functionality not yet implemented
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleBarringErrorL(KErrGeneral);
+    )
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_HandleCBRequestingL
+ */
+void UT_PSetCallBarringWrapper::t_HandleCBRequestingL()
+{
+    // TODO: dummy test as functionality not yet implemented
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCBRequestingL(EFalse, EFalse);
+    )
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_SetEngineContact
+ */
+void UT_PSetCallBarringWrapper::t_SetEngineContact()
+{
+    // TODO: dummy test as functionality not yet implemented
+    m_wrapper->m_privateImpl->SetEngineContact(NULL);
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_CbPasswordChangedL
+ */
+void UT_PSetCallBarringWrapper::t_CbPasswordChangedL()
+{
+    TBool success = EFalse;
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->CbPasswordChangedL(ETrue);
+        m_wrapper->m_privateImpl->CbPasswordChangedL(EFalse);
+    )
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_HandleBarringModeStatusL
+ */
+Q_DECLARE_METATYPE(PSetCallBarringWrapper::BarringStatus)
+Q_DECLARE_METATYPE(QList<unsigned char>)
+void UT_PSetCallBarringWrapper::t_HandleBarringModeStatusL()
+{
+    qRegisterMetaType<PSetCallBarringWrapper::BarringStatus>
+        ("PSetCallBarringWrapper::BarringStatus");
+    qRegisterMetaType<QList<unsigned char> >("QList<unsigned char>");
+    QSignalSpy spy(m_wrapper, 
+        SIGNAL(barringStatusRequestCompleted(
+            int,
+            const QList<unsigned char> &,
+            PSetCallBarringWrapper::BarringStatus)));
+    
+    TUint8 basicServiceGroupIds[KPSetNumberOfBsc];
+    basicServiceGroupIds[0] = EServiceGroupVoice;
+    basicServiceGroupIds[1] = KPSetUnusedValue;
+// test with different barring statuses    
+    QT_TRAP_THROWING(
+        m_wrapper->barringStatus(ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllBarrings);
+        m_wrapper->m_privateImpl->HandleBarringModeStatusL(
+            basicServiceGroupIds, EBarringStatusActive);
+        m_wrapper->m_privateImpl->RequestComplete();
+        
+        m_wrapper->barringStatus(ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllBarrings);
+        m_wrapper->m_privateImpl->HandleBarringModeStatusL(
+            basicServiceGroupIds, EBarringStatusInactive);
+        m_wrapper->m_privateImpl->RequestComplete();
+        
+        m_wrapper->barringStatus(ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllBarrings);
+        m_wrapper->m_privateImpl->HandleBarringModeStatusL(
+            basicServiceGroupIds, EBarringStatusNotProvisioned);
+        m_wrapper->m_privateImpl->RequestComplete();
+        
+        m_wrapper->barringStatus(ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllBarrings);
+        m_wrapper->m_privateImpl->HandleBarringModeStatusL(
+            basicServiceGroupIds, EBarringStatusUnavailable);
+        m_wrapper->m_privateImpl->RequestComplete();
+        
+        m_wrapper->barringStatus(ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllBarrings);
+        m_wrapper->m_privateImpl->HandleBarringModeStatusL(
+            basicServiceGroupIds, EBarringStatusUnknown);
+        m_wrapper->m_privateImpl->RequestComplete();
+        
+        // invalid/unknown enumeration as barring status
+        m_wrapper->barringStatus(ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllBarrings);
+        m_wrapper->m_privateImpl->HandleBarringModeStatusL(
+            basicServiceGroupIds,
+            static_cast<TBarringStatus>(KInvalidEnumeration));
+        m_wrapper->m_privateImpl->RequestComplete();
+    )
+    
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") == 0) {
+        // Signal emissions from RequestComplete will fail with exception safety 
+        // tests so it's not possible to verify signal data.
+        return;
+    }
+    
+    QCOMPARE(spy.count(), 6);
+    QList<unsigned char> resultBasicServiceGroupIds = 
+        qvariant_cast<QList<unsigned char> >(spy.at(0).at(1));
+    QVERIFY(ServiceGroupVoice == resultBasicServiceGroupIds[0]);
+    QVERIFY(PSetCallBarringWrapper::BarringStatusActive == 
+        qvariant_cast<PSetCallBarringWrapper::BarringStatus>(spy.at(0).at(2)));
+    
+    resultBasicServiceGroupIds = 
+        qvariant_cast<QList<unsigned char> >(spy.at(1).at(1));
+    QVERIFY(ServiceGroupVoice == resultBasicServiceGroupIds[0]);
+    QVERIFY(PSetCallBarringWrapper::BarringStatusInactive == 
+        qvariant_cast<PSetCallBarringWrapper::BarringStatus>(spy.at(1).at(2)));
+
+    resultBasicServiceGroupIds = 
+        qvariant_cast<QList<unsigned char> >(spy.at(2).at(1));
+    QVERIFY(ServiceGroupVoice == resultBasicServiceGroupIds[0]);
+    QVERIFY(PSetCallBarringWrapper::BarringStatusNotProvisioned == 
+        qvariant_cast<PSetCallBarringWrapper::BarringStatus>(spy.at(2).at(2)));
+    
+    resultBasicServiceGroupIds = 
+        qvariant_cast<QList<unsigned char> >(spy.at(3).at(1));
+    QVERIFY(ServiceGroupVoice == resultBasicServiceGroupIds[0]);
+    QVERIFY(PSetCallBarringWrapper::BarringStatusUnavailable == 
+        qvariant_cast<PSetCallBarringWrapper::BarringStatus>(spy.at(3).at(2)));
+
+    resultBasicServiceGroupIds = 
+        qvariant_cast<QList<unsigned char> >(spy.at(4).at(1));
+    QVERIFY(ServiceGroupVoice == resultBasicServiceGroupIds[0]);
+    QVERIFY(PSetCallBarringWrapper::BarringStatusUnknown == 
+        qvariant_cast<PSetCallBarringWrapper::BarringStatus>(spy.at(4).at(2)));
+    
+    // invalid/unknown enumeration as barring status
+    resultBasicServiceGroupIds = 
+        qvariant_cast<QList<unsigned char> >(spy.at(5).at(1));
+    QVERIFY(ServiceGroupVoice == resultBasicServiceGroupIds[0]);
+    QVERIFY(PSetCallBarringWrapper::BarringStatusUnknown == 
+        qvariant_cast<PSetCallBarringWrapper::BarringStatus>(spy.at(5).at(2)));
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_HandleBarringModeStatusNoBasicServiceGroupIdsL
+ */
+void UT_PSetCallBarringWrapper::t_HandleBarringModeStatusNoBasicServiceGroupIdsL()
+{
+    TUint8 basicServiceGroupIds[KPSetNumberOfBsc];
+    basicServiceGroupIds[0] = KPSetUnusedValue;
+    QSignalSpy spy(m_wrapper, 
+        SIGNAL(barringStatusRequestCompleted(
+            int,
+            const QList<unsigned char> &,
+            PSetCallBarringWrapper::BarringStatus)));
+    
+    QT_TRAP_THROWING(
+        m_wrapper->barringStatus(ServiceGroupVoice, 
+            PSetCallBarringWrapper::BarringTypeAllBarrings);
+        m_wrapper->m_privateImpl->HandleBarringModeStatusL(
+            basicServiceGroupIds, EBarringStatusActive);
+        m_wrapper->m_privateImpl->RequestComplete();
+    )
+    
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") == 0) {
+        // Signal emissions from RequestComplete will fail with exception safety 
+        // tests so it's not possible to verify signal data.
+        return;
+    }
+    
+    QCOMPARE(spy.count(), 1);
+    QVERIFY(PSetCallBarringWrapper::BarringStatusActive == 
+        qvariant_cast<PSetCallBarringWrapper::BarringStatus>(spy.at(0).at(2)));
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_enableBarringRequestComplete
+ */
+Q_DECLARE_METATYPE(PSetCallBarringWrapper::BarringType)
+void UT_PSetCallBarringWrapper::t_enableBarringRequestComplete()
+{
+    qRegisterMetaType<PSetCallBarringWrapper::BarringType>(
+        "PSetCallBarringWrapper::BarringType");
+    QSignalSpy spy(
+        m_wrapper, 
+        SIGNAL(enableBarringRequestCompleted(int,
+            PSetCallBarringWrapper::BarringType,
+            PSetCallBarringWrapper::BarringStatus, 
+            bool)));
+    
+    TCallBarringSetting setting;
+    m_wrapper->enableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllBarrings,
+        QString("1234"));
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeAllBarrings, EBarringStatusActive, EFalse);
+    );
+    m_wrapper->m_privateImpl->RequestComplete();
+    
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") == 0) {
+        // Signal emissions from RequestComplete will fail with exception safety 
+        // tests so it's not possible to verify signal data.
+        return;
+    }
+    
+    QCOMPARE(spy.count(), 1);
+    QCOMPARE(spy.at(0).at(0).toInt(), 0);
+    QCOMPARE(spy.at(0).at(1).value<PSetCallBarringWrapper::BarringType>(), 
+        PSetCallBarringWrapper::BarringTypeAllBarrings);
+    QCOMPARE(spy.at(0).at(2).value<PSetCallBarringWrapper::BarringStatus>(), 
+        PSetCallBarringWrapper::BarringStatusActive);
+    QCOMPARE(spy.at(0).at(3).toBool(), false);
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_disableBarringRequestComplete
+ */
+void UT_PSetCallBarringWrapper::t_disableBarringRequestComplete()
+{
+    QSignalSpy spy(
+        m_wrapper, 
+        SIGNAL(disableBarringRequestCompleted(int,
+            PSetCallBarringWrapper::BarringType,
+            PSetCallBarringWrapper::BarringStatus, 
+            bool)));
+    
+    TCallBarringSetting setting;
+    m_wrapper->disableBarring(
+        ServiceGroupVoice, 
+        PSetCallBarringWrapper::BarringTypeAllBarrings,
+        QString("1234"));
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleBarringModeChangedL(
+            EBarringTypeAllBarrings, EBarringStatusNotProvisioned, EFalse);
+    );
+    m_wrapper->m_privateImpl->RequestComplete();
+    
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") == 0) {
+        // Signal emissions from RequestComplete will fail with exception safety 
+        // tests so it's not possible to verify signal data.
+        return;
+    }
+    
+    QCOMPARE(spy.count(), 1);
+    QCOMPARE(spy.at(0).at(0).toInt(), 0);
+    QCOMPARE(spy.at(0).at(1).value<PSetCallBarringWrapper::BarringType>(), 
+        PSetCallBarringWrapper::BarringTypeAllBarrings);
+    QCOMPARE(spy.at(0).at(2).value<PSetCallBarringWrapper::BarringStatus>(), 
+        PSetCallBarringWrapper::BarringStatusNotProvisioned);
+    QCOMPARE(spy.at(0).at(3).toBool(), false);
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_changeBarringPasswordRequestComplete
+ */
+void UT_PSetCallBarringWrapper::t_changeBarringPasswordRequestComplete()
+{
+    QSignalSpy spy(
+        m_wrapper, 
+        SIGNAL(barringPasswordChangeRequestCompleted(int)));
+    
+    QString oldPassword = "1234";
+    QString newPassword = "4321";
+    QString verifiedPassword = "4321";
+    m_wrapper->changeBarringPassword(
+        oldPassword, newPassword, verifiedPassword);
+    
+    m_wrapper->m_privateImpl->RequestComplete();
+    
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") == 0) {
+        // Signal emissions from RequestComplete will fail with exception safety 
+        // tests so it's not possible to verify signal data.
+        return;
+    }
+    
+    QCOMPARE(spy.count(), 1);
+    QCOMPARE(spy.at(0).at(0).toInt(), 0);
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_RequestStatusChanged
+ */
+void UT_PSetCallBarringWrapper::t_RequestStatusChanged()
+{
+    m_wrapper->m_privateImpl->RequestStatusChanged(0);
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::t_exceptionSafety
+ */
+void UT_PSetCallBarringWrapper::t_exceptionSafety()
+{
+    cleanup();
+    
+    OomTestExecuter::runAllTests(*this, "t_exceptionSafety");
+}
+
+
+/*!
+  UT_PSetCallBarringWrapper::simulateLeaveAtMockMethodCall
+ */
+void UT_PSetCallBarringWrapper::simulateLeaveAtMockMethodCall()
+{
+    User::Leave(KErrGeneral);
+}
+
+QTEST_MAIN_S60(UT_PSetCallBarringWrapper)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallbarringwrapper/ut_psetcallbarringwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_PSETCALLBARRINGWRAPPER_H
+#define UT_PSETCALLBARRINGWRAPPER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CPsetContainer;
+class PSetCallBarringWrapper;
+
+class UT_PSetCallBarringWrapper : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_PSetCallBarringWrapper();
+    ~UT_PSetCallBarringWrapper();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_construction();
+    void t_barringStatus();
+    void t_barringStatusExceptionOccurs();
+    void t_enableBarring();
+    void t_disableBarring();
+    void t_changeBarringPassword();
+    
+    // private implementation tests
+    void t_HandleBarringModeStatusL();
+    void t_HandleBarringModeStatusNoBasicServiceGroupIdsL();
+    
+    void t_HandleBarringModeChangedL();
+    void t_HandleBarringErrorL();
+    void t_HandleCBRequestingL();
+    void t_SetEngineContact();
+    void t_CbPasswordChangedL();
+    
+    void t_enableBarringRequestComplete();
+    void t_disableBarringRequestComplete();
+    void t_changeBarringPasswordRequestComplete();
+    void t_RequestStatusChanged();
+    
+    void t_exceptionSafety();
+
+private:
+    
+    void simulateLeaveAtMockMethodCall();
+    
+private:
+    
+    CPsetContainer *m_psetContainerMock;
+    PSetCallBarringWrapper* m_wrapper;
+};
+
+#endif  // UT_PSETCALLBARRINGWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallbarringwrapper/ut_psetcallbarringwrapper.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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 release
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../../ ../common
+DEFINES += BUILD_PSETWRAPPER 
+DEFINES += QT_NO_DEBUG_STREAM
+
+MOC_DIR = .
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += /epoc32/include/mw/QtTest    \
+                 /epoc32/include/platform/mw  \
+                 /epoc32/include/mw/qt
+  LIBS += -lmocklib -lsymbianmock -letelmm -letel -lbafl -lcustomapi
+}
+
+# test code
+HEADERS += ut_psetcallbarringwrapper.h
+HEADERS += ../common/testutilities.h
+SOURCES += ut_psetcallbarringwrapper.cpp
+SOURCES += ../common/testutilities.cpp
+
+# code to be tested
+HEADERS += ../../../../../../phonesrv_plat/phone_settings_api/inc/psetcallbarringwrapper.h
+SOURCES += ../../src/psetcallbarringwrapper.cpp \
+           ../../src/psetcallbarringwrapper_p.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_psetcontainer.cpp \
+           ../mocks/mock_psetcallbarring.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcalldivertingwrapper/ut_psetcalldivertingwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,735 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <PsetContainer.h>
+#include <PsetCallDiverting.h>
+#include <mpsetdivertobs.h>
+#include "ut_psetcalldivertingwrapper.h"
+#include "mock_cphcltemergencycall.h"
+#include "testutilities.h"
+#define private public
+#include "psetcalldivertingwrapper.h"
+#include "psetcalldivertingwrapper_p.h"
+
+class DivertObserver : public MPsetDivertObserver
+{
+    void HandleDivertingChangedL( 
+        const TCallDivertSetting& aSetting, TBool aPlural) 
+    {
+        Q_UNUSED(aSetting);
+        Q_UNUSED(aPlural);
+    }
+    
+    void HandleDivertingStatusL(CMobilePhoneCFList& aSetting, TBool aPlural) 
+    {
+        Q_UNUSED(aSetting);
+        Q_UNUSED(aPlural);
+    }
+    
+    void HandleDivertingErrorL(TInt aReason) 
+    {
+        Q_UNUSED(aReason);
+    }
+    
+    void HandleCFRequestingL(TBool aOngoing, 
+        TBool aInterrupted) 
+    {
+        Q_UNUSED(aOngoing);
+        Q_UNUSED(aInterrupted);
+    }
+    
+    void SetEngineContact(MPsetCallDiverting* aDivertEngine) 
+    {
+        Q_UNUSED(aDivertEngine);
+    }
+};
+
+void SimulateLeaveL()
+{
+    User::Leave(KErrGeneral);
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::UT_PSetWrapperCallDiverting
+ */
+UT_PSetCallDivertingWrapper::UT_PSetCallDivertingWrapper() 
+    : mWrapper(NULL), mSetContainerMock(NULL) 
+{
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::~UT_PSetWrapperCallDiverting
+ */
+UT_PSetCallDivertingWrapper::~UT_PSetCallDivertingWrapper()
+{
+    delete mWrapper;
+    delete mSetContainerMock;
+    mPsetCallDivertingMock = NULL;
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::init
+ */
+void UT_PSetCallDivertingWrapper::init()
+{
+    initialize();
+    CPhCltEmergencyCallMock::iSimulateEmergencyNumberMatch = false;
+    
+    mSetContainerMock = new CPsetContainer();
+    
+    RMobilePhone dummyHandle;
+    DivertObserver dummyObsever;
+    QT_TRAP_THROWING(mPsetCallDivertingMock 
+        = CPsetCallDiverting::NewL(dummyObsever, dummyHandle));
+    expect("CPsetContainer::CreateCFObjectL").returns(mPsetCallDivertingMock);
+    
+    // Wrapper takes ownership of callDivertingMock during construction. 
+    // Mock must be deleted here if exception happens during construction.
+    QScopedPointer<CPsetCallDiverting> divertingMockPtr(mPsetCallDivertingMock);
+    mWrapper = new PSetCallDivertingWrapper(*mSetContainerMock, NULL);
+    divertingMockPtr.take();
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::cleanup
+ */
+void UT_PSetCallDivertingWrapper::cleanup()
+{
+    reset();
+    
+    delete mWrapper;
+    mWrapper = NULL;
+    delete mSetContainerMock;
+    mSetContainerMock = NULL;
+    mPsetCallDivertingMock = NULL;
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_construction
+ */
+void UT_PSetCallDivertingWrapper::t_construction()
+{
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") != 0) {
+        
+        expect("CPsetContainer::CreateCFObjectL").
+            willOnce(invokeWithoutArguments(SimulateLeaveL));
+        PSetCallDivertingWrapper *wrapper = NULL;
+        EXPECT_EXCEPTION(
+            wrapper = new PSetCallDivertingWrapper(*mSetContainerMock, NULL);
+            delete wrapper;
+            wrapper = NULL;
+        )
+        QVERIFY(verify());
+        
+        expect("CPhCltEmergencyCallMock::NewL").
+            willOnce(invokeWithoutArguments(SimulateLeaveL));
+        EXPECT_EXCEPTION(
+            wrapper = new PSetCallDivertingWrapper(*mSetContainerMock, NULL);
+            delete wrapper;
+            wrapper = NULL;
+        )        
+        QVERIFY(verify());
+    }
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_setCallDivertingWithValidParameters
+ */
+void UT_PSetCallDivertingWrapper::t_setCallDivertingWithValidParameters()
+{
+    PSCallDivertingCommand divertingCmd;
+    divertingCmd.iCondition = DivertConditionUnconditional;
+    divertingCmd.iSetting = RegisterDiverting;
+    divertingCmd.iStatus = DivertingStatusUnknown;
+    divertingCmd.iServiceGroup = ServiceGroupVoice;
+    divertingCmd.iNumber = "1234567890";
+    divertingCmd.iNoReplyTimer = 0;
+    
+    TCallDivertSetting expectedParam;
+    expectedParam.iCondition = EDivertConditionUnconditional;
+    expectedParam.iSetting = ERegisterDiverting;
+    expectedParam.iStatus = EDivertingStatusUnknown;
+    expectedParam.iServiceGroup = EServiceGroupVoice;
+    expectedParam.iNumber 
+        = TPtrC16(reinterpret_cast<const TUint16*>(divertingCmd.iNumber.utf16()));
+    expectedParam.iNoReplyTimer 
+        = static_cast<TInt>(divertingCmd.iNoReplyTimer);
+    TBool isVmbx = EFalse;
+    expect("CPsetCallDiverting::SetDivertingL").
+        with(expectedParam, ETelephony, isVmbx);
+    
+    mWrapper->setCallDiverting(divertingCmd, ETelephony);
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_setCallDivertingWithInvalidNumber
+ */
+void UT_PSetCallDivertingWrapper::t_setCallDivertingWithInvalidNumber()
+{
+    PSCallDivertingCommand divertingCmd;
+    divertingCmd.iCondition = DivertConditionUnconditional;
+    divertingCmd.iSetting = RegisterDiverting;
+    divertingCmd.iStatus = DivertingStatusUnknown;
+    divertingCmd.iServiceGroup = ServiceGroupVoice;
+    divertingCmd.iNoReplyTimer = 0;
+    
+    expect("CPsetCallDiverting::SetDivertingL").times(0);
+    
+    // DTMF digits "*#pw" are not allowed characters
+    divertingCmd.iNumber = "*";
+    int result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
+    QVERIFY(result == KErrGsmSSUnknownAlphabet);
+    divertingCmd.iNumber = "#";
+    result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
+    QVERIFY(result == KErrGsmSSUnknownAlphabet);
+    divertingCmd.iNumber = "p";
+    result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
+    QVERIFY(result == KErrGsmSSUnknownAlphabet);
+    divertingCmd.iNumber = "w";
+    result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
+    QVERIFY(result == KErrGsmSSUnknownAlphabet);
+    
+    // plus allowed only in the beginning of the number
+    divertingCmd.iNumber = "++";
+    result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
+    QVERIFY(result == KErrGsmSSUnknownAlphabet);
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_setCallDivertingWithEmergencyNumber
+ */
+void UT_PSetCallDivertingWrapper::t_setCallDivertingWithEmergencyNumber()
+{
+    PSCallDivertingCommand divertingCmd;
+    divertingCmd.iCondition = DivertConditionUnconditional;
+    divertingCmd.iSetting = RegisterDiverting;
+    divertingCmd.iStatus = DivertingStatusUnknown;
+    divertingCmd.iServiceGroup = ServiceGroupVoice;
+    divertingCmd.iNumber = "112";
+    divertingCmd.iNoReplyTimer = 0;
+    
+    expect("CPsetCallDiverting::SetDivertingL").times(0);
+    CPhCltEmergencyCallMock::iSimulateEmergencyNumberMatch = ETrue;
+    expect("CPhCltEmergencyCallMock::IsEmergencyPhoneNumber").returns(KErrNone);
+    
+    int result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
+    QVERIFY(result == KErrGsmSSIllegalOperation);
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_setCallDivertingException
+ */
+void UT_PSetCallDivertingWrapper::t_setCallDivertingException()
+{
+    PSCallDivertingCommand divertingCmd;
+    divertingCmd.iCondition = DivertConditionUnconditional;
+    divertingCmd.iSetting = RegisterDiverting;
+    divertingCmd.iStatus = DivertingStatusUnknown;
+    divertingCmd.iServiceGroup = ServiceGroupVoice;
+    divertingCmd.iNumber = "1234567890";
+    divertingCmd.iNoReplyTimer = 0;
+    
+    expect("CPsetCallDiverting::SetDivertingL").
+        willOnce(invokeWithoutArguments(this, &simulateLeaveOnMockMethodCallL));
+    
+    EXPECT_EXCEPTION(
+        mWrapper->setCallDiverting(divertingCmd, ETelephony);
+    )
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_getCallDivertingStatus
+ */
+void UT_PSetCallDivertingWrapper::t_getCallDivertingStatus()
+{
+    expect("CPsetCallDiverting::GetDivertingStatusL").
+        with(EServiceGroupVoice, EDivertConditionUnconditional, ETelephony);
+    
+    mWrapper->getCallDivertingStatus(
+        ServiceGroupVoice, DivertConditionUnconditional, ETelephony);
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_getCallDivertingStatusException
+ */
+void UT_PSetCallDivertingWrapper::t_getCallDivertingStatusException()
+{
+    expect("CPsetCallDiverting::GetDivertingStatusL").
+        with(EServiceGroupVoice, EDivertConditionUnconditional, ETelephony).
+        willOnce(invokeWithoutArguments(this, &simulateLeaveOnMockMethodCallL));
+    
+    EXPECT_EXCEPTION(
+        mWrapper->getCallDivertingStatus(
+            ServiceGroupVoice, DivertConditionUnconditional, ETelephony);
+    )
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_cancelProcess
+ */
+void UT_PSetCallDivertingWrapper::t_cancelProcess()
+{
+    expect("CPsetCallDiverting::CancelCurrentRequest");
+    
+    mWrapper->cancelProcess();
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_getDefaultNumbers
+ */
+void UT_PSetCallDivertingWrapper::t_getDefaultNumbers()
+{
+    expect("CPsetCallDiverting::GetDefaultNumbersL").times(1);
+    
+    QStringList defNumbers;
+    mWrapper->getDefaultNumbers(defNumbers);
+    
+    // 2 numbers added in mock_psetcalldiverting.cpp
+    QVERIFY(2 == defNumbers.count());
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_getDefaultNumbersException
+ */
+void UT_PSetCallDivertingWrapper::t_getDefaultNumbersException()
+{
+    expect("CPsetCallDiverting::GetDefaultNumbersL").
+        willOnce(invokeWithoutArguments(this, &simulateLeaveOnMockMethodCallL));
+    
+    QStringList defNumbers;
+    EXPECT_EXCEPTION(
+        mWrapper->getDefaultNumbers(defNumbers);
+    )
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_setNewDefaultNumber
+ */
+void UT_PSetCallDivertingWrapper::t_setNewDefaultNumber()
+{
+    expect("CPsetCallDiverting::SetNewDefaultNumberL").times(1);
+    expect("CPsetCallDiverting::SwapDefaultNumberL").times(0);
+
+    // number not added in mock_psetcalldiverting.cpp
+    QString defNumber = "444444";
+    mWrapper->setNewDefaultNumber(defNumber);
+
+    expect("CPsetCallDiverting::GetDefaultNumbersL")
+        .willOnce(invoke(SimulateLeaveL));
+    EXPECT_EXCEPTION(
+        mWrapper->setNewDefaultNumber(defNumber);
+    )
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_getVoiceMailBoxNumber
+ */
+void UT_PSetCallDivertingWrapper::t_getVoiceMailBoxNumber()
+{
+    // Fail case #1, illegal argument
+    QString defNumber;
+    int ret;
+    
+    expect("CVoiceMailbox::GetStoredEntry").returns(-2).times(1);
+    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
+    QCOMPARE(ret, 0);
+    
+    // Fail case #2, Not supported.
+    expect("CVoiceMailbox::GetStoredEntry").returns(-5).times(1);
+    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
+    QCOMPARE(ret, -1);
+
+    // Fail case #3, number nok
+    expect("CVoiceMailbox::GetStoredEntry").times(1);
+    expect("CVoiceMailboxEntry::GetVmbxNumber").returns(-1).times(1);
+    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
+    QCOMPARE(ret, 0);
+
+    // ok case#1, number and save ok but no new number. 
+    expect("CVoiceMailbox::GetStoredEntry").returns(-1).times(1);
+    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupData);
+    QCOMPARE(ret, 0);
+
+    // ok case#2, number ok
+    expect("CVoiceMailbox::GetStoredEntry").times(1);
+    expect("CVoiceMailboxEntry::GetVmbxNumber").times(1);
+    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
+    QCOMPARE(ret, 0);
+
+    expect("CVoiceMailbox::NewL")
+        .willOnce(invoke(SimulateLeaveL));
+    EXPECT_EXCEPTION(
+        mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupFax);
+    )
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_queryVoiceMailBoxNumber
+ */
+void UT_PSetCallDivertingWrapper::t_queryVoiceMailBoxNumber()
+{
+    // Fail case #1, illegal argument
+    QString defNumber;
+    int ret;
+    expect("CVoiceMailbox::GetStoredEntry").returns(-2).times(1);
+    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
+    QCOMPARE(ret, 0);
+    
+    // Fail case #2, Not supported.
+    expect("CVoiceMailbox::GetStoredEntry").returns(-5).times(1);
+    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
+    QCOMPARE(ret, -1);
+    
+    // Fail case #3, New number not given.
+    expect("CVoiceMailbox::GetStoredEntry").times(1);
+    expect("CVoiceMailbox::QueryNewEntry").returns(-5).times(1);
+    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
+    QCOMPARE(ret, 0);
+    
+    // Fail case #4, save nok
+    expect("CVoiceMailbox::GetStoredEntry").returns(-1).times(1);
+    expect("CVoiceMailbox::QueryNewEntry").times(1);
+    expect("CVoiceMailbox::SaveEntry").returns(-4).times(1);
+    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupData);
+    QCOMPARE(ret, 0);
+    
+    // ok case#1, number and save ok but no new number. 
+    expect("CVoiceMailbox::GetStoredEntry").returns(-1).times(1);
+    expect("CVoiceMailbox::QueryNewEntry").times(1);
+    expect("CVoiceMailbox::SaveEntry").times(1);
+    expect("CVoiceMailboxEntry::GetVmbxNumber").returns(-5).times(1);
+    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
+    QCOMPARE(ret, 0);
+    
+    // ok case#2, number ok
+    expect("CVoiceMailbox::GetStoredEntry").times(1);
+    expect("CVoiceMailbox::QueryNewEntry").times(1);
+    expect("CVoiceMailbox::SaveEntry").times(1);
+    expect("CVoiceMailboxEntry::GetVmbxNumber").times(1);
+    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
+    QCOMPARE(ret, 0);
+
+    expect("CVoiceMailbox::NewL")
+        .willOnce(invoke(SimulateLeaveL));
+    EXPECT_EXCEPTION(
+        mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupFax);
+    )
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_swapDefaultNumber
+ */
+void UT_PSetCallDivertingWrapper::t_swapDefaultNumber()
+{
+    expect("CPsetCallDiverting::SetNewDefaultNumberL").times(0);
+    expect("CPsetCallDiverting::SwapDefaultNumberL").times(1);
+
+    // same number added in mock_psetcalldiverting.cpp
+    QString defNumber = "222222";
+    mWrapper->setNewDefaultNumber(defNumber);
+
+    QVERIFY(true == verify());
+}
+
+
+Q_DECLARE_METATYPE(PSCallDivertingCommand)
+/*!
+  UT_PSetCallDivertingWrapper::t_handleDivertingChanged
+ */
+void UT_PSetCallDivertingWrapper::t_handleDivertingChanged()
+{
+    qRegisterMetaType<PSCallDivertingCommand>("PSCallDivertingCommand");
+    QSignalSpy spy(mWrapper, 
+        SIGNAL(handleDivertingChanged(const PSCallDivertingCommand&, bool)));
+    
+    TCallDivertSetting setting;
+    setting.iCondition = EDivertConditionUnconditional;
+    setting.iSetting = EActivateDiverting;
+    setting.iStatus = EDivertingStatusUnknown;
+    setting.iServiceGroup = EServiceGroupAllTeleservices;
+    setting.iNumber = KNullDesC();
+    TBool plural = ETrue;
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
+
+    setting.iCondition = EDivertConditionBusy;
+    setting.iStatus = EDivertingStatusActive;
+    setting.iServiceGroup = EServiceGroupVoice;
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
+    setting.iCondition = EDivertConditionNoReply;
+    setting.iStatus = EDivertingStatusInactive;
+    setting.iServiceGroup = EServiceGroupData;
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
+    setting.iCondition = EDivertConditionNotReachable;
+    setting.iStatus = EDivertingStatusNotRegistered;
+    setting.iServiceGroup = EServiceGroupFax;
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
+    setting.iCondition = EDivertConditionAllCalls;
+    setting.iStatus = EDivertingStatusNotProvisioned;
+    setting.iServiceGroup = EServiceGroupFax;
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
+    setting.iCondition = EDivertConditionAllConditionalCases;
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
+    
+    QCOMPARE(spy.count(), 6);
+    PSCallDivertingCommand actualCmd = 
+        qvariant_cast<PSCallDivertingCommand>(spy.at(0).at(0));
+    QVERIFY(actualCmd.iCondition == DivertConditionUnconditional);
+    QVERIFY(actualCmd.iSetting == ActivateDiverting);
+    QVERIFY(actualCmd.iStatus == DivertingStatusUnknown);
+    QVERIFY(actualCmd.iServiceGroup == ServiceGroupAllTeleservices);
+    QVERIFY(actualCmd.iNumber == QString::fromUtf16(setting.iNumber.Ptr(),
+        setting.iNumber.Length()));
+    QVERIFY(spy.at(0).at(1).toBool() == true);
+    
+    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(1).at(0));
+    QVERIFY(actualCmd.iCondition == DivertConditionBusy);
+    QVERIFY(actualCmd.iStatus == DivertingStatusActive);
+    QVERIFY(actualCmd.iServiceGroup == ServiceGroupVoice);
+    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(2).at(0));
+    QVERIFY(actualCmd.iCondition == DivertConditionNoReply);
+    QVERIFY(actualCmd.iStatus == DivertingStatusInactive);
+    QVERIFY(actualCmd.iServiceGroup == ServiceGroupData);
+    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(3).at(0));
+    QVERIFY(actualCmd.iCondition == DivertConditionNotReachable);
+    QVERIFY(actualCmd.iStatus == DivertingStatusNotRegistered);
+    QVERIFY(actualCmd.iServiceGroup == ServiceGroupFax);
+    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(4).at(0));
+    QVERIFY(actualCmd.iCondition == DivertConditionAllCalls);
+    QVERIFY(actualCmd.iStatus == DivertingStatusNotProvisioned);
+    QVERIFY(actualCmd.iServiceGroup == ServiceGroupFax);
+    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(5).at(0));
+    QVERIFY(actualCmd.iCondition == DivertConditionAllConditionalCases);
+    
+    QVERIFY(true == verify());
+}
+
+
+/*!
+  UT_PSetCallDivertingWrapper::t_handleDivertingStatus
+ */
+void UT_PSetCallDivertingWrapper::t_handleDivertingStatus()
+{
+    qRegisterMetaType<QList<PSCallDivertingStatus*> >("QList<PSCallDivertingStatus*>&");
+    QSignalSpy spy(mWrapper, 
+        SIGNAL(handleDivertingStatus(QList<PSCallDivertingStatus*>&, bool)));
+    
+    // With empty list
+    CMobilePhoneCFList* cfList = NULL;
+    QT_TRAP_THROWING(cfList = CMobilePhoneCFList::NewL());
+    QScopedPointer<CMobilePhoneCFList> cfListDeleter(cfList);
+    TBool plural = ETrue;
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleDivertingStatusL(*cfList, plural));
+    
+    QCOMPARE(spy.count(), 1);
+    QVERIFY(spy.at(0).at(1).toBool() == true);
+    spy.clear();
+    
+    // With list entry
+    RMobilePhone::TMobilePhoneCFInfoEntryV1 entry;
+    entry.iStatus = RMobilePhone::ECallForwardingStatusNotProvisioned;
+    entry.iCondition = RMobilePhone::ECallForwardingAllConditionalCases;
+    cfList->AddEntryL(entry);
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleDivertingStatusL(*cfList, plural));
+    
+    QCOMPARE(spy.count(), 1);
+    QList<PSCallDivertingStatus*> result = 
+            *reinterpret_cast<const QList<PSCallDivertingStatus*> *>(spy.at(0).at(0).constData());
+
+    QVERIFY(result.at(0)->iStatus == DivertingStatusNotProvisioned);
+    QVERIFY(result.at(0)->iCondition == DivertConditionAllConditionalCases);
+    QVERIFY(spy.at(0).at(1).toBool() == true);
+    spy.clear();
+    
+    // With list, two entries
+    delete cfList;
+    QT_TRAP_THROWING(cfList = CMobilePhoneCFList::NewL());
+    entry.iStatus = RMobilePhone::ECallForwardingStatusNotActive;
+    entry.iCondition = RMobilePhone::ECallForwardingBusy;
+    cfList->AddEntryL(entry); // Takes copy
+    
+    RMobilePhone::TMobilePhoneCFInfoEntryV1 entry2;
+    entry2.iStatus = RMobilePhone::ECallForwardingStatusActive;
+    entry2.iCondition = RMobilePhone::ECallForwardingUnconditional;
+    cfList->AddEntryL(entry2);
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleDivertingStatusL(*cfList, plural));
+    
+    QCOMPARE(spy.count(), 1);
+    result = *reinterpret_cast<const QList<PSCallDivertingStatus*> *>(spy.at(0).at(0).constData());
+    QVERIFY(result.at(0)->iStatus == DivertingStatusInactive);
+    QVERIFY(result.at(0)->iCondition == DivertConditionBusy);
+    
+    QVERIFY(result.at(1)->iStatus == DivertingStatusActive);
+    QVERIFY(result.at(1)->iCondition == DivertConditionUnconditional);
+    QVERIFY(spy.at(0).at(1).toBool() == true);
+    spy.clear();
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_handleDivertingError
+ */
+void UT_PSetCallDivertingWrapper::t_handleDivertingError()
+{
+    QSignalSpy spy(mWrapper, SIGNAL(handleDivertingError(int)));
+    
+    QT_TRAP_THROWING(mWrapper->m_Priv->HandleDivertingErrorL(KErrGeneral));
+    
+    QCOMPARE(spy.count(), 1);
+    QVERIFY(spy.at(0).at(0).toInt() == KErrGeneral);
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_handleCFRequesting
+ */
+void UT_PSetCallDivertingWrapper::t_handleCFRequesting()
+{
+    QSignalSpy spy(mWrapper, SIGNAL(handleCFRequesting(bool, bool)));
+    
+    TBool ongoing = ETrue;
+    TBool interrupted = ETrue;
+    QT_TRAP_THROWING(
+        mWrapper->m_Priv->HandleCFRequestingL(ongoing, interrupted));
+    
+    QCOMPARE(spy.count(), 1);
+    QVERIFY(spy.at(0).at(0).toBool() == true);
+    QVERIFY(spy.at(0).at(1).toBool() == true);
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_setEngineContact
+  TODO: dummy test because no implementation for the method currently.
+ */
+void UT_PSetCallDivertingWrapper::t_setEngineContact()
+{
+    mWrapper->m_Priv->SetEngineContact(mPsetCallDivertingMock);
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_handleEmergencyDial
+  TODO: dummy test because no implementation for the method currently.
+ */
+void UT_PSetCallDivertingWrapper::t_handleEmergencyDial()
+{
+    QT_TRAP_THROWING(mWrapper->m_Priv->HandleEmergencyDialL(KErrNone));
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_convertPsCallDivertingCondition
+ */
+void UT_PSetCallDivertingWrapper::t_convertPsCallDivertingCondition()
+{
+    QVERIFY(EDivertConditionUnconditional == 
+        mWrapper->m_Priv->convert(DivertConditionUnknown));
+    QVERIFY(EDivertConditionUnconditional == 
+        mWrapper->m_Priv->convert(DivertConditionUnconditional));
+    QVERIFY(EDivertConditionBusy == 
+        mWrapper->m_Priv->convert(DivertConditionBusy));
+    QVERIFY(EDivertConditionNoReply == 
+        mWrapper->m_Priv->convert(DivertConditionNoReply));
+    QVERIFY(EDivertConditionNotReachable == 
+        mWrapper->m_Priv->convert(DivertConditionNotReachable));
+    QVERIFY(EDivertConditionAllCalls == 
+        mWrapper->m_Priv->convert(DivertConditionAllCalls));
+    QVERIFY(EDivertConditionAllConditionalCases == 
+        mWrapper->m_Priv->convert(DivertConditionAllConditionalCases));
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_convertPsCallDivertingStatus
+ */
+void UT_PSetCallDivertingWrapper::t_convertPsCallDivertingStatus()
+{
+    QVERIFY(EDivertingStatusActive == 
+        mWrapper->m_Priv->convert(DivertingStatusActive));
+    QVERIFY(EDivertingStatusInactive == 
+        mWrapper->m_Priv->convert(DivertingStatusInactive));
+    QVERIFY(EDivertingStatusNotRegistered == 
+        mWrapper->m_Priv->convert(DivertingStatusNotRegistered));
+    QVERIFY(EDivertingStatusNotProvisioned == 
+        mWrapper->m_Priv->convert(DivertingStatusNotProvisioned));
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_convertPsCallDivertingSetting
+ */
+void UT_PSetCallDivertingWrapper::t_convertPsCallDivertingSetting()
+{
+    QVERIFY(EActivateDiverting == 
+        mWrapper->m_Priv->convert(ActivateDiverting));
+    QVERIFY(ECancelDiverting == 
+        mWrapper->m_Priv->convert(CancelDiverting));
+    QVERIFY(ERegisterDiverting == 
+        mWrapper->m_Priv->convert(RegisterDiverting));
+    QVERIFY(EEraseDiverting == 
+        mWrapper->m_Priv->convert(EraseDiverting));
+    QVERIFY(ECheckStatus == 
+        mWrapper->m_Priv->convert(CheckStatus));
+    const int invalidEnumeration = -1;
+    QVERIFY(ECheckStatus == mWrapper->m_Priv->convert(
+        static_cast<PsCallDivertingSetting>(invalidEnumeration)));
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::t_exceptionSafety
+ */
+void UT_PSetCallDivertingWrapper::t_exceptionSafety()
+{
+    cleanup();
+    
+    OomTestExecuter::runAllTests(*this, "t_exceptionSafety");
+}
+
+/*!
+  UT_PSetCallDivertingWrapper::simulateLeaveOnMockMethodCallL
+ */
+void UT_PSetCallDivertingWrapper::simulateLeaveOnMockMethodCallL()
+{
+    User::Leave(KErrGeneral);
+}
+
+QTEST_MAIN_S60(UT_PSetCallDivertingWrapper)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcalldivertingwrapper/ut_psetcalldivertingwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+
+#ifndef UT_PSETCALLDIVERTINGWRAPPER_H
+#define UT_PSETCALLDIVERTINGWRAPPER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class PSetCallDivertingWrapper;
+class CPsetContainer;
+class CPsetCallDiverting;
+
+class UT_PSetCallDivertingWrapper : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_PSetCallDivertingWrapper();
+    ~UT_PSetCallDivertingWrapper();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    void t_construction();
+    
+    void t_setCallDivertingWithValidParameters();
+    void t_setCallDivertingWithInvalidNumber();
+    void t_setCallDivertingWithEmergencyNumber();
+    void t_setCallDivertingException();
+    
+    void t_getCallDivertingStatus();
+    void t_getCallDivertingStatusException();
+    void t_cancelProcess();
+
+    void t_getDefaultNumbers();
+    void t_getDefaultNumbersException();
+    void t_setNewDefaultNumber();
+    void t_getVoiceMailBoxNumber();
+    void t_queryVoiceMailBoxNumber();
+    void t_swapDefaultNumber();
+
+    // tests for private implementation
+    void t_handleDivertingChanged();
+    void t_handleDivertingStatus();
+    void t_handleDivertingError();
+    void t_handleCFRequesting();
+    void t_setEngineContact();
+    void t_handleEmergencyDial();
+    
+    void t_convertPsCallDivertingCondition();
+    void t_convertPsCallDivertingStatus();
+    void t_convertPsCallDivertingSetting();
+    void t_exceptionSafety();
+    
+private:
+    
+    void simulateLeaveOnMockMethodCallL();
+    
+private:
+    PSetCallDivertingWrapper *mWrapper;
+    CPsetContainer *mSetContainerMock;
+    CPsetCallDiverting *mPsetCallDivertingMock;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcalldivertingwrapper/ut_psetcalldivertingwrapper.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib release
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../common
+DEFINES += BUILD_PSETWRAPPER
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += /epoc32/include/mw/QtTest    \
+                 /epoc32/include/platform/mw  \
+                 /epoc32/include/mw/qt
+  LIBS += -lmocklib -lsymbianmock -letelmm -letel -lbafl -lvmbxengine
+}
+
+# test code
+HEADERS += ut_psetcalldivertingwrapper.h
+HEADERS += ../common/testutilities.h
+SOURCES += ut_psetcalldivertingwrapper.cpp
+SOURCES += ../common/testutilities.cpp
+
+# code to be tested
+HEADERS += ../../../../../../phonesrv_plat/phone_settings_api/inc/psetcalldivertingwrapper.h
+SOURCES += ../../src/psetcalldivertingwrapper.cpp    \
+           ../../src/psetcalldivertingwrapper_p.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_psetcontainer.cpp       \
+           ../mocks/mock_cphcltemergencycall.cpp \
+           ../mocks/mock_psetcalldiverting.cpp \
+           ../mocks/mock_cvoicemailbox.cpp \
+           ../mocks/mock_cvoicemailboxentry.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallwaitingwrapper/ut_psetcallwaitingwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+
+#include <etelmm.h>
+#include <PsetContainer.h>
+#include <mpsetcallwaitingobs.h>
+#include "ut_psetcallwaitingwrapper.h"
+#include "testutilities.h"
+#define private public
+#include "psetcallwaitingwrapper.h"
+#include "psetcallwaitingwrapper_p.h"
+
+class WaitingObserver : public MPsetCallWaitingObserver
+{
+    void HandleCallWaitingGetStatusL( 
+        const MPsetCallWaiting::TGetCallWaitingStatus aStatus, 
+        TUint8 aBsc[KPSetNumberOfBsc])
+    {
+        Q_UNUSED(aStatus);
+        Q_UNUSED(aBsc);
+    }
+
+    void HandleCallWaitingChangedL( 
+        const MPsetCallWaiting::TSetCallWaiting aSetting, 
+        const TInt aResult)
+    {
+        Q_UNUSED(aSetting);
+        Q_UNUSED(aResult);
+    }
+
+    void HandleCWRequestingL(
+        TBool aOngoing, 
+        TBool aInterrupted)
+    {
+        Q_UNUSED(aOngoing);
+        Q_UNUSED(aInterrupted);
+    }
+
+    void HandleCWErrorL(
+        TInt aReason)
+    {
+        Q_UNUSED(aReason);
+    }
+
+    void SetEngineContact(
+        MPsetCallWaiting& aEngineContact)
+    {
+        Q_UNUSED(aEngineContact);
+    }
+};
+
+void SimulateLeaveL()
+{
+    User::Leave(KErrGeneral);
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::UT_PSetCallWaitingWrapper
+ */
+UT_PSetCallWaitingWrapper::UT_PSetCallWaitingWrapper()
+    :
+    m_numOfLeaveSimulations(0),
+    m_psetContainerMock(NULL),
+    m_psetCallWaitingMock(NULL),
+    m_wrapper(NULL)
+{
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::~UT_PSetCallWaitingWrapper
+ */
+UT_PSetCallWaitingWrapper::~UT_PSetCallWaitingWrapper()
+{
+    delete m_psetContainerMock;
+    m_psetCallWaitingMock = NULL;
+    delete m_wrapper;
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::init
+ */
+void UT_PSetCallWaitingWrapper::init()
+{
+    initialize();
+    m_numOfLeaveSimulations = 0;
+    
+    m_psetContainerMock = new CPsetContainer();
+    
+    RMobilePhone dummyHandle;
+    WaitingObserver dummyObserver;
+    QT_TRAP_THROWING(m_psetCallWaitingMock = 
+        CPsetCallWaiting::NewL(dummyHandle, dummyObserver));
+    expect("CPsetContainer::CreateCWObjectL").returns(m_psetCallWaitingMock);
+    
+    // wrapper takes ownership of callDivertingMock during successful 
+    // construction
+    QScopedPointer<CPsetCallWaiting> callWaitingMockPtr(m_psetCallWaitingMock);
+    m_wrapper = new PSetCallWaitingWrapper(*m_psetContainerMock, NULL);
+    callWaitingMockPtr.take();
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::cleanup
+ */
+void UT_PSetCallWaitingWrapper::cleanup()
+{
+    reset();
+    
+    delete m_psetContainerMock;
+    m_psetContainerMock = NULL;
+    m_psetCallWaitingMock = NULL;
+    delete m_wrapper;
+    m_wrapper = NULL;
+}
+
+
+/*!
+  UT_PSetCallWaitingWrapper::t_construction
+ */
+void UT_PSetCallWaitingWrapper::t_construction()
+{
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") != 0) {
+        expect("CPsetContainer::CreateCWObjectL").
+            willOnce(invokeWithoutArguments(SimulateLeaveL));
+        
+        PSetCallWaitingWrapper *wrapper = NULL;
+        EXPECT_EXCEPTION(
+            wrapper = new PSetCallWaitingWrapper(*m_psetContainerMock, NULL);
+        )
+        delete wrapper;
+        
+        QVERIFY(verify());
+    }
+}
+
+
+/*!
+  UT_PSetCallWaitingWrapper::t_setCallWaiting
+ */
+void UT_PSetCallWaitingWrapper::t_setCallWaiting()
+{
+    TBasicServiceGroups basicServiceGroup = EAllTele;
+    expect("CPsetCallWaiting::SetCallWaitingL").
+        with(MPsetCallWaiting::EActivateCallWaiting, basicServiceGroup);
+    expect("CPsetCallWaiting::SetCallWaitingL").
+        with(MPsetCallWaiting::EDeactivateCallWaiting, basicServiceGroup);
+    
+    int invalidEnumeration = -1; 
+    expect("CPsetCallWaiting::SetCallWaitingL").
+        with(static_cast<MPsetCallWaiting::TSetCallWaiting>(invalidEnumeration), basicServiceGroup).
+        willOnce(invokeWithoutArguments(this, &SimulateLeaveAtMockMethodCallL));
+    
+    m_wrapper->setCallWaiting(
+        PSetCallWaitingWrapper::ActivateCallWaiting,
+        basicServiceGroup);
+    m_wrapper->setCallWaiting(
+        PSetCallWaitingWrapper::DeactivateCallWaiting,
+        basicServiceGroup);
+    EXPECT_EXCEPTION(
+        m_wrapper->setCallWaiting(
+            static_cast<PSetCallWaitingWrapper::PsCallWaitingCommand>(invalidEnumeration),
+            basicServiceGroup);
+    )
+    
+    QVERIFY(1 == m_numOfLeaveSimulations);
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::t_getCallWaitingStatus
+ */
+void UT_PSetCallWaitingWrapper::t_getCallWaitingStatus()
+{
+    expect("CPsetCallWaiting::GetCallWaitingStatusL").
+        willOnce(invoke(this, &SimulateLeaveAtMockMethodCallL));
+    
+    EXPECT_EXCEPTION(
+        m_wrapper->getCallWaitingStatus();
+    )
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::t_cancelProcess
+ */
+void UT_PSetCallWaitingWrapper::t_cancelProcess()
+{
+    expect("CPsetCallWaiting::CancelProcess");
+    
+    m_wrapper->cancelProcess();
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::t_handleCallWaitingGetStatus
+ */
+Q_DECLARE_METATYPE(PSetCallWaitingWrapper::PsCallWaitingStatus)
+Q_DECLARE_METATYPE(QList<unsigned char>)
+void UT_PSetCallWaitingWrapper::t_handleCallWaitingGetStatus()
+{
+    qRegisterMetaType<PSetCallWaitingWrapper::PsCallWaitingStatus>
+        ("PSetCallWaitingWrapper::PsCallWaitingStatus");
+    qRegisterMetaType<QList<unsigned char> >("QList<unsigned char>");
+    QSignalSpy spy(m_wrapper, SIGNAL(handleCallWaitingGetStatus(
+        PSetCallWaitingWrapper::PsCallWaitingStatus, const QList<unsigned char> &)));
+    
+    MPsetCallWaiting::TGetCallWaitingStatus status =
+        MPsetCallWaiting::EStatusActive; 
+    TUint8 bscList[KPSetNumberOfBsc];
+    bscList[0] = EAllTele;
+    bscList[1] = KPSetUnusedValue;
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCallWaitingGetStatusL(status, bscList));
+    status = MPsetCallWaiting::EStatusDisabled;
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCallWaitingGetStatusL(status, bscList));
+    status = MPsetCallWaiting::EStatusNotAvailable;
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCallWaitingGetStatusL(status, bscList));
+    status = MPsetCallWaiting::EStatusNotProvisioned;
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCallWaitingGetStatusL(status, bscList));
+    status = MPsetCallWaiting::EStatusUnknown;
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCallWaitingGetStatusL(status, bscList));
+    
+    const int expectedNumOfSignalEmissions = 5;
+    QCOMPARE(spy.count(), expectedNumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.at(0);
+    QVERIFY(PSetCallWaitingWrapper::StatusActive == 
+        arguments.at(0).value<PSetCallWaitingWrapper::PsCallWaitingStatus>());
+    QVERIFY(EAllTele == arguments.at(1).value<QList<unsigned char> >()[0]);
+    QVERIFY(PSetCallWaitingWrapper::StatusDisabled == 
+        spy.at(1).at(0).value<PSetCallWaitingWrapper::PsCallWaitingStatus>());
+    QVERIFY(EAllTele == spy.at(1).at(1).value<QList<unsigned char> >()[0]);
+    QVERIFY(PSetCallWaitingWrapper::StatusNotAvailable == 
+        spy.at(2).at(0).value<PSetCallWaitingWrapper::PsCallWaitingStatus>());
+    QVERIFY(EAllTele == spy.at(2).at(1).value<QList<unsigned char> >()[0]);
+    QVERIFY(PSetCallWaitingWrapper::StatusNotProvisioned == 
+        spy.at(3).at(0).value<PSetCallWaitingWrapper::PsCallWaitingStatus>());
+    QVERIFY(EAllTele == spy.at(3).at(1).value<QList<unsigned char> >()[0]);
+    QVERIFY(PSetCallWaitingWrapper::StatusUnknown == 
+        spy.at(4).at(0).value<PSetCallWaitingWrapper::PsCallWaitingStatus>());
+    QVERIFY(EAllTele == spy.at(4).at(1).value<QList<unsigned char> >()[0]);
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::t_handleCallWaitingChanged
+ */
+Q_DECLARE_METATYPE(PSetCallWaitingWrapper::PsCallWaitingCommand)
+void UT_PSetCallWaitingWrapper::t_handleCallWaitingChanged()
+{
+    qRegisterMetaType<PSetCallWaitingWrapper::PsCallWaitingCommand>
+        ("PSetCallWaitingWrapper::PsCallWaitingCommand");
+    QSignalSpy spy(m_wrapper, SIGNAL(handleCallWaitingChanged(
+        PSetCallWaitingWrapper::PsCallWaitingCommand, int)));
+    
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCallWaitingChangedL(
+            MPsetCallWaiting::EActivateCallWaiting, KErrNone));
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCallWaitingChangedL(
+            MPsetCallWaiting::EDeactivateCallWaiting, KErrNone));
+    
+    const int expectedNumOfSignalEmissions = 2;
+    QCOMPARE(spy.count(), expectedNumOfSignalEmissions);
+    QVERIFY(PSetCallWaitingWrapper::ActivateCallWaiting == 
+        spy.at(0).at(0).value<PSetCallWaitingWrapper::PsCallWaitingCommand>());
+    QVERIFY(KErrNone == spy.at(0).at(1).toInt());
+    QVERIFY(PSetCallWaitingWrapper::DeactivateCallWaiting == 
+        spy.at(1).at(0).value<PSetCallWaitingWrapper::PsCallWaitingCommand>());
+    QVERIFY(KErrNone == spy.at(1).at(1).toInt());
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::t_handleCallWaitingRequesting
+ */
+void UT_PSetCallWaitingWrapper::t_handleCallWaitingRequesting()
+{
+    QSignalSpy spy(m_wrapper, 
+        SIGNAL(handleCallWaitingRequesting(bool, bool)));
+    
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCWRequestingL(ETrue, ETrue));
+    
+    QCOMPARE(spy.count(), 1);
+    const QList<QVariant> &arguments = spy.at(0);
+    QVERIFY(true == arguments.at(0).toBool());
+    QVERIFY(true == arguments.at(1).toBool());
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::t_handleCallWaitingError
+ */
+void UT_PSetCallWaitingWrapper::t_handleCallWaitingError()
+{
+    QSignalSpy spy(m_wrapper, SIGNAL(handleCallWaitingError(int)));
+    
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->HandleCWErrorL(KErrGeneral));
+    
+    QCOMPARE(spy.count(), 1);
+    const QList<QVariant> &arguments = spy.at(0);
+    QVERIFY(KErrGeneral == arguments.at(0).toInt());
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::t_setEngineContact
+ */
+void UT_PSetCallWaitingWrapper::t_setEngineContact()
+{
+    // dummy test as no real implementation for the method currently
+    m_wrapper->m_privateImpl->SetEngineContact(
+        reinterpret_cast<MPsetCallWaiting&>(*this));
+}
+
+/*!
+  UT_PSetCallWaitingWrapper::t_exceptionSafety
+ */
+void UT_PSetCallWaitingWrapper::t_exceptionSafety()
+{
+    cleanup();
+    
+    OomTestExecuter::runAllTests(*this, "t_exceptionSafety");
+}
+
+void UT_PSetCallWaitingWrapper::SimulateLeaveAtMockMethodCallL()
+{
+    m_numOfLeaveSimulations++;
+    User::Leave( KErrGeneral );
+}
+
+QTEST_MAIN_S60(UT_PSetCallWaitingWrapper)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallwaitingwrapper/ut_psetcallwaitingwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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_PSETCALLWAITINGWRAPPER_H
+#define UT_PSETCALLWAITINGWRAPPER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CPsetContainer;
+class CPsetCallWaiting;
+class PSetCallWaitingWrapper;
+
+class UT_PSetCallWaitingWrapper : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_PSetCallWaitingWrapper();
+    ~UT_PSetCallWaitingWrapper();
+    
+private slots:
+
+    void init();
+    void cleanup();
+
+    void t_construction();
+    void t_setCallWaiting();
+    void t_getCallWaitingStatus();
+    void t_cancelProcess();
+    
+    // signal emitting/private implementation tests
+    void t_handleCallWaitingGetStatus();
+    void t_handleCallWaitingChanged();
+    void t_handleCallWaitingRequesting();
+    void t_handleCallWaitingError();
+    void t_setEngineContact();
+    
+    void t_exceptionSafety();
+    
+private:
+    
+    void SimulateLeaveAtMockMethodCallL();
+    
+private:
+    
+    int m_numOfLeaveSimulations;
+    CPsetContainer *m_psetContainerMock;
+    CPsetCallWaiting *m_psetCallWaitingMock;
+    PSetCallWaitingWrapper* m_wrapper;
+};
+
+#endif  // UT_PSETCALLWAITINGWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcallwaitingwrapper/ut_psetcallwaitingwrapper.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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 release
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../../ ../common
+DEFINES += BUILD_PSETWRAPPER
+
+MOC_DIR = .
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += /epoc32/include/mw/QtTest    \
+                 /epoc32/include/platform/mw  \
+                 /epoc32/include/mw/qt
+  LIBS += -lmocklib -lsymbianmock -letelmm -letel -lbafl -lcustomapi
+}
+
+# test code
+HEADERS += ut_psetcallwaitingwrapper.h
+HEADERS += ../common/testutilities.h
+SOURCES += ut_psetcallwaitingwrapper.cpp
+SOURCES += ../common/testutilities.cpp
+
+# code to be tested
+HEADERS += ../../../../../../phonesrv_plat/phone_settings_api/inc/psetcallwaitingwrapper.h
+SOURCES += ../../src/psetcallwaitingwrapper.cpp \
+           ../../src/psetcallwaitingwrapper_p.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_psetcontainer.cpp \
+           ../mocks/mock_psetcallwaiting.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcliwrapper/ut_psetcliwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,366 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <PsetContainer.h>
+#include <mpsetcliobserver.h>
+#include <psetwrappertypes.h>
+#include <PsetCli.h>
+#include <psuiconstants.h>
+#include "ut_psetcliwrapper.h"
+#include "testutilities.h"
+#define private public
+#include "psetcliwrapper.h"
+#include "psetcliwrapper_p.h"
+
+class CliObserver : public MPsetCliObserver
+{
+    void SetEngineContact( MPsetCli* aEngine )
+    {
+        Q_UNUSED(aEngine);
+    }
+
+    void HandleCliRequestingL( TBool aOngoing, 
+        TBool aInterrupted )
+    {
+        Q_UNUSED(aOngoing);
+        Q_UNUSED(aInterrupted);
+    }
+
+    void CliInformationL( TPsuiCli aType )
+    {
+        Q_UNUSED(aType);
+    }
+
+    void HandleCliStatusL( TUint8 aBsc[KPSetNumberOfBsc], TPsuiCli aMode )
+    {
+        Q_UNUSED(aBsc);
+        Q_UNUSED(aMode);
+    }
+      
+    void HandleCnapStatusL( TInt aStatus )
+    {
+        Q_UNUSED(aStatus);
+    }
+
+    void HandleCliErrorL( TInt aError )
+    {
+        Q_UNUSED(aError);
+    }
+};
+
+void SimulateLeaveL()
+{
+    User::Leave(KErrGeneral);
+}
+
+
+/*!
+  UT_PSetCliWrapper::UT_PSetCliWrapper
+ */
+UT_PSetCliWrapper::UT_PSetCliWrapper()
+    :
+    m_numOfLeaveSimulations(0),
+    m_psetContainerMock(NULL),
+    m_wrapper(NULL),
+    m_cliMock(NULL)
+{
+}
+
+/*!
+  UT_PSetCliWrapper::~UT_PSetCliWrapper
+ */
+UT_PSetCliWrapper::~UT_PSetCliWrapper()
+{
+    delete m_psetContainerMock;
+    delete m_wrapper;
+    m_cliMock = NULL;
+}
+
+/*!
+  UT_PSetCliWrapper::init
+ */
+void UT_PSetCliWrapper::init()
+{
+    initialize();
+    
+    m_numOfLeaveSimulations = 0;
+    m_psetContainerMock = new CPsetContainer();
+    
+    RMobilePhone dummyHandle;
+    CliObserver dummyObserver;
+    QT_TRAP_THROWING(m_cliMock = 
+        CPsetCli::NewL(dummyHandle, dummyObserver));
+    expect("CPsetContainer::CreateCliObjectL").returns(m_cliMock);
+    // wrapper takes ownership of callDivertingMock during successfull
+    // construction.
+    QScopedPointer<CPsetCli> cliMockPtr(m_cliMock);
+    m_wrapper = new PSetCliWrapper(*m_psetContainerMock, NULL);
+    cliMockPtr.take();
+}
+
+/*!
+  UT_PSetCliWrapper::cleanup
+ */
+void UT_PSetCliWrapper::cleanup()
+{
+    reset();
+    
+    delete m_psetContainerMock;
+    m_psetContainerMock = NULL;
+    delete m_wrapper;
+    m_wrapper = NULL;
+    m_cliMock = NULL;
+}
+
+/*!
+  UT_PSetCliWrapper::t_construction
+ */
+void UT_PSetCliWrapper::t_construction()
+{
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") != 0) {
+        expect("CPsetContainer::CreateCliObjectL").
+            willOnce(invokeWithoutArguments(SimulateLeaveL));
+        
+        PSetCliWrapper *wrapper = NULL;
+        EXPECT_EXCEPTION(
+            wrapper = new PSetCliWrapper(*m_psetContainerMock, NULL);
+        )
+        delete wrapper;
+        
+        QVERIFY(verify());
+    }
+}
+
+/*!
+  UT_PSetCliWrapper::t_getColpMode
+ */
+void UT_PSetCliWrapper::t_getColpMode()
+{
+    expect("CPsetCli::GetColpModeL").
+        willOnce(invokeWithoutArguments(this, &SimulateLeaveAtMockMethodCallL));
+    
+    EXPECT_EXCEPTION(
+        m_wrapper->getColpMode();
+    )
+    
+    QVERIFY(1 == m_numOfLeaveSimulations);
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCliWrapper::t_getClipMode
+ */
+void UT_PSetCliWrapper::t_getClipMode()
+{
+    expect("CPsetCli::GetClipModeL").
+        willOnce(invokeWithoutArguments(this, &SimulateLeaveAtMockMethodCallL));
+    
+    EXPECT_EXCEPTION(
+        m_wrapper->getClipMode();
+    )
+    
+    QVERIFY(1 == m_numOfLeaveSimulations);
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCliWrapper::t_getClirMode
+ */
+void UT_PSetCliWrapper::t_getClirMode()
+{
+    expect("CPsetCli::GetClirModeL").
+        willOnce(invokeWithoutArguments(this, &SimulateLeaveAtMockMethodCallL));
+    
+    EXPECT_EXCEPTION(
+        m_wrapper->getClirMode();
+    )
+    
+    QVERIFY(1 == m_numOfLeaveSimulations);
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCliWrapper::t_getColrMode
+ */
+void UT_PSetCliWrapper::t_getColrMode()
+{
+    expect("CPsetCli::GetColrModeL").
+        willOnce(invokeWithoutArguments(this, &SimulateLeaveAtMockMethodCallL));
+    
+    EXPECT_EXCEPTION(
+        m_wrapper->getColrMode();
+    )
+    
+    QVERIFY(1 == m_numOfLeaveSimulations);
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCliWrapper::t_getCnap
+ */
+void UT_PSetCliWrapper::t_getCnap()
+{
+    expect("CPsetCli::GetCnapL").
+        willOnce(invokeWithoutArguments(this, &SimulateLeaveAtMockMethodCallL));
+    
+    EXPECT_EXCEPTION(
+        m_wrapper->getCnap();
+    )
+    
+    QVERIFY(1 == m_numOfLeaveSimulations);
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetCliWrapper::t_cancelAll
+ */
+void UT_PSetCliWrapper::t_cancelAll()
+{
+    expect("CPsetCli::CancelAll");
+    
+    m_wrapper->cancelAll();
+    
+    QVERIFY(true == verify());
+}
+
+
+/*!
+  UT_PSetCliWrapper::t_handleCliRequesting
+ */
+void UT_PSetCliWrapper::t_handleCliRequesting()
+{
+    QSignalSpy spy(m_wrapper, SIGNAL(handleCliRequesting(bool, bool)));
+    
+    TBool isOngoing = ETrue;
+    TBool isInterrupted = ETrue;
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCliRequestingL(isOngoing, isInterrupted));
+    
+    const int expectednumOfSignalEmissions = 1;
+    const int expectedNumOfSignalArguments = 2;
+    QCOMPARE(spy.count(), expectednumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.at(0);
+    QVERIFY(expectedNumOfSignalArguments == arguments.count());
+    QVERIFY(ETrue == arguments.at(0).toBool());
+    QVERIFY(ETrue == arguments.at(1).toBool());
+}
+
+/*!
+  UT_PSetCliWrapper::t_cliInformation
+ */
+Q_DECLARE_METATYPE(PsCallLineIdentity)
+void UT_PSetCliWrapper::t_cliInformation()
+{
+    qRegisterMetaType<PsCallLineIdentity>("PsCallLineIdentity");
+    QSignalSpy spy(m_wrapper, SIGNAL(cliInformation(PsCallLineIdentity)));
+    
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->CliInformationL(EPsuiClirOn));
+    
+    const int expectednumOfSignalEmissions = 1;
+    const int expectedNumOfSignalArguments = 1;
+    QCOMPARE(spy.count(), expectednumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.at(0);
+    QVERIFY(expectedNumOfSignalArguments == arguments.count());
+    QVERIFY(ClirOn == arguments.at(0).value<PsCallLineIdentity>());
+}
+
+/*!
+  UT_PSetCliWrapper::t_handleCliStatus
+ */
+Q_DECLARE_METATYPE(unsigned char *)
+void UT_PSetCliWrapper::t_handleCliStatus()
+{
+    qRegisterMetaType<unsigned char *>("unsigned char *");
+    QSignalSpy spy(m_wrapper, 
+        SIGNAL(handleCliStatus(unsigned char *, int, PsCallLineIdentity)));
+    
+    TUint8 bscList[KPSetNumberOfBsc] = { EAllTele };
+    QT_TRAP_THROWING(
+        m_wrapper->m_privateImpl->HandleCliStatusL(bscList, EPsuiClirOn));
+    
+    const int expectednumOfSignalEmissions = 1;
+    const int expectedNumOfSignalArguments = 3;
+    QCOMPARE(spy.count(), expectednumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.at(0);
+    QVERIFY(expectedNumOfSignalArguments == arguments.count());
+    QVERIFY(EAllTele == arguments.at(0).value<unsigned char *>()[0]);
+    QVERIFY(KPSetNumberOfBsc == arguments.at(1).toInt());
+    QVERIFY(ClirOn == arguments.at(2).value<PsCallLineIdentity>());
+}
+
+/*!
+  UT_PSetCliWrapper::t_handleCnapStatus
+ */
+void UT_PSetCliWrapper::t_handleCnapStatus()
+{
+    QSignalSpy spy(m_wrapper, SIGNAL(handleCnapStatus(int)));
+    
+    const int status = 1;
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->HandleCnapStatusL(status));
+    
+    const int expectednumOfSignalEmissions = 1;
+    const int expectedNumOfSignalArguments = 1;
+    QCOMPARE(spy.count(), expectednumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.at(0);
+    QVERIFY(expectedNumOfSignalArguments == arguments.count());
+    QVERIFY(status == arguments.at(0).toInt());
+}
+
+/*!
+  UT_PSetCliWrapper::t_handleCliError
+ */
+void UT_PSetCliWrapper::t_handleCliError()
+{
+    QSignalSpy spy(m_wrapper, SIGNAL(handleCliError(int)));
+    
+    const int expectedErrorCode = KErrGeneral;
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->HandleCliErrorL(expectedErrorCode));
+    
+    const int expectednumOfSignalEmissions = 1;
+    const int expectedNumOfSignalArguments = 1;
+    QCOMPARE(spy.count(), expectednumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.at(0);
+    QVERIFY(expectedNumOfSignalArguments == arguments.count());
+    QVERIFY(expectedErrorCode == arguments.at(0).toInt());
+}
+
+/*!
+  UT_PSetCliWrapper::t_setEngineContact
+ */
+void UT_PSetCliWrapper::t_setEngineContact()
+{
+    // dummy test as no real implementation for the method currently
+    m_wrapper->m_privateImpl->SetEngineContact(NULL);
+}
+
+/*!
+  UT_PSetCliWrapper::t_exceptionSafety
+ */
+void UT_PSetCliWrapper::t_exceptionSafety()
+{
+    cleanup();
+    
+    OomTestExecuter::runAllTests(*this, "t_exceptionSafety");
+}
+
+void UT_PSetCliWrapper::SimulateLeaveAtMockMethodCallL()
+{
+    m_numOfLeaveSimulations++;
+    User::Leave( KErrGeneral );
+}
+
+QTEST_MAIN_S60(UT_PSetCliWrapper)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcliwrapper/ut_psetcliwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_PSETCLIWRAPPER_H
+#define UT_PSETCLIWRAPPER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CPsetContainer;
+class PSetCliWrapper;
+class CPsetCli;
+
+class UT_PSetCliWrapper : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_PSetCliWrapper();
+    ~UT_PSetCliWrapper();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_construction();
+    void t_getColpMode();
+    void t_getClipMode();
+    void t_getClirMode();
+    void t_getColrMode();
+    void t_getCnap();
+    void t_cancelAll();
+    
+    // signal emitting/private implementation tests
+    void t_handleCliRequesting();
+    void t_cliInformation();
+    void t_handleCliStatus();
+    void t_handleCnapStatus();
+    void t_handleCliError();
+    void t_setEngineContact();
+    
+    void t_exceptionSafety();
+    
+private:
+    
+    void SimulateLeaveAtMockMethodCallL();
+    
+private:
+    
+    int m_numOfLeaveSimulations;
+    CPsetContainer *m_psetContainerMock;
+    CPsetCli* m_cliMock;
+    PSetCliWrapper* m_wrapper;
+};
+
+#endif  // UT_PSETCLIWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcliwrapper/ut_psetcliwrapper.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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 release
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../../ ../common
+DEFINES += BUILD_PSETWRAPPER
+
+MOC_DIR = .
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += /epoc32/include/mw/QtTest    \
+                 /epoc32/include/platform/mw  \
+                 /epoc32/include/mw/qt
+  LIBS += -lmocklib -lsymbianmock -letelmm -letel -lbafl -lcustomapi
+}
+
+# test code
+HEADERS += ut_psetcliwrapper.h
+HEADERS += ../common/testutilities.h
+SOURCES += ut_psetcliwrapper.cpp
+SOURCES += ../common/testutilities.cpp
+
+# code to be tested
+HEADERS += ../../../../../../phonesrv_plat/phone_settings_api/inc/psetcliwrapper.h
+SOURCES += ../../src/psetcliwrapper.cpp \
+           ../../src/psetcliwrapper_p.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_psetcontainer.cpp \
+           ../mocks/mock_psetcli.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkinfoconverter/ut_psetnetworkinfoconverter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "ut_psetnetworkinfoconverter.h"
+#include "psetnetworkinfoconverter.h"
+#include "qtestmains60.h"
+
+
+/*!
+  UT_PSetNetworkInfoConverter::UT_PSetNetworkInfoConverter
+ */
+UT_PSetNetworkInfoConverter::UT_PSetNetworkInfoConverter() 
+{
+}
+
+/*!
+  UT_PSetNetworkInfoConverter::~UT_PSetNetworkInfoConverter
+ */
+UT_PSetNetworkInfoConverter::~UT_PSetNetworkInfoConverter()
+{
+
+}
+
+/*!
+  UT_PSetNetworkInfoConverter::init
+ */
+void UT_PSetNetworkInfoConverter::init()
+{
+    initialize();
+}
+
+/*!
+  UT_PSetNetworkInfoConverter::cleanup
+ */
+void UT_PSetNetworkInfoConverter::cleanup()
+{
+    reset();
+}
+
+/*!
+  UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkInfo
+ */
+void UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkInfo()
+{
+    _LIT(KCountryCode, "1234");         // country code max length is 4
+    _LIT(KNetworkCode, "12345678");     // network code max length is 8
+    PSetNetworkWrapper::NetworkId networkId = 
+        { 
+            QString::fromUtf16(KCountryCode().Ptr(), KCountryCode().Length()),
+            QString::fromUtf16(KNetworkCode().Ptr(), KNetworkCode().Length()),
+        };
+    
+    _LIT(KShortName, "shortNameMaxLength20");
+    _LIT(KLongName, "longNameMaxLengthIs30LikeThis_");
+    PSetNetworkWrapper::NetworkInfo info =
+        {
+            networkId,
+            PSetNetworkWrapper::StatusUnknown,
+            PSetNetworkWrapper::SelectionModeManual,
+            PSetNetworkWrapper::AccessTypeGsm,
+            QString::fromUtf16(KShortName().Ptr(), KShortName().Length()),
+            QString::fromUtf16(KLongName().Ptr(), KLongName().Length()),
+        };
+    
+    MPsetNetworkSelect::TNetworkInfo convertedInfo =
+        NetworkInfoConverter::ConvertToSymbianType(info);
+    
+    QVERIFY(convertedInfo.iId.iCountryCode == KCountryCode());
+    QVERIFY(convertedInfo.iId.iNetworkCode == KNetworkCode());
+    QVERIFY(convertedInfo.iStatus == MPsetNetworkSelect::ENetStatUnknown);
+    QVERIFY(convertedInfo.iMode == MPsetNetworkSelect::ENetSelectModeManual);
+    QVERIFY(convertedInfo.iAccess == MPsetNetworkSelect::ENetNetworkGSM);
+    QVERIFY(convertedInfo.iShortName == KShortName());
+    QVERIFY(convertedInfo.iLongName == KLongName());
+}
+
+/*!
+  UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkId
+ */
+void UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkId()
+{
+    _LIT(KCountryCode, "1234");
+    _LIT(KNetworkCode, "12345678");
+    PSetNetworkWrapper::NetworkId networkId = 
+        { 
+            QString::fromUtf16(KCountryCode().Ptr(), KCountryCode().Length()),
+            QString::fromUtf16(KNetworkCode().Ptr(), KNetworkCode().Length()),
+        };
+    
+    MPsetNetworkSelect::TNetworkId  convertedType =
+        NetworkInfoConverter::ConvertToSymbianType(networkId);
+    QVERIFY(convertedType.iCountryCode == KCountryCode());
+    QVERIFY(convertedType.iNetworkCode == KNetworkCode());
+}
+
+/*!
+  UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkStatus
+ */
+void UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkStatus()
+{
+    MPsetNetworkSelect::TNetworkStatus convertedType =
+        NetworkInfoConverter::ConvertToSymbianType(
+            PSetNetworkWrapper::StatusUnknown);
+    QVERIFY(MPsetNetworkSelect::ENetStatUnknown == convertedType);
+    
+    convertedType = NetworkInfoConverter::ConvertToSymbianType(
+        PSetNetworkWrapper::StatusAvailable);
+    QVERIFY(MPsetNetworkSelect::ENetStatAvailable == convertedType);
+    
+    convertedType = NetworkInfoConverter::ConvertToSymbianType(
+        PSetNetworkWrapper::StatusCurrent);
+    QVERIFY(MPsetNetworkSelect::ENetStatCurrent == convertedType);
+    
+    convertedType = NetworkInfoConverter::ConvertToSymbianType(
+        PSetNetworkWrapper::StatusForbidden);
+    QVERIFY(MPsetNetworkSelect::ENetStatForbidden == convertedType);
+}
+
+/*!
+  UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkSelectionMode
+ */
+void UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkSelectionMode()
+{
+    MPsetNetworkSelect::TSelectMode convertedType =
+        NetworkInfoConverter::ConvertToSymbianType(
+            PSetNetworkWrapper::SelectionModeAutomatic);
+    QVERIFY(MPsetNetworkSelect::ENetSelectModeAutomatic == convertedType);
+    
+    convertedType = NetworkInfoConverter::ConvertToSymbianType(
+        PSetNetworkWrapper::SelectionModeManual);
+    QVERIFY(MPsetNetworkSelect::ENetSelectModeManual == convertedType);
+}
+
+/*!
+  UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkAccessType
+ */
+void UT_PSetNetworkInfoConverter::t_convertToSymbianTypeNetworkAccessType()
+{
+    MPsetNetworkSelect::TNetworkAccess convertedType =
+        NetworkInfoConverter::ConvertToSymbianType(
+            PSetNetworkWrapper::AccessTypeGsm);
+    QVERIFY(MPsetNetworkSelect::ENetNetworkGSM == convertedType);
+    
+    convertedType = NetworkInfoConverter::ConvertToSymbianType(
+        PSetNetworkWrapper::AccessTypeWcdma);
+    QVERIFY(MPsetNetworkSelect::ENetNetworkWCDMA == convertedType);
+}
+
+/*!
+  UT_PSetNetworkInfoConverter::t_convertToQtTypeNetworkSelectionMode
+ */
+void UT_PSetNetworkInfoConverter::t_convertToQtTypeNetworkSelectionMode()
+{
+    PSetNetworkWrapper::NetworkSelectionMode convertedType =
+        NetworkInfoConverter::ConvertToQtType(
+            MPsetNetworkSelect::ENetSelectModeAutomatic);
+    QVERIFY(PSetNetworkWrapper::SelectionModeAutomatic == convertedType);
+    
+    convertedType = NetworkInfoConverter::ConvertToQtType(
+        MPsetNetworkSelect::ENetSelectModeManual);
+    QVERIFY(PSetNetworkWrapper::SelectionModeManual == convertedType);
+}
+
+QTEST_MAIN_S60(UT_PSetNetworkInfoConverter)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkinfoconverter/ut_psetnetworkinfoconverter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_PSETNETWORKINFOCONVERTER_H
+#define UT_PSETNETWORKINFOCONVERTER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+
+class UT_PSetNetworkInfoConverter : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_PSetNetworkInfoConverter();
+    ~UT_PSetNetworkInfoConverter();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_convertToSymbianTypeNetworkInfo();
+    void t_convertToSymbianTypeNetworkId();
+    void t_convertToSymbianTypeNetworkStatus();
+    void t_convertToSymbianTypeNetworkSelectionMode();
+    void t_convertToSymbianTypeNetworkAccessType();
+    void t_convertToQtTypeNetworkSelectionMode();
+};
+
+#endif  // UT_PSETNETWORKINFOCONVERTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkinfoconverter/ut_psetnetworkinfoconverter.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,46 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib release
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../common
+DEFINES += BUILD_PSETWRAPPER
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += /epoc32/include/mw/QtTest    \
+                 /epoc32/include/platform/mw  \
+                 /epoc32/include/mw/qt
+  LIBS += -lmocklib -lsymbianmock -letelmm -letel -lbafl -lcustomapi
+}
+
+# test code
+HEADERS += ut_psetnetworkinfoconverter.h
+SOURCES += ut_psetnetworkinfoconverter.cpp
+
+# code to be tested
+HEADERS += ../../src/psetnetworkinfoconverter.h
+SOURCES += ../../src/psetnetworkinfoconverter.cpp
+
+# mocks
+HEADERS += ../../../../../../phonesrv_plat/phone_settings_api/inc/psetnetworkwrapper.h
+SOURCES += ../mocks/mock_psetnetworkwrapper.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkwrapper/ut_psetnetworkwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,546 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <PsetContainer.h>
+#include <mpsetnetworkinfoobs.h>
+#include <gsmerror.h>
+#include <mock_cpsetrefreshhandler.h>
+#include "ut_psetnetworkwrapper.h"
+#include "testutilities.h"
+#define private public
+#include "psetnetworkwrapper.h"
+#include "psetnetworkwrapper_p.h"
+
+class NetworkInfoObserver : public MPsetNetworkInfoObserver
+{
+
+    void HandleNetworkInfoReceivedL( 
+        const CNetworkInfoArray* aInfoArray, 
+        const TInt aResult)
+    {
+        Q_UNUSED(aInfoArray);
+        Q_UNUSED(aResult);
+    }
+
+    void HandleCurrentNetworkInfoL( 
+        const MPsetNetworkSelect::TCurrentNetworkInfo& aCurrentInfo, 
+        const TInt aResult)
+    {
+        Q_UNUSED(aCurrentInfo);
+        Q_UNUSED(aResult);
+    }
+
+    void HandleNetworkChangedL( 
+        const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
+        const MPsetNetworkSelect::TCurrentNetworkStatus aStatus, 
+        const TInt aResult)
+    {
+        Q_UNUSED(aCurrentInfo);
+        Q_UNUSED(aStatus);
+        Q_UNUSED(aResult);
+    }
+
+    void HandleNetworkChangedL( 
+        const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
+        const RMobilePhone::TMobilePhoneRegistrationStatus& aStatus, 
+        const TInt aResult)
+    {
+        Q_UNUSED(aCurrentInfo);
+        Q_UNUSED(aStatus);
+        Q_UNUSED(aResult);
+    }
+
+    void HandleSearchingNetworksL( 
+        TServiceRequest aRequest)
+    {
+        Q_UNUSED(aRequest);
+    }
+
+    void HandleRequestingSelectedNetworkL( 
+        TBool aOngoing)
+    {
+        Q_UNUSED(aOngoing);
+    }
+
+    void HandleCallActivatedL()
+    {
+        
+    }
+
+    void HandleNetworkErrorL( 
+        const MPsetNetworkInfoObserver::TServiceRequest aRequest,
+        const TInt aError)
+    {
+        Q_UNUSED(aRequest);
+        Q_UNUSED(aError);
+    }
+};
+
+void SimulateLeaveL()
+{
+    User::Leave(KErrGeneral);
+}
+
+/*!
+  UT_PSetNetworkWrapper::UT_PSetNetworkWrapper
+ */
+UT_PSetNetworkWrapper::UT_PSetNetworkWrapper() 
+    : 
+    m_wrapper(NULL), 
+    m_psetContainerMock(NULL), 
+    m_psetNetworkMock(NULL),
+    m_psetNetworkModeMock(NULL)
+{
+}
+
+/*!
+  UT_PSetNetworkWrapper::~UT_PSetNetworkWrapper
+ */
+UT_PSetNetworkWrapper::~UT_PSetNetworkWrapper()
+{
+    delete m_wrapper;
+    delete m_psetContainerMock;
+    m_psetNetworkMock = NULL;
+    m_psetNetworkModeMock = NULL;
+}
+
+/*!
+  UT_PSetNetworkWrapper::init
+ */
+void UT_PSetNetworkWrapper::init()
+{
+    initialize();
+    
+    m_psetContainerMock = new CPsetContainer();
+    m_refreshHandler = CPSetRefreshHandlerMock::NewL();
+    SmcDefaultValue<CPSetRefreshHandler *>::SetL(m_refreshHandler);
+    
+    RMobilePhone dummyHandle;
+    NetworkInfoObserver dummyObserver;
+    QT_TRAP_THROWING(m_psetNetworkMock = 
+        CPsetNetwork::NewL(dummyHandle, dummyObserver));
+    QT_TRAP_THROWING(m_psetNetworkModeMock = 
+        CPsetNetwork::NewL(dummyHandle, dummyObserver));
+    
+    expect("CPsetContainer::CreateNetworkObjectL").returns(m_psetNetworkMock);
+    expect("CPsetContainer::CreateNetworkModeObjectL").
+        returns(m_psetNetworkModeMock);
+    
+    // wrapper takes ownership of networkmocks during successfull
+    // construction
+    QScopedPointer<CPsetNetwork> networkMockPtr(m_psetNetworkMock);
+    QScopedPointer<CPsetNetwork> networkModeMockPtr(m_psetNetworkModeMock);
+    m_wrapper = new PSetNetworkWrapper(*m_psetContainerMock, NULL);
+    networkMockPtr.take();
+    networkModeMockPtr.take();
+}
+
+/*!
+  UT_PSetNetworkWrapper::cleanup
+ */
+void UT_PSetNetworkWrapper::cleanup()
+{
+    reset();
+    
+    delete m_wrapper;
+    m_wrapper = NULL;
+    delete m_psetContainerMock;
+    m_psetContainerMock = NULL;
+    m_psetNetworkMock = NULL;
+    m_psetNetworkModeMock = NULL;
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_construction
+ */
+void UT_PSetNetworkWrapper::t_construction()
+{
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") != 0) {
+        
+        expect("CPsetContainer::CreateNetworkObjectL").
+            willOnce(invokeWithoutArguments(SimulateLeaveL));
+        PSetNetworkWrapper *wrapper = NULL;
+        EXPECT_EXCEPTION(
+            wrapper = new PSetNetworkWrapper(*m_psetContainerMock, NULL);
+            delete wrapper;
+            wrapper = NULL;
+        )
+        QVERIFY(verify());
+        
+        expect("CPsetContainer::CreateNetworkModeObjectL").
+            willOnce(invokeWithoutArguments(SimulateLeaveL));
+        EXPECT_EXCEPTION(
+            wrapper = new PSetNetworkWrapper(*m_psetContainerMock, NULL);
+            delete wrapper;
+            wrapper = NULL;
+        )
+        QVERIFY(verify());
+    }
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_getAvailableNetworks
+ */
+void UT_PSetNetworkWrapper::t_getAvailableNetworks()
+{
+    expect("CPsetNetwork::GetAvailableNetworksL")
+        .willOnce(invokeWithoutArguments(SimulateLeaveL));
+    
+    EXPECT_EXCEPTION(
+        m_wrapper->getAvailableNetworks();
+    )
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_PSetNetworkWrapper::t_getNetworkSelectionMode
+ */
+void UT_PSetNetworkWrapper::t_getNetworkSelectionMode()
+{
+    expect("CPsetNetwork::GetNetworkSelectMode")/*.
+        with(MPsetNetworkSelect::ENetSelectModeManual)*/.
+        returns(KErrNone);
+    expect("CPsetNetwork::GetNetworkSelectMode")/*.
+        with(MPsetNetworkSelect::ENetSelectModeAutomatic)*/.
+        returns(KErrGeneral);
+    
+    PSetNetworkWrapper::NetworkSelectionMode selectionModeManual =
+        PSetNetworkWrapper::SelectionModeManual;
+    PSetNetworkWrapper::NetworkSelectionMode selectionModeAutomatic =
+        PSetNetworkWrapper::SelectionModeAutomatic;
+    m_wrapper->getNetworkSelectionMode(selectionModeManual);
+    m_wrapper->getNetworkSelectionMode(selectionModeAutomatic);
+    
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_selectNetwork
+ */
+void UT_PSetNetworkWrapper::t_selectNetwork()
+{
+    expect("CPsetNetwork::SelectNetworkL")
+        .willOnce(invokeWithoutArguments(SimulateLeaveL));
+    
+    PSetNetworkWrapper::NetworkInfo info;
+    EXPECT_EXCEPTION(
+        m_wrapper->selectNetwork(info);
+    )
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_cancelRequest
+ */
+void UT_PSetNetworkWrapper::t_cancelRequest()
+{
+    expect("CPsetNetwork::CancelProcess");
+    
+    m_wrapper->cancelRequest();
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_getNetworkAccessMode
+ */
+void UT_PSetNetworkWrapper::t_getNetworkAccessMode()
+{
+    expect("CPsetNetwork::GetCurrentNetworkModeSelectionL")
+        .willOnce(invokeWithoutArguments(SimulateLeaveL));
+    
+    EXPECT_EXCEPTION(
+        m_wrapper->getNetworkAccessMode();
+    )
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_setNetworkAccessMode
+ */
+void UT_PSetNetworkWrapper::t_setNetworkAccessMode()
+{
+    expect("CPsetNetwork::SetNetworkModeSelectionL").
+        with(RMmCustomAPI::KCapsNetworkModeDual);
+    expect("CPsetNetwork::SetNetworkModeSelectionL").
+        with(RMmCustomAPI::KCapsNetworkModeUmts);
+    expect("CPsetNetwork::SetNetworkModeSelectionL")
+        .with(RMmCustomAPI::KCapsNetworkModeGsm)
+        .willOnce(invokeWithoutArguments(SimulateLeaveL));
+    
+    m_wrapper->setNetworkAccessMode(PSetNetworkWrapper::AccessModeDual);
+    m_wrapper->setNetworkAccessMode(PSetNetworkWrapper::AccessModeUmts);
+    EXPECT_EXCEPTION(
+        m_wrapper->setNetworkAccessMode(PSetNetworkWrapper::AccessModeGsm);
+    )
+    
+    const int invalidMode = -1;
+    m_wrapper->setNetworkAccessMode(
+        reinterpret_cast<const PSetNetworkWrapper::NetworkAccessMode&>
+            (invalidMode));
+    
+    QVERIFY(true == verify());
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_handleNetworkInfoReceived
+ */
+void UT_PSetNetworkWrapper::t_handleNetworkInfoReceived()
+{
+    CNetworkInfoArray* infos = NULL;
+    
+    TRAPD(result, m_wrapper->m_privateImpl->
+        HandleNetworkInfoReceivedL(infos, KErrNone));
+    QVERIFY(KErrArgument == result);
+    
+    const TInt KGranularity = 3;
+    infos = new CNetworkInfoArray(KGranularity);
+    QScopedPointer<CNetworkInfoArray> infoArrayGuard(infos);
+    MPsetNetworkSelect::TNetworkInfo info1;
+    infos->AppendL(info1);
+    TRAP(result, m_wrapper->m_privateImpl->
+        HandleNetworkInfoReceivedL(infos, KErrNone));
+    QVERIFY(KErrNone == result);
+    
+    MPsetNetworkSelect::TNetworkInfo info2;
+    infos->AppendL(info2);
+    TRAP(result, m_wrapper->m_privateImpl->
+        HandleNetworkInfoReceivedL(infos, KErrNone));
+    QVERIFY(KErrNone == result);
+    
+    MPsetNetworkSelect::TNetworkInfo info3;
+    infos->AppendL(info3);
+    TRAP(result, m_wrapper->m_privateImpl->
+        HandleNetworkInfoReceivedL(infos, KErrNone));
+    QVERIFY(KErrNone == result);
+}
+
+
+/*!
+  UT_PSetNetworkWrapper::t_handleCurrentNetworkInfo
+ */
+void UT_PSetNetworkWrapper::t_handleCurrentNetworkInfo()
+{
+    MPsetNetworkSelect::TCurrentNetworkInfo networkInfo;
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->
+        HandleCurrentNetworkInfoL(networkInfo, KErrNone));
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_handleNetworkChangedWithNetworkStatus
+ */
+void UT_PSetNetworkWrapper::t_handleNetworkChangedWithNetworkStatus()
+{
+    MPsetNetworkSelect::TNetworkInfo networkInfo;
+    MPsetNetworkSelect::TCurrentNetworkStatus networkStatus =
+        MPsetNetworkSelect::ENotRegisteredNotSearching;
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->
+        HandleNetworkChangedL(networkInfo, networkStatus, KErrNone));
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_handleNetworkChangedWithPhoneRegistrationStatus
+ */
+void UT_PSetNetworkWrapper::t_handleNetworkChangedWithPhoneRegistrationStatus()
+{
+    MPsetNetworkSelect::TNetworkInfo networkInfo;
+    RMobilePhone::TMobilePhoneRegistrationStatus registrationStatus;
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->
+        HandleNetworkChangedL(networkInfo, registrationStatus, KErrNone));
+}
+
+
+/*!
+  UT_PSetNetworkWrapper::t_handleSearchingNetworks
+ */
+void UT_PSetNetworkWrapper::t_handleSearchingNetworks()
+{
+    MPsetNetworkInfoObserver::TServiceRequest request =
+        MPsetNetworkInfoObserver::EServiceRequestNone;
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->
+        HandleSearchingNetworksL(request));
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_handleRequestingSelectedNetwork
+ */
+void UT_PSetNetworkWrapper::t_handleRequestingSelectedNetwork()
+{
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->
+        HandleRequestingSelectedNetworkL(EFalse));
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->
+        HandleRequestingSelectedNetworkL(ETrue));
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_handleCallActivated
+ */
+void UT_PSetNetworkWrapper::t_handleCallActivated()
+{
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->HandleCallActivatedL());
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_handleNetworkErrorFromInfoObserver
+ */
+Q_DECLARE_METATYPE(PSetNetworkWrapper::RequestType)
+Q_DECLARE_METATYPE(PSetNetworkWrapper::ErrorCode)
+void UT_PSetNetworkWrapper::t_handleNetworkErrorFromInfoObserver()
+{
+    qRegisterMetaType<PSetNetworkWrapper::RequestType>
+        ("PSetNetworkWrapper::RequestType");
+    qRegisterMetaType<PSetNetworkWrapper::ErrorCode>
+        ("PSetNetworkWrapper::ErrorCode");
+    QSignalSpy spy(m_wrapper, SIGNAL(networkReqestFailed(
+        PSetNetworkWrapper::ErrorCode, PSetNetworkWrapper::RequestType)));
+    
+    MPsetNetworkInfoObserver::TServiceRequest request =
+        MPsetNetworkInfoObserver::EServiceRequestNone;
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->HandleNetworkErrorL(
+        request, KErrGsmNetCauseCallActive));
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->HandleNetworkErrorL(
+        request, KErrGsm0707NoNetworkService));
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->HandleNetworkErrorL(
+        request, KErrGsmOfflineOpNotAllowed));
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->HandleNetworkErrorL(
+        request, KErrGeneral));
+    
+    QCOMPARE(spy.count(), 4);
+    QVERIFY(PSetNetworkWrapper::ErrCauseCallActive == 
+        qvariant_cast<PSetNetworkWrapper::ErrorCode>(spy.at(0).at(0)));
+    QVERIFY(PSetNetworkWrapper::ErrNoNetworkService == 
+        qvariant_cast<PSetNetworkWrapper::ErrorCode>(spy.at(1).at(0)));
+    QVERIFY(PSetNetworkWrapper::ErrOfflineOpNotAllowed == 
+        qvariant_cast<PSetNetworkWrapper::ErrorCode>(spy.at(2).at(0)));
+    QVERIFY(PSetNetworkWrapper::ErrNoNetworkAccess == 
+        qvariant_cast<PSetNetworkWrapper::ErrorCode>(spy.at(3).at(0)));
+}
+
+
+/*!
+  UT_PSetNetworkWrapper::t_handleNetworkSystemModeEvents
+ */
+void UT_PSetNetworkWrapper::t_handleNetworkSystemModeEvents()
+{
+    QSignalSpy spy(m_wrapper, SIGNAL(networkAccessModeGot(int)));
+    
+    MPsetNetworkModeObserver::TServiceRequest serviceRequest =
+        MPsetNetworkModeObserver::EServiceRequestGetCurrentNetworkMode;
+    RMmCustomAPI::TNetworkModeCaps modeCaps = 
+        RMmCustomAPI::KCapsNetworkModeDual;
+    QT_TRAP_THROWING( 
+        m_wrapper->m_privateImpl->HandleNetworkSystemModeEventsL(
+        serviceRequest, modeCaps));
+    modeCaps =RMmCustomAPI::KCapsNetworkModeUmts;
+    QT_TRAP_THROWING( 
+        m_wrapper->m_privateImpl->HandleNetworkSystemModeEventsL(
+        serviceRequest, modeCaps));
+    modeCaps = RMmCustomAPI::KCapsNetworkModeGsm;
+    QT_TRAP_THROWING( 
+        m_wrapper->m_privateImpl->HandleNetworkSystemModeEventsL(
+        serviceRequest, modeCaps));
+    
+    QCOMPARE(spy.count(), 3);
+    const QList<QVariant> &arguments0 = spy.at(0);
+    QVERIFY(PSetNetworkWrapper::AccessModeDual == arguments0.at(0).toInt());
+    const QList<QVariant> &arguments1 = spy.at(1);
+    QVERIFY(PSetNetworkWrapper::AccessModeUmts == arguments1.at(0).toInt());
+    const QList<QVariant> &arguments2 = spy.at(2);
+    QVERIFY(PSetNetworkWrapper::AccessModeGsm == arguments2.at(0).toInt());
+    
+    // TODO: test skeleton for switch cases not yet implemented 
+    serviceRequest = MPsetNetworkModeObserver::EServiceRequestNone;
+    QT_TRAP_THROWING( 
+        m_wrapper->m_privateImpl->HandleNetworkSystemModeEventsL(
+        serviceRequest, modeCaps));
+    serviceRequest = 
+        MPsetNetworkModeObserver::EServiceRequestSetSelectedNetworkMode;
+    QT_TRAP_THROWING( 
+        m_wrapper->m_privateImpl->HandleNetworkSystemModeEventsL(
+        serviceRequest, modeCaps));
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_handleNetworkErrorFromModeObserver
+ */
+void UT_PSetNetworkWrapper::t_handleNetworkErrorFromModeObserver()
+{
+    MPsetNetworkModeObserver::TServiceRequest request =
+        MPsetNetworkModeObserver::EServiceRequestNone;
+    QT_TRAP_THROWING(m_wrapper->m_privateImpl->
+        HandleNetworkErrorL(request, KErrNone));
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_exceptionSafety
+ */
+void UT_PSetNetworkWrapper::t_exceptionSafety()
+{
+    cleanup();
+    
+    OomTestExecuter::runAllTests(*this, "t_exceptionSafety");
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_isManualNetworkSelectionSupported
+ */
+void UT_PSetNetworkWrapper::t_isManualNetworkSelectionSupported()
+{
+    expect("CPsetCustomerServiceProfile::IsNetworkSelectionSupported").returns(KErrNone);
+    m_wrapper->isManualNetworkSelectionSupported();
+    QVERIFY(verify());
+    
+    expect("CPsetCustomerServiceProfile::IsNetworkSelectionSupported").returns(KErrGeneral);
+    m_wrapper->isManualNetworkSelectionSupported();
+    QVERIFY(verify());
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_AllowRefresh
+ */
+void UT_PSetNetworkWrapper::t_AllowRefresh()
+{
+    TSatRefreshType type;
+    TSatElementaryFiles file;
+    m_refreshHandler->trigerAllowRefresh(type, file);
+}
+
+/*!
+  UT_PSetNetworkWrapper::t_Refresh
+ */
+void UT_PSetNetworkWrapper::t_Refresh()
+{
+    TSatElementaryFiles file;
+    expect("CPsetCustomerServiceProfile::IsNetworkSelectionSupported").returns(KErrNone);
+    m_refreshHandler->trigerRefresh(EFileChangeNotification, KCsp1Ef);
+    QVERIFY(verify());
+    
+    expect("CPsetCustomerServiceProfile::IsNetworkSelectionSupported").returns(KErrGeneral);
+    m_refreshHandler->trigerRefresh(EFileChangeNotification, KCsp1Ef);
+    QVERIFY(verify());
+ 
+    expect("CPsetCustomerServiceProfile::IsNetworkSelectionSupported").times(0);
+    m_refreshHandler->trigerRefresh(EFileChangeNotification, KCsp2Ef);
+    QVERIFY(verify());
+}
+
+QTEST_MAIN_S60(UT_PSetNetworkWrapper)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkwrapper/ut_psetnetworkwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+
+#ifndef UT_PSETCALLDIVERTINGWRAPPER_H
+#define UT_PSETCALLDIVERTINGWRAPPER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class PSetNetworkWrapper;
+class CPsetContainer;
+class CPsetNetwork;
+class CPSetRefreshHandlerMock;
+
+class UT_PSetNetworkWrapper : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_PSetNetworkWrapper();
+    ~UT_PSetNetworkWrapper();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_construction();
+    void t_getAvailableNetworks();
+    void t_getNetworkSelectionMode();
+    void t_selectNetwork();
+    void t_cancelRequest();
+    
+    void t_getNetworkAccessMode();
+    void t_setNetworkAccessMode();
+
+    // private implementation tests
+    // tests for MPsetNetworkInfoObserver functionality
+    void t_handleNetworkInfoReceived();
+    void t_handleCurrentNetworkInfo();
+    void t_handleNetworkChangedWithNetworkStatus();
+    void t_handleNetworkChangedWithPhoneRegistrationStatus();
+    void t_handleSearchingNetworks();
+    void t_handleRequestingSelectedNetwork();
+    void t_handleCallActivated();
+    void t_handleNetworkErrorFromInfoObserver();
+    
+    // tests for MPsetNetworkModeObserver functionality
+    void t_handleNetworkSystemModeEvents();
+    void t_handleNetworkErrorFromModeObserver();
+    
+    void t_exceptionSafety();
+    
+    void t_isManualNetworkSelectionSupported();
+    void t_AllowRefresh();
+    void t_Refresh();
+    
+private:
+    PSetNetworkWrapper *m_wrapper;
+    CPsetContainer *m_psetContainerMock;
+    CPsetNetwork *m_psetNetworkMock;
+    CPsetNetwork *m_psetNetworkModeMock;
+    CPSetRefreshHandlerMock *m_refreshHandler;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetnetworkwrapper/ut_psetnetworkwrapper.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib release
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../common
+DEFINES += BUILD_PSETWRAPPER
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += /epoc32/include/mw/QtTest    \
+                 /epoc32/include/platform/mw  \
+                 /epoc32/include/mw/qt
+  LIBS += -lmocklib -lsymbianmock -letelmm -letel -lbafl -lcustomapi
+}
+
+# test code
+HEADERS += ut_psetnetworkwrapper.h
+HEADERS += ../common/testutilities.h
+SOURCES += ut_psetnetworkwrapper.cpp
+SOURCES += ../common/testutilities.cpp
+
+# code to be tested
+HEADERS += ../../../../../../phonesrv_plat/phone_settings_api/inc/psetnetworkwrapper.h
+SOURCES += ../../src/psetnetworkwrapper.cpp    \
+           ../../src/psetnetworkwrapper_p.cpp  \
+           ../../src/psetnetworkinfoconverter.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_psetcontainer.cpp \
+           ../mocks/mock_psetnetwork.cpp \
+           ../mocks/mock_psetcsp.cpp \
+           ../mocks/mock_cpsetrefreshhandler.cpp
+HEADERS += ../mocks/mock_cpsetrefreshhandler.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetwrapper/ut_psetwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,150 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QList>
+#include <PsetContainer.h>
+#include "ut_psetwrapper.h"
+#include "psetwrapper.h"
+#include "testutilities.h"
+
+void SimulateLeaveL()
+{
+    User::Leave(KErrGeneral);
+}
+
+/*!
+  UT_PSetWrapper::UT_PSetWrapper
+ */
+UT_PSetWrapper::UT_PSetWrapper()
+    :
+    m_setWrapper(NULL),
+    m_psetContainerMock(NULL)
+{
+}
+
+/*!
+  UT_PSetWrapper::~UT_PSetWrapper
+ */
+UT_PSetWrapper::~UT_PSetWrapper()
+{
+    delete m_setWrapper;
+    delete m_psetContainerMock;
+}
+
+/*!
+  UT_PSetWrapper::init
+ */
+void UT_PSetWrapper::init()
+{
+    initialize();
+    
+    m_setWrapper = new PSetWrapper();
+    m_psetContainerMock = new CPsetContainer();
+}
+
+/*!
+  UT_PSetWrapper::cleanup
+ */
+void UT_PSetWrapper::cleanup()
+{
+    reset();
+    
+    delete m_setWrapper;
+    m_setWrapper = NULL;
+    delete m_psetContainerMock;
+    m_psetContainerMock = NULL;
+}
+
+/*!
+  UT_PSetWrapper::t_construction
+ */
+void UT_PSetWrapper::t_construction()
+{
+    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") != 0) {
+        expect("CPsetContainer::NewL").
+            willOnce(invokeWithoutArguments(SimulateLeaveL));
+        
+        PSetWrapper *wrapper = NULL;
+        EXPECT_EXCEPTION(wrapper = new PSetWrapper(NULL);
+        )
+        delete wrapper;
+        
+        QVERIFY(verify());
+    }
+}
+
+/*!
+  UT_PSetWrapper::t_cliWrapper
+ */
+void UT_PSetWrapper::t_cliWrapper()
+{
+    PSetCliWrapper *wrapper = NULL;
+    wrapper = &m_setWrapper->cliWrapper();
+    QVERIFY(wrapper == &m_setWrapper->cliWrapper());
+}
+
+/*!
+  UT_PSetWrapper::t_callWaitingWrapper
+ */
+void UT_PSetWrapper::t_callWaitingWrapper()
+{
+    PSetCallWaitingWrapper *wrapper = NULL;
+    wrapper = &m_setWrapper->callWaitingWrapper();
+    QVERIFY(wrapper == &m_setWrapper->callWaitingWrapper());
+}
+
+/*!
+  UT_PSetWrapper::t_callDivertingWrapper
+ */
+void UT_PSetWrapper::t_callDivertingWrapper()
+{
+    PSetCallDivertingWrapper *wrapper = NULL;
+    wrapper = &m_setWrapper->callDivertingWrapper();
+    QVERIFY(wrapper == &m_setWrapper->callDivertingWrapper());
+}
+
+/*!
+  UT_PSetWrapper::t_networkWrapper
+ */
+void UT_PSetWrapper::t_networkWrapper()
+{
+    PSetNetworkWrapper *wrapper = NULL;
+    wrapper = &m_setWrapper->networkWrapper();
+    QVERIFY(wrapper == &m_setWrapper->networkWrapper());
+}
+
+/*!
+  UT_PSetWrapper::t_callBarringWrapper
+ */
+void UT_PSetWrapper::t_callBarringWrapper()
+{
+    PSetCallBarringWrapper *wrapper = NULL;
+    wrapper = &m_setWrapper->callBarringWrapper();
+    QVERIFY(wrapper == &m_setWrapper->callBarringWrapper());
+}
+
+/*!
+  UT_PSetWrapper::t_exceptionSafety
+ */
+void UT_PSetWrapper::t_exceptionSafety()
+{
+    cleanup();
+    
+    OomTestExecuter::runAllTests(*this, "t_exceptionSafety");
+}
+
+QTEST_MAIN_S60(UT_PSetWrapper)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetwrapper/ut_psetwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+
+#ifndef UT_PSETWRAPPER_H
+#define UT_PSETWRAPPER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CPsetContainer;
+class PSetWrapper;
+
+class UT_PSetWrapper : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_PSetWrapper();
+    ~UT_PSetWrapper();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    void t_construction();
+    
+    void t_cliWrapper();
+    void t_callWaitingWrapper();
+    void t_callDivertingWrapper();
+    void t_networkWrapper();
+    void t_callBarringWrapper();
+    void t_exceptionSafety();
+    
+private:
+    
+    PSetWrapper* m_setWrapper;
+    CPsetContainer *m_psetContainerMock;
+};
+
+#endif  // UT_PSETWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetwrapper/ut_psetwrapper.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,59 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib release
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../../ ../common
+DEFINES += BUILD_PSETWRAPPER
+
+MOC_DIR = .
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += /epoc32/include/mw/QtTest    \
+                 /epoc32/include/platform/mw  \
+                 /epoc32/include/mw/qt
+  LIBS += -lmocklib -lsymbianmock -letelmm -letel -lbafl -lcustomapi
+}
+
+# test code
+HEADERS += ut_psetwrapper.h
+HEADERS += ../common/testutilities.h
+SOURCES += ut_psetwrapper.cpp
+SOURCES += ../common/testutilities.cpp
+
+# code to be tested
+HEADERS += ../../../../../../phonesrv_plat/phone_settings_api/inc/psetwrapper.h \
+           ../../../../../../phonesrv_plat/phone_settings_api/inc/psetcalldivertingwrapper.h \
+           ../../../../../../phonesrv_plat/phone_settings_api/inc/psetcallwaitingwrapper.h \
+           ../../../../../../phonesrv_plat/phone_settings_api/inc/psetcliwrapper.h \
+           ../../../../../../phonesrv_plat/phone_settings_api/inc/psetnetworkwrapper.h \
+           ../../../../../../phonesrv_plat/phone_settings_api/inc/psetcallbarringwrapper.h
+SOURCES += ../../src/psetwrapper.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_psetcontainer.cpp \
+           ../mocks/mock_psetnetworkwrapper.cpp \
+           ../mocks/mock_psetcliwrapper.cpp \
+           ../mocks/mock_psetcallwaitingwrapper.cpp \
+           ../mocks/mock_psetcalldivertingwrapper.cpp \
+           ../mocks/mock_psetcallbarringwrapper.cpp
--- a/convergedcallengine/callprovider/group/callprovider.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/callprovider/group/callprovider.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -31,7 +31,7 @@
 SOURCE          cccpcallparameters.cpp
 
 USERINCLUDE     ../inc
-SYSTEMINCLUDE	../../../inc
+SYSTEMINCLUDE   ../../../inc
 MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
--- a/convergedcallengine/callprovider/rom/callprovider.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/callprovider/rom/callprovider.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -20,6 +20,6 @@
 #define __CALLPROVIDER_IBY__
 
 file=ABI_DIR\BUILD_DIR\callprovider.dll       SHARED_LIB_DIR\callprovider.dll
-data=ZSYSTEM\install\callprovider_stub.SIS    System\Install\callprovider_stub.SIS
+data=ZSYSTEM\install\callprovider_stub.sis    System\Install\callprovider_stub.sis
 
 #endif // __CALLPROVIDER_IBY__
--- a/convergedcallengine/cce/group/cce.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/group/cce.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -42,10 +42,10 @@
 SOURCE          ccceobserverasynchroniser.cpp
 SOURCE          cccespsettingshandler.cpp
 SOURCE          cccecallparameters.cpp
-SOURCE			cccecallinfomediator.cpp
-SOURCE	        cccecallinfomediatorupdater.cpp
+SOURCE          cccecallinfomediator.cpp
+SOURCE          cccecallinfomediatorupdater.cpp
 SOURCE          cccecallinfoconverter.cpp
-SOURCE			tccecallindex.cpp
+SOURCE          tccecallindex.cpp
 
 USERINCLUDE     ../inc
 USERINCLUDE     ../api
--- a/convergedcallengine/cce/inc/cccecall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/cccecall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -98,13 +98,13 @@
     class TStateTransition
         {
     public:
-    	TStateTransition() 
-    		{
-    		iState = CCPCall::EStateIdle;
-    		iInband = EFalse;
-    		}
+        TStateTransition() 
+            {
+            iState = CCPCall::EStateIdle;
+            iInband = EFalse;
+            }
 
-    	CCPCall::TCallState iState;
+        CCPCall::TCallState iState;
         TBool iInband;
         };
 public:
@@ -262,7 +262,7 @@
     TInt Release();
 
     /** @see MCCECall::ReplaceActive */
-	TInt ReplaceActive();
+    TInt ReplaceActive();
 
     /** @see MCCECall::Hold */
     TInt Hold();
--- a/convergedcallengine/cce/inc/cccecallcontainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/cccecallcontainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -302,7 +302,7 @@
      * @param aLifeTimeInfo Life time info.
      * @return Get succeeded ot not.
      */
-	TBool GetLifeTime( TDes8& aLifeTimeInfo );
+    TBool GetLifeTime( TDes8& aLifeTimeInfo );
 
     /**
      * Get CS specific misc info from CS plugin.
@@ -310,17 +310,17 @@
      * @param aCSInfo CS info.
      * @return Get succeeded ot not.
      */
-	TBool GetCSInfo( CSInfo& aCSInfo );
-	
-	/**
+    TBool GetCSInfo( CSInfo& aCSInfo );
+    
+    /**
      * Stop airtime duration timer
      *
      * @since S60 v3.2
      * @param aCall CCCECall is used for checking call type
      */
     void AirTimeDurationStop( CCCECall* aCall ) const;
-	
-	/**
+    
+    /**
      * Switch Air Duration timer, is needed for handover
      * 
      * Stop current timer and starts another one. New timer is initialized 
@@ -331,7 +331,7 @@
      * timer switching
      */
     void AirTimeDurationSwap(const CCPCall::TCallType aNewCallType);
-	
+    
     /**
      * Start airtime duration timer
      *
--- a/convergedcallengine/cce/inc/cccecallinfomediatorupdater.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/cccecallinfomediatorupdater.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CCCECALLINFOMEDIATORUPDATER_H
 
 #include <e32base.h>
-#include <MediatorCommandResponder.h>
+#include <MediatorCommandResponder.h> 
 
 class MCCECallInfoMediator;
 class MCCECallArray;
--- a/convergedcallengine/cce/inc/ccceconferencecall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/ccceconferencecall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -112,18 +112,18 @@
     /** @see MCCEConferenceCall::HangUp */
     TInt HangUp();
 
-	/** @see MCCECall::CallDuration */
-	TTimeIntervalSeconds CallDuration() const;
+    /** @see MCCECall::CallDuration */
+    TTimeIntervalSeconds CallDuration() const;
 
    /** @see MCCECall::Parameters */
-	const CCCPCallParameters& Parameters() const;
+    const CCCPCallParameters& Parameters() const;
     
 
 private:
 
 // from base class MCCEConferenceCall
 
-	/** @see MCCEConferenceCall::Release */
+    /** @see MCCEConferenceCall::Release */
     TInt Release();
 
     /** @see MCCEConferenceCall::ServiceId */
--- a/convergedcallengine/cce/inc/cccedurationtimer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/cccedurationtimer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -63,7 +63,7 @@
      *
      * @since S60 v3.2
      */
-	void SetConferenceObserver( MCCEConferenceCallObserver* aObserver );
+    void SetConferenceObserver( MCCEConferenceCallObserver* aObserver );
 
     /**
      * Start timer.
@@ -78,7 +78,7 @@
      * @since S60 v3.2
      */
     void Start(TInt aBeatsOffset);
-	
+    
     /**
      * Restart air duration timer from the given value
      *
@@ -86,7 +86,7 @@
      * @param aBeatsOffset innitial timer value
      */
     void RestartAirTimeDuration(TInt aBeatsOffset);
-	
+    
     /**
      * Start timer
      *
@@ -158,11 +158,11 @@
      * If this is NULL, timer is used to AirTime duration.
      */
     MCCECallObserver* iObserver;
-	
+    
     /**
      * Conference call duration observer.
      */
-	MCCEConferenceCallObserver* iConferenceCallObserver;
+    MCCEConferenceCallObserver* iConferenceCallObserver;
 
     /**
      * Timer
--- a/convergedcallengine/cce/inc/ccceemergencycall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/ccceemergencycall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -165,13 +165,13 @@
     class TStateTransition
         {
     public:
-    	TStateTransition() 
-    		{
-    		iState = CCPCall::EStateIdle;
-    		iInband = EFalse;
-    		}
-    		
-    	CCPCall::TCallState iState;
+        TStateTransition() 
+            {
+            iState = CCPCall::EStateIdle;
+            iInband = EFalse;
+            }
+            
+        CCPCall::TCallState iState;
         TBool iInband;
         };
     /**
--- a/convergedcallengine/cce/inc/ccceextension.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/ccceextension.h	Tue Aug 31 15:45:17 2010 +0300
@@ -70,42 +70,42 @@
 
     /** @see MCCEExtensionInterface::RequestCommand */
     TInt RequestCommand( TUint32 aServiceID, 
-    					TInt aRequestId,
+                        TInt aRequestId,
                         TDesC8& aData );
 
     /** @see MCCEExtensionInterface::CancelRequest */
     TInt CancelRequest( TUint32 aServiceID, 
-    					TInt aRequestId );
+                        TInt aRequestId );
   
-	//from MCCPExtensionObserver
+    //from MCCPExtensionObserver
 
     /** @see MCCEExtensionObserver::HandleExtensionEvents */
     void HandleExtensionEvents( TUint32 aServiceId,
-    							TInt aEvent,
-								TInt aStatus );
+                                TInt aEvent,
+                                TInt aStatus );
 
 private:
 
     void ConstructL();
 
-	/**
-	*
-	*/
+    /**
+    *
+    */
     CCCEExtension( CCCEPluginManager& aPluginManager );
     
-	/**
-	* Get plug-in pointer that relates to service-id.
-	*/
-	CConvergedCallProvider* GetExtIfPlugin( TUint32 aServiceid );
+    /**
+    * Get plug-in pointer that relates to service-id.
+    */
+    CConvergedCallProvider* GetExtIfPlugin( TUint32 aServiceid );
     
-	/**
-	* Plug-in manager.
-	*/
+    /**
+    * Plug-in manager.
+    */
     CCCEPluginManager& iPluginManager;
 
-	/**
-	* Extension observer 
-	*/
+    /**
+    * Extension observer 
+    */
     MCCEExtensionObserver* iMCCEExtensionObserver;
     };
 
--- a/convergedcallengine/cce/inc/ccceobserverasynchroniser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/ccceobserverasynchroniser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -104,7 +104,7 @@
     /**
     * From MCCEObserver
     */
-	void DataPortName( TName& aPortName );
+    void DataPortName( TName& aPortName );
 
     /**
     * From MCCEObserver
@@ -114,30 +114,30 @@
     /**
     * From MCCESsObserver
     */
-	void BarringEventOccurred( const MCCESsObserver::TCCESsBarringEvent aBarringEvent );
-								  
+    void BarringEventOccurred( const MCCESsObserver::TCCESsBarringEvent aBarringEvent );
+                                  
     /**
     * From MCCESsObserver
     */
-	void CLIEventOccurred( const MCCESsObserver::TCCESsCLIEvent aCallLineEvent );
-								  
+    void CLIEventOccurred( const MCCESsObserver::TCCESsCLIEvent aCallLineEvent );
+                                  
 
     /**
     * From MCCESsObserver
     */
-	void CallForwardEventOccurred( 
-						const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
-						const TDesC& aRemoteAddress );
+    void CallForwardEventOccurred( 
+                        const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
+                        const TDesC& aRemoteAddress );
 
     /**
     * From MCCESsObserver
     */
-	void CallCugEventOccurred( const MCCESsObserver::TCCESsCugEvent aCugEvent );
+    void CallCugEventOccurred( const MCCESsObserver::TCCESsCugEvent aCugEvent );
 
     /**
     * From MCCESsObserver
     */
-	void NotifyCurrentActiveALSLine( TInt aLine );
+    void NotifyCurrentActiveALSLine( TInt aLine );
 
     /**
     * From MCCEConferenceCallObserver
@@ -164,22 +164,22 @@
     */
     void ErrorOccurred( TCCPConferenceCallError aError  );
 
-	/**
+    /**
     * From MCCEConferenceCallObserver
     */
-	void CallDurationChanged( const TTimeIntervalSeconds aDuration );
+    void CallDurationChanged( const TTimeIntervalSeconds aDuration );
    
     /**
     * From MCCEDtmfObserver
-    */	
-	void HandleDTMFEvent( const MCCEDtmfObserver::TCCEDtmfEvent aEvent, 
+    */  
+    void HandleDTMFEvent( const MCCEDtmfObserver::TCCEDtmfEvent aEvent, 
                                   const TInt aError, 
                                   const TChar aTone );
     /**
     * From MCCEExtensionObserver
     */                                  
     void HandleExtensionEvents( TUint32 aServiceId,
-    	TInt aEvent,
+        TInt aEvent,
         TInt aStatus );
         
 private:
--- a/convergedcallengine/cce/inc/ccceplugin.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/ccceplugin.h	Tue Aug 31 15:45:17 2010 +0300
@@ -154,11 +154,11 @@
     void MoCallCreated( MCCPCall& aCall );
 
     /** @see MCCPCSObserver::DataPortName */
-	void DataPortName( TName& aPortName );
+    void DataPortName( TName& aPortName );
 
-	/** @see MCCPCSObserver::ConferenceCallCreated */
-	void ConferenceCallCreated( MCCPConferenceCall& aConferenceCall ); 
-	
+    /** @see MCCPCSObserver::ConferenceCallCreated */
+    void ConferenceCallCreated( MCCPConferenceCall& aConferenceCall ); 
+    
 // from base class MCCPObserver
 
     /** @see MCCPObserver::ErrorOccurred */
@@ -176,20 +176,20 @@
 // from base class MCCPObserver
     
     /** @see MCCPSsObserver::BarringEventOccurred */
-   	void BarringEventOccurred( const MCCPSsObserver::TCCPSsBarringEvent aBarringEvent );
-								  
+    void BarringEventOccurred( const MCCPSsObserver::TCCPSsBarringEvent aBarringEvent );
+                                  
      /** @see MCCPSsObserver::CLIEventOccurred */
-	void CLIEventOccurred( const MCCPSsObserver::TCCPSsCLIEvent aCallLineEvent );
-								  
+    void CLIEventOccurred( const MCCPSsObserver::TCCPSsCLIEvent aCallLineEvent );
+                                  
      /** @see MCCPSsObserver::CallForwardEventOccurred */
-	void CallForwardEventOccurred( const MCCPSsObserver::TCCPSsCallForwardEvent aCallForwardEvent,
+    void CallForwardEventOccurred( const MCCPSsObserver::TCCPSsCallForwardEvent aCallForwardEvent,
         const TDesC& aRemoteAddress );
 
     /** @see MCCPSsObserver::CallCugEventOccurred */
-	void CallCugEventOccurred( const MCCPSsObserver::TCCPSsCugEvent aCugEvent );
-	
-	/** @see MCCPSsObserver::NotifyCurrentActiveALSLine */
-	void NotifyCurrentActiveALSLine( TInt aLine );
+    void CallCugEventOccurred( const MCCPSsObserver::TCCPSsCugEvent aCugEvent );
+    
+    /** @see MCCPSsObserver::NotifyCurrentActiveALSLine */
+    void NotifyCurrentActiveALSLine( TInt aLine );
 private:
 
     /** Constructor */
@@ -233,7 +233,7 @@
      * Reference to dead observer
      * This will be informed when plugin crashes
      */
-	MCCPPluginDeathObserver& iDeathObserver;
+    MCCPPluginDeathObserver& iDeathObserver;
 
     /**
      * Use handle to ecom plugin.
--- a/convergedcallengine/cce/inc/cccepluginmanager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/cccepluginmanager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -56,9 +56,9 @@
      * @param aCallContainer Reference to call container
      * @param aTransferController Reference to transfer controller
      */
-	static CCCEPluginManager* NewL( 
-	    CCCECallContainer& aCallContainer,
-	    CCCETransferController& aTransferController );
+    static CCCEPluginManager* NewL( 
+        CCCECallContainer& aCallContainer,
+        CCCETransferController& aTransferController );
 
     /**
      * Destructor.
@@ -165,9 +165,9 @@
 // from base class MCCPPluginDeathObserver
 
     /** @see MCCPPluginDeathObserver::CCPPluginDiedEvent */
-	void CCPPluginDiedEvent(TUid aPluginId, TInt aDeathType, TInt aReason);
-	
-	/** @see MCCPPluginDeathObserver::CCPPluginInitialisationFailed */
+    void CCPPluginDiedEvent(TUid aPluginId, TInt aDeathType, TInt aReason);
+    
+    /** @see MCCPPluginDeathObserver::CCPPluginInitialisationFailed */
     void CCPPluginInitialisationFailed(TUid aPluginUid, TInt aError);
     
 // from base class CActive
@@ -177,14 +177,14 @@
      *
      * @since S60 v3.2
      */
-	void RunL();
+    void RunL();
 
     /**
      * Cancels incoming call monitor
      *
      * @since S60 v3.2
      */
-	void DoCancel(); 
+    void DoCancel(); 
 
 private:
 
@@ -235,12 +235,12 @@
 private:
 
     /** Constructor */
-	CCCEPluginManager( 
-	    CCCECallContainer& aCallContainer,
-	    CCCETransferController& aTransferController );
+    CCCEPluginManager( 
+        CCCECallContainer& aCallContainer,
+        CCCETransferController& aTransferController );
 
     /** Leaving stuff in constructor */
-	void ConstructL();
+    void ConstructL();
 
 private:
     
--- a/convergedcallengine/cce/inc/cccetransfercontroller.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/inc/cccetransfercontroller.h	Tue Aug 31 15:45:17 2010 +0300
@@ -72,7 +72,7 @@
     * An error has occurred concerning a specific call.
     * @since S60 3.2
     * @param aError Error code.
-	* @param aCall Current MCCPCall.
+    * @param aCall Current MCCPCall.
     * @return none
     */
     void ErrorOccurred( const TCCPError aError, MCCPCall* aCall ); 
@@ -90,7 +90,7 @@
     * The state of the call has changed.
     * @since S60 3.2
     * @param aState Call state.
-	* @param aCall Current MCCPCall.
+    * @param aCall Current MCCPCall.
     * @return none
     */
     void CallStateChangedWithInband( TCCPCallState aState, MCCPCall* aCall ); 
@@ -99,7 +99,7 @@
     * An event has occurred concerning a specific call.
     * @since S60 3.2
     * @param aEvent Occurred event.
-	* @param aCall Current MCCPCall.
+    * @param aCall Current MCCPCall.
     * @return none
     */
     void CallEventOccurred( const MCCPCallObserver::TCCPCallEvent aEvent, 
@@ -111,7 +111,7 @@
     * Notifies changed call capabilities
     * @since S60 3.2
     * @param aCaps New capabilities for the call
-	* @param aCall Current MCCPCall.
+    * @param aCall Current MCCPCall.
     * @return none
     */
     void CallCapsChanged( const TUint32 aCapsFlags, MCCPCall* aCall ); 
--- a/convergedcallengine/cce/src/ccce.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/ccce.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -247,7 +247,7 @@
 // -----------------------------------------------------------------------------
 // 
 EXPORT_C TBool CCCE::GetLifeTime( TDes8& aLifeTimeInfo )
-	{
+    {
     CCELOGSTRING("CCCE::GetLifeTime()");
     return iCallContainer->GetLifeTime(aLifeTimeInfo);
     }
@@ -257,9 +257,9 @@
 // -----------------------------------------------------------------------------
 // 
 EXPORT_C TBool CCCE::GetCSInfo( CSInfo& aCSInfo )
-	{
+    {
     CCELOGSTRING("CCCE::GetCSInfo()");
     return iCallContainer->GetCSInfo(aCSInfo);
-	}
+    }
 
 
--- a/convergedcallengine/cce/src/cccecall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/cccecall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -86,7 +86,7 @@
     delete iCCEDurationTimer;
     delete iObserver;
     delete iCallParameters;
-	FeatureManager::UnInitializeLib();
+    FeatureManager::UnInitializeLib();
     }
 
 // ---------------------------------------------------------------------------
@@ -2117,7 +2117,7 @@
             break;
         /** Remote party info target meaning has changed */
         case ECCPNotifyRemotePartyInfoChange:
-        	{
+            {
             //Ho occurred, call type has changed
             if ( FeatureManager::FeatureSupported( KFeatureIdFfVoiceCallContinuity ) )
                 {
@@ -2130,8 +2130,8 @@
             iCallContainer.AirTimeDurationSwap(
                                      iCall->Parameters().CallType() );
             iObserver->CallEventOccurred( MCCECallObserver::ECCENotifyRemotePartyInfoChange );
-        	}
-			break;
+            }
+            break;
         /** Call secure status cannot be determined */
         case ECCPSecureNotSpecified:
             iObserver->CallEventOccurred( MCCECallObserver::ECCESecureNotSpecified );
--- a/convergedcallengine/cce/src/cccecallcontainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/cccecallcontainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -61,7 +61,7 @@
 //
 void CCCECallContainer::ConstructL()
     {
-	FeatureManager::InitializeLibL();
+    FeatureManager::InitializeLibL();
     iCallStateMediator = CCCECallInfoMediator::NewL( *this );
     
     CreateCallDataArraysL();
@@ -170,7 +170,7 @@
 //
 void CCCECallContainer::AirTimeDurationSwap(
                            const CCPCall::TCallType aNewCallType)
-	{
+    {
     CCELOGSTRING("CCCECallContainer::AirTimeDurationSwap(): IN");
     
     CCCECall* call = NULL;
@@ -191,29 +191,29 @@
         }
     
     if( 1 == calls )
-    	{
-    	// After handover we will have only one active call
-    	// If we have more or less, timer swapping will not happend
-	    if (aNewCallType == CCPCall::ECallTypePS )
-	    	{
-	    	CCELOGSTRING2("CCCECallContainer::AirTimeDurationSwap(): CS Stops, PS restarts from %d",
-	    			iCSDuration->NumberOfBeats() );
-	    	iCSDuration->Stop();
-	    	iPSDuration->RestartAirTimeDuration(iCSDuration->NumberOfBeats());
-	    	iCSDuration->Reset();
-	    	}
-	    else
-	    	{
-	    	CCELOGSTRING2("CCCECallContainer::AirTimeDurationSwap(): PS Stops, CS restarts from %d",
-	    			iPSDuration->NumberOfBeats() );
-	    	iPSDuration->Stop();
-	    	iCSDuration->RestartAirTimeDuration(iPSDuration->NumberOfBeats());
-	    	iPSDuration->Reset();
-	    	}
-    	}
+        {
+        // After handover we will have only one active call
+        // If we have more or less, timer swapping will not happend
+        if (aNewCallType == CCPCall::ECallTypePS )
+            {
+            CCELOGSTRING2("CCCECallContainer::AirTimeDurationSwap(): CS Stops, PS restarts from %d",
+                    iCSDuration->NumberOfBeats() );
+            iCSDuration->Stop();
+            iPSDuration->RestartAirTimeDuration(iCSDuration->NumberOfBeats());
+            iCSDuration->Reset();
+            }
+        else
+            {
+            CCELOGSTRING2("CCCECallContainer::AirTimeDurationSwap(): PS Stops, CS restarts from %d",
+                    iPSDuration->NumberOfBeats() );
+            iPSDuration->Stop();
+            iCSDuration->RestartAirTimeDuration(iPSDuration->NumberOfBeats());
+            iPSDuration->Reset();
+            }
+        }
     CCELOGSTRING("CCCECallContainer::AirTimeDurationSwap(): OUT");
-	}
-	
+    }
+    
 // ---------------------------------------------------------------------------
 // AirTimeDurationStop()
 // ---------------------------------------------------------------------------
@@ -294,7 +294,7 @@
         call = GetCall( i );
         if ( call->State() == CCPCall::EStateConnected ||
              call->State() == CCPCall::EStateHold  )
-            { 	   
+            {      
             if ( IsCsPlugin( call, EFalse ) )
                 {
                 csCalls++;
@@ -370,7 +370,7 @@
     TCallReleaseEntry entry;
     entry.iCallToRelease = &aCalltoRemove;
     entry.iUid = aUid;
-    iCallstoRelease.Append(entry);
+    iCallstoRelease.Append(entry); 
     if (!iIdle->IsActive())
         {
         iIdle->Start( TCallBack(ReleaseCalls,this) );
@@ -699,7 +699,9 @@
             {
             if( call->ImplementationUid() == aImplementationUid )
                 {
-                aCallArray.Append(call);
+                // return value ignored. Ownership of the call object is not 
+                // transferred to array. 
+                aCallArray.Append(call); 
                 }
             }
         }
@@ -729,8 +731,10 @@
                  callState == CCPCall::EStateConnecting ||
                  callState == CCPCall::EStateConnected )
                 {
-                aCallArray.Append( call );
-                err = KErrNone;
+                // Ownership of the call object is not 
+                // transferred to array.
+                err = aCallArray.Append( call );
+                
                 }
             }
         }
@@ -742,8 +746,8 @@
              callState == CCPCall::EStateConnecting ||
              callState == CCPCall::EStateConnected )
             {
-            aCallArray.Append( iEmergencyCall );
-            err = KErrNone;
+            // Ownership of the iEmergencyCall object is not transfered.
+            err = aCallArray.Append( iEmergencyCall );
             }
         }
         
@@ -985,8 +989,8 @@
                 // Do nothing when there is only cscalls
 
                 if ( IsCsPlugin( aCall, ETrue ) )
-                	{
-                	
+                    {
+                    
                     break;
                     }
                     
@@ -1288,24 +1292,24 @@
 // -----------------------------------------------------------------------------
 // 
 TBool CCCECallContainer::GetLifeTime( TDes8& aLifeTimeInfo )
-	{
+    {
     CCELOGSTRING("CCCE::GetLifeTime()");
     
-	CConvergedCallProvider* plugin = NULL;
-	
+    CConvergedCallProvider* plugin = NULL;
+    
     TRAP_IGNORE( plugin = iPluginManager->GetPluginL(KCSServiceId));
     
     if( plugin )
-    	{
-    	plugin->GetLifeTime(aLifeTimeInfo);
-    	}
-	else
-		{
-    	CCELOGSTRING("CCCE::GetLifeTime() - CS plugin not found!");
-    	return EFalse;
-		}
+        {
+        plugin->GetLifeTime(aLifeTimeInfo);
+        }
+    else
+        {
+        CCELOGSTRING("CCCE::GetLifeTime() - CS plugin not found!");
+        return EFalse;
+        }
 
-   	return ETrue;
+    return ETrue;
     }
 
 // -----------------------------------------------------------------------------
@@ -1313,26 +1317,26 @@
 // -----------------------------------------------------------------------------
 // 
 TBool CCCECallContainer::GetCSInfo( CSInfo& aCSInfo )
-	{
+    {
     CCELOGSTRING("CCCE::GetCSInfo()");
 
-	CConvergedCallProvider* plugin = NULL;
-	
-	TRAP_IGNORE( plugin = iPluginManager->GetPluginL(KCSServiceId));
+    CConvergedCallProvider* plugin = NULL;
+    
+    TRAP_IGNORE( plugin = iPluginManager->GetPluginL(KCSServiceId));
         
     
     if( plugin )
-    	{
-    	plugin->GetCSInfo(aCSInfo);
-    	}
-	else
-		{
-    	CCELOGSTRING("CCCE::GetCSInfo() - CS plugin not found!");
-    	return EFalse;
-		}
+        {
+        plugin->GetCSInfo(aCSInfo);
+        }
+    else
+        {
+        CCELOGSTRING("CCCE::GetCSInfo() - CS plugin not found!");
+        return EFalse;
+        }
 
-   	return ETrue;
-	}
+    return ETrue;
+    }
 
 // ---------------------------------------------------------------------------
 // CCCECallContainer::IsCsPlugin
--- a/convergedcallengine/cce/src/cccecallinfomediator.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/cccecallinfomediator.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 #include "cccecallinfomediator.h"
 
-#include <MediatorDomainUIDs.h>
+#include <MediatorDomainUIDs.h> 
 #include <callinformation.h>
-#include <MediatorCommandResponder.h>
-#include <MediatorEventProvider.h>
+#include <MediatorCommandResponder.h> 
+#include <MediatorEventProvider.h> 
 
 #include "cccecallinfomediatorupdater.h"
 #include "cccecallinfoconverter.h"
--- a/convergedcallengine/cce/src/cccecallinfomediatorupdater.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/cccecallinfomediatorupdater.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 #include "cccecallinfomediatorupdater.h"
 
 #include <callinformation.h>
-#include <MediatorDomainUIDs.h>
+#include <MediatorDomainUIDs.h> 
 
 #include "mccecallinfomediator.h"
 #include "cccecall.h"
--- a/convergedcallengine/cce/src/cccecallparameters.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/cccecallparameters.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -65,6 +65,7 @@
     cloned->SetLineType(iLineType);
     cloned->SetUUSId(iUUSId);
     cloned->SetOrigin(iOrigin);
+    cloned->SetAlphaId(iAlphaId);
     return cloned;
     }
 
@@ -90,18 +91,18 @@
 // -----------------------------------------------------------------------------
 //
 void CCCECallParameters::SetLineType(CCCECallParameters::TCCELineType aLineType) 
-	{ 
-	iLineType = aLineType; 
-	}
+    { 
+    iLineType = aLineType; 
+    }
 
 // -----------------------------------------------------------------------------
 // Gets the line type of the call.
 // -----------------------------------------------------------------------------
 //
 CCCECallParameters::TCCELineType CCCECallParameters::LineType() const 
-	{
-	return iLineType;
-	}
+    {
+    return iLineType;
+    }
 
 // -----------------------------------------------------------------------------
 // Sets the service id identifying the service provider of the call.
@@ -109,72 +110,81 @@
 //
 void CCCECallParameters::SetUUSId(TBuf<KCCPUUSIdSize> aUUSId)
     {
-	iUUSId = aUUSId;
-	}
+    iUUSId = aUUSId;
+    }
 
 // -----------------------------------------------------------------------------
 // Gets the UUS id of the call.
 // -----------------------------------------------------------------------------
 //
 TBuf<KCCPUUSIdSize> CCCECallParameters::UUSId() const 
-	{
-	return iUUSId;
-	}
+    {
+    return iUUSId;
+    }
 
 // -----------------------------------------------------------------------------
 // Sets the bearer of the call.
 // -----------------------------------------------------------------------------
 //
 void CCCECallParameters::SetBearer(TBuf8<KCCEBearerMaxSize> aBearer) 
-	{
-	iBearer = aBearer;
-	}
+    {
+    iBearer = aBearer;
+    }
 
 // -----------------------------------------------------------------------------
 // Gets the bearer of the call.
 // -----------------------------------------------------------------------------
 //
 TBuf8<KCCEBearerMaxSize> CCCECallParameters::Bearer() const 
-	{
-	return iBearer;
-	}
+    {
+    return iBearer;
+    }
 
 // -----------------------------------------------------------------------------
 // Sets the sub address of the dialled phone number.
 // -----------------------------------------------------------------------------
 //
 void CCCECallParameters::SetSubAddress(TBuf<KCCESubAddressMaxSize> aSubAddress) 
-	{
-	iSubAddress = aSubAddress;
-	}
+    {
+    iSubAddress = aSubAddress;
+    }
 
 // -----------------------------------------------------------------------------
 // Gets the sub address of the dialled phone number.
 // -----------------------------------------------------------------------------
 //
 TBuf<KCCESubAddressMaxSize> CCCECallParameters::SubAddress() const 
-	{
-	return iSubAddress;
-	}
+    {
+    return iSubAddress;
+    }
 
 // -----------------------------------------------------------------------------
 // Sets the origin of the call.
 // -----------------------------------------------------------------------------
 //
 void CCCECallParameters::SetOrigin(CCCECallParameters::TCCECallOrigin aCallOrigin) 
-	{
-	iOrigin = aCallOrigin;
-	}
+    {
+    iOrigin = aCallOrigin;
+    }
 
 // -----------------------------------------------------------------------------
 // Gets the origin of the call.
 // -----------------------------------------------------------------------------
 //
 CCCECallParameters::TCCECallOrigin CCCECallParameters::Origin() const 
-	{
-	return iOrigin;
-	}
+    {
+    return iOrigin;
+    }
+
+void CCCECallParameters::SetAlphaId(TBuf<KCCPAlphaIdMaxSize> aAlphaId)
+    {
+    iAlphaId = aAlphaId;
+    }
 
 
+TBuf<KCCPAlphaIdMaxSize> CCCECallParameters::AlphaId() const
+    {
+    return iAlphaId;
+    }
 
 // End of file
--- a/convergedcallengine/cce/src/ccceconferencecall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/ccceconferencecall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -194,7 +194,7 @@
 
         iConferenceCall = iPluginManager.GetPluginL(
             call->ImplementationUid() )->NewConferenceL( ServiceId(), *this );
-			
+            
         if(iConferenceCall)
             {
             iConferenceCall->AddCallL( &call->GetCCPCall() );
@@ -286,10 +286,11 @@
         
         for( TInt i = 0; i < array.Count(); i++ )
             {
+            // *call ownership is not transfered.
             const CCCECall* call = iCallContainer.GetCall( array[i] );
             
             // Check if cce call matching to ccp call is available
-            iCallArray.Append( call );
+            iCallArray.Append( call ); // Ignore return value;
             iCallParameters->SetServiceId( call->ServiceId() );
                 
             CCELOGSTRING("CCCEConferenceCall:: Call added to conferencecall");
@@ -390,14 +391,12 @@
 TInt CCCEConferenceCall::GetCallArray( RPointerArray<MCCECall>& aCallArray )
     {
     TInt err( KErrNotFound );
-    
-    for (TInt a = 0; a < iCallArray.Count(); a++)
+    TInt count = iCallArray.Count();
+    aCallArray.Reserve(count);
+    for (TInt a = 0; a < count; a++)
         {
-        aCallArray.Append( iCallArray[a] );
-        err = KErrNone;
+        err= aCallArray.Append( iCallArray[a] );
         }
-
-    
     return err;
     }
 
@@ -631,8 +630,8 @@
 // ---------------------------------------------------------------------------
 // 
 TTimeIntervalSeconds CCCEConferenceCall::CallDuration() const
-	{
+    {
     return iCCEDurationTimer->NumberOfBeats();
-	}
+    }
     
 // End of file
--- a/convergedcallengine/cce/src/cccedtmf.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/cccedtmf.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -70,9 +70,9 @@
     {
     CCELOGSTRING("CCCEDtmf::~CCCEDtmf");
 
-	while( iObservers.Count() )
-		{
-    	CCELOGSTRING("CCCEDtmf::~CCCEDtmf: There are dtmf observers in the array. Should be removed before dtor!");
+    while( iObservers.Count() )
+        {
+        CCELOGSTRING("CCCEDtmf::~CCCEDtmf: There are dtmf observers in the array. Should be removed before dtor!");
         iObservers.Remove ( 0 );
         iObservers.Compress();
         }
@@ -103,7 +103,8 @@
             
         if( !error && provider )
             {
-            aProviders.InsertInAddressOrder( provider );
+            // Ref-to-Ptr -> ownership not transfered. 
+            err = aProviders.InsertInAddressOrder( provider ); 
             }
         }
         
@@ -248,7 +249,7 @@
     else
         {
         // already added, ignore 
-	CCELOGSTRING("CCCEDtmf::AddObserverL. Observer to be added already existed. Operation ignored!");
+    CCELOGSTRING("CCCEDtmf::AddObserverL. Observer to be added already existed. Operation ignored!");
         }    
     }    
 
@@ -259,17 +260,17 @@
 TInt CCCEDtmf::RemoveObserver( const MCCEDtmfObserver& aObserver )
     {
     CCELOGSTRING("CCCEDtmf::RemoveObserver");
-    TInt index = iObservers.Find( &aObserver );	
+    TInt index = iObservers.Find( &aObserver ); 
     
     if( index!=KErrNotFound )
         {
         iObservers.Remove ( index );
         iObservers.Compress();
         }
-	else
-		{
-		return KErrNotFound;
-		}
+    else
+        {
+        return KErrNotFound;
+        }
 
     return KErrNone;
     } 
@@ -289,11 +290,11 @@
     
     MCCEDtmfObserver::TCCEDtmfEvent event = (MCCEDtmfObserver::TCCEDtmfEvent)(aEvent);
     
-	for( TInt i=0; i<iObservers.Count(); i++ )
-	    {
-		// notify all observers
-    		const_cast<MCCEDtmfObserver*>(iObservers[i])->HandleDTMFEvent( event,
-        										 					   aError, 
-        															   aTone );
+    for( TInt i=0; i<iObservers.Count(); i++ )
+        {
+        // notify all observers
+            const_cast<MCCEDtmfObserver*>(iObservers[i])->HandleDTMFEvent( event,
+                                                                       aError, 
+                                                                       aTone );
         }
     }
--- a/convergedcallengine/cce/src/cccedurationtimer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/cccedurationtimer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -145,7 +145,7 @@
 
 // -----------------------------------------------------------------------------
 // -----------------------------------------------------------------------------
-//	
+//  
 void CCCEDurationTimer::RestartAirTimeDuration(TInt aBeatsOffset)
     {
     //Check if active 
@@ -161,7 +161,7 @@
         iAirTimeDuration = ETrue;
         }
     }
-	
+    
 // -----------------------------------------------------------------------------
 // CCCEDurationTimer::StartAirTimeDuration
 //    if timer is not already active
@@ -199,7 +199,7 @@
 //
 TDateTime CCCEDurationTimer::StartTime()
     {
-	return iStartTime.DateTime();
+    return iStartTime.DateTime();
     }
 
 // -----------------------------------------------------------------------------
--- a/convergedcallengine/cce/src/ccceextension.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/ccceextension.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -90,11 +90,11 @@
     // given is used.
 
     if( !iMCCEExtensionObserver )
-    	{
-    	return KErrNotFound;
-    	}
-    	
-	iMCCEExtensionObserver = NULL;
+        {
+        return KErrNotFound;
+        }
+        
+    iMCCEExtensionObserver = NULL;
     return KErrNone;
     }
 
@@ -103,27 +103,27 @@
 // -----------------------------------------------------------------------------
 //
 TInt CCCEExtension::RequestCommand( TUint32 aServiceId,
-									TInt aRequestId, 
-									TDesC8& aData )
+                                    TInt aRequestId, 
+                                    TDesC8& aData )
     {
     CCELOGSTRING3("CCCEExtension::RequestCommand(): Service id=%d Request id=%d", aServiceId, aRequestId );
 
-	CConvergedCallProvider* plugin = GetExtIfPlugin(aServiceId);
+    CConvergedCallProvider* plugin = GetExtIfPlugin(aServiceId);
 
-	if( !plugin )
-	    {
-    	CCELOGSTRING("CCCEExtension::RequestCommand(): Plug-in for service-id was not found. Returning KErrNotFound" );
-	    return KErrNotFound;
-	    }
+    if( !plugin )
+        {
+        CCELOGSTRING("CCCEExtension::RequestCommand(): Plug-in for service-id was not found. Returning KErrNotFound" );
+        return KErrNotFound;
+        }
 
     MCCPExtensionProvider* extif = NULL;
-	TRAPD( err, extif = plugin->ExtensionProviderL(*this) );
+    TRAPD( err, extif = plugin->ExtensionProviderL(*this) );
 
-	if( err!=KErrNone )
-		{
-    	CCELOGSTRING2("CCCEExtension::RequestCommand(): Plug-in was found, but extension interface get failed with error=%d", err );
-		return err;
-		}
+    if( err!=KErrNone )
+        {
+        CCELOGSTRING2("CCCEExtension::RequestCommand(): Plug-in was found, but extension interface get failed with error=%d", err );
+        return err;
+        }
    
     if( extif )
         {
@@ -131,7 +131,7 @@
         }
     else
         {
-    	CCELOGSTRING("CCCEExtension::RequestCommand() Plug-in extension interface was found, but extensions are not supported. Returning KErrNotSupported" );
+        CCELOGSTRING("CCCEExtension::RequestCommand() Plug-in extension interface was found, but extensions are not supported. Returning KErrNotSupported" );
         return KErrNotSupported;
         }
 
@@ -143,34 +143,34 @@
 // -----------------------------------------------------------------------------
 //
 TInt CCCEExtension::CancelRequest( TUint32 aServiceId,
-								   TInt aRequestId )
+                                   TInt aRequestId )
     {
     CCELOGSTRING3("CCCEExtension::CancelRequest(): Service id=%d Request id=%d", aServiceId, aRequestId );
 
-	CConvergedCallProvider* plugin = GetExtIfPlugin(aServiceId);
+    CConvergedCallProvider* plugin = GetExtIfPlugin(aServiceId);
 
-	if( !plugin )
-	    {
-    	CCELOGSTRING("CCCEExtension::CancelRequest(): Plug-in for service-id was not found. Returning KErrNotFound" );
-	    return KErrNotFound;
-	    }
+    if( !plugin )
+        {
+        CCELOGSTRING("CCCEExtension::CancelRequest(): Plug-in for service-id was not found. Returning KErrNotFound" );
+        return KErrNotFound;
+        }
 
     MCCPExtensionProvider* extif = NULL;
-	TRAPD( err, extif = plugin->ExtensionProviderL(*this) );
+    TRAPD( err, extif = plugin->ExtensionProviderL(*this) );
 
-	if( err!=KErrNone )
-		{
-    	CCELOGSTRING2("CCCEExtension::CancelRequest(): Plug-in was found, but extension interface get failed with error=%d", err );
-		return err;
-		}
-	
+    if( err!=KErrNone )
+        {
+        CCELOGSTRING2("CCCEExtension::CancelRequest(): Plug-in was found, but extension interface get failed with error=%d", err );
+        return err;
+        }
+    
     if( extif )
         {
         extif->CancelRequest(aRequestId);
         }
     else
         {
-    	CCELOGSTRING("CCCEExtension::CancelRequest() Plug-in extension interface was found, but extensions are not supported. Returning KErrNotSupported" );
+        CCELOGSTRING("CCCEExtension::CancelRequest() Plug-in extension interface was found, but extensions are not supported. Returning KErrNotSupported" );
         return KErrNotSupported;
         }
 
@@ -182,20 +182,20 @@
 // -----------------------------------------------------------------------------
 //
 void CCCEExtension::HandleExtensionEvents( TUint32 aServiceId,
-										   TInt aEvent,
+                                           TInt aEvent,
                                            TInt aStatus )
     {
     CCELOGSTRING3("CCCEExtension::HandleExtensionEvents(): Service id=%d Event=%d", aServiceId, aEvent );
     CCELOGSTRING2("CCCEExtension::HandleExtensionEvents(): Status=%d", aStatus );
 
     if( iMCCEExtensionObserver )
-    	{
-		iMCCEExtensionObserver->HandleExtensionEvents(aServiceId,aEvent,aStatus);
-    	}
-   	else
-   		{
-    	CCELOGSTRING("CCCEExtension::HandleExtensionEvents(): No observer was set, ignoring no event was notified!" );
-   		}
+        {
+        iMCCEExtensionObserver->HandleExtensionEvents(aServiceId,aEvent,aStatus);
+        }
+    else
+        {
+        CCELOGSTRING("CCCEExtension::HandleExtensionEvents(): No observer was set, ignoring no event was notified!" );
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -208,7 +208,7 @@
     
     TRAP_IGNORE( provider = iPluginManager.GetPluginL( aServiceId ) );
 
-	return provider;
+    return provider;
     }
 
 
--- a/convergedcallengine/cce/src/ccceobserverasynchroniser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/ccceobserverasynchroniser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -171,7 +171,7 @@
                 CCELOGSTRING( "CCCEObserverAsynchroniser::RunL() Event: EDataPortName");
                 if (iCCEObserver)
                     {
-                  	iCCEObserver->DataPortName( iEvents[0].iTName );
+                    iCCEObserver->DataPortName( iEvents[0].iTName );
                     }
                 break;    
                 }
@@ -213,14 +213,14 @@
                 if (iCCESsObserver)
                     {
                     if( iEvents[0].iDescriptor )
-                    	{
-                    	iCCESsObserver->CallForwardEventOccurred(
-                        	(MCCESsObserver::TCCESsCallForwardEvent)iEvents[0].iInt1, *iEvents[0].iDescriptor );
+                        {
+                        iCCESsObserver->CallForwardEventOccurred(
+                            (MCCESsObserver::TCCESsCallForwardEvent)iEvents[0].iInt1, *iEvents[0].iDescriptor );
                         }
                     else
-                    	{
-                		CCELOGSTRING( "CCCEObserverAsynchroniser::RunL() Event: ECallForwardEventOccurred, descr is NULL!");
-                    	}
+                        {
+                        CCELOGSTRING( "CCCEObserverAsynchroniser::RunL() Event: ECallForwardEventOccurred, descr is NULL!");
+                        }
                     }
                 break;    
                 }
@@ -373,13 +373,13 @@
 // MCCEObserver DataPortName
 // -----------------------------------------------------------------------------
 void CCCEObserverAsynchroniser::DataPortName( TName& aPortName )
-	{
+    {
     CCELOGSTRING( "CCCEObserverAsynchroniser::DataPortName");
     TEventStorage event;
     event.iEventType = EDataPortName;
     event.iTName = aPortName;
     AddEvent(event);   
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // MCCEObserver ConferenceCallCreated
@@ -404,7 +404,7 @@
     event.iInt1 = aBarringEvent;
     AddEvent(event);   
     }
-							  
+                              
 // -----------------------------------------------------------------------------
 // MCCESsObserver CLIEventOccurred
 // -----------------------------------------------------------------------------
@@ -417,13 +417,13 @@
     AddEvent(event); 
         
     }
-							  
+                              
 // -----------------------------------------------------------------------------
 // MCCESsObserver CallForwardEventOccurred
 // -----------------------------------------------------------------------------
 void CCCEObserverAsynchroniser::CallForwardEventOccurred( 
-					const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
-					const TDesC& aRemoteAddress )
+                    const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
+                    const TDesC& aRemoteAddress )
     {
     CCELOGSTRING( "CCCEObserverAsynchroniser::CallForwardEventOccurred");
     TEventStorage event;
@@ -528,7 +528,7 @@
 
 // -----------------------------------------------------------------------------
 // MCCEDtmfObserver HandleDTMFEvent
-// -----------------------------------------------------------------------------	
+// -----------------------------------------------------------------------------    
 void CCCEObserverAsynchroniser::HandleDTMFEvent( const MCCEDtmfObserver::TCCEDtmfEvent aEvent, 
                               const TInt aError, 
                               const TChar aTone )
@@ -546,7 +546,7 @@
 // MCCEExtensionObserver HandleExtensionEvents
 // -----------------------------------------------------------------------------                                
 void CCCEObserverAsynchroniser::HandleExtensionEvents( TUint32 aServiceId,
-	TInt aEvent,
+    TInt aEvent,
     TInt aStatus )
     {
     CCELOGSTRING( "CCCEObserverAsynchroniser::HandleExtensionEvents");
--- a/convergedcallengine/cce/src/ccceplugin.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/ccceplugin.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -250,10 +250,10 @@
 // ---------------------------------------------------------------------------
 //
 void CCCEPlugin::DataPortName( TName& aPortName )
-	{
-	CCELOGSTRING( "CCCEPlugin::DataPortName" );
-	iObserver.DataPortName( aPortName );
-	}
+    {
+    CCELOGSTRING( "CCCEPlugin::DataPortName" );
+    iObserver.DataPortName( aPortName );
+    }
 
 // ---------------------------------------------------------------------------
 // From class MCCPCSObserver
@@ -559,7 +559,7 @@
 
     CCELOGSTRING( "CCCEPlugin::BarringEventOccurred:OUT" );
     }
-					  
+                      
 
 // ---------------------------------------------------------------------------
 // CCCEPlugin::CLIEventOccurred
@@ -571,18 +571,18 @@
 
     if( iCallContainer.SsObserver() )
         {
-    	// one to one mapping at the moment can be casted directly, change if mapping gets out of sync
+        // one to one mapping at the moment can be casted directly, change if mapping gets out of sync
         iCallContainer.SsObserver()->CLIEventOccurred(
-        			(MCCESsObserver::TCCESsCLIEvent)aCallLineEvent );
+                    (MCCESsObserver::TCCESsCLIEvent)aCallLineEvent );
         }
-	else
-		{
-    	CCELOGSTRING( "CCCEPlugin::CLIEventOccurred: Event ignored no observer is set!" );
-		}
+    else
+        {
+        CCELOGSTRING( "CCCEPlugin::CLIEventOccurred: Event ignored no observer is set!" );
+        }
 
     CCELOGSTRING( "CCCEPlugin::CLIEventOccurred:OUT" );
     }
-							  
+                              
 
 // ---------------------------------------------------------------------------
 // CCCEPlugin::BarringEventOccurred
@@ -596,15 +596,15 @@
 
     if( iCallContainer.SsObserver() )
         {
-    	// one to one mapping at the moment can be casted directly, change if mapping gets out of sync
+        // one to one mapping at the moment can be casted directly, change if mapping gets out of sync
         iCallContainer.SsObserver()->CallForwardEventOccurred(
-			(MCCESsObserver::TCCESsCallForwardEvent)aCallForwardEvent,
-			aRemoteAddress );
+            (MCCESsObserver::TCCESsCallForwardEvent)aCallForwardEvent,
+            aRemoteAddress );
         }
-	else
-		{
-    	CCELOGSTRING( "CCCEPlugin::CallForwardEventOccurred: Event ignored no observer is set!" );
-		}
+    else
+        {
+        CCELOGSTRING( "CCCEPlugin::CallForwardEventOccurred: Event ignored no observer is set!" );
+        }
 
     CCELOGSTRING( "CCCEPlugin::CallForwardEventOccurred:OUT" );
     
@@ -621,14 +621,14 @@
 
     if( iCallContainer.SsObserver() )
         {
-    	// one to one mapping at the moment can be casted directly, change if mapping gets out of sync
+        // one to one mapping at the moment can be casted directly, change if mapping gets out of sync
         iCallContainer.SsObserver()->CallCugEventOccurred(
             (MCCESsObserver::TCCESsCugEvent)aCugEvent );
         }
-	else
-		{
-    	CCELOGSTRING( "CCCEPlugin::CallCugEventOccurred: Event ignored no observer is set!" );
-		}
+    else
+        {
+        CCELOGSTRING( "CCCEPlugin::CallCugEventOccurred: Event ignored no observer is set!" );
+        }
 
     CCELOGSTRING( "CCCEPlugin::CallCugEventOccurred:OUT" );
     }
@@ -645,10 +645,10 @@
         {
         iCallContainer.SsObserver()->NotifyCurrentActiveALSLine(aLine);
         }
-	else
-		{
-    	CCELOGSTRING( "CCCEPlugin::NotifyCurrentActiveALSLine: Event ignored no observer is set!" );
-		}
+    else
+        {
+        CCELOGSTRING( "CCCEPlugin::NotifyCurrentActiveALSLine: Event ignored no observer is set!" );
+        }
 
     CCELOGSTRING( "CCCEPlugin::NotifyCurrentActiveALSLine():OUT" );
     }
--- a/convergedcallengine/cce/src/cccepluginmanager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cce/src/cccepluginmanager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -73,10 +73,10 @@
 #if 0
 // capabilities still todo here
 
-	static _LIT_SECURITY_POLICY_PASS( KAllowAllPolicy );
-	static _LIT_SECURITY_POLICY_C2(	KICMPolicy, 
-									ECapabilityNetworkControl,
-									ECapabilityWriteDeviceData);	
+    static _LIT_SECURITY_POLICY_PASS( KAllowAllPolicy );
+    static _LIT_SECURITY_POLICY_C2( KICMPolicy, 
+                                    ECapabilityNetworkControl,
+                                    ECapabilityWriteDeviceData);    
 
         
     // define first property to be integer type
@@ -471,7 +471,7 @@
     else if( iAlternativeEmergencyPlugins.Find( aUid ) == KErrNotFound )
         {
         CCELOGSTRING("CCCEPluginManager::AddToAlternativeEmergencyArray: New plugin. Append to array ");    
-        iAlternativeEmergencyPlugins.Append( aUid );  
+        iAlternativeEmergencyPlugins.Append( aUid );  // return value ignored..
         }    
     else
         {
@@ -609,12 +609,16 @@
     {
     CCCEPlugin* plugin( NULL );
     
-    for( TInt i=0; i<iPluginArray.Count(); i++ )
+    // performance note: a loop is nothing but keeping count in a register, decrementing it's
+    // value after each iteration and jumping back.
+    // But, calling RPointerArray.Count() is expensive.. that's why const TInt count
+    const TInt count = iPluginArray.Count();
+    for( TInt i=0; i < count; i++ )
         {
         if( iPluginArray[i]->Type().iUid == aImplementationUid.iUid )
             {
             plugin =  iPluginArray[i];
-            i = iPluginArray.Count();
+            i = count;
             }
         }
   
@@ -656,14 +660,16 @@
         {
         if ( iPluginArray[a]->Type() == aPluginId )
             {
-            iPluginsToClose.Append(iPluginArray[a]);
-            if (!iIdle->IsActive())
-                {
-                iIdle->Start( TCallBack(RemovePlugins,this) );
+            if( KErrNone == iPluginsToClose.Append(iPluginArray[a]))
+                {          
+                if (!iIdle->IsActive())
+                    {
+                    iIdle->Start( TCallBack(RemovePlugins,this) );
+                    }
+                iPluginArray.Remove(a);
+                iPluginArray.Compress();
+                return;
                 }
-            iPluginArray.Remove(a);
-            iPluginArray.Compress();
-            return;
             }
         }
     }
@@ -688,14 +694,16 @@
         {
         if ( iPluginArray[a]->Type() == aPluginUid )
             {
-            iPluginsToClose.Append(iPluginArray[a]);
-            if (!iIdle->IsActive())
-                {
-                iIdle->Start( TCallBack(RemovePlugins,this) );
+            if( KErrNone == iPluginsToClose.Append(iPluginArray[a]))
+                {          
+                if (!iIdle->IsActive())
+                    {
+                    iIdle->Start( TCallBack(RemovePlugins,this) );
+                    }
+                iPluginArray.Remove(a);
+                iPluginArray.Compress();
+                return;
                 }
-            iPluginArray.Remove(a);
-            iPluginArray.Compress();
-            return;
             }
         }
     }
--- a/convergedcallengine/cenrepdatabase/group/cenrepdatabase.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cenrepdatabase/group/cenrepdatabase.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -33,7 +33,9 @@
 
 USERINCLUDE             ../inc
 
-APP_LAYER_SYSTEMINCLUDE 
+// <-- QT PHONE START -->
+MW_LAYER_SYSTEMINCLUDE 
+// <-- QT PHONE END -->
 
 LIBRARY                 euser.lib
 LIBRARY                 centralrepository.lib
--- a/convergedcallengine/cenrepdatabase/src/cenrepdatabaseutil.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/cenrepdatabase/src/cenrepdatabaseutil.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -144,16 +144,16 @@
     CENREPDATABASELOG( "CCenRepDatabaseUtil::BeginTransactionL - IN" );
     
     iSemaphore.Wait();
-	TCleanupItem cleanup( CCenRepDatabaseUtil::ReleaseSemaphore, this );
-	CleanupStack::PushL( cleanup );
+    TCleanupItem cleanup( CCenRepDatabaseUtil::ReleaseSemaphore, this );
+    CleanupStack::PushL( cleanup );
     
     User::LeaveIfError( 
         iRepository->StartTransaction( CRepository::EReadWriteTransaction ) );
     
-	iRepository->CleanupRollbackTransactionPushL(); // if leave happens,
-	                                                // only roll back, no delete
-	
-	CENREPDATABASELOG( "CCenRepDatabaseUtil::BeginTransactionL - OUT" );                                                
+    iRepository->CleanupRollbackTransactionPushL(); // if leave happens,
+                                                    // only roll back, no delete
+    
+    CENREPDATABASELOG( "CCenRepDatabaseUtil::BeginTransactionL - OUT" );                                                
     }
 
 // ---------------------------------------------------------------------------
@@ -164,15 +164,15 @@
     {
     CENREPDATABASELOG( "CCenRepDatabaseUtil::CommitTransaction - IN" );
     
-	TUint32 temp;
-	
-	TInt retval = iRepository->CommitTransaction( temp );
-	
-	iSemaphore.Signal();
+    TUint32 temp;
+    
+    TInt retval = iRepository->CommitTransaction( temp );
+    
+    iSemaphore.Signal();
 
-	CleanupStack::Pop( 2 ); // semaphore and repository
-	
-	CENREPDATABASELOG( "CCenRepDatabaseUtil::CommitTransaction - OUT" );
+    CleanupStack::Pop( 2 ); // semaphore and repository
+    
+    CENREPDATABASELOG( "CCenRepDatabaseUtil::CommitTransaction - OUT" );
 
     return retval;
     }
@@ -185,12 +185,12 @@
     {
     CENREPDATABASELOG( "CCenRepDatabaseUtil::RollbackTransaction - IN" );
     
-	CleanupStack::Pop( 2 ); // rollback transaction item and semaphore
+    CleanupStack::Pop( 2 ); // rollback transaction item and semaphore
 
-	iRepository->RollbackTransaction();
-	iSemaphore.Signal();
-	
-	CENREPDATABASELOG( "CCenRepDatabaseUtil::RollbackTransaction - OUT" );
+    iRepository->RollbackTransaction();
+    iSemaphore.Signal();
+    
+    CENREPDATABASELOG( "CCenRepDatabaseUtil::RollbackTransaction - OUT" );
     }
     
 // ---------------------------------------------------------------------------
@@ -600,28 +600,28 @@
 // ---------------------------------------------------------------------------
 //
 void CCenRepDatabaseUtil::ReleaseSemaphore( TAny* aPtr )
-	{
-	CENREPDATABASELOG( "CCenRepDatabaseUtil::ReleaseSemaphore - IN" );
-	
-	ASSERT ( aPtr );
-	CCenRepDatabaseUtil* utils = static_cast<CCenRepDatabaseUtil*>( aPtr );
-	utils->DoReleaseSemaphore();
-	
-	CENREPDATABASELOG( "CCenRepDatabaseUtil::ReleaseSemaphore - OUT" );
-	}
+    {
+    CENREPDATABASELOG( "CCenRepDatabaseUtil::ReleaseSemaphore - IN" );
+    
+    ASSERT ( aPtr );
+    CCenRepDatabaseUtil* utils = static_cast<CCenRepDatabaseUtil*>( aPtr );
+    utils->DoReleaseSemaphore();
+    
+    CENREPDATABASELOG( "CCenRepDatabaseUtil::ReleaseSemaphore - OUT" );
+    }
 
 // ---------------------------------------------------------------------------
 // Release semaphore
 // ---------------------------------------------------------------------------
 //
 void CCenRepDatabaseUtil::DoReleaseSemaphore()
-	{
-	CENREPDATABASELOG( "CCenRepDatabaseUtil::DoReleaseSemaphore - IN" );
-	
-	iSemaphore.Signal();
-	
-	CENREPDATABASELOG( "CCenRepDatabaseUtil::DoReleaseSemaphore - OUT" );
-	}
+    {
+    CENREPDATABASELOG( "CCenRepDatabaseUtil::DoReleaseSemaphore - IN" );
+    
+    iSemaphore.Signal();
+    
+    CENREPDATABASELOG( "CCenRepDatabaseUtil::DoReleaseSemaphore - OUT" );
+    }
 
 // ---------------------------------------------------------------------------
 // Set value of key or create a new one.
@@ -713,9 +713,9 @@
             }
         }
     else
-    	{
-    	User::Leave( err );
-    	}
+        {
+        User::Leave( err );
+        }
 
     CleanupStack::PopAndDestroy( &keys );
 
@@ -777,8 +777,8 @@
     TBool& aOk )
     {
     RIpAppPropArray allArray;
-	TCleanupItem cleanup( CCenRepDatabaseUtil::CleanupPointerArray, &allArray );
-	CleanupStack::PushL( cleanup );
+    TCleanupItem cleanup( CCenRepDatabaseUtil::CleanupPointerArray, &allArray );
+    CleanupStack::PushL( cleanup );
     
     TInt err = FindEntryL( aEntryId, allArray );
     if( err == KErrNone )
@@ -823,10 +823,10 @@
 // ---------------------------------------------------------------------------
 //
 void CCenRepDatabaseUtil::CleanupPointerArray(  TAny* aPointer )
-	{
-	RIpAppPropArray* array = static_cast<RIpAppPropArray*>( aPointer );
-	array->ResetAndDestroy();
-	}
+    {
+    RIpAppPropArray* array = static_cast<RIpAppPropArray*>( aPointer );
+    array->ResetAndDestroy();
+    }
     
 
 
--- a/convergedcallengine/csplugin/data/102828e3.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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:  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
--- a/convergedcallengine/csplugin/data/csplugin_stub.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: For packing csplugin stub.
-;
-; csplugin_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"csplugin"},(0x102828E3),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\csplugin.dll"
-""-"z:\resource\plugins\csplugin.rsc" 
\ No newline at end of file
Binary file convergedcallengine/csplugin/data/csplugin_stub.sis has changed
--- a/convergedcallengine/csplugin/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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
--- a/convergedcallengine/csplugin/group/csplugin.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +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 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
--- a/convergedcallengine/csplugin/group/csplugin_UID_.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 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()
--- a/convergedcallengine/csplugin/inc/cspaudiohandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +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:  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
--- a/convergedcallengine/csplugin/inc/cspaudiostreams.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +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:  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
--- a/convergedcallengine/csplugin/inc/cspcall.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,787 +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:  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 aRemotePartyName new remote party name
-        * @param aRemotePartyNumber new remote party number
-        */
-        virtual void NotifyRemotePartyInfoChanged(                
-            const TDesC& aRemotePartyName,
-            const TDesC& aRemotePartyNumber );
-
-        /**
-        * 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();
-        
-        /**
-         * Sends a remote party info changed notification
-         * if the remote party number has changed. 
-         */
-        void NotifyRemotePartyNumberChanged();
-
-	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
--- a/convergedcallengine/csplugin/inc/cspcalladdedhandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/inc/cspcallarray.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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 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
--- a/convergedcallengine/csplugin/inc/cspcallcommandhandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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:  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
--- a/convergedcallengine/csplugin/inc/cspcallinfomonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:  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
--- a/convergedcallengine/csplugin/inc/cspcenreplistener.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +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 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
--- a/convergedcallengine/csplugin/inc/cspcipheringstatusmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +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 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
--- a/convergedcallengine/csplugin/inc/cspclientvideocall.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +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:  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
--- a/convergedcallengine/csplugin/inc/cspclientvoicecall.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +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:  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
--- a/convergedcallengine/csplugin/inc/cspconferencecall.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +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:  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
--- a/convergedcallengine/csplugin/inc/cspconsts.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/inc/cspdevsound.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +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:  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
--- a/convergedcallengine/csplugin/inc/cspdtmfprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +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 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
--- a/convergedcallengine/csplugin/inc/cspetelcallcapsmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/inc/cspetelcalleventmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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:  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
--- a/convergedcallengine/csplugin/inc/cspetelcallrequester.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +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:  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
--- a/convergedcallengine/csplugin/inc/cspetelcallstatusmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:  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
--- a/convergedcallengine/csplugin/inc/cspetelcallwaitingrequester.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +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:  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
--- a/convergedcallengine/csplugin/inc/cspetelconferencecallrequester.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +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:  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
--- a/convergedcallengine/csplugin/inc/cspetelconferencecapsmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +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 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
--- a/convergedcallengine/csplugin/inc/cspetelconferenceeventmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +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 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
--- a/convergedcallengine/csplugin/inc/cspetelconferencestatusmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +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:  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
--- a/convergedcallengine/csplugin/inc/cspeteldtmfmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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 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
--- a/convergedcallengine/csplugin/inc/cspeteldtmfstopmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/inc/cspetelincomingcallmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +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 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
--- a/convergedcallengine/csplugin/inc/cspetellinestatusmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +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:  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_*/
--- a/convergedcallengine/csplugin/inc/cspetelvideocallcapsmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/inc/cspforwardprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/inc/csplogger.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +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:  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
--- a/convergedcallengine/csplugin/inc/cspmicrophone.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/inc/csppanic.pan	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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 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
--- a/convergedcallengine/csplugin/inc/csppubsublistener.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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 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
--- a/convergedcallengine/csplugin/inc/cspremotealertingtonelistener.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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:  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
--- a/convergedcallengine/csplugin/inc/csprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,601 +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:  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
--- a/convergedcallengine/csplugin/inc/cspservicesettingshandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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 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
--- a/convergedcallengine/csplugin/inc/cspspeaker.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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:  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
--- a/convergedcallengine/csplugin/inc/cspsssettingshandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains 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
--- a/convergedcallengine/csplugin/inc/cspsupplementaryservicesmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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 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
--- a/convergedcallengine/csplugin/inc/csptimer.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/inc/csptransferprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +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:  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
--- a/convergedcallengine/csplugin/inc/cspuuimessagesender.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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:  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
--- a/convergedcallengine/csplugin/inc/cspuuimonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +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:  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
--- a/convergedcallengine/csplugin/inc/cspvideocall.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +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:  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
--- a/convergedcallengine/csplugin/inc/cspvideocallconnectionhandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +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:  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
--- a/convergedcallengine/csplugin/inc/cspvoicecall.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/inc/mcspaudiostreamobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/inc/mcspcalladdedobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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 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
--- a/convergedcallengine/csplugin/inc/mcspcallcommandhandling.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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:  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
--- a/convergedcallengine/csplugin/inc/mcspcallerrorobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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 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
--- a/convergedcallengine/csplugin/inc/mcspcallinformation.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/inc/mcspcallobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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 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 aRemotePartyName new remote party name
-        * @param aRemotePartyNumber new remote party number
-        * 
-        */
-        virtual void NotifyRemotePartyInfoChanged( 
-            const TDesC& aRemotePartyName,
-            const TDesC& aRemotePartyNumber
-        ) = 0;
-
-        
-    };
-
-#endif // MINCOMINGCALLOBSERVER_H
-
-//End of file
--- a/convergedcallengine/csplugin/inc/mcspcenrepobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/inc/mcspcommoninfo.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +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:  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
--- a/convergedcallengine/csplugin/inc/mcspconferencestatusobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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:  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
--- a/convergedcallengine/csplugin/inc/mcspdevsoundobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/inc/mcspincomingcallobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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 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
--- a/convergedcallengine/csplugin/inc/mcsplinestatusobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/inc/mcsppubsubobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/inc/mcspremotealertingtoneobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  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
--- a/convergedcallengine/csplugin/inc/mcspsecuritysettingobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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_*/
--- a/convergedcallengine/csplugin/inc/mcsptimerobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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 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
--- a/convergedcallengine/csplugin/inc/mcspuusmessageobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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 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
--- a/convergedcallengine/csplugin/inc/rcsplinecontainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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
--- a/convergedcallengine/csplugin/inc/tcspskypeidparser.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/rom/csplugin.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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
--- a/convergedcallengine/csplugin/src/cspaudiohandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +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:  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
--- a/convergedcallengine/csplugin/src/cspaudiostreams.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,419 +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:  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  
--- a/convergedcallengine/csplugin/src/cspcall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1971 +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:  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 
-                    || iParams->CallType() == CCPCall::ECallTypeVideo ) )
-                {
-                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");
-            {
-			// Start streams also for MO video call to prevent audio routing problems
-			// with other applications.
-            if ( iAudioHandler 
-                 && ( iParams->CallType() == CCPCall::ECallTypeCSVoice 
-                    || iParams->CallType() == CCPCall::ECallTypeVideo ) )
-                {
-                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 );
-            
-            // Agreement with TSY is that the
-            // COLP number is available in connected state.
-            NotifyRemotePartyNumberChanged();            
-            
-            // Stop streams for MO video call so that Video Telephony can 
-            // receive RemCon commands instead of Phone.
-            if ( iMobileOriginated
-                && iAudioHandler 
-                && iAudioStatus == ECSPCallAudioStatusActive
-                && iParams->CallType() == CCPCall::ECallTypeVideo )
-                {
-                iAudioStatus = ECSPCallAudioStatusInactive;
-                iAudioHandler->Stop();
-                }
-            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::NotifyRemotePartyNumberChanged
-//   
-// ---------------------------------------------------------------------------
-//
-void CSPCall::NotifyRemotePartyNumberChanged()
-    {
-    CSPLOGSTRING(CSPINT, "CSPCall::NotifyRemotePartyNumberChanged <");
-    
-    // If COLP number is different from original dialled number
-    // it is available in connected state of a MO call.
-    // TSY does not send notification so number must be fetched.
-    if ( IsMobileOriginated() )
-        {
-        RMobileCall::TMobileCallInfoV3 callInfo;
-        RMobileCall::TMobileCallInfoV3Pckg callInfoPckg( callInfo );
-    
-        GetMobileCallInfo( callInfoPckg );    
-        callInfo = callInfoPckg();
-    
-        
-        if ( callInfo.iRemoteParty.iRemoteNumber.iTelNumber.Length() )
-            {        
-            NotifyRemotePartyInfoChanged( KNullDesC(),
-                callInfo.iRemoteParty.iRemoteNumber.iTelNumber);        
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// 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& aRemotePartyName,
-                                            const TDesC& aRemotePartyNumber )
-    {
-    CSPLOGSTRING(CSPREQIN, "CSPCall::NotifyRemotePartyInfoChanged");
-    
-    if ( aRemotePartyName.Length() )    
-        {
-        iRemotePartyName = aRemotePartyName;
-        }
-    
-    if ( aRemotePartyNumber.Length() )    
-        {
-        iRemotePartyNumber = aRemotePartyNumber;
-        }
-    
-    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
-
--- a/convergedcallengine/csplugin/src/cspcalladdedhandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +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:  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
--- a/convergedcallengine/csplugin/src/cspcallarray.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/src/cspcallcommandhandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +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:  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
--- a/convergedcallengine/csplugin/src/cspcallinfomonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +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:  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,
-                    KNullDesC());
-                }
-            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
--- a/convergedcallengine/csplugin/src/cspcenreplistener.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +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:  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
--- a/convergedcallengine/csplugin/src/cspcipheringstatusmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +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:  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 
-
--- a/convergedcallengine/csplugin/src/cspclientvideocall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +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:  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
--- a/convergedcallengine/csplugin/src/cspclientvoicecall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +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:  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
--- a/convergedcallengine/csplugin/src/cspconferencecall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,623 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/src/cspdevsound.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +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:  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
-
--- a/convergedcallengine/csplugin/src/cspdtmfprovider.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +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:  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
--- a/convergedcallengine/csplugin/src/cspetelcallcapsmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/src/cspetelcalleventmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,291 +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 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
-
--- a/convergedcallengine/csplugin/src/cspetelcallrequester.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,929 +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:  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
-
--- a/convergedcallengine/csplugin/src/cspetelcallstatusmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +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 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
--- a/convergedcallengine/csplugin/src/cspetelcallwaitingrequester.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +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:  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
--- a/convergedcallengine/csplugin/src/cspetelconferencecallrequester.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,375 +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:  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
-
--- a/convergedcallengine/csplugin/src/cspetelconferencecapsmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +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 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
--- a/convergedcallengine/csplugin/src/cspetelconferenceeventmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +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 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
--- a/convergedcallengine/csplugin/src/cspetelconferencestatusmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +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:  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
--- a/convergedcallengine/csplugin/src/cspeteldtmfmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/src/cspeteldtmfstopmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/src/cspetelincomingcallmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +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:  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
--- a/convergedcallengine/csplugin/src/cspetellinestatusmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +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:  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
--- a/convergedcallengine/csplugin/src/cspetelvideocallcapsmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +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 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
--- a/convergedcallengine/csplugin/src/cspforwardprovider.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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 );
-    }
-
--- a/convergedcallengine/csplugin/src/cspmicrophone.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +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:  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  
--- a/convergedcallengine/csplugin/src/csppanic.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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
--- a/convergedcallengine/csplugin/src/cspproxy.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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  
--- a/convergedcallengine/csplugin/src/csppubsublistener.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/src/cspremotealertingtonelistener.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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:  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 );
-        }
-    }
--- a/convergedcallengine/csplugin/src/csprovider.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1273 +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:  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
-
--- a/convergedcallengine/csplugin/src/cspservicesettingshandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +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:  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( ) 
-    {
-    }
-
-
--- a/convergedcallengine/csplugin/src/cspspeaker.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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  
--- a/convergedcallengine/csplugin/src/cspsssettingshandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +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:  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
--- a/convergedcallengine/csplugin/src/cspsupplementaryservicesmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains 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 
--- a/convergedcallengine/csplugin/src/csptimer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:  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
-
--- a/convergedcallengine/csplugin/src/csptransferprovider.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +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:  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
-
--- a/convergedcallengine/csplugin/src/cspuuimessagesender.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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:  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() );
-    }
--- a/convergedcallengine/csplugin/src/cspuuimonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +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:  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();
-        }
-    }
--- a/convergedcallengine/csplugin/src/cspvideocall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,372 +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:  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
--- a/convergedcallengine/csplugin/src/cspvideocallconnectionhandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +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:  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
-
--- a/convergedcallengine/csplugin/src/cspvoicecall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/convergedcallengine/csplugin/src/rcsplinecontainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +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 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  
-
--- a/convergedcallengine/csplugin/src/tcspskypeidparser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  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/convergedcallengine/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -27,7 +27,6 @@
 #include "../spsettings/group/bld.inf"
 #include "../cenrepdatabase/group/bld.inf"
 #include "../serviceselector/group/bld.inf"
-#include "../csplugin/group/bld.inf"
 
 
 PRJ_TESTMMPFILES
--- a/convergedcallengine/serviceselector/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -34,7 +34,7 @@
 ../rom/serviceselectorresources.iby    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(serviceselectorresources.iby)
 
 // Stub sis file
-../srcdata/serviceselector_stub.sis	   /epoc32/data/z/system/install/serviceselector_stub.sis
+../srcdata/serviceselector_stub.sis    /epoc32/data/z/system/install/serviceselector_stub.sis
  
 PRJ_MMPFILES
 serviceselector.mmp
--- a/convergedcallengine/serviceselector/group/serviceselector.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/group/serviceselector.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,9 +22,9 @@
 TARGET          serviceselector.dll
 TARGETTYPE      dll
 UID             0x1000008d 0x20019532    
-VENDORID		VID_DEFAULT
+VENDORID        VID_DEFAULT
 
-CAPABILITY		CAP_GENERAL_DLL
+CAPABILITY      CAP_GENERAL_DLL
 
 SOURCEPATH      ../src
 
@@ -37,8 +37,8 @@
 SOURCE          cssservicehandlervoip.cpp
 SOURCE          csslistquerydialog.cpp 
 SOURCE          csssettingshandler.cpp
-SOURCE 	        cssnotedialog.cpp
-SOURCE 	        cssbshandler.cpp
+SOURCE          cssnotedialog.cpp
+SOURCE          cssbshandler.cpp
 SOURCE          cssiconfileprovider.cpp
 
 USERINCLUDE     ../inc
@@ -59,16 +59,18 @@
 LIBRARY     euser.lib
 LIBRARY     featmgr.lib // Feature manager. 
 LIBRARY     flogger.lib // For logging.
-LIBRARY     cch.lib // Converged connection handler client API
+// <-- QT PHONE START -->
+//LIBRARY     cch.lib // Converged connection handler client API
+// <-- QT PHONE END -->
 LIBRARY     serviceprovidersettings.lib // For service settings
 LIBRARY     avkon.lib // For UI queries
 LIBRARY     eikdlg.lib // For UI queries
-LIBRARY	    eikctl.lib // For UI queries
-LIBRARY	    cone.lib
+LIBRARY     eikctl.lib // For UI queries
+LIBRARY     cone.lib
 LIBRARY     eikcoctl.lib // menu bar
-LIBRARY	    eikcore.lib
-LIBRARY	    bafl.lib // For CDesArrays
-LIBRARY	    commonengine.lib // For stringloader
+LIBRARY     eikcore.lib
+LIBRARY     bafl.lib // For CDesArrays
+LIBRARY     commonengine.lib // For stringloader
 LIBRARY     aknicon.lib
 LIBRARY     egul.lib
 LIBRARY     bsclient.lib
--- a/convergedcallengine/serviceselector/inc/cssconnectionhandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/inc/cssconnectionhandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,6 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <cch.h>
 
 // FORWARD DECLARATIONS
 // None
@@ -73,8 +72,6 @@
 
     private:    // Data
     
-        // Converged Connection Handler client interface
-        CCch* iCch;
 
     };
 
--- a/convergedcallengine/serviceselector/inc/cssiconfileprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/inc/cssiconfileprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define C_SSICONFILEPROVIDER_H
 
 #include <e32base.h>
-#include <AknIconUtils.h>
+#include <AknIconUtils.h> 
 
 /**
  *  Declarition of CSsIconFileProvider.
@@ -65,7 +65,7 @@
          /**
           * By default Symbian 2nd phase constructor is private.
           */
-	    void ConstructL( RFile& aFile );
+        void ConstructL( RFile& aFile );
 
     private: // data
 
@@ -76,4 +76,4 @@
 
 #endif // C_SSICONFILEPROVIDER_H
 
-// End of File
\ No newline at end of file
+// End of File
--- a/convergedcallengine/serviceselector/inc/cssservicehandlervoip.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/inc/cssservicehandlervoip.h	Tue Aug 31 15:45:17 2010 +0300
@@ -25,7 +25,7 @@
 #include "cservicehandler.h"
 #include <e32base.h>
 #include <badesca.h>
-#include <AknIconArray.h>
+#include <AknIconArray.h> 
 #include <gulicon.h>
 
 // CONSTANTS
--- a/convergedcallengine/serviceselector/rom/serviceselector.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/rom/serviceselector.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -20,6 +20,6 @@
 #define __SERVICESELECTOR_IBY__
 
 file=ABI_DIR\BUILD_DIR\serviceselector.dll              SHARED_LIB_DIR\serviceselector.dll
-data=ZSYSTEM\install\serviceselector_stub.sis   		System\Install\serviceselector_stub.sis
+data=ZSYSTEM\install\serviceselector_stub.sis           System\Install\serviceselector_stub.sis
 
 #endif
--- a/convergedcallengine/serviceselector/src/cssbshandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/src/cssbshandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,9 +22,9 @@
 #include <mbselement.h>
 #include <cbsbitmap.h>
 #include <coemain.h>
-#include <AknsItemID.h>
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
+#include <AknsItemID.h> 
+#include <AknsSkinInstance.h> 
+#include <AknsUtils.h> 
 
 #include "cssiconfileprovider.h"
 #include "cssbshandler.h"
--- a/convergedcallengine/serviceselector/src/cssconnectionhandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/src/cssconnectionhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -57,13 +57,11 @@
 //
 void CSsConnectionHandler::ConstructL()
     {
-    iCch = CCch::NewL(); 
     }
 
 // Destructor
 CSsConnectionHandler::~CSsConnectionHandler()
     {
-    delete iCch;
     }
 
 // -----------------------------------------------------------------------------
@@ -73,24 +71,11 @@
 //
 TBool CSsConnectionHandler::IsVoipServiceRegistered
         ( 
-        TUint aServiceId 
+        TUint /*aServiceId */
         ) const
     {
-    TCchServiceStatus serviceStatus;
-    TBool registered( EFalse );
-    CCchService* service = iCch->GetService( aServiceId );
-    if ( service )
-        {
-        service->GetStatus( ECCHVoIPSub, serviceStatus );
-        registered = ( KErrNone == serviceStatus.Error() ) && 
-                     ( ECCHEnabled == serviceStatus.State() );
-        }
-    
-    CSSLOGSTRING4("CSSelector::IsRegistered: id:%d ,enabled:%d ,error:%d",
-                (TInt) aServiceId,
-                (TInt) ECCHEnabled == serviceStatus.State(),
-                (TInt) serviceStatus.Error());
-     
+   
+    TBool registered( EFalse );     
     return registered;        
     }
 
--- a/convergedcallengine/serviceselector/src/cssnotedialog.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/src/cssnotedialog.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #include "cssuiutilities.h"
 #include "cssserviceutilities.h"
 #include "csslogger.h"
-#include <StringLoader.h>
+#include <StringLoader.h> 
 #include <avkon.rsg>
 
 // ================= MEMBER FUNCTIONS =======================================
@@ -91,7 +91,7 @@
         }
     return ret; 
     } 
-	
+    
 // ================= OTHER EXPORTED FUNCTIONS ===============================
 
 //  End of File 
--- a/convergedcallengine/serviceselector/src/cssuiutilities.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/src/cssuiutilities.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -26,8 +26,8 @@
 #include <coemain.h>
 #include <bautils.h>
 #include <data_caging_path_literals.hrh> // For resource dir definations
-#include <StringLoader.h>
-#include <AknsUtils.h>
+#include <StringLoader.h> 
+#include <AknsUtils.h> 
 #include <avkon.mbg>
 
 // CONSTANTS
--- a/convergedcallengine/serviceselector/srcdata/serviceselector.rss	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/serviceselector/srcdata/serviceselector.rss	Tue Aug 31 15:45:17 2010 +0300
@@ -27,7 +27,7 @@
 #include    <eikon.rh>  
 #include    <avkon.hrh>
 #include    <avkon.rh>
-#include 	<avkon.rsg>
+#include    <avkon.rsg>
 #include    "serviceselector.loc"
 
 
--- a/convergedcallengine/spsettings/backuphelper/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/backuphelper/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 DEFAULT
 
 PRJ_EXPORTS
-../data/backup_registration.xml		z:/private/200286d2/backup_registration.xml
+../data/backup_registration.xml     z:/private/200286d2/backup_registration.xml
 
 // Stub files
 ../data/spsbackuphelper_stub.sis   /epoc32/data/z/system/install/spsbackuphelper_stub.sis
--- a/convergedcallengine/spsettings/backuphelper/group/spsbackuphelper.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/backuphelper/group/spsbackuphelper.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,22 +17,23 @@
 
 #include <platform_paths.hrh>
 
-TARGET		  spsbackuphelper.exe
-TARGETTYPE	  exe
+TARGET        spsbackuphelper.exe
+TARGETTYPE    exe
 UID 0x100039CE 0x200286D2
 CAPABILITY      WriteDeviceData ReadDeviceData
 
 MW_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE /epoc32/include/connect
 
-USERINCLUDE	  ../inc
+USERINCLUDE   ../inc
 USERINCLUDE   ../../inc
-SOURCEPATH	  ../src
-SOURCE		  spsbackuphelpermain.cpp
+SOURCEPATH    ../src
+SOURCE        spsbackuphelpermain.cpp
 SOURCE        spsbackuphelperperformer.cpp
 SOURCE        spsbackuphelpermonitor.cpp
 
-LIBRARY		 euser.lib
+LIBRARY      euser.lib
 LIBRARY      serviceprovidersettings.lib
 LIBRARY      centralrepository.lib
+LIBRARY      abclient.lib
 
--- a/convergedcallengine/spsettings/backuphelper/inc/spsbackuphelpermonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/backuphelper/inc/spsbackuphelpermonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -68,6 +68,11 @@
     TBool NoBackupRestore( TInt aBackupStateValue );
     
     /**
+     * Check the sbs status
+     */
+    void CheckStatusL();
+    
+    /**
      * Subscribe P&S key
      */
     void Subscribe();
@@ -86,6 +91,11 @@
 
 private:
     /**
+     * Active backup client
+     */
+    CActiveBackupClient* iABClient;
+    
+    /**
      * Performs restore finalization
      */
     CSpsBackupHelperPerformer* iPerformer;
--- a/convergedcallengine/spsettings/backuphelper/src/spsbackuphelpermonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/backuphelper/src/spsbackuphelpermonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -44,6 +44,7 @@
     Cancel();
     iProperty.Close();
     delete iPerformer;
+    delete iABClient;
     }
 
 // ---------------------------------------------------------------------------
@@ -74,6 +75,14 @@
     // Check current state to see if we were started for backup purposes
     iProperty.Get(backupStateValue);
     
+    if (!NoBackupRestore(backupStateValue))
+        {
+        iABClient = CActiveBackupClient::NewL();
+            
+        // Confirm that this data owner is ready for backup/restore operations
+        iABClient->ConfirmReadyForBURL(KErrNone);
+        }
+    
     // Subscribe to the P&S flag to catch transitions
     Subscribe();
     
@@ -143,8 +152,8 @@
     {
     // Not set or no backup or restore ongoing
     TBool ret = 
-        ( ( aBackupStateValue == conn::EBURUnset ) ||
-        ( aBackupStateValue == conn::EBURNormal ) );
+        ( ( aBackupStateValue & KBURPartTypeMask ) == conn::EBURUnset ||
+        ( aBackupStateValue & KBURPartTypeMask ) == conn::EBURNormal );
     
     return ret;
     }
@@ -174,10 +183,8 @@
     // re-subscribe to the flag to monitor future changes
     Subscribe();
 
-    iProperty.Get(backupStateValue);
+    CheckStatusL();
 
-    // Process the mode change accordingly
-    ProcessBackupStateL(backupStateValue);
     XSPSLOGSTRING( "CSpsBackupHelperMonitor::RunL OUT" );
     }
 
@@ -200,5 +207,56 @@
     iProperty.Cancel();
     }
 
+void CSpsBackupHelperMonitor::CheckStatusL()
+    {
+    TInt backupInfo =0;
+    iProperty.Get(backupInfo);
+    
+    // Process the mode change accordingly
+    ProcessBackupStateL(backupInfo);
+
+    if (NoBackupRestore(backupInfo))
+        {
+        delete iABClient;
+        iABClient = NULL;
+        }
+    else 
+        {
+        if (iABClient == NULL)
+            {
+            iABClient = CActiveBackupClient::NewL();
+            }
+        
+        TDriveList driveList;
+        TBURPartType partType;
+        TBackupIncType incType;
+        TInt err;
+        TRAP(err, iABClient->BURModeInfoL(driveList, partType, incType));
+        if (err != KErrNone)
+            {
+            XSPSLOGSTRING("BURModeInfoL error");
+            }
+        
+        TBool amIaffected = ETrue;
+        
+        if (partType == EBURRestorePartial || partType == EBURBackupPartial)
+            {
+            TRAP(err, amIaffected = iABClient->DoesPartialBURAffectMeL());
+            if (err != KErrNone)
+                {
+                User::After(5000000);
+                TRAP(err, amIaffected = iABClient->DoesPartialBURAffectMeL());
+                }
+            }
+        
+        if (amIaffected)
+            {
+            // Confirm that this data owner is ready for backup/restore operations
+            iABClient->ConfirmReadyForBURL(KErrNone);
+            }
+        }
+    }
+
+
 // End of file
 
Binary file convergedcallengine/spsettings/conf/spsettings.confml has changed
--- a/convergedcallengine/spsettings/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 
 // Public headers
 
-../data/backup_registration.xml		z:/private/10282e7e/backup_registration.xml
+../data/backup_registration.xml     z:/private/10282e7e/backup_registration.xml
 
 #if defined CORE_MW_LAYER_IBY_EXPORT_PATH
 ../rom/spsettings.iby             CORE_MW_LAYER_IBY_EXPORT_PATH(spsettings.iby)
@@ -32,7 +32,7 @@
 
 // Generic configuration interface for component cenrep settings  
 ../conf/spsettings.confml                       MW_LAYER_CONFML(spsettings.confml)
-../conf/spsettings_10282E7F.crml 	        MW_LAYER_CRML(spsettings_10282e7f.crml)
+../conf/spsettings_10282E7F.crml            MW_LAYER_CRML(spsettings_10282E7F.crml)
 
 PRJ_MMPFILES
 serviceprovidersettings.mmp
--- a/convergedcallengine/spsettings/group/serviceprovidersettings.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/group/serviceprovidersettings.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -38,14 +38,16 @@
 
 USERINCLUDE             ../inc
 
-APP_LAYER_SYSTEMINCLUDE 
+// <-- QT PHONE START-->
+MW_LAYER_SYSTEMINCLUDE 
+// <-- QT PHONE END-->
 
 LIBRARY                 euser.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 bafl.lib // CDesCArray
 
 LIBRARY                 flogger.lib     // for logging
-LIBRARY					featmgr.lib
-LIBRARY					cenrepdatabase.lib
+LIBRARY                 featmgr.lib
+LIBRARY                 cenrepdatabase.lib
 
 //DEFFILE                 ?filename
--- a/convergedcallengine/spsettings/inc/spsettingsengine.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/inc/spsettingsengine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -40,238 +40,238 @@
 NONSHARABLE_CLASS( CSPSettingsEngine ): public CBase
     {
 
-	public: // Constructors and destructor
+    public: // Constructors and destructor
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    static CSPSettingsEngine* NewL();
+        /**
+        * Two-phased constructor.
+        */
+        static CSPSettingsEngine* NewL();
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    static CSPSettingsEngine* NewLC();
+        /**
+        * Two-phased constructor.
+        */
+        static CSPSettingsEngine* NewLC();
 
-	    /**
-	    * Destructors.
-	    */
-	    virtual ~CSPSettingsEngine();
+        /**
+        * Destructors.
+        */
+        virtual ~CSPSettingsEngine();
 
-	public: // memeber functions
-	    /**
-	     * Starts transaction in repository
-	     *
-	     * @since S60 v3.2
-	     */
-	    TInt BeginTransactionLC();
+    public: // memeber functions
+        /**
+         * Starts transaction in repository
+         *
+         * @since S60 v3.2
+         */
+        TInt BeginTransactionLC();
 
-	    /**
-	     * Commits changes in repository
-	     *
-	     * @since S60 v3.2
-	     */
-	    TInt CommitTransaction();
-	    
-	    /**
-	     * Rollback changes in repository
-	     *
-	     * @since S60 v3.2
-	     */
-	    void RollbackTransaction();
+        /**
+         * Commits changes in repository
+         *
+         * @since S60 v3.2
+         */
+        TInt CommitTransaction();
+        
+        /**
+         * Rollback changes in repository
+         *
+         * @since S60 v3.2
+         */
+        void RollbackTransaction();
 
-	    /**
-	     * Stores new service provider settings entry
-	     *
-	     * @since S60 v3.2
-	     * @param aEntry New service provider settings entry, on return service Id is filled in
-	     */
-	    void AddEntryL( CSPEntry& aEntry );
+        /**
+         * Stores new service provider settings entry
+         *
+         * @since S60 v3.2
+         * @param aEntry New service provider settings entry, on return service Id is filled in
+         */
+        void AddEntryL( CSPEntry& aEntry );
 
-	    /**
-	     * Search service provider settings entry by service ID. 
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId Id of requested xSP settings entry
-	     * @param aEntry on return, SP settings entry corresponding to aServiceId.
-	     * @return error code, KErrNone if succeeded, otherwise system wide error code
-	     */
-	    TInt FindEntryL( TServiceId aServiceId, CSPEntry& aEntry );
+        /**
+         * Search service provider settings entry by service ID. 
+         *
+         * @since S60 v3.2
+         * @param aServiceId Id of requested xSP settings entry
+         * @param aEntry on return, SP settings entry corresponding to aServiceId.
+         * @return error code, KErrNone if succeeded, otherwise system wide error code
+         */
+        TInt FindEntryL( TServiceId aServiceId, CSPEntry& aEntry );
 
-	    /**
-	     * Updates service provider settings entry to settings storage.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntry Updated service provider settings entry
-	     * @return error code, KErrNone if update succeeded, otherwise system wide error code
-	     */
-	    TInt UpdateEntryL( const CSPEntry& aEntry );
+        /**
+         * Updates service provider settings entry to settings storage.
+         *
+         * @since S60 v3.2
+         * @param aEntry Updated service provider settings entry
+         * @return error code, KErrNone if update succeeded, otherwise system wide error code
+         */
+        TInt UpdateEntryL( const CSPEntry& aEntry );
 
-	    /**
-	     * Deletes service provider settings entry from storage by service ID.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId Id of settings entry which is going to be deleted
-	     * @return error code, KErrNone if delete succeeded, otherwise system wide error code
-	     */
-	    TInt DeleteEntryL( TServiceId aServiceId );
+        /**
+         * Deletes service provider settings entry from storage by service ID.
+         *
+         * @since S60 v3.2
+         * @param aEntryId Id of settings entry which is going to be deleted
+         * @return error code, KErrNone if delete succeeded, otherwise system wide error code
+         */
+        TInt DeleteEntryL( TServiceId aServiceId );
 
-	    /**
-	     * Search property of service provider settings entry from storage.
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId The service ID of requested service entry
-	     * @param aPropertyName property name to be found
-	     * @param aProperty on return, requested property
-	     * @return error code, KErrNone if succeeded, otherwise system wide error code
-	     */
-	    TInt FindPropertyL( TServiceId aServiceId, 
-	                        TServicePropertyName aPropertyName,
-	                        CSPProperty& aProperty );
+        /**
+         * Search property of service provider settings entry from storage.
+         *
+         * @since S60 v3.2
+         * @param aServiceId The service ID of requested service entry
+         * @param aPropertyName property name to be found
+         * @param aProperty on return, requested property
+         * @return error code, KErrNone if succeeded, otherwise system wide error code
+         */
+        TInt FindPropertyL( TServiceId aServiceId, 
+                            TServicePropertyName aPropertyName,
+                            CSPProperty& aProperty );
 
-	    /**
-	     * Add or update properties of service provider settings entry to storage.
-	     * If property name exists, update property. If property doesn't exist,
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId The ID of updated service entry
-	     * @param aPropertyArray new properties to be added or updated
-	     * @return error code, KErrNone if update succeeded, otherwise system wide error code
-	     */
-	    TInt AddOrUpdatePropertiesL( TServiceId aServiceId, const RPropertyArray& aPropertyArray );
+        /**
+         * Add or update properties of service provider settings entry to storage.
+         * If property name exists, update property. If property doesn't exist,
+         *
+         * @since S60 v3.2
+         * @param aServiceId The ID of updated service entry
+         * @param aPropertyArray new properties to be added or updated
+         * @return error code, KErrNone if update succeeded, otherwise system wide error code
+         */
+        TInt AddOrUpdatePropertiesL( TServiceId aServiceId, const RPropertyArray& aPropertyArray );
 
-	    /**
-	     * Return count of service provider settings entries in storage.
-	     *
-	     * @since S60 v3.2
-	     * @return Count of stored service provider settings.
-	     */
-	    TInt SettingsCountL();
+        /**
+         * Return count of service provider settings entries in storage.
+         *
+         * @since S60 v3.2
+         * @return Count of stored service provider settings.
+         */
+        TInt SettingsCountL();
 
-	    /**
-	     * Search all service provider IDs from storage
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceIds An array containing returned service IDs
-	     * @return error code
-	     */
-	    TInt FindServiceIdsL( RIdArray& aServiceIds );
+        /**
+         * Search all service provider IDs from storage
+         *
+         * @since S60 v3.2
+         * @param aServiceIds An array containing returned service IDs
+         * @return error code
+         */
+        TInt FindServiceIdsL( RIdArray& aServiceIds );
 
-	    /**
-	     * Search all service names from settings storage by given service IDs.
-	     * Removes service ID from given array if corresponding service name
-	     * is not found. 
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceIds An array of service IDs
-	     * @param aServiceNames on return, array which saves found service names 
-	     */
-	    void FindServiceNamesL( RIdArray& aServiceIds, CDesCArray& aServiceNames );
+        /**
+         * Search all service names from settings storage by given service IDs.
+         * Removes service ID from given array if corresponding service name
+         * is not found. 
+         *
+         * @since S60 v3.2
+         * @param aServiceIds An array of service IDs
+         * @param aServiceNames on return, array which saves found service names 
+         */
+        void FindServiceNamesL( RIdArray& aServiceIds, CDesCArray& aServiceNames );
 
 
-	   /**
-	     * Search subservice properties of requested service provider settings entry by ID.
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId The ID of requested service entry
-	     * @param aPropertyType property type of sub service
-	     * @param aPropertyArray on return,  array which saves found subservice properties
-	     * @return error code
-	     */
-	    TInt FindSubServicePropertiesL( TServiceId aServiceId,
-	    								TSPItemType aPropertyType,
-	                                   RPropertyArray& aPropertyArray );
+       /**
+         * Search subservice properties of requested service provider settings entry by ID.
+         *
+         * @since S60 v3.2
+         * @param aServiceId The ID of requested service entry
+         * @param aPropertyType property type of sub service
+         * @param aPropertyArray on return,  array which saves found subservice properties
+         * @return error code
+         */
+        TInt FindSubServicePropertiesL( TServiceId aServiceId,
+                                        TSPItemType aPropertyType,
+                                       RPropertyArray& aPropertyArray );
 
-	    /**
-	     * Deletes service properties by service ID and property name.
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId The service ID of requested service entry
-	     * @param aNameArray name of properties to be deleted
-	     * @return error code
-	     */
-	    TInt DeleteServicePropertiesL( TServiceId aServiceId,
-	                                   const RPropertyNameArray& aNameArray );
-	                                   
-	    /**
-	     * Find service IDs with same properties
-	     *
-	     * @since S60 v3.2
-	     * @param aPropertyArray property array
-	     * @param on return, service Ids with same properties
-	     * @return error code
-	     */
-	    void FindServiceIdsFromPropertiesL( const RPropertyArray& aPropertyArray, RIdArray& aServiceIds );
-	                                   
-	    /**
-	     * Check feature is supported or not
-	     *
-	     * @since S60 v3.2
-	     * @return SIP VoIP software version
-	     */
-	    TBool IsFeatureSupportedL( TSPServiceFeature aFeature, 
-	                               TBool aWriteAllowed );
-	    
-	    
-	    /**
-	     * When service table is changed, update the P&S key
-	     *
-	     * @since S60 v3.2
-	     */
-	    void UpdateSupportFeaturePSKeyL();
+        /**
+         * Deletes service properties by service ID and property name.
+         *
+         * @since S60 v3.2
+         * @param aServiceId The service ID of requested service entry
+         * @param aNameArray name of properties to be deleted
+         * @return error code
+         */
+        TInt DeleteServicePropertiesL( TServiceId aServiceId,
+                                       const RPropertyNameArray& aNameArray );
+                                       
+        /**
+         * Find service IDs with same properties
+         *
+         * @since S60 v3.2
+         * @param aPropertyArray property array
+         * @param on return, service Ids with same properties
+         * @return error code
+         */
+        void FindServiceIdsFromPropertiesL( const RPropertyArray& aPropertyArray, RIdArray& aServiceIds );
+                                       
+        /**
+         * Check feature is supported or not
+         *
+         * @since S60 v3.2
+         * @return SIP VoIP software version
+         */
+        TBool IsFeatureSupportedL( TSPServiceFeature aFeature, 
+                                   TBool aWriteAllowed );
+        
+        
+        /**
+         * When service table is changed, update the P&S key
+         *
+         * @since S60 v3.2
+         */
+        void UpdateSupportFeaturePSKeyL();
 
-	    /**
-	     * Check if it is VoIP Service ID
-	     *
-	     * @since S60 v3.2.3
-	     * @return ETrue if yes
-	     */
-		TBool IsVoIPServiceL( TServiceId aServiceId );
+        /**
+         * Check if it is VoIP Service ID
+         *
+         * @since S60 v3.2.3
+         * @return ETrue if yes
+         */
+        TBool IsVoIPServiceL( TServiceId aServiceId );
 
-	    /**		
-	     * Get Name array from Property array
-	     *
-	     * @since S60 v3.2.3
-	     */
-		void NameArrayFromPropertyArrayL( RPropertyNameArray& aNameArray, const RPropertyArray& aPropertyArray );
+        /**     
+         * Get Name array from Property array
+         *
+         * @since S60 v3.2.3
+         */
+        void NameArrayFromPropertyArrayL( RPropertyNameArray& aNameArray, const RPropertyArray& aPropertyArray );
 
-	    /**
-	     * Check if an array has call related property name in it
-	     *
-	     * @since S60 v3.2.3
-	     * @return ETrue if yes
-	     */
-		TBool HasCallPropertyName( const RPropertyNameArray& aNameArray );
-		
-	    /**
-	     * Check if an array has VoIP or Vmbx related property name in it
-	     *
-	     * @since S60 v3.2.3
-	     * @return ETrue if yes
-	     */
-		TBool HasVoIPAndVmbxPropertyName(  const RPropertyNameArray& aNameArray );
-		
-	private:
+        /**
+         * Check if an array has call related property name in it
+         *
+         * @since S60 v3.2.3
+         * @return ETrue if yes
+         */
+        TBool HasCallPropertyName( const RPropertyNameArray& aNameArray );
+        
+        /**
+         * Check if an array has VoIP or Vmbx related property name in it
+         *
+         * @since S60 v3.2.3
+         * @return ETrue if yes
+         */
+        TBool HasVoIPAndVmbxPropertyName(  const RPropertyNameArray& aNameArray );
+        
+    private:
 
-	    /**
-	    * C++ default constructor.
-	    */
-	    CSPSettingsEngine();
+        /**
+        * C++ default constructor.
+        */
+        CSPSettingsEngine();
 
-	    /**
-	    * By default Symbian 2nd phase constructor is private.
-	    */
-	    void ConstructL();
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
 
 
-	    /**
-	     * Walk through all the sevices and check there is any service match 
-	     *
-	     * @since S60 v3.2
-	     * @param aMask attribute mask 
-	     * @param aValue value to be checked
-	     */
-	    TBool CheckFeatureL( TInt aMask, TInt aValue );
-	    
+        /**
+         * Walk through all the sevices and check there is any service match 
+         *
+         * @since S60 v3.2
+         * @param aMask attribute mask 
+         * @param aValue value to be checked
+         */
+        TBool CheckFeatureL( TInt aMask, TInt aValue );
+        
         
         void ConvertSpEntryToCenRepArrayL( const CSPEntry& aEntry, 
                                            RIpAppPropArray& aArray );
@@ -283,9 +283,9 @@
                                              RPropertyNameArray& aNameArray );
                                            
         static void CleanupPointerArray( TAny* aPointer );
-	    
-	    
-	private: // data
+        
+        
+    private: // data
 
         CCenRepDatabaseUtil* iCenRepUtils;
     };
--- a/convergedcallengine/spsettings/src/spentry.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/src/spentry.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -233,7 +233,7 @@
 // ---------------------------------------------------------------------------
 //
 EXPORT_C TInt CSPEntry::GetProperty( const CSPProperty*& aProperty, 
-    								TServicePropertyName aPropertyName ) const
+                                    TServicePropertyName aPropertyName ) const
     {
     TInt index = SearchProperty( aPropertyName );
 
@@ -254,7 +254,7 @@
 // ---------------------------------------------------------------------------
 //
 EXPORT_C TInt CSPEntry::GetProperty( const CSPProperty*& aProperty, 
-    								TInt aIndex ) const
+                                    TInt aIndex ) const
     {
     if ( iPropertyArray.Count() > aIndex && 0 <= aIndex )
         {
@@ -347,9 +347,9 @@
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CSPEntry::Reset()
-	{
-	iServiceId = KSPNoId;
-	iServiceName.Close();
-	iPropertyArray.ResetAndDestroy();
-	}
+    {
+    iServiceId = KSPNoId;
+    iServiceName.Close();
+    iPropertyArray.ResetAndDestroy();
+    }
 
--- a/convergedcallengine/spsettings/src/spnotifychange.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/src/spnotifychange.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -81,7 +81,7 @@
     XSPSLOGSTRING( "CSPNotifyChange::~CSPNotifyChange() - IN" );
     delete iData;
     Cancel();
-	iIdArray.Reset();   
+    iIdArray.Reset();   
     iIdArray.Close();
     iProperty.Close();
     
@@ -138,7 +138,7 @@
 
     array.Close();
 
-	XSPSLOGSTRING( "CSPNotifyChange::RunL() - OUT" );
+    XSPSLOGSTRING( "CSPNotifyChange::RunL() - OUT" );
     }
 
 // ---------------------------------------------------------------------------
@@ -146,52 +146,52 @@
 // ---------------------------------------------------------------------------
 //
 TInt CSPNotifyChange::RunError( TInt aError )
-	{
-	XSPSLOGSTRING( "CSPNotifyChange::RunError() - IN" );
-	
-	iObserver.HandleError( aError );
+    {
+    XSPSLOGSTRING( "CSPNotifyChange::RunError() - IN" );
+    
+    iObserver.HandleError( aError );
     
-	Subscribe();
+    Subscribe();
+    
+    XSPSLOGSTRING( "CSPNotifyChange::RunError() - OUT" );
     
-	XSPSLOGSTRING( "CSPNotifyChange::RunError() - OUT" );
-	
-	return KErrNone;
-	}
-	
+    return KErrNone;
+    }
+    
 // ---------------------------------------------------------------------------
 // 
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CSPNotifyChange::NotifyChangeL( const RIdArray& aIdArray )
-	{
-	XSPSLOGSTRING( "CSPNotifyChange::NotifyChangeL() - IN" );
-	
-	iIdArray.Reset();
-	
-	TInt count = aIdArray.Count();
-	
-	for( TInt i = 0; i < count; i++)
-		{
-		User::LeaveIfError( iIdArray.Append( aIdArray[i] ) );
-		}
-		
-	Subscribe();
-		
-	XSPSLOGSTRING( "CSPNotifyChange::NotifyChangeL() - OUT" );
-	}
+    {
+    XSPSLOGSTRING( "CSPNotifyChange::NotifyChangeL() - IN" );
+    
+    iIdArray.Reset();
+    
+    TInt count = aIdArray.Count();
+    
+    for( TInt i = 0; i < count; i++)
+        {
+        User::LeaveIfError( iIdArray.Append( aIdArray[i] ) );
+        }
+        
+    Subscribe();
+        
+    XSPSLOGSTRING( "CSPNotifyChange::NotifyChangeL() - OUT" );
+    }
 
 // ---------------------------------------------------------------------------
 // 
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CSPNotifyChange::NotifyChangeCancel()
-	{
-	XSPSLOGSTRING( "CSPNotifyChange::NotifyChangeCancel() - IN" );
-	
-	Cancel();
-	
-	XSPSLOGSTRING( "CSPNotifyChange::NotifyChangeCancel() - OUT" );
-	}
+    {
+    XSPSLOGSTRING( "CSPNotifyChange::NotifyChangeCancel() - IN" );
+    
+    Cancel();
+    
+    XSPSLOGSTRING( "CSPNotifyChange::NotifyChangeCancel() - OUT" );
+    }
 
 // ---------------------------------------------------------------------------
 // 
--- a/convergedcallengine/spsettings/src/spproperty.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/src/spproperty.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -166,21 +166,21 @@
     TInt value;
     TInt err = convert.Val( value );
     if( err == KErrNone )
-    	{
-    	if( value != EOONotSet && value != EOff && value != EOn )
-    		{
-    		return KErrOverflow;
-    		}
-    	else
-    		{
-    		aValue = static_cast<TOnOff>( value );
-    		return KErrNone;
-    		}
-    	}
+        {
+        if( value != EOONotSet && value != EOff && value != EOn )
+            {
+            return KErrOverflow;
+            }
+        else
+            {
+            aValue = static_cast<TOnOff>( value );
+            return KErrNone;
+            }
+        }
     else 
-    	{
-    	return err;
-    	}
+        {
+        return err;
+        }
     }
 
 
@@ -253,15 +253,15 @@
 EXPORT_C void CSPProperty::CopyL( const CSPProperty& aSource )
     {
     if( this != &aSource )
-    	{
-    	User::LeaveIfError( SetName( aSource.GetName() ) );
-	    SetDataType( aSource.GetDataType() );
-	    SetPropertyType( aSource.GetPropertyType() );
+        {
+        User::LeaveIfError( SetName( aSource.GetName() ) );
+        SetDataType( aSource.GetDataType() );
+        SetPropertyType( aSource.GetPropertyType() );
 
-	    iPropertyValue.Close();
-	    User::LeaveIfError( iPropertyValue.Create( KSPMaxDesLength ) );
-	    User::LeaveIfError( aSource.GetValue( iPropertyValue ) );
-    	}
+        iPropertyValue.Close();
+        User::LeaveIfError( iPropertyValue.Create( KSPMaxDesLength ) );
+        User::LeaveIfError( aSource.GetValue( iPropertyValue ) );
+        }
     }
 
 
@@ -317,38 +317,38 @@
 EXPORT_C TSPItemType CSPProperty::PropertyType( TServicePropertyName aProperty )
     {
     if ( ( aProperty >= ESubPropertyVoIPSettingsId && aProperty <= ESubPropertyVoIPTemporaryIAPId ) ||
-    		( aProperty >= ESubPropertyVoIPRelNumber && aProperty <= ESubPropertyVoIPAddrScheme  ) ||
-    		( aProperty >= ESubPropertyVoIPEnabled && aProperty <= ESubPropertyVoIPEnabled  ) )
+            ( aProperty >= ESubPropertyVoIPRelNumber && aProperty <= ESubPropertyVoIPAddrScheme  ) ||
+            ( aProperty >= ESubPropertyVoIPEnabled && aProperty <= ESubPropertyVoIPEnabled  ) )
         {
         return EItemTypeVoIPSubProperty;
         }
     else if ( ( aProperty >= ESubPropertyPresenceSettingsId && aProperty <= ESubPropertyPresenceLaunchUid ) ||
-    		( aProperty >= ESubPropertyPresenceAddrScheme && aProperty <= ESubPropertyPresenceAddrScheme ) ||
-    		( aProperty >= ESubPropertyPresenceEnabled && aProperty <= ESubPropertyPresenceRequestPreference ) )
+            ( aProperty >= ESubPropertyPresenceAddrScheme && aProperty <= ESubPropertyPresenceAddrScheme ) ||
+            ( aProperty >= ESubPropertyPresenceEnabled && aProperty <= ESubPropertyPresenceRequestPreference ) )
         {
         return EItemTypePresenceSubProperty;
         }
     else if ( ( aProperty >= ESubPropertyIMSettingsId && aProperty <= ESubPropertyIMLaunchUid ) ||
-    		( aProperty >= ESubPropertyIMAddrScheme && aProperty <= ESubPropertyIMAddrScheme ) ||
-    		( aProperty >= ESubPropertyIMEnabled && aProperty <= ESubPropertyIMEnabled ) )
+            ( aProperty >= ESubPropertyIMAddrScheme && aProperty <= ESubPropertyIMAddrScheme ) ||
+            ( aProperty >= ESubPropertyIMEnabled && aProperty <= ESubPropertyIMEnabled ) )
         {
         return EItemTypeIMSubProperty;
         }
     else if ( ( aProperty >= ESubPropertyVMBXSettingsId && aProperty <= ESubPropertyVMBXLaunchUid ) ||
-    		( aProperty >= ESubPropertyVMBXListenAddress && aProperty <= ESubPropertyVMBXAddrScheme ) ||
-    		( aProperty >= ESubPropertyVMBXListenRegister && aProperty <= ESubPropertyVMBXEnabled ) )
+            ( aProperty >= ESubPropertyVMBXListenAddress && aProperty <= ESubPropertyVMBXAddrScheme ) ||
+            ( aProperty >= ESubPropertyVMBXListenRegister && aProperty <= ESubPropertyVMBXEnabled ) )
         {
         return EItemTypeVMBXSubProperty;
         }
     else if( ( aProperty >= EPropertyServiceAttributeMask && aProperty <= EPropertyRingtoneTimeout ) ||
-    		 ( aProperty >= EPropertyBrandId && aProperty <= EPropertyIncomingEmailserver ) )
+             ( aProperty >= EPropertyBrandId && aProperty <= EPropertyIncomingEmailserver ) )
         {
         return EItemTypeProperty;
         }
     else
-    	{
-    	return EItemTypeNotDefined;
-    	}
+        {
+        return EItemTypeNotDefined;
+        }
     }
 
 
@@ -363,17 +363,17 @@
     RBuf tmp;
     TInt err = tmp.Create( KSPMaxDesLength );
     if( err != KErrNone )
-    	{
-    	return EFalse;
-    	}
+        {
+        return EFalse;
+        }
     err = aProperty.GetValue( tmp );
     if( err != KErrNone )
-    	{
-    	return EFalse;
-    	}
+        {
+        return EFalse;
+        }
     
     result = ( iPropertyType == aProperty.GetPropertyType() &&
-    		   iPropertyName == aProperty.GetName() &&
+               iPropertyName == aProperty.GetName() &&
                iDataType == aProperty.GetDataType() &&
                0 == iPropertyValue.Compare( tmp ) );
     tmp.Close();
@@ -387,19 +387,19 @@
 // ---------------------------------------------------------------------------
 //
 EXPORT_C TSPItemType CSPProperty::GetPropertyType() const
-	{
-	return iPropertyType;
-	}
+    {
+    return iPropertyType;
+    }
 
 // ---------------------------------------------------------------------------
 // Set default value for property
 // ---------------------------------------------------------------------------
 //
 TInt CSPProperty::SetPropertyType( TSPItemType aPropertyType )
-	{
-	iPropertyType = aPropertyType;
-	
-	return KErrNone;
-	}
-	
+    {
+    iPropertyType = aPropertyType;
+    
+    return KErrNone;
+    }
+    
 
--- a/convergedcallengine/spsettings/src/spsbufferedpublisher.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/src/spsbufferedpublisher.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -142,7 +142,7 @@
         }
     
     // Start reading
-    while( lastModified != iIndex )
+    while( lastModified != iIndex ) 
         {
         iIndex++;
         
@@ -151,8 +151,7 @@
             // Skip index if real index is same as KRealGlobalIndex
             iIndex++;
             }
-
-        aData.Append( At(data, iIndex) );
+        aData.AppendL( At(data, iIndex) );
         }
 
     }
--- a/convergedcallengine/spsettings/src/spsettingsengine.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/src/spsettingsengine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 #include <centralrepository.h>
 #include <e32property.h>
 #include <featmgr.h>
-#include <settingsinternalcrkeys.h>
+#include <settingsinternalcrkeys.h> 
 #include <cenrepdatabaseutil.h>
 
 #include "spsettingsengine.h"
@@ -192,10 +192,10 @@
     }
     
 void CSPSettingsEngine::CleanupPointerArray(  TAny* aPointer )
-	{
-	RIpAppPropArray* array = static_cast<RIpAppPropArray*>( aPointer );
-	array->ResetAndDestroy();
-	}
+    {
+    RIpAppPropArray* array = static_cast<RIpAppPropArray*>( aPointer );
+    array->ResetAndDestroy();
+    }
 
 // ---------------------------------------------------------------------------
 // Stores new service provider settings entry
@@ -207,14 +207,14 @@
     
     // check the service name is not empty
     if( aEntry.GetServiceName().Length() == 0 )
-    	{
-    	User::LeaveIfError( KErrArgument );
-    	}
+        {
+        User::LeaveIfError( KErrArgument );
+        }
 
     // construct RIpAppPropArray
     RIpAppPropArray array;
-	TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
-	CleanupStack::PushL( cleanup );
+    TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
+    CleanupStack::PushL( cleanup );
     
     ConvertSpEntryToCenRepArrayL( aEntry, array );
 
@@ -237,8 +237,8 @@
     XSPSLOGSTRING2( "CSPSettingsEngine::FindEntryL( %d ) - IN", aServiceId );
     
     RIpAppPropArray array;
-	TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
-	CleanupStack::PushL( cleanup );
+    TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
+    CleanupStack::PushL( cleanup );
 
     TInt err = iCenRepUtils->FindEntryL( aServiceId, array );
     
@@ -292,21 +292,21 @@
 
     // construct RIpAppPropArray
     RIpAppPropArray array;
-	TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
-	CleanupStack::PushL( cleanup );
+    TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
+    CleanupStack::PushL( cleanup );
     
     ConvertSpEntryToCenRepArrayL( aEntry, array );
 
     TInt err = iCenRepUtils->UpdateEntryL( (TInt) serviceId, array );
     
     CleanupStack::PopAndDestroy( &array );
-	
+    
     XSPSLOGSTRING( "CSPSettingsEngine::UpdateEntry() - OUT" );
     
     return err;
     }
 
-	
+    
 // ---------------------------------------------------------------------------
 // Deletes service provider settings entry by service ID
 // ---------------------------------------------------------------------------
@@ -328,8 +328,8 @@
 // ---------------------------------------------------------------------------
 //
 TInt CSPSettingsEngine::FindPropertyL( TServiceId aServiceId, 
-    								   TServicePropertyName aPropertyName, 
-    								   CSPProperty& aProperty )
+                                       TServicePropertyName aPropertyName, 
+                                       CSPProperty& aProperty )
     {
     XSPSLOGSTRING2( "CSPSettingsEngine::FindPropertyL(%d) - IN", aServiceId );
 
@@ -355,14 +355,14 @@
 // ---------------------------------------------------------------------------
 //
 TInt CSPSettingsEngine::AddOrUpdatePropertiesL( TServiceId aServiceId,
-												const RPropertyArray& aPropertyArray )
+                                                const RPropertyArray& aPropertyArray )
     {
     XSPSLOGSTRING2( "CSPSettingsEngine::AddOrUpdatePropertiesL(%d) - IN", aServiceId );
 
     // construct RIpAppPropArray
     RIpAppPropArray array;
-	TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
-	CleanupStack::PushL( cleanup );
+    TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
+    CleanupStack::PushL( cleanup );
     
     ConvertSpArrayToCenRepArrayL( aPropertyArray, array );
     
@@ -543,7 +543,7 @@
 // ---------------------------------------------------------------------------
 //
 TInt CSPSettingsEngine::FindSubServicePropertiesL( TServiceId aServiceId, 
-	TSPItemType aPropertyType,
+    TSPItemType aPropertyType,
     RPropertyArray& aPropertyArray )
     {
     XSPSLOGSTRING2( 
@@ -586,7 +586,7 @@
 // ---------------------------------------------------------------------------
 //
 TInt CSPSettingsEngine::DeleteServicePropertiesL( TServiceId aServiceId,
-    											  const RPropertyNameArray& aNameArray  )
+                                                  const RPropertyNameArray& aNameArray  )
     {
     XSPSLOGSTRING2( 
         "CSPSettingsEngine::FindSubServicePropertyL( %d ) - IN", aServiceId );
@@ -616,16 +616,16 @@
 // ---------------------------------------------------------------------------
 //
 void CSPSettingsEngine::FindServiceIdsFromPropertiesL( const RPropertyArray& aPropertyArray, 
-													   RIdArray& aServiceIds )
-	{
-	XSPSLOGSTRING( "CSPSettingsEngine::FindServiceIdsFromPropertiesL() - IN" );
-	
+                                                       RIdArray& aServiceIds )
+    {
+    XSPSLOGSTRING( "CSPSettingsEngine::FindServiceIdsFromPropertiesL() - IN" );
+    
     RArray<TInt> entryIds;
     CleanupClosePushL( entryIds );
     
     RIpAppPropArray array;
-	TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
-	CleanupStack::PushL( cleanup );
+    TCleanupItem cleanup( CSPSettingsEngine::CleanupPointerArray, &array );
+    CleanupStack::PushL( cleanup );
     
     // todo custom cleanup stack
     ConvertSpArrayToCenRepArrayL( aPropertyArray, array );  
@@ -647,8 +647,8 @@
     CleanupStack::PopAndDestroy( &array );
     CleanupStack::PopAndDestroy( &entryIds );
     
-	XSPSLOGSTRING( "CSPSettingsEngine::FindServiceIdsFromPropertiesL() - OUT" );
-	}
+    XSPSLOGSTRING( "CSPSettingsEngine::FindServiceIdsFromPropertiesL() - OUT" );
+    }
 
 
 
@@ -658,214 +658,214 @@
 //
 TBool CSPSettingsEngine::IsFeatureSupportedL( TSPServiceFeature aFeature,
                                               TBool aWriteAllowed )
-	{
+    {
     XSPSLOGSTRING( "CSPSettingsEngine::IsFeatureSupportedL() - IN" );
 
     TBool ret = EFalse;
     
-	// First check P&S key, if P&S key is defined, use the value from P&S key.
-	// if not defined, then walk through all the sevices and check there is any service match
-	TInt mask = 0;
-	TInt value = 0;
-	TInt psFlag = 0;
-	TInt retProperty = 0;
-	
+    // First check P&S key, if P&S key is defined, use the value from P&S key.
+    // if not defined, then walk through all the sevices and check there is any service match
+    TInt mask = 0;
+    TInt value = 0;
+    TInt psFlag = 0;
+    TInt retProperty = 0;
+    
     switch( aFeature )
-    	{
-    	case ESupportInternetCallFeature:
-    		{
-    		retProperty = RProperty::Get( KUidSystemCategory, KSPSupportInternetCallKey, psFlag );
-    		if( retProperty == KErrNone && psFlag != KSPInitFeatureValue )
-    			{
-    			ret = psFlag;
-    			}
-    		else
-    			{
-				mask = ESupportsInternetCall | ESupportsAlphanumericAddressing | EIsVisibleInCallMenu;
-				value = mask;
-				ret = CheckFeatureL( mask, value );
-				if ( aWriteAllowed )
-				    {				    
-				    User::LeaveIfError( RProperty::Set( KUidSystemCategory, 
-				        KSPSupportInternetCallKey, ret ) );
-				    }
-    			}
-    		
-    		break;
-    		}
-    	case ESupportCallOutFeature:
-    		{
-    		retProperty = RProperty::Get( KUidSystemCategory, KSPSupportCallOutKey, psFlag );
-    		if( retProperty == KErrNone && psFlag != KSPInitFeatureValue )
-    			{
-    			ret = psFlag;
-    			}
-    		else
-    			{
-				mask = ESupportsInternetCall | ESupportsMSISDNAddressing | EIsVisibleInCallMenu;
-				value = mask;
-				ret = CheckFeatureL( mask, value );
-				if ( aWriteAllowed )
-				    {				    
-    				User::LeaveIfError( RProperty::Set( 
-    				    KUidSystemCategory, 
-    				    KSPSupportCallOutKey, ret ) );
-				    }
-    			}
-    		break;
-    		}
-    	
-    	case ESupportVoIPSSFeature:
-    		{
-    		retProperty = RProperty::Get( KUidSystemCategory, KSPSupportVoIPSSKey, psFlag );
-    		if( retProperty == KErrNone && psFlag != KSPInitFeatureValue )
-    			{
-    			ret = psFlag;
-    			}
-    		else
-    			{
-				mask = ESupportVoIPSS;
-				value = mask;
-				ret = CheckFeatureL( mask, value );
-				if ( aWriteAllowed )
-				    {				    
-    				User::LeaveIfError( RProperty::Set( 
-    				    KUidSystemCategory, 
-    				    KSPSupportVoIPSSKey, ret ) );
-				    }
-    			}
-    		break;
-    		}
-    	
-    	case ESupportVoIPFeature:
-    		{
-    		TBool bFeatureMgr = EFalse;
-    		TBool bDynVoIP = EFalse;
-    		TBool bSubVoIP = EFalse;
-    		
-    		//check FeatureManager
-    		FeatureManager::InitializeLibL();
-    		bFeatureMgr = FeatureManager::FeatureSupported( KFeatureIdCommonVoip );
-    		FeatureManager::UnInitializeLib();
-    		
-    		//check dynamic voip flag
-			CRepository* repository = CRepository::NewLC( KCRUidTelephonySettings );
-			TInt value = 0;
-			TInt err = repository->Get( KDynamicVoIP, value );
-			if( value != 0 )
-				{
-				bDynVoIP = ETrue;
-				}
-			
-			CleanupStack::PopAndDestroy( repository );
-    		
-    		//check subservice voip
-			RIdArray serviceIds;
-			CleanupClosePushL( serviceIds );
-			FindServiceIdsL( serviceIds );
-			CSPProperty* property = CSPProperty::NewLC();
-			
-			for( TInt i = 0; i < serviceIds.Count(); i++ )
-				{
-				TServiceId serviceId = serviceIds[i];
-				TInt retProperty = FindPropertyL( serviceId, EPropertyVoIPSubServicePluginId, *property );
-				if( retProperty == KErrNone )
-					{
-					bSubVoIP = ETrue;
-					break;
-					}
-				}
-			CleanupStack::PopAndDestroy( property );
-			CleanupStack::PopAndDestroy( &serviceIds );
-			
-			ret = bFeatureMgr && bDynVoIP && bSubVoIP;
-			
-    		break;
-    		}
-		default:
-			{
-			User::Leave( KErrNotSupported );    	
-			}
-    	}
+        {
+        case ESupportInternetCallFeature:
+            {
+            retProperty = RProperty::Get( KUidSystemCategory, KSPSupportInternetCallKey, psFlag );
+            if( retProperty == KErrNone && psFlag != KSPInitFeatureValue )
+                {
+                ret = psFlag;
+                }
+            else
+                {
+                mask = ESupportsInternetCall | ESupportsAlphanumericAddressing | EIsVisibleInCallMenu;
+                value = mask;
+                ret = CheckFeatureL( mask, value );
+                if ( aWriteAllowed )
+                    {                   
+                    User::LeaveIfError( RProperty::Set( KUidSystemCategory, 
+                        KSPSupportInternetCallKey, ret ) );
+                    }
+                }
+            
+            break;
+            }
+        case ESupportCallOutFeature:
+            {
+            retProperty = RProperty::Get( KUidSystemCategory, KSPSupportCallOutKey, psFlag );
+            if( retProperty == KErrNone && psFlag != KSPInitFeatureValue )
+                {
+                ret = psFlag;
+                }
+            else
+                {
+                mask = ESupportsInternetCall | ESupportsMSISDNAddressing | EIsVisibleInCallMenu;
+                value = mask;
+                ret = CheckFeatureL( mask, value );
+                if ( aWriteAllowed )
+                    {                   
+                    User::LeaveIfError( RProperty::Set( 
+                        KUidSystemCategory, 
+                        KSPSupportCallOutKey, ret ) );
+                    }
+                }
+            break;
+            }
+        
+        case ESupportVoIPSSFeature:
+            {
+            retProperty = RProperty::Get( KUidSystemCategory, KSPSupportVoIPSSKey, psFlag );
+            if( retProperty == KErrNone && psFlag != KSPInitFeatureValue )
+                {
+                ret = psFlag;
+                }
+            else
+                {
+                mask = ESupportVoIPSS;
+                value = mask;
+                ret = CheckFeatureL( mask, value );
+                if ( aWriteAllowed )
+                    {                   
+                    User::LeaveIfError( RProperty::Set( 
+                        KUidSystemCategory, 
+                        KSPSupportVoIPSSKey, ret ) );
+                    }
+                }
+            break;
+            }
+        
+        case ESupportVoIPFeature:
+            {
+            TBool bFeatureMgr = EFalse;
+            TBool bDynVoIP = EFalse;
+            TBool bSubVoIP = EFalse;
+            
+            //check FeatureManager
+            FeatureManager::InitializeLibL();
+            bFeatureMgr = FeatureManager::FeatureSupported( KFeatureIdCommonVoip );
+            FeatureManager::UnInitializeLib();
+            
+            //check dynamic voip flag
+            CRepository* repository = CRepository::NewLC( KCRUidTelephonySettings );
+            TInt value = 0;
+            TInt err = repository->Get( KDynamicVoIP, value );
+            if( value != 0 )
+                {
+                bDynVoIP = ETrue;
+                }
+            
+            CleanupStack::PopAndDestroy( repository );
+            
+            //check subservice voip
+            RIdArray serviceIds;
+            CleanupClosePushL( serviceIds );
+            FindServiceIdsL( serviceIds );
+            CSPProperty* property = CSPProperty::NewLC();
+            
+            for( TInt i = 0; i < serviceIds.Count(); i++ )
+                {
+                TServiceId serviceId = serviceIds[i];
+                TInt retProperty = FindPropertyL( serviceId, EPropertyVoIPSubServicePluginId, *property );
+                if( retProperty == KErrNone )
+                    {
+                    bSubVoIP = ETrue;
+                    break;
+                    }
+                }
+            CleanupStack::PopAndDestroy( property );
+            CleanupStack::PopAndDestroy( &serviceIds );
+            
+            ret = bFeatureMgr && bDynVoIP && bSubVoIP;
+            
+            break;
+            }
+        default:
+            {
+            User::Leave( KErrNotSupported );        
+            }
+        }
     
     XSPSLOGSTRING( "CSPSettingsEngine::IsFeatureSupportedL() - OUT" );
 
     return ret;
-	}
+    }
 
 // ---------------------------------------------------------------------------
 // When service table is changed, update the P&S key
 // ---------------------------------------------------------------------------
 //
 void CSPSettingsEngine::UpdateSupportFeaturePSKeyL()
-	{
-	TInt mask = 0;
-	TInt value = 0;
-	TBool ret = EFalse;
-	
-	//ESupportInternetCallFeature
-	//ESupportsInternetCall + ESupportsAlphanumericAddressing + EIsVisibleInCallMenu
-	mask = ESupportsInternetCall | ESupportsAlphanumericAddressing | EIsVisibleInCallMenu;
-	value = mask;
-	ret = CheckFeatureL( mask, value );
-	User::LeaveIfError( RProperty::Set( KUidSystemCategory, KSPSupportInternetCallKey, ret ) );
-	
-	//ESupportCallOutFeature
-	//ESupportsInternetCall + ESupportsMSISDNAddressing + EIsVisibleInCallMenu
-	mask = ESupportsInternetCall | ESupportsMSISDNAddressing | EIsVisibleInCallMenu;
-	value = mask;
-	ret = CheckFeatureL( mask, value );
-	User::LeaveIfError( RProperty::Set( KUidSystemCategory, KSPSupportCallOutKey, ret ) );
-	
-	//ESupportVoIPSSFeature
-	//ESupportVoIPSS
-	mask = ESupportVoIPSS;
-	value = mask;
-	ret = CheckFeatureL( mask, value );
-	User::LeaveIfError( RProperty::Set( KUidSystemCategory, KSPSupportVoIPSSKey, ret ) );
-	}
+    {
+    TInt mask = 0;
+    TInt value = 0;
+    TBool ret = EFalse;
+    
+    //ESupportInternetCallFeature
+    //ESupportsInternetCall + ESupportsAlphanumericAddressing + EIsVisibleInCallMenu
+    mask = ESupportsInternetCall | ESupportsAlphanumericAddressing | EIsVisibleInCallMenu;
+    value = mask;
+    ret = CheckFeatureL( mask, value );
+    User::LeaveIfError( RProperty::Set( KUidSystemCategory, KSPSupportInternetCallKey, ret ) );
+    
+    //ESupportCallOutFeature
+    //ESupportsInternetCall + ESupportsMSISDNAddressing + EIsVisibleInCallMenu
+    mask = ESupportsInternetCall | ESupportsMSISDNAddressing | EIsVisibleInCallMenu;
+    value = mask;
+    ret = CheckFeatureL( mask, value );
+    User::LeaveIfError( RProperty::Set( KUidSystemCategory, KSPSupportCallOutKey, ret ) );
+    
+    //ESupportVoIPSSFeature
+    //ESupportVoIPSS
+    mask = ESupportVoIPSS;
+    value = mask;
+    ret = CheckFeatureL( mask, value );
+    User::LeaveIfError( RProperty::Set( KUidSystemCategory, KSPSupportVoIPSSKey, ret ) );
+    }
 
 // ---------------------------------------------------------------------------
 // Walk through all the sevices and check there is any service match 
 // ---------------------------------------------------------------------------
 //
 TBool CSPSettingsEngine::CheckFeatureL( TInt aMask, TInt aValue )
-	{
-	RArray<TInt> entryIds;
-	CleanupClosePushL( entryIds );
-	iCenRepUtils->FindEntryIdsL( entryIds );
-	CCenRepDatabaseProperty* property = CCenRepDatabaseProperty::NewLC();
-	TBool ret = EFalse;
-	
-	for( TInt i = 0; i < entryIds.Count(); i++ )
-		{
-		TInt entryId = entryIds[i];
-		if( entryId == KSPDefaultVoIPServiceId )
-		    {
-		    continue;
-		    }
-		    
-		TInt retProperty = iCenRepUtils->FindPropertyL( entryId, EPropertyServiceAttributeMask, *property );
-		if( retProperty == KErrNone )
-			{
-			TInt maskValue = 0;
-			TInt err = property->GetValue( maskValue );
-			if( err == KErrNone )
-				{
-				if( ( maskValue & aMask ) == (aValue & aMask) )
-					{
-					// Find matched servcie
-					ret = ETrue;
-					break;
-					}
-				}
-			}
-		}
-	
-	CleanupStack::PopAndDestroy( property );
-	CleanupStack::PopAndDestroy( &entryIds );
-	return ret;
-	}
+    {
+    RArray<TInt> entryIds;
+    CleanupClosePushL( entryIds );
+    iCenRepUtils->FindEntryIdsL( entryIds );
+    CCenRepDatabaseProperty* property = CCenRepDatabaseProperty::NewLC();
+    TBool ret = EFalse;
+    
+    for( TInt i = 0; i < entryIds.Count(); i++ )
+        {
+        TInt entryId = entryIds[i];
+        if( entryId == KSPDefaultVoIPServiceId )
+            {
+            continue;
+            }
+            
+        TInt retProperty = iCenRepUtils->FindPropertyL( entryId, EPropertyServiceAttributeMask, *property );
+        if( retProperty == KErrNone )
+            {
+            TInt maskValue = 0;
+            TInt err = property->GetValue( maskValue );
+            if( err == KErrNone )
+                {
+                if( ( maskValue & aMask ) == (aValue & aMask) )
+                    {
+                    // Find matched servcie
+                    ret = ETrue;
+                    break;
+                    }
+                }
+            }
+        }
+    
+    CleanupStack::PopAndDestroy( property );
+    CleanupStack::PopAndDestroy( &entryIds );
+    return ret;
+    }
 
 // ---------------------------------------------------------------------------
 // Check if it is VoIP Service ID
@@ -960,7 +960,7 @@
 // ---------------------------------------------------------------------------
 //
 void CSPSettingsEngine::NameArrayFromPropertyArrayL( RPropertyNameArray& aNameArray, 
-												const RPropertyArray& aPropertyArray )
+                                                const RPropertyArray& aPropertyArray )
     {
     aNameArray.Reset();
     
--- a/convergedcallengine/spsettings/src/spsettingsvoiputils.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/convergedcallengine/spsettings/src/spsettingsvoiputils.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -26,7 +26,7 @@
 
 #include <featmgr.h>
 #include <centralrepository.h>
-#include <settingsinternalcrkeys.h>
+#include <settingsinternalcrkeys.h> 
 
 #include "spsapilogger.h" // For logging
 
@@ -124,8 +124,8 @@
             }
             
         err = iSettingsEngine->FindPropertyL( id,
-	                                          EPropertyVoIPSubServicePluginId,
-	                                          *property );
+                                              EPropertyVoIPSubServicePluginId,
+                                              *property );
 
         profileExists = ( KErrNone == err ? ETrue : EFalse );
         }
--- a/engines/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +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: Build file for engines.
-*
-*/
-
-
-#include "../vmbxengine/group/bld.inf"
-
-
-// End of File
--- a/engines/vmbxengine/EABI/VMBXU.DEF	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-EXPORTS
-	_ZN11RVmbxNumber11IsSimMemoryEv @ 1 NONAME
-	_ZN11RVmbxNumber11SelectTypeLEi @ 2 NONAME
-	_ZN11RVmbxNumber12QueryNumberLE14TVmbxQueryTypeR6TDes16i @ 3 NONAME
-	_ZN11RVmbxNumber13GetVmbxNumberER6TDes1616TVmbxNumberEntry @ 4 NONAME
-	_ZN11RVmbxNumber13QueryAddressLE14TVmbxQueryTypeR6TDes16 @ 5 NONAME
-	_ZN11RVmbxNumber14SaveVmbxNumberERK7TDesC1616TVmbxNumberEntry @ 6 NONAME
-	_ZN11RVmbxNumber15GetVmbxAddressLER6TDes16 @ 7 NONAME
-	_ZN11RVmbxNumber16SaveVmbxAddressLER6TDes16 @ 8 NONAME
-	_ZN11RVmbxNumber17GetVideoMbxNumberER6TDes1616TVmbxNumberEntry @ 9 NONAME
-	_ZN11RVmbxNumber18SaveVideoMbxNumberERK7TDesC1616TVmbxNumberEntry @ 10 NONAME
-	_ZN11RVmbxNumber19IsVoIPProfilesFoundEv @ 11 NONAME
-	_ZN11RVmbxNumber20NotifyAlsLineChangeLEP16MVmbxAlsObserver @ 12 NONAME
-	_ZN11RVmbxNumber20QueryVideoMbxNumberLE14TVmbxQueryTypeR6TDes16 @ 13 NONAME
-	_ZN11RVmbxNumber23NotifyVmbxNumberChangeLEP18MVmbxNotifyHandleri @ 14 NONAME
-	_ZN11RVmbxNumber24AllowedToChangeTheNumberEv @ 15 NONAME
-	_ZN11RVmbxNumber25NotifyAlsLineChangeCancelEv @ 16 NONAME
-	_ZN11RVmbxNumber28NotifyVmbxNumberChangeCancelEv @ 17 NONAME
-	_ZN11RVmbxNumber4OpenER12RMobilePhone @ 18 NONAME
-	_ZN11RVmbxNumber4OpenEv @ 19 NONAME
-	_ZN11RVmbxNumber5CloseEv @ 20 NONAME
-	_ZN11RVmbxNumberC1Ev @ 21 NONAME
-	_ZN11RVmbxNumberC2Ev @ 22 NONAME
-	_ZN11RVmbxNumberD0Ev @ 23 NONAME
-	_ZN11RVmbxNumberD1Ev @ 24 NONAME
-	_ZN11RVmbxNumberD2Ev @ 25 NONAME
-	_ZNK11RVmbxNumber10GetAlsLineERi @ 26 NONAME
-	_ZTI11RVmbxNumber @ 27 NONAME ; #<TI>#
-	_ZTI17CVMSimQueryDilaog @ 28 NONAME ; #<TI>#
-	_ZTI18CVmTextQueryDialog @ 29 NONAME ; #<TI>#
-	_ZTV11RVmbxNumber @ 30 NONAME ; #<VT>#
-	_ZTV17CVMSimQueryDilaog @ 31 NONAME ; #<VT>#
-	_ZTV18CVmTextQueryDialog @ 32 NONAME ; #<VT>#
-	_ZThn8_N11RVmbxNumberD0Ev @ 33 NONAME ; #<thunk>#
-	_ZThn8_N11RVmbxNumberD1Ev @ 34 NONAME ; #<thunk>#
-	_ZN11RVmbxNumber13GetServiceIdsER6RArrayIjE @ 35 NONAME
-	_ZN11RVmbxNumber14GetServiceInfoER16TVmbxServiceInfo @ 36 NONAME
-	_ZN11RVmbxNumber11SelectTypeLEiRj @ 37 NONAME
-	_ZN11RVmbxNumber14GetVmbxAddressER6TDes16j @ 38 NONAME
-	_ZN11RVmbxNumber15GetBrandedIconLERK6TDesC8RP10CFbsBitmapS5_ @ 39 NONAME
-	_ZN11RVmbxNumber19NotifyServiceChangeEP21MServiceNotifyHandler @ 40 NONAME
-	_ZN11RVmbxNumber22ConstructDefaultIconsLEP9CArrayPtrI8CGulIconE @ 41 NONAME
-	_ZN11RVmbxNumber24IsIpVoiceMailboxServicesEv @ 42 NONAME
-	_ZN11RVmbxNumber25NotifyServiceChangeCancelEv @ 43 NONAME
-	_ZN11RVmbxNumber8BrandIdLEiR5TDes8 @ 44 NONAME
-	_ZTI18CVmListQueryDialog @ 45 NONAME ; #<TI>#
-	_ZTV18CVmListQueryDialog @ 46 NONAME ; #<VT>#
-
--- a/engines/vmbxengine/bwins/VMBXU.DEF	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-EXPORTS
-	??0RVmbxNumber@@QAE@XZ @ 1 NONAME ; RVmbxNumber::RVmbxNumber(void)
-	??1RVmbxNumber@@UAE@XZ @ 2 NONAME ; RVmbxNumber::~RVmbxNumber(void)
-	?AllowedToChangeTheNumber@RVmbxNumber@@QAEHXZ @ 3 NONAME ; int RVmbxNumber::AllowedToChangeTheNumber(void)
-	?Close@RVmbxNumber@@QAEXXZ @ 4 NONAME ; void RVmbxNumber::Close(void)
-	?GetAlsLine@RVmbxNumber@@QBEHAAH@Z @ 5 NONAME ; int RVmbxNumber::GetAlsLine(int &) const
-	?GetVideoMbxNumber@RVmbxNumber@@QAEHAAVTDes16@@W4TVmbxNumberEntry@@@Z @ 6 NONAME ; int RVmbxNumber::GetVideoMbxNumber(class TDes16 &, enum TVmbxNumberEntry)
-	?GetVmbxAddressL@RVmbxNumber@@QAEHAAVTDes16@@@Z @ 7 NONAME ; int RVmbxNumber::GetVmbxAddressL(class TDes16 &)
-	?GetVmbxNumber@RVmbxNumber@@QAEHAAVTDes16@@W4TVmbxNumberEntry@@@Z @ 8 NONAME ; int RVmbxNumber::GetVmbxNumber(class TDes16 &, enum TVmbxNumberEntry)
-	?IsSimMemory@RVmbxNumber@@QAEHXZ @ 9 NONAME ; int RVmbxNumber::IsSimMemory(void)
-	?IsVoIPProfilesFound@RVmbxNumber@@QAEHXZ @ 10 NONAME ; int RVmbxNumber::IsVoIPProfilesFound(void)
-	?NotifyAlsLineChangeCancel@RVmbxNumber@@QAEXXZ @ 11 NONAME ; void RVmbxNumber::NotifyAlsLineChangeCancel(void)
-	?NotifyAlsLineChangeL@RVmbxNumber@@QAEXPAVMVmbxAlsObserver@@@Z @ 12 NONAME ; void RVmbxNumber::NotifyAlsLineChangeL(class MVmbxAlsObserver *)
-	?NotifyVmbxNumberChangeCancel@RVmbxNumber@@QAEXXZ @ 13 NONAME ; void RVmbxNumber::NotifyVmbxNumberChangeCancel(void)
-	?NotifyVmbxNumberChangeL@RVmbxNumber@@QAEXPAVMVmbxNotifyHandler@@H@Z @ 14 NONAME ; void RVmbxNumber::NotifyVmbxNumberChangeL(class MVmbxNotifyHandler *, int)
-	?Open@RVmbxNumber@@QAEHAAVRMobilePhone@@@Z @ 15 NONAME ; int RVmbxNumber::Open(class RMobilePhone &)
-	?Open@RVmbxNumber@@QAEHXZ @ 16 NONAME ; int RVmbxNumber::Open(void)
-	?QueryAddressL@RVmbxNumber@@QAEHW4TVmbxQueryType@@AAVTDes16@@@Z @ 17 NONAME ; int RVmbxNumber::QueryAddressL(enum TVmbxQueryType, class TDes16 &)
-	?QueryNumberL@RVmbxNumber@@QAEHW4TVmbxQueryType@@AAVTDes16@@H@Z @ 18 NONAME ; int RVmbxNumber::QueryNumberL(enum TVmbxQueryType, class TDes16 &, int)
-	?QueryVideoMbxNumberL@RVmbxNumber@@QAEHW4TVmbxQueryType@@AAVTDes16@@@Z @ 19 NONAME ; int RVmbxNumber::QueryVideoMbxNumberL(enum TVmbxQueryType, class TDes16 &)
-	?SaveVideoMbxNumber@RVmbxNumber@@QAEHABVTDesC16@@W4TVmbxNumberEntry@@@Z @ 20 NONAME ; int RVmbxNumber::SaveVideoMbxNumber(class TDesC16 const &, enum TVmbxNumberEntry)
-	?SaveVmbxAddressL@RVmbxNumber@@QAEHAAVTDes16@@@Z @ 21 NONAME ; int RVmbxNumber::SaveVmbxAddressL(class TDes16 &)
-	?SaveVmbxNumber@RVmbxNumber@@QAEHABVTDesC16@@W4TVmbxNumberEntry@@@Z @ 22 NONAME ; int RVmbxNumber::SaveVmbxNumber(class TDesC16 const &, enum TVmbxNumberEntry)
-	?SelectTypeL@RVmbxNumber@@QAEHH@Z @ 23 NONAME ; int RVmbxNumber::SelectTypeL(int)
-	?NotifyServiceChangeCancel@RVmbxNumber@@QAEXXZ @ 24 NONAME ; void RVmbxNumber::NotifyServiceChangeCancel(void)
-	?SelectTypeL@RVmbxNumber@@QAEHHAAI@Z @ 25 NONAME ; int RVmbxNumber::SelectTypeL(int, unsigned int &)
-	?BrandIdL@RVmbxNumber@@QAEXHAAVTDes8@@@Z @ 26 NONAME ; void RVmbxNumber::BrandIdL(int, class TDes8 &)
-	?ConstructDefaultIconsL@RVmbxNumber@@QAEXPAV?$CArrayPtr@VCGulIcon@@@@@Z @ 27 NONAME ; void RVmbxNumber::ConstructDefaultIconsL(class CArrayPtr<class CGulIcon> *)
-	?IsIpVoiceMailboxServices@RVmbxNumber@@QAEHXZ @ 28 NONAME ; int RVmbxNumber::IsIpVoiceMailboxServices(void)
-	?NotifyServiceChange@RVmbxNumber@@QAEXPAVMServiceNotifyHandler@@@Z @ 29 NONAME ; void RVmbxNumber::NotifyServiceChange(class MServiceNotifyHandler *)
-	?GetBrandedIconL@RVmbxNumber@@QAEXABVTDesC8@@AAPAVCFbsBitmap@@1@Z @ 30 NONAME ; void RVmbxNumber::GetBrandedIconL(class TDesC8 const &, class CFbsBitmap * &, class CFbsBitmap * &)
-	?GetServiceInfo@RVmbxNumber@@QAEHAAVTVmbxServiceInfo@@@Z @ 31 NONAME ; int RVmbxNumber::GetServiceInfo(class TVmbxServiceInfo &)
-	?GetVmbxAddress@RVmbxNumber@@QAEHAAVTDes16@@I@Z @ 32 NONAME ; int RVmbxNumber::GetVmbxAddress(class TDes16 &, unsigned int)
-	?GetServiceIds@RVmbxNumber@@QAEHAAV?$RArray@I@@@Z @ 33 NONAME ; int RVmbxNumber::GetServiceIds(class RArray<unsigned int> &)
-
Binary file engines/vmbxengine/conf/101F874F.txt has changed
Binary file engines/vmbxengine/conf/voicemailbox.confml has changed
Binary file engines/vmbxengine/conf/voicemailbox_101F874F.crml has changed
--- a/engines/vmbxengine/group/backup_registration.xml	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration version="1.0">
-    <proxy_data_manager sid = "0x10202BE9" />
-    <restore requires_reboot = "no"/>
-</backup_registration>
--- a/engines/vmbxengine/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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:  Build information file for project vmbxengine.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-//Backup registartion file
-backup_registration.xml   /epoc32/data/z/private/100058F5/backup_registration.xml
-backup_registration.xml   /epoc32/release/winscw/udeb/z/private/100058F5/backup_registration.xml
-backup_registration.xml   /epoc32/release/winscw/urel/z/private/100058F5/backup_registration.xml
-
-// sis export
-vmbx_stub.sis                         /epoc32/data/z/system/install/vmbx_stub.sis
-
-// iby export
-../rom/vmbxengine.iby               CORE_MW_LAYER_IBY_EXPORT_PATH(vmbxengine.iby)
-../rom/vmbxengineresources.iby      LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(vmbxengineresources.iby)
-
-// loc export
-../loc/vmbx.loc                     MW_LAYER_LOC_EXPORT_PATH(vmbx.loc)
-
-// Generic configuration interface for component cenrep settings
-../conf/voicemailbox.confml         MW_LAYER_CONFML(voicemailbox.confml)
-../conf/voicemailbox_101F874F.crml 	MW_LAYER_CRML(voicemailbox_101F874F.crml)
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  option TARGETFILE vm.mif
-  option HEADERFILE vm.mbg
-  option SOURCES -c8,8 qgn_menu_smsvo_cxt -c8,8 qgn_prop_nrtyp_sim_contact -c8,8 qgn_prop_empty -c8,8 qgn_prop_nrtyp_mobile -c8,8 qgn_prop_nrtyp_video -c8,8 qgn_prop_nrtyp_voip
-END
-
-PRJ_MMPFILES
-vmbxengine.mmp
-
-//  End of File
--- a/engines/vmbxengine/group/vmbx.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: For packing vmbx.
-;
-; Languages
-&EN
-
-; Header
-#{"vmbx"},(0x1000590f),1,1,0,TYPE=PU
-
-;Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-"\epoc32\RELEASE\armv5\UREL\vmbx.dll"-"c:\sys\bin\vmbx.dll"
-"\epoc32\data\z\resource\apps\vmbx.rsc"-"c:\resource\vmbx.rsc"
Binary file engines/vmbxengine/group/vmbx.sis has changed
--- a/engines/vmbxengine/group/vmbx_stub.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: For packing vmbx stub.
-;
-; Languages
-&EN
-
-; Header
-#{"vmbx"},(0x1000590f),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\vmbx.dll"
-""-"z:\resource\vmbx.rsc"
Binary file engines/vmbxengine/group/vmbx_stub.sis has changed
--- a/engines/vmbxengine/group/vmbxengine.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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:  This is a project specification file for the
-*                voice mailbox number interface.
-*
-*/
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          vmbx.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x1000590F
-
-//We use default capabilities (from defaultcaps.hrh)
-CAPABILITY      CAP_GENERAL_DLL
-
-EPOCSTACKSIZE   0x5000
-
-LANG            SC
-
-SOURCEPATH      ../src
-
-SOURCE          vmnumber.cpp
-SOURCE          vmdialog.cpp
-SOURCE          vmspshandler.cpp
-SOURCE          vmlist.cpp
-SOURCE          vmbshandler.cpp
-SOURCE          vmsettingsuiiconfileprovider.cpp
-
-START RESOURCE vmbx.rss
-TARGETPATH RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END //RESOURCE
-
-USERINCLUDE     ../inc
-SYSTEMINCLUDE 	../../../inc
-
-// TEMPORARY DEFINITION FOR CONTACT FINDER HEADERS
-SYSTEMINCLUDE   ../../../../../app/phone/inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         cone.lib
-LIBRARY         CommonEngine.lib
-LIBRARY         etel.lib
-LIBRARY         etelmm.lib
-LIBRARY         avkon.lib
-LIBRARY         aknicon.lib
-LIBRARY         egul.lib
-LIBRARY         bsclient.lib
-LIBRARY         aknskins.lib
-LIBRARY         bafl.lib
-LIBRARY         eikdlg.lib
-LIBRARY         eikcoctl.lib
-LIBRARY         eikcore.lib
-LIBRARY         sssettings.lib
-LIBRARY         phonecntfinder.lib // Phonebook Single Fetch View
-LIBRARY         phoneclient.lib // emergency call
-LIBRARY         charconv.lib // CnvUtfConverter
-LIBRARY         featmgr.lib
-LIBRARY         efsrv.lib    
-
-LIBRARY         satclient.lib
-LIBRARY         centralrepository.lib
-LIBRARY         cenrepnotifhandler.lib
-LIBRARY         flogger.lib
-LIBRARY         serviceprovidersettings.lib
-
-// End of File
--- a/engines/vmbxengine/inc/vmblogger.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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, "vmbxengine.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/engines/vmbxengine/inc/vmbshandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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:  Branding for voice mailbox
- *
-*/
-
-#ifndef C_VMBSHANDLER_H
-#define C_VMBSHANDLER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-// CONSTANTS
-// None
-
-// MACROS
-// None
-
-// DATA TYPES
-// None
-
-// FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DECLARATION
-
-/**
- *  CVmBSHandler declaration.
- *
- *  @since S60 3.2
- */
-NONSHARABLE_CLASS( CVmBSHandler ) : public CBase
-    {
-
-public: // Constructors and destructor
-
-    /**
-    * Two-phased constructor.
-    */
-    static CVmBSHandler* NewL();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CVmBSHandler* NewLC();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CVmBSHandler();
-
-public: // New functions
-
-    /**
-     * Get branded icon
-     * @since S60 3.2
-     * @param aBrandingId Brandind Id
-     * @param aBrandedBitmap Bitmap for branded icon
-     * @param aBrandedBitmapMask Mask to branded icon
-     */
-    void GetBrandedIconL( const TDesC8& aBrandingId,
-                          CFbsBitmap*& aBrandedBitmap,
-                          CFbsBitmap*& aBrandedBitmapMask ) const;
-
-private:
-
-    /**
-     * C++ default constructor.
-     */
-    CVmBSHandler();
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-
-    };
-
-#endif // C_VMBSHANDLER_H
-
-// End of file
--- a/engines/vmbxengine/inc/vmdialog.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +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:  A text query where empty query can be approved.
-*
-*/
-
-
-#ifndef VMDIALOG_H
-#define VMDIALOG_H
-
-// INCLUDES
-#include <AknQueryDialog.h>
-
-// CLASS DECLARATION
-
-/**
-*  Text query dialog
-*
-*  @lib vmbx.lib
-*  @since 
-*/
-class CVmTextQueryDialog : public CAknTextQueryDialog
-    {
-    public: // Constructors and destructor
-    
-        /**
-        * Two-phased constructor.
-        */
-        static CVmTextQueryDialog* NewL( TDes& aDataText, const TDesC& aPrompt,        
-                                                 const TBool aSearchEnabled );
-                                                 
-        /**
-        * Destructor.
-        */                                                 
-        virtual ~CVmTextQueryDialog();
-
-    public:// Functions from base classes
-
-        /**
-        * From CCoeControl Key event handler
-        * @since
-        * @param aKeyEvent The key event
-        * @param aType The type of key event
-        * @return Response of the key event handling
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                         TEventCode aType );
-
-    public:// New method
-
-        /**
-        * Dissmiss the dialog with EAknSoftkeyCancel
-        * @since 5.0
-        */
-        void DismissQueryDlg();
-
-    protected: // Functions from base classes
-
-        /**
-        * From CEikdialog This function is called by the EIKON dialog framework
-        * just before the dialog is activated, after it has called
-        * PreLayoutDynInitL() and the dialog has been sized. 
-        * Overridden method to enable accepting an empty query
-        * @since
-        */  
-        void PreLayoutDynInitL();
-
-        /**
-        * From MAknQueryControlObserver Gets called when editor sends
-        * state event. Overridden method to enable accepting an empty query
-        * @since
-        * @param aQueryControl  Pointer to query control which sent the event  
-        * @param aEventType  Type of the event  
-        * @param aStatus  Editor validation status
-        * @return ETrue if success
-        */
-        TBool HandleQueryEditorStateEventL( CAknQueryControl* aQueryControl,
-                                            TQueryControlEvent aEventType,
-                                            TQueryValidationStatus aStatus );
-
-    private:
-    
-        /**
-        * C++ default constructor.
-        */
-        CVmTextQueryDialog( TDes& aDataText, const TBool aSearchEnabled );
-
-    private:  // Data
-    
-        // Flag to allow search
-        TBool iSearchEnabled;
-    };
-
-
-
-// CLASS DECLARATION
-
-/**
-*  Query dialog for sim
-*  added to fix JKAN-6KU5C2
-*
-*  @lib vmbx.lib
-*  @since
-**/
-class CVMSimQueryDilaog:public CAknQueryDialog
-    {
-    
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CVMSimQueryDilaog* NewL();                
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CVMSimQueryDilaog();
-
-    public: // New functions
-                    
-        /**
-        * Sets query caption on the screen asking for confirmation to copy voice
-        * mailbox number from sim. 
-        *
-        * @since 3.0
-        * @param aPrompt query heading to display on dialog.
-        **/
-        void SetVMSimPromptL( const TDesC& aPrompt );
-        
-        /**
-        * Destroys the query dialog.
-        *
-        * @since 3.0
-        **/
-        void VMSimDismissDialogL();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CVMSimQueryDilaog();
-    
-    };
-
-#endif  // VMDIALOG_H
-            
-// End of File
--- a/engines/vmbxengine/inc/vmlist.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +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:  A list query where voice mail type can be selected.
- *
-*/
-
-
-#ifndef VMLIST_H
-#define VMLIST_H
-
-// INCLUDES
-#include <aknlistquerydialog.h>
-
-
-// CLASS DECLARATION
-
-/**
-*  ?one_line_short_description.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-class CVmListQueryDialog : public CAknListQueryDialog
-{
- public:
-	static CVmListQueryDialog* NewL( TInt* aIndex );
-	virtual ~CVmListQueryDialog();
-
- public:  
-    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
-
-    
- protected:  
-    TBool OkToExitL(TInt aButtonId);
- private:
-	CVmListQueryDialog( TInt* aIndex );  
-
- private:  // Data
-     TBool iOkToExit;
-
-};
-
-
-#endif  // VMLIST_H
-            
-// End of File
--- a/engines/vmbxengine/inc/vmsettingsuiiconfileprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* 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:
- *
-*/
-
-#ifndef C_VMSETTINGSUIICONFILEPROVIDER
-#define C_VMSETTINGSUIICONFILEPROVIDER
-
-#include <e32base.h>
-#include <AknIconUtils.h>
-
-/**
- *  CVmSettingsUiIconFileProvider class
- *  Declarition of CVmSettingsUiIconFileProvider.
- *
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( CVmSettingsUiIconFileProvider ) : public CBase,
-                                                     public MAknIconFileProvider
-    {
-    public:
-
-        /**
-         * Two-phased constructor.
-         * @param aFile for handle to file
-         */
-        static CVmSettingsUiIconFileProvider* NewL( RFile& aFile );
-
-        /**
-         * Destructor.
-         */
-        virtual ~CVmSettingsUiIconFileProvider();
-
-    public: // from base class MAknIconFileProvider
-
-        /**
-         * from MAknIconFileProvider.
-         */
-        void RetrieveIconFileHandleL( RFile& aFile, const TIconFileType aType );
-
-        /**
-         * from MAknIconFileProvider.
-         */
-        void Finished();
-
-    private:
-
-        /**
-         * C++ default constructor.
-         */
-        CVmSettingsUiIconFileProvider();
-
-         /**
-          * By default Symbian 2nd phase constructor is private.
-          */
-	    void ConstructL( RFile& aFile );
-
-    private: // data
-
-        // File handle. Own.
-        RFile iFile;
-
-    };
-
-#endif // C_VMSETTINGSUIICONFILEPROVIDER
-
-// End of File
\ No newline at end of file
--- a/engines/vmbxengine/inc/vmspshandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +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:  Service provider settings handler
- *
-*/
-
-#ifndef C_VMSPSHANDLER_H
-#define C_VMSPSHANDLER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <mspnotifychangeobserver.h>
-#include <spsettingsvoiputils.h>
-
-// CONSTANTS
-// None
-
-// MACROS
-// None
-
-// DATA TYPES
-// None
-
-// FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-class CSPSettings;
-class CSPNotifyChange;
-class TVmbxServiceInfo;
-class MServiceNotifyHandler;
-
-// CLASS DECLARATION
-
-/**
- *  CVmSPSHandler declaration.
- *  Service provider settings handler is used to access service and
- *  sub-service configuration data.
- *
- *  @since S60 3.2
- */
-NONSHARABLE_CLASS( CVmSPSHandler ) : public CBase,
-                                     private MSPNotifyChangeObserver
-    {
-
-public: // Constructors and destructor
-
-    /**
-    * Two-phased constructor.
-    */
-    static CVmSPSHandler* NewL();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CVmSPSHandler* NewLC();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CVmSPSHandler();
-
-public: // New functions
-
-    /**
-     * Get service ids
-     * @since S60 3.2
-     * @param aServiceIds On completion contains service ids
-     */
-    void GetServiceIdsL( RArray<TUint>& aServiceIds ) const;
-
-    /**
-     * Get service ids
-     * @since S60 3.2
-     * @param aServiceInfo On completion contains service ids
-     */
-    TInt GetServiceInfo( TVmbxServiceInfo& aServiceInfo ) const;
-
-    /**
-     * Get service's VMBX address
-     * @since S60 3.2
-     * @param aServiceId Used Service
-     * @param aService On completion, contains service's address
-     */
-    void GetVmAddressL( const TUint32 aServiceId, TDes& aAddress ) const;
-
-    /**
-     * Get service's name
-     * @since S60 3.2
-     * @param aServiceId Used Service
-     * @param aName On completion, contains service's name
-     */
-    void GetServiceNameL( const TUint32 aServiceId, TDes& aName ) const;
-
-    /**
-     * Get SNAP id
-     * @since S60 3.2
-     * @param aServiceId Used Service
-     * @param aSNAPId On completion, contains SNAP Id
-     */
-    void GetSNAPIdL( TUint32 aServiceId, TInt& aSNAPId ) const;
-
-    /**
-     * Get brand id
-     * @since S60 3.2
-     * @param aServiceId Used Service
-     * @param aBrandId On completion, contains Brand Id
-     */
-    void BrandIdL( TInt aServiceId, TDes8& aBrandId );
-
-    /**
-     * Check is given service already activated
-     * @since S60 3.2
-     * @param aServiceId Used Service
-     * @return ETrue if Service is already activated
-     */
-    TBool IsActivatedL( TInt aServiceId );
-
-    /**
-     * Issues a notify request on a Service profile change.
-     * @param aHandler user's notify handler
-     */
-    void NotifyServiceChange( MServiceNotifyHandler* aHandler );
-
-    /**
-     * Cancels a notify request on a VoIP profile change.
-     */
-    void NotifyServiceChangeCancel();
-
-    /**
-     * Check from SPSettings if there are VoIP profiles
-     * @since S60 3.2.3
-     * @param None
-     * @return ETrue if VoIP profiles were found, otherwise EFalse
-     */
-    TBool IsVoIPProfilesFound();
-
-protected:
-
-    /**
-     * Handle notify change event.
-     * From MSPNotifyChangeObserver;
-     *
-     * @since S60 3.2
-     * @param aServiceId The service ID of changed service
-     */
-    void HandleNotifyChange( TServiceId aServiceId );
-
-    /**
-     * Handle error
-     *
-     * @since S60 3.2
-     */
-    void HandleError( TInt aError );
-
-private:
-
-    /**
-     * Is VMBX supported
-     * @since S60 3.2
-     * @param aServiceId Used Service
-     * @return ETrue if VMBX is supported
-     */
-    TBool IsVbmxSupportedL( TUint32 aServiceId ) const;
-
-    /**
-     * C++ default constructor.
-     */
-    CVmSPSHandler();
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-
-private: // data
-
-    /**
-     * CSPSettings. Own
-     */
-    CSPSettings*                    iSettings;
-
-    /**
-     * CSPSettingsVoIPUtils. Own
-     */
-    CSPSettingsVoIPUtils* iSpsSettingsVoipUtils;
-
-    /**
-     * Observer. Not own
-     */
-    MServiceNotifyHandler*          iObserver;
-
-    /**
-     * Pointer to CSPNotifyChange
-     */
-    CSPNotifyChange*                 iNotifier;
-
-    /**
-     * Service id array
-     */
-    RIdArray                        iServiceIds;
-
-    };
-
-#endif // C_VMSPSHANDLER_H
-
-// End of file
--- a/engines/vmbxengine/inc/voicemailboxprivatecrkeys.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +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: Private keys for voice mailbox.
-*
-*/
-
-
-#ifndef VOICEMAILBOXPRIVATECRKEYS_H
-#define VOICEMAILBOXPRIVATECRKEYS_H
-#include <e32std.h>
-
-/** VoiceMailbox Settings API */
-/** Provides access to the VoiceMailbox numbers and settings */
-
-const TUid KCRUidVoiceMailbox = {0x101F874F};
-
-/** Voice Mailbox number for primary line 
-*
-* Integer type
-*
-* Default value: 0
-*/
-const TUint32 KVmbxNumberLineAuxiliary    = 0x00000000;
-
-/** Voice Mailbox number for auxiliary line 
-*
-* Integer type
-*
-* Default value: 0
-*/
-const TUint32 KVmbxNumberLinePrimary    = 0x00000001;
-
-/** Voice Message Callback Number, a field in VMN for a direct callback Number
-*
-* Text type
-*
-* Default value: ""
-**/
-const TUint32 KVmCallbackNumber            = 0x00000002;
-
-/** 
-* 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;
-
-/** Local Variation key. Voice Mailbox Number default for CDMA operators. 
-* Default number can be Blank, MIN, MDN, and etc 
-*
-* Integer type
-*
-* Possible values:
-* 0 (EBlank)
-* 1 (EDedicatedVMN)
-* 2 (EMIN)
-* 3 (EMDN)
-* 4 (EOnePlusMIN)
-* 5 (EOnePlusMDN)
-* 6 (EMDNCustom)
-* 7 (EOnePlusMDNCustom)
-*
-* Default value: 0
-**/
-const TUint32  KVmNumOpts                = 0x00000009;
-
-/**
- * Values for KVmNumOpts
- */
-enum TVmNumOpts 
-    {
-    // For GSM SIM- and CDMA RUIM-based voice mbox number.
-    EVmNumOptsBlank = 0,
-    EVmNumOptsDedicatedVMN,
-    EVmNumOptsMIN,
-    EVmNumOptsMDN,
-    EVmNumOptsOnePlusMIN,
-    EVmNumOptsOnePlusMDN,
-    EVmNumOptsMDNCustom,
-    EVmNumOptsOnePlusMDNCustom,
-    EVmNumOptsSharedData
-    };
-
-/** Voice Message Option to configure UI related features.
-*
-* Integer type
-*
-* This is a bit flag pattern, whose value is specified by setting individual bits.
-* For example if you want to set 3rd and 2nd bits: 0100b and 0010b ===> 0110b ==> 
-* 6 in decimal representation ==> use value 6.
-* Possible values.
-* Bit 1 = Set this bit to prevent user from defining or 
-* modifying the voice mailbox number, clear to allow.
-* Rest of the bits are reserved for future use and currently not used.
-*
-* Default value: 2
-**/
-const TUint32 KVmUIOpts                    = 0x00000010;
-
-/**
- * Values for KVmUIOpts
- */
-enum TVmUiOpts
-    {
-    // Prevent all to change voice mail number
-    EUiNmbrChangeNotAllowed = 0x01
-    };
-
-/** Flag which decides where the vmbx number is to be stored. 
-* If this is Off (equals 0) the voice mailbox number is stored in SIM memory, 
-* else it is stored in Phone memory.
-*
-* Integer type
-*
-* Default value: 0
-*/
-const TUint32 KVmUsesSimMemory          = 0x00000011;
-
-/** Video Mailbox number for primary line 
-*
-* Text type
-*
-* Default value: ""
-*/
-const TUint32 KVideoMbxNumberLinePrimary    = 0x00000012;
-
-/** Video Mailbox number for auxiliary line 
-*
-* Text type
-*
-* Default value: ""
-*/
-const TUint32 KVideoMbxNumberLineAuxiliary    = 0x00000013;
-
-/** Flag which decides if writing to sim allowed.
-* If this is On (equals 1) writing to SIM is not allowed.
-* Writing is allowed with value 0 
-* Value
-* Integer type
-*
-* Default value: 1
-*/
-const TUint32 KReadOnlySim = 0x00000016;
-
-/** Voice Mailbox number backup for primary line 
-*
-* Integer type
-*
-* Default value: 0
-*/
-const TUint32 KVmbxTmpNumberLinePrimary    = 0x000000017;
-/** Voice Mailbox number for auxiliary line 
-*
-* Integer type
-*
-* Default value: 0
-*/
-const TUint32 KVmbxTmpNumberLineAuxiliary    = 0x000000018;
-
-/** Flag which indicates that user has edited primary number.
-* If this is off (equals 0), number from SIM is used,
-* when available.
-* Integer type
-*
-* Default value: 0
-*/
-const TUint32 KUserEditedNumber = 0x00000019;
-
-/** Flag which indicates that user has edited auxiliary number.
-* If this is off (equals 0), number from SIM is used,
-* when available.
-* Integer type
-*
-* Default value: 0
-*/
-const TUint32 KUserEditedNumberAuxiliary = 0x00000020;
-
-#endif      // VOICEMAILBOXPRIVATECRKEYS_H
\ No newline at end of file
--- a/engines/vmbxengine/loc/vmbx.loc	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +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 vmbx.dll
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-// d: Prompt of the query for changing voice mailbox number.
-// l: popup_query_data_window
-// w:
-// r:3.1
-//
-#define qtn_smsvo_number_query "Define voice mailbox number:" 
-
-// d: Note for invalid vmbx number.
-// l: popup_note_window
-//
-#define qtn_smsvo_invalid_number "Invalid phone number."
-
-// d: Note for user entering empty value in vmbx number query.
-// l: popup_note_window
-//
-#define qtn_smsvo_note_empty_number "Voice mailbox number not defined."
-
-// d: text for selecting mailbox query
-// l: heading_pane_t1
-// w:
-// r:3.0
-//
-#define qtn_voip_call_to_voice_mailbox "Call to:"
-
-// d: text for selecting mailbox query
-// l: heading_pane_t1
-// w:
-// r:3.0
-//
-#define qtn_voip_define_voice_mailbox "Define voice mailbox:"
-
-// d: text for selections in mailbox query
-// d: voice mailbox
-// l: list_single_pane_t1_cp2
-// w:
-// r:3.0
-//
-#define qtn_voip_cs_mailbox "Voice mailbox"
-
-// d: text for selections in mailbox query
-// d: Internet call voice mailbox
-// l: list_single_pane_t1_cp2
-// w:
-// r:3.0
-//
-#define qtn_voip_ps_mailbox "Internet call voice mailbox"
-
-// d: Note for displaying sim number for user.
-// l: popup_note_window
-//
-#define qtn_smsvo_numb_from_sim_in_use "Voice mailbox number from SIM taken into use"
-
-// d: Note for successfully saved vmbx number to Sim card.
-// l: popup_note_window
-//
-#define qtn_smsvo_saved_to_sim "Voice mailbox number saved to Sim card."
-
-// d: Note for successfully saved vmbx number to Phone memory.
-// l: popup_note_window
-//
-#define qtn_smsvo_saved_to_phone "Voice mailbox number saved to Phone memory."
-
-// d: query asking user if he wants to take the sim number into use.
-// l: popup_note_window
-
-#define qtn_smsvo_use_numb_from_sim "Voice mailbox number %U is saved to SIM. Do you want to take it into use?"
-
-//d: memory location heading for the vmbx number
-//l: list_single_pane_t1_cp2
-//
-#define qtn_smsvo_save_to "Save number to:"
-
-//d: memory location for the vmbx number
-//l: list_single_pane_t1_cp2
-//
-#define qtn_smsvo_sim_card "SIM card"
-
-//d: memory location for the vmbx number
-//l: list_single_pane_t1_cp2
-//
-#define qtn_smsvo_phone_memory "Phone Memory"
-
-// d: text for selecting mailbox query
-// l: heading_pane_t1
-// w:
-// r:3.1
-//
-#define qtn_smsvi_define_vi_or_vo_mailbox "Define video or voice call mailbox:"
-
-// d: text for selections in mailbox query
-// d: CS Video call mailbox
-// l: list_single_pane_t1_cp2
-// w:
-// r:3.1
-//
-#define qtn_smsvi_video_mailbox "Video call mailbox"
-
-// d: text for selections in mailbox query when any mailbox is not defined
-// d: CS voice call mailbox
-// l: list_single_pane_t1_cp2
-// w:
-// r:3.1
-//
-#define qtn_voip_define_cs_mailbox "Voice mailbox"
-
-// d: text for selections in mailbox query when any mailbox is not defined
-// d: CS Video call mailbox
-// l: list_single_pane_t1_cp2
-// w:
-// r:3.1
-//
-#define qtn_smsvi_define_vt_mailbox "Video call mailbox"
-
-// d: Prompt of the query for changing video mailbox number.
-// l: popup_query_data_window
-// w:
-// r:3.1
-//
-#define qtn_smsvi_number_query "Define video call mailbox number:" 
-
-// d: Note for succesfully saved video mailbox number.
-// l: popup_note_window
-// w:
-// r:3.1
-//
-#define qtn_smsvi_mailbox_saved "Video call mailbox saved."
-
-// d: Note for user when entering empty value in video mailbox number query.
-// l: popup_note_window
-// w:
-// r:3.1
-//
-#define qtn_smsvi_note_empty_number "No video call mailbox number defined."
-
-// d: Note for user when there is no voice mailbox number.
-// l: popup_note_window
-// w:
-// r:5.2
-//
-#define qtn_voice_no_vmbx_number "Voicemail number not provisioned"
-
-
-// End of File  
--- a/engines/vmbxengine/rom/vmbxengine.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  IBY file for Voice mailbox Engine
- *
-*/
-
-
-#ifndef __VMBXENGINE_IBY__
-#define __VMBXENGINE_IBY__
-
-//vmbx.dll
-file=ABI_DIR\BUILD_DIR\vmbx.dll               SHARED_LIB_DIR\vmbx.dll
-
-// sis stub file
-data=ZSYSTEM\install\vmbx_stub.sis            System\Install\vmbx_stub.sis
-
-#endif  // __VMBXENGINE_IBY__
--- a/engines/vmbxengine/rom/vmbxengineresources.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /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:  IBY file for those parts of 
- *		  voice mailbox engine that needs localization 
- *
-*/
-
-
-#ifndef __VMBXENGINERESOURCES_IBY__
-#define __VMBXENGINERESOURCES_IBY__
-
-// wmbx.dll
-data=DATAZ_\RESOURCE_FILES_DIR\VMBX.RSC        		 RESOURCE_FILES_DIR\VMBX.RSC
-
-#endif  // __VMBXENGINERESOURCES_IBY__
--- a/engines/vmbxengine/src/vmbshandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /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 CVmBSHandler class.
- *
-*/
-
-// INCLUDE FILES
-#include <mbsaccess.h>
-#include <cbsfactory.h>
-#include <mbselement.h>
-#include <cbsbitmap.h>
-#include <coemain.h>
-#include <AknsItemID.h>
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-
-#include "vmsettingsuiiconfileprovider.h"
-#include "vmbshandler.h"
-#include "vmblogger.h"
-
-// EXTERNAL DATA STRUCTURES
-// None
-
-// EXTERNAL FUNCTION PROTOTYPES
-// None
-
-// CONSTANTS
-// Branding server & data constants.
-const TInt KVmSettingsUiBrandingIconSize  = 21;         // icon size
-
-_LIT8( KVmSettingsUiBSApplicationId, "xsp" );                 // application id
-_LIT8( KVmSettingsUiBSIconId, "service_active_image_small" ); // icon id
-
-// MACROS
-// None
-
-// LOCAL CONSTANTS AND MACROS
-// None
-
-// MODULE DATA STRUCTURES
-// None
-
-// LOCAL FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-// ============================= LOCAL FUNCTIONS =============================
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// CVmBSHandler::CVmBSHandler
-// C++ default constructor can NOT contain any code, that might leave.
-// ---------------------------------------------------------------------------
-//
-CVmBSHandler::CVmBSHandler()
-    {
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// CVmBSHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CVmBSHandler::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CVmBSHandler::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CVmBSHandler* CVmBSHandler::NewL( )
-    {
-    CVmBSHandler* self = CVmBSHandler::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmBSHandler::NewLC
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CVmBSHandler* CVmBSHandler::NewLC()
-    {
-    CVmBSHandler* self = new (ELeave) CVmBSHandler();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// Destructor
-CVmBSHandler::~CVmBSHandler()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CVmBSHandler::GetBrandedIconL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CVmBSHandler::GetBrandedIconL(
-    const TDesC8& aBrandingId,
-    CFbsBitmap*& aBrandedBitmap,
-    CFbsBitmap*& aBrandedBitmapMask ) const
-    {
-    VMBLOGSTRING( "VMBX: CVmBSHandler::CreateBrandedBitmapL: =>" );
-
-    // Create branding server factory and access to branding data.
-    CBSFactory* factory = CBSFactory::NewL(
-        aBrandingId, KVmSettingsUiBSApplicationId );
-    CleanupStack::PushL( factory );
-
-    MBSAccess* access = factory->CreateAccessL(
-        aBrandingId, ELangInternationalEnglish );
-    CleanupClosePushL( *access );
-
-    // Get structure which contains bitmap information.
-    MBSElement* element = access->GetStructureL( KVmSettingsUiBSIconId );
-    CleanupClosePushL( *element );
-    const CBSBitmap& bitmap = element->BitmapDataL();
-
-    // Open file which contains branded bitmaps.
-    RFile file;
-    CleanupClosePushL( file );
-    access->GetFileL( bitmap.BitmapFileId(), file );
-
-    // Try to load a skinned bitmap.
-    if ( CCoeEnv::Static() )
-        {
-        TAknsItemID itemId;
-        itemId.Set( bitmap.SkinIdMajor(), bitmap.SkinIdMinor() );
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        TRAP_IGNORE( ( aBrandedBitmap =
-            AknsUtils::CreateBitmapL( skin, itemId ) ) );
-        }
-
-    // If skinned bitmaps was not found, try to load bitmaps manually.
-    if ( !aBrandedBitmap )
-        {
-        CVmSettingsUiIconFileProvider* ifp =
-            CVmSettingsUiIconFileProvider::NewL( file );
-
-        AknIconUtils::CreateIconL(
-            aBrandedBitmap,
-            aBrandedBitmapMask,
-            *ifp,
-            bitmap.BitmapId(),
-            bitmap.BitmapMaskId() );
-         }
-
-    // Set sizes.
-    const TInt iconSize( KVmSettingsUiBrandingIconSize );
-    AknIconUtils::SetSize( aBrandedBitmap, TSize( iconSize, iconSize ) );
-    AknIconUtils::SetSize( aBrandedBitmapMask, TSize( iconSize, iconSize ) );
-
-    // Destroy some items.
-    CleanupStack::PopAndDestroy( &file );
-    CleanupStack::PopAndDestroy( element );
-    CleanupStack::PopAndDestroy( access );
-    CleanupStack::PopAndDestroy( factory );
-
-    VMBLOGSTRING( "VMBX: CVmBSHandler::CreateBrandedBitmapL: <=" );
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =======================
-
-//  End of File
--- a/engines/vmbxengine/src/vmbx.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,491 +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 vmbx.dll.
- *
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    VMBX // 4 letter ID
-
-//  INCLUDES
-#include <bldvariant.hrh>
-
-#include <uikon.rh>
-#include <eikon.rh>
-#include "eikon.rsg"
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <vmbx.loc>
-
-//  RESOURCE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-//
-// RSS signature
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE {}
-
-// -----------------------------------------------------------------------------
-//
-// A document name buffer.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF { buf=""; }
-
-// -----------------------------------------------------------------------------
-//
-// r_define_number_prompt
-// Prompt of the query for changing voice mailbox number.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_define_number_prompt
-    {
-    buf = qtn_smsvo_number_query;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_change_number_prompt
-// Prompt of the query for changing voice mailbox number.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_change_number_prompt
-    {
-    buf = qtn_smsvo_number_query;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_number_query
-// Dialog for inserting/changing number
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_vmbx_number_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EPhoneLayout;
-                control = EDWIN
-                    {
-                    flags = EEikEdwinNoHorizScrolling |
-                            EEikEdwinResizable |
-                            EEikEdwinAlternativeWrapping |
-                            EEikEdwinAutoSelection;
-                    width = 16;
-                    lines = 1;
-                    maxlength = 48;
-                    default_input_mode = EAknEditorNumericInputMode;
-                    allowed_input_modes = EAknEditorNumericInputMode;
-                    numeric_keymap = EAknEditorStandardNumberModeKeymap;
-                    special_character_table = 0;
-                    };
-                };
-            }
-        };
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_softkeys_search_cancel_select
-// for MSK CBA buttons
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_softkeys_search_cancel_select
-    {
-    buttons =
-        {
-        CBA_BUTTON { id = EAknSoftkeySearch;  txt = text_softkey_search; },
-        CBA_BUTTON { id = EAknSoftkeyCancel;  txt = text_softkey_cancel; },
-        CBA_BUTTON { id = EAknSoftkeySearch;  txt = text_softkey_select; }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_saved_note
-// Note for succesfully saved vmbx number.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_saved_note
-    {
-    buf = qtn_smsvo_saved_note;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_note_empty_number
-// Note for user entering empty value in vmbx number query.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_note_empty_number
-    {
-    buf = qtn_smsvo_note_empty_number;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_invalid_number_note
-// Note for invalid vmbx number.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_invalid_number_note
-    {
-    buf = qtn_smsvo_invalid_number;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_sim_number_note
-// Note for displaying sim number for user
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_sim_number_note
-    {
-    buf = qtn_smsvo_numb_from_sim_in_use;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_saved_note_sim_memory
-// Note for successfully saved vmbx number to Sim card.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_saved_note_sim_memory
-    {
-    buf = qtn_smsvo_saved_to_sim;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_saved_note_phone_memory
-// Note for successfully saved vmbx number to Phone memory.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_saved_note_phone_memory
-    {
-    buf = qtn_smsvo_saved_to_phone;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_saved_sim_number_into_use
-// Query asking user if he wants to take the sim number into use.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_saved_sim_number_into_use
-    {
-    buf = qtn_smsvo_use_numb_from_sim;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_take_sim_number_into_use
-// Dialog asking user if he wants to take the sim number into use.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_vmbx_take_sim_number_into_use
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items=
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            itemflags = EEikDlgItemNonFocusing;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationLayout;
-                label = "";
-                };
-            }
-        };
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_memory_list_query
-// Query where to save number
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_vmbx_memory_list_query
-    {
-     //flags = EGeneralQueryFlags;
-     //softkeys = r_avkon_softkeys_ok_cancel;
-    items =
-    {
-    AVKON_LIST_QUERY_DLG_LINE
-        {
-        control = AVKON_LIST_QUERY_CONTROL
-        {
-        listtype = EAknCtSinglePopupMenuListBox;
-        listbox = AVKON_LIST_QUERY_LIST
-            {
-            array_id=r_vmbx_memory_save_number_to;
-            };
-        heading = qtn_smsvo_save_to;
-        };
-        }
-    };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_memory_save_number_to
-// Options array for r_vmbx_memory_list_query
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_vmbx_memory_save_number_to
-    {
-    items=
-        {
-        LBUF {txt=qtn_smsvo_sim_card; } ,
-        LBUF {txt=qtn_smsvo_phone_memory; }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_video_saved_note
-// Note for succesfully saved video mailbox number.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_video_saved_note
-    {
-    buf = qtn_smsvi_mailbox_saved;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_video_note_empty_number
-// text for selections in mailbox query when any mailbox is not defined
-// (Internet call voice mailbox)
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_video_note_empty_number
-    {
-    buf = qtn_smsvi_note_empty_number;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_video_define_number_prompt
-// Prompt of the query for changing video mailbox number.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_video_define_number_prompt
-    {
-    buf = qtn_smsvi_number_query;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_video_change_number_prompt
-// Prompt of the query for changing video mailbox number.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_video_change_number_prompt
-    {
-    buf = qtn_smsvi_number_query;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_callto_lbx_prompt
-// text for selecting mailbox query
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_callto_lbx_prompt
-    {
-    buf = qtn_voip_call_to_voice_mailbox;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_callto_lbx_cs_mailbox_item
-// text for selections in mailbox query
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_callto_lbx_cs_mailbox_item
-    {
-    buf = qtn_voip_cs_mailbox;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_callto_lbx_video_mailbox_item
-// text for selections in mailbox query
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_callto_lbx_video_mailbox_item
-    {
-    buf = qtn_smsvi_video_mailbox;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_define_voice_lbx_prompt
-// text for selecting mailbox query
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_define_voice_lbx_prompt
-    {
-    buf = qtn_voip_define_voice_mailbox;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_define_video_or_voice_lbx_prompt
-// text for selecting mailbox query
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_define_video_or_voice_lbx_prompt
-    {
-    buf = qtn_smsvi_define_vi_or_vo_mailbox;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_define_lbx_cs_mailbox_item
-// text for selections in mailbox query when any mailbox is not defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_define_lbx_cs_mailbox_item
-    {
-    buf = qtn_voip_define_cs_mailbox;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_define_lbx_video_mailbox_item
-// text for selections in mailbox query when any mailbox is not defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_define_lbx_video_mailbox_item
-    {
-    buf = qtn_smsvi_define_vt_mailbox;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_mailbox_listquery
-// List query
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_mailbox_listquery
-    {
-    items =
-        {
-            AVKON_LIST_QUERY_DLG_LINE
-                {
-                control = AVKON_LIST_QUERY_CONTROL
-                    {
-                    listtype = EAknCtSinglePopupMenuListBox;
-                    heading = qtn_voip_call_to_voice_mailbox;
-                    listbox = AVKON_LIST_QUERY_LIST
-                        {
-                        };
-                    };
-                }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_voip_rel2_2_call_to
-// Query for voice mailbox call, contains all configured vmbx services
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_voip_rel2_2_call_to
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSingleGraphicPopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    //constructed dynamically
-                    };
-                heading = qtn_voip_call_to_voice_mailbox;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_voice_no_vmbx_number_note
-// Notification about missing number
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voice_no_vmbx_number_note 
-    { 
-    buf = qtn_voice_no_vmbx_number; 
-    }
-
-// End of File
--- a/engines/vmbxengine/src/vmdialog.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +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: Implementation of CVmTextQueryDialog class.
-*
-*/
-
-
-// INCLUDE FILES
-#include <AknQueryDialog.h>
-#include <featmgr.h>
-#include "vmdialog.h"
-#include <vmbx.rsg>
-#include "vmblogger.h"
-
-
-// MEMBER FUNCTIONS
-
-// -----------------------------------------------------------------------------
-// CVmTextQueryDialog::CVmTextQueryDialog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVmTextQueryDialog::CVmTextQueryDialog( TDes& aDataText, 
-                                        const TBool aSearchEnabled )
-                             : CAknTextQueryDialog( aDataText ),
-                                         iSearchEnabled( aSearchEnabled )
-    {
-    // no tone as default
-    }
-
-// -----------------------------------------------------------------------------
-// CVmTextQueryDialog::~CVmTextQueryDialog
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVmTextQueryDialog::~CVmTextQueryDialog()
-{
-
-}
-
-// -----------------------------------------------------------------------------
-// CVmTextQueryDialog::NewL
-// Two-phased constructor
-// -----------------------------------------------------------------------------
-//
-CVmTextQueryDialog* CVmTextQueryDialog::NewL( TDes& aDataText, 
-                                                const TDesC& aPrompt, 
-                                                  const TBool aSearchEnabled )
-    {
-    VMBLOGSTRING( "VMBX: CVmTextQueryDialog::NewL =>" );
-    CVmTextQueryDialog* query = new( ELeave ) CVmTextQueryDialog( aDataText,
-                                                               aSearchEnabled );
-    CleanupStack::PushL( query );
-    query->SetPromptL( aPrompt );
-    CleanupStack::Pop( query );
-    VMBLOGSTRING( "VMBX: CVmTextQueryDialog: <=:NewL " );
-    return query;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmTextQueryDialog::PreLayoutDynInitL
-// Pre-layout dialog initialisation
-// -----------------------------------------------------------------------------
-//
-void CVmTextQueryDialog::PreLayoutDynInitL()
-    {
-    VMBLOGSTRING( "VMBX: CVmTextQueryDialog::PreLayoutDynInitL =>" );
-    CAknTextQueryDialog::PreLayoutDynInitL();
-
-    // Change command buttons if needed
-    if ( iSearchEnabled && !QueryControl()->GetTextLength() )
-        {
-        ButtonGroupContainer().SetCommandSetL( 
-                                        R_VMBX_SOFTKEYS_SEARCH_CANCEL_SELECT );
-        }
-
-    MakeLeftSoftkeyVisible( ETrue );
-                    
-    // Set Pen support flags.
-    if ( FeatureManager::FeatureSupported( KFeatureIdPenSupport ) )
-        {
-        VMBLOGSTRING( "VMBX: CVmTextQueryDialog::PreLayoutDynInitL Pen" );
-        CAknQueryControl* control = QueryControl();
-        if( control )
-            {
-            VMBLOGSTRING( "VMBX: CVmTextQueryDialog::PreLayoutDynInitL ctr" );
-            CCoeControl *controlByLayout = 
-                control->ControlByLayoutOrNull( control->QueryType() );
-            if ( controlByLayout )
-                {         
-                VMBLOGSTRING( "VMBX: CVmTextQueryDialog::PreLayoutDynInitL\
-                    edit" );
-                CEikEdwin* numberEditor = 
-                    static_cast< CEikEdwin* > ( controlByLayout );
-                VMBLOGSTRING( "VMBX: CVmTextQueryDialog::PreLayoutDynInitL\
-                    cast" );
-                TInt flags = numberEditor->AknEdwinFlags() 
-                    | EAknEditorFlagDeliverVirtualKeyEventsToApplication;
-                VMBLOGSTRING( "VMBX: CVmTextQueryDialog::PreLayoutDynInitL\
-                    flag" );
-                numberEditor->SetAknEditorFlags( flags );
-                VMBLOGSTRING( "VMBX: CVmTextQueryDialog::PreLayoutDynInitL\
-                    set done" );                
-                }
-            }
-        }
-
-    VMBLOGSTRING( "VMBX: CVmTextQueryDialog::PreLayoutDynInitL <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmTextQueryDialog::HandleQueryEditorStateEventL
-// Called when query editor event happens
-// -----------------------------------------------------------------------------
-//
-TBool CVmTextQueryDialog::HandleQueryEditorStateEventL( 
-                                            CAknQueryControl* /*aQueryControl*/,
-                                            TQueryControlEvent /*aEventType*/,
-                                            TQueryValidationStatus /*aStatus*/ )
-    {
-    VMBLOGSTRING( "VMBX: CVmTextQueryDialog::HandleQueryEditorStateEventL =>" );
-    MakeLeftSoftkeyVisible( ETrue );
-    if ( iSearchEnabled )
-        {
-        if ( !QueryControl()->GetTextLength() )
-            {
-            ButtonGroupContainer().SetCommandSetL( 
-                                       R_VMBX_SOFTKEYS_SEARCH_CANCEL_SELECT );
-            }
-        else
-            {
-            ButtonGroupContainer().SetCommandSetL( 
-                                             R_AVKON_SOFTKEYS_OK_CANCEL__OK );
-            }
-        ButtonGroupContainer().DrawDeferred();
-        }
-    VMBLOGSTRING( "VMBX: CVmTextQueryDialog::HandleQueryEditorStateEventL <=" );
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmTextQueryDialog::OfferKeyEventL
-// Handles key events
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CVmTextQueryDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                            TEventCode aType )
-    {
-    VMBLOGSTRING( "VMBX: CVmTextQueryDialog::OfferKeyEventL =>" );
-    TKeyResponse response = EKeyWasConsumed;
-    switch( aKeyEvent.iScanCode )
-        {
-        case EStdKeyYes:
-            // Catch this key event. EStdKeyYes would leak to other controls.
-            break;
-                
-        default:
-            response = CAknTextQueryDialog::OfferKeyEventL( aKeyEvent, aType );
-        break; 
-        }
-
-    VMBLOGSTRING( "VMBX: CVmTextQueryDialog::OfferKeyEventL <=" );
-    return response;
-    }
-
-// -----------------------------------------------------------------------------    
-// CVmTextQueryDialog::DissmissQueryDlg
-// Dissmiss the query with cancel
-// -----------------------------------------------------------------------------       
-//
-void CVmTextQueryDialog::DismissQueryDlg()
-     {
-     // try to dismiss query,leave will be ignored
-     TRAP_IGNORE( TryExitL( EAknSoftkeyCancel ) );
-     }
-
-// -----------------------------------------------------------------------------
-// CVMSimQueryDilaog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------    
-//
-CVMSimQueryDilaog* CVMSimQueryDilaog::NewL()
-    {
-    CVMSimQueryDilaog* query = new( ELeave )CVMSimQueryDilaog( );
-    CleanupStack::PushL( query );
-    
-    CleanupStack::Pop( query );
-    return query;    
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVMSimQueryDilaog::CVMSimQueryDilaog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-// 
-CVMSimQueryDilaog::CVMSimQueryDilaog(): CAknQueryDialog( 
-                                        CAknQueryDialog::EConfirmationTone )
-    {
-    // no tone as default
-    }
-
-// -----------------------------------------------------------------------------
-// CVMSimQueryDilaog:: ~CVMSimQueryDilaog
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVMSimQueryDilaog:: ~CVMSimQueryDilaog()
-    {
-        
-    }
-
-// -----------------------------------------------------------------------------
-// CVMSimQueryDilaog::SetVMSimPromptL
-// Sets query caption on the screen asking for confirmation to copy voice
-// mailbox number from sim. 
-// -----------------------------------------------------------------------------
-//
-void CVMSimQueryDilaog::SetVMSimPromptL( const TDesC& aDesC )
-    {
-    SetPromptL( aDesC );
-    }
-
-// -----------------------------------------------------------------------------
-// CVMSimQueryDilaog::VMSimDismissDialogL
-// Destroys the query dialog
-// -----------------------------------------------------------------------------
-//
-void CVMSimQueryDilaog::VMSimDismissDialogL()
-    {
-    TryExitL( EEikBidCancel );
-    }
- 
-
-//  End of File
--- a/engines/vmbxengine/src/vmlist.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +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 CVmListQueryDialog class.
-*
-*/
-
-
-// INCLUDE FILES
-#include <aknlistquerydialog.h>
-#include "vmlist.h"
-#include <vmbx.rsg>
-
-// MEMBER FUNCTIONS
-
-// -----------------------------------------------------------------------------
-// CVmListQueryDialog::CVmListQueryDialog()
-// -----------------------------------------------------------------------------
-CVmListQueryDialog::CVmListQueryDialog( TInt* aIndex ):CAknListQueryDialog( aIndex )
-    {
-    iOkToExit = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmListQueryDialog::~CVmListQueryDialog()
-// -----------------------------------------------------------------------------
-CVmListQueryDialog::~CVmListQueryDialog()
-{
-}
-
-// -----------------------------------------------------------------------------
-// CVmListQueryDialog::NewL()
-// -----------------------------------------------------------------------------
-CVmListQueryDialog* CVmListQueryDialog::NewL( /*const TDesC& aPrompt,*/ TInt* aIndex )
-    {
-	CVmListQueryDialog* query = new( ELeave ) CVmListQueryDialog( aIndex );
-	return query;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmListQueryDialog::OfferKeyEventL()
-// -----------------------------------------------------------------------------
-TKeyResponse CVmListQueryDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
-    {
-    RDebug::Print( _L("CVmListQueryDialog::OfferKeyEventL: %d" ), aType);
-    RDebug::Print( _L("CVmListQueryDialog::KeyCode: %d" ), aKeyEvent.iCode);
-    RDebug::Print( _L("CVmListQueryDialog::KeyCode: %d" ), aKeyEvent.iScanCode);
-    if( aKeyEvent.iCode == EKeyNo &&  aType == KErrNone )
-        {
-        iOkToExit = ETrue;
-        RDebug::Print( _L("CVmListQueryDialog::OfferKeyEventL" ));
-        DismissQueryL();
-        return EKeyWasConsumed;
-        }
-    return CAknListQueryDialog::OfferKeyEventL( aKeyEvent, aType );
-    }
-
-TBool CVmListQueryDialog::OkToExitL(TInt aButtonId)
-    {
-    RDebug::Print( _L("CVmListQueryDialog::OkToExitL: %d" ), aButtonId);
-    if( iOkToExit )
-        {
-        return ETrue;
-        }
-    return CAknListQueryDialog::OkToExitL(aButtonId);
-    }
-//  End of File
--- a/engines/vmbxengine/src/vmnumber.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4674 +0,0 @@
-/*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of RVmbxNumber class.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <vmnumber.h>
-#include <e32std.h>
-#include <avkon.hrh>
-#include <bautils.h>
-#include <eikenv.h>
-#include <commonphoneparser.h>
-#include <aknnotewrappers.h>
-#include <StringLoader.h>
-#include <data_caging_path_literals.hrh>
-#include <PhCltUtils.h>
-#include <vmbx.rsg>
-// includes for phonebook search
-#include <cphonecntfactory.h>
-#include <cphcntsingleitemfetch.h>
-#include <featmgr.h>
-#include <AknIconArray.h>
-#include <AknsUtils.h>
-
-#ifdef RD_STARTUP_CHANGE
-    #include <startupdomainpskeys.h>//for KPSSimStatus
-#endif
-
-#include <AknQueryDialog.h>
-
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-#include <mpbutil.h>
-#include <utf.h> //CnvUtfConverter
-#include "voicemailboxprivatecrkeys.h"
-#include "voicemailboxdomaincrkeys.h"
-#include <PSVariables.h>
-#include <e32property.h>
-#include "vmdialog.h"
-#include "vmlist.h"
-#include "vmblogger.h"
-#include <vm.mbg>
-#include "vmspshandler.h"
-#include "vmbshandler.h"
-
-// CONSTANTS
-const TInt KVmFlagOpened                 = 0x00000001;
-const TInt KVmFlagPhoneOpened            = 0x00000002;
-const TInt KVmFlagSimReadSupport         = 0x00000004;
-const TInt KVmFlagPhoneModuleLoaded      = 0x00000008;
-const TInt KVmFlagNotifyRequested        = 0x00000010;
-const TInt KVmFlagNotifyOnActiveLineOnly = 0x00000020;
-const TInt KVmFlagPhonebookBeingCached   = 0x00000040;
-const TInt KVmFlagSimWriteSupport        = 0x00000080;
-const TInt KVmFlagSimVmbxNumSupport      = 0x00000100;
-// Flag of external API saving number to phone
-const TInt KForceSavedToPhoneMem         = 0x00000400;
-
-//flag of CS defined number
-const TInt KVmFlagCSNumberDefined        = 0x00000001;
-//flag of Vedio defined number
-const TInt KVmFlagVideoNumberDefined     = 0x00000002;
-//flag of VoIP defined number
-const TInt KVmFlagVoIpNumberDefined      = 0x00000004;
-// phone application uid
-const TInt KPhoneApplicationUid          = 0x100058B3;
-
-_LIT (KVmbxResourceFileDrive, "Z:");
-// The file directory is in literal KDC_RESOURCE_FILES_DIR
-// (in data data_caging_path_literals.hrh)
-_LIT (KVmbxResourceFileName, "Vmbx.rsc");
-
-// Phonebook entry name
-_LIT( KVmbxPhoneBookEntryName, "Vmbx" );  // If changed, remember to update
-// the size of KVmbxPhoneBookEntryNameLength in VmNumber.h
-const TInt KVmbxPhonebookRetriesIfInUse = 20;
-const TInt KVmbxPhonebookRetryDelay     = 100000;  // 0.1s
-
-const TInt KVmbxPhonebookBufferSize     = 150;  // Estimated max size 128
-
-_LIT( KVmbxOnePlus, "1" );
-
-// Format of the IAP selection list query.
-_LIT( KQueryItemFormat, "%d\t%S" );
-//for the mbm file
-_LIT( KVmMbmDrive, "Z:" );
-_LIT( KVmLibMbmFile, "vm.mbm" );
-
-const TInt KVmNumOverwrite = 1;
-
-const TInt KVmNamStoreMDNId = RMobileNamStore::EMobileDirectoryNumber;
-// MIN is not included in mmetel std params.  Third extended param
-const TInt KVmNamStoreMINId = RMobileNamStore::ENumStandardNamParameters + 3;
-const TInt KVmPhNumMinLength = 3;
-const TInt KVmLbxItemsArraySize = 3;
-const TInt KVmOriginalNumLength = 256;
-const TInt KVmPhoneNumDigitsMinLength = 2;
-const TInt KVmPhoneNumDigitsMaxLength = 40;
-const TInt KVmbxOnlyDefinedOneNumber = 1;
-const TInt KMailBoxLimitForPrompt = 1;
-
-_LIT (KVmbxIllegalSimCharacter, "w");
-_LIT (KTestNumber, "12345");
-
-const TInt KVmExtFileSize = 20;
-const TInt KVmMaxStoreSize = 48;
-
-const TInt KDefaultServiceId = 0; // default ServerId
-const TInt KCSorVideoServiceId = 1; // CS or Video ServerId
-const TInt KDefaultDefinedNumberCount = 0; // default defined number count
-
-// When the define VM_USE_TSY is set, SIM phonebook will be used and
-// methods won't work if a compatible TSY/DOS environment is not present.
-
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-// &
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-
-#ifndef __WINS__  // SIM phonebook stalls in WINS
-#define VM_USE_TSY
-#endif
-// ================= MEMBER FUNCTIONS ==========================================
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::RVmbxNumber
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RVmbxNumber::RVmbxNumber() : iNotifyCallBack( NULL ),
-                                iUserAlsObserver( NULL ),
-                                iPhoneBookInfoPckg( iPhoneBookInfo ),
-                                iPhoneVoicemailInfoPckg( iPhoneVoicemailInfo ),
-                                iRSatSession(),
-                                iRSatClient( *this ),
-                                iNotifyHandler( NULL ),
-                                iSession( NULL ),
-                                iResourceFileOffset( 0 ),
-                                iFlags( KForceSavedToPhoneMem ), 
-                                iQuery( NULL ),
-                                iClosedPtr( NULL ),
-                                iCoeEnv( NULL ),
-                                iVmNumOpts( EVmNumOptsBlank ),
-                                iVmUiOpts( 0 ), 
-                                iSynchronize( EFalse ),
-                                iType( EVmbxNone ),
-                                iVMSimQueryDialog( NULL ),
-                                iVideoQuery( NULL ),
-                                iTypeSelectionQuery( NULL ),
-                                iAlphaStringFound( EFalse ),
-                                iAlphaStringFromSIM( NULL ),
-                                iNumberFound( EFalse ),
-                                iUSimFirstRoundTest( ETrue ),
-                                iCntFetch( NULL ),
-                                iVmSpsHandler( NULL ),
-                                iVmBsHandler( NULL ),
-                                iFeatMgrInitialized( EFalse ),
-                                iSimCardFound( EFalse )              
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::RVmbxNumber =>" );
-
-    // Default sets to Phone memory, this can be changed in RVmbxNUmber::Open()
-    iMemoryLocation = EVmbxPhoneMemory;
-
-    //Create repository and notify handler.
-    TRAPD( error,
-           FeatureManager::InitializeLibL();
-           iFeatMgrInitialized = ETrue;
-           VMBLOGSTRING( "VMBX: RVmbxNumber::RVmbxNumber: FeatureManager initialized" );
-
-           iSession = CRepository::NewL( KCRUidVoiceMailbox );
-           VMBLOGSTRING( "VMBX: RVmbxNumber::RVmbxNumber: CRepository created" );
-
-           if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-               {
-               iVmSpsHandler = CVmSPSHandler::NewL();
-               VMBLOGSTRING( "VMBX: RVmbxNumber::RVmbxNumber: CVmSPSHandler created" );
-               }
-
-           iVmBsHandler = CVmBSHandler::NewL();
-           VMBLOGSTRING( "VMBX: RVmbxNumber::RVmbxNumber: CVmBSHandler created" );
-           );
-
-    if ( error != KErrNone )
-        {
-        VMBLOGSTRING2( "VMBX: RVmbxNumber::RVmbxNumber : \
-        Initialization error %I", error );
-        _LIT(KVmbxConstructorPanicType,"RVmbxNumber::RVmbxNumber");
-        User::Panic( KVmbxConstructorPanicType, error );
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::RVmbxNumber <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::~RVmbxNumber
-// Destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RVmbxNumber::~RVmbxNumber()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::~RVmbxNumber =>" );
-
-    if ( iNotifyHandler )
-        {
-        iNotifyHandler->StopListening();
-        delete iNotifyHandler;
-        }
-
-    delete iSession;
-    delete iAlphaStringFromSIM;
-
-    delete iVmSpsHandler;
-    delete iVmBsHandler;
-
-    if ( iFeatMgrInitialized )
-        {
-        FeatureManager::UnInitializeLib();
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::~RVmbxNumber <=" );
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::Open
-// Opens a new ETel connection
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-EXPORT_C TInt RVmbxNumber::Open()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::Open =>" );
-
-    TInt ret( KErrGeneral );
-    // initialize the CenRep number in the bankup store
-    ret = BackUpSimNumber( KEmptyVoiceMailNumber, KVmbxTmpNumberLinePrimary );
-    VMBLOGSTRING2( "RVmbxNumber::Open(): Clear KVmbxTmpNumberLinePrimary result = %d",
-    ret );
-    ret = BackUpSimNumber( KEmptyVoiceMailNumber, KVmbxTmpNumberLineAuxiliary );
-    VMBLOGSTRING2( "RVmbxNumber::Open(): Clear KVmbxTmpNumberLineAuxiliary result = %d",
-    ret );
-    VMBLOGSTRING( "RVmbxNumber::Open(): Clear Tmp numbers from CenRep" );
-    if ( iFlags & KVmFlagOpened )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::Open: Opened already" );
-        ret = KErrNone;
-        }
-    else
-        {
-        ret = ConnectETelServer();
-        if ( !ret )
-            {
-            // try to load ETel TSY module
-            ret = iTelServer.LoadPhoneModule( KMmTsyModuleName );
-            if ( !ret )
-                {
-                iFlags |= KVmFlagPhoneModuleLoaded;
-
-                RTelServer::TPhoneInfo info;
-                ret = iTelServer.GetPhoneInfo( 0, info );
-                if ( !ret )
-                    {
-                    ret = iPhone.Open( iTelServer, info.iName );
-                    if ( !ret )
-                        {
-                        iFlags |= KVmFlagPhoneOpened;
-                        }
-                    }
-                }
-            }
-
-        if ( !ret )
-            {
-            ret = Open( iPhone );
-            }
-        else
-            {
-            Close();
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::Open <=" );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::Open
-// Opens a new ETel connection, when there is existing ETel connection already
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-EXPORT_C TInt RVmbxNumber::Open( RMobilePhone& aPhone )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::Open =>" );
-    TInt result( KErrNone );
-    TInt alsline( EAlsLine1 );
-
-    if ( iFlags & KVmFlagOpened )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::Open: Opened already" );
-        return KErrNone;
-        }
-    iPhone = aPhone;
-
-    result = iSession->Get( KVmUsesSimMemory, iMemoryLocation );
-
-    if ( KErrNone != result )
-        {
-        if ( KErrNotFound == result )
-            {
-            iMemoryLocation = EVmbxPhoneMemory;
-            }
-        else
-            {
-            Close();
-            VMBLOGSTRING( "VMBX: RVmbxNumber::Open: Memory location error" );
-            return result;
-            }
-        }
-
-    VMBLOGSTRING2( "iMemoryLocation = %d", iMemoryLocation );
-
-    // Connect to system agent
-    RProperty property;
-    TInt psErr( KErrNone );
-
-#ifdef RD_STARTUP_CHANGE
-    psErr = property.Attach( KPSUidStartup, KPSSimStatus );
-#else
-    psErr = property.Attach( KUidSystemCategory, KPSUidSimCStatusValue );
-#endif
-    if ( KErrNone != psErr )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::Open: SIM status property error" );
-        return psErr;
-        }
-
-   result = iSsSettings.Open( NULL );
-
-    if ( KErrNone != result )
-        {
-        Close();
-        VMBLOGSTRING( "VMBX: RVmbxNumber::Open: SS setting opening error" );
-        return result;
-        }
-
-    // ignore error
-    iSsSettings.Register( ESSSettingsAls, *this );
-
-    // get the current ALS line
-    if ( KErrNone != GetAlsLine( alsline ) )
-        {
-        alsline = EAlsLine1;  // if problems, assume primary line
-        }
-
-#ifdef VM_USE_TSY
-
-    TInt nValue;
-    psErr = property.Get( nValue );
-    TBool simStatus = EFalse;
-
-    // Sim aceess test on startup
-    iStartUpTest = ETrue;
-#ifdef RD_STARTUP_CHANGE
-
-    if ( ( FeatureManager::FeatureSupported( KFeatureIdSimCard ) )
-        && ( ESimNotPresent != nValue ) )
-        {
-        simStatus = ETrue;
-        }
-
-#else //RD_STARTUP_CHANGE
-
-    if ( ( FeatureManager::FeatureSupported( KFeatureIdSimCard ) )
-        && ( EPSCSimRemoved != nValue ) )
-        {
-        simStatus = ETrue;
-        }
-#endif // RD_STARTUP_CHANGE
-
-    VMBLOGSTRING2( "simStatus = %d", simStatus );
-    if ( simStatus )//Is simCard supproted and it is not removed
-        {
-        iSimCardFound = ETrue;
-
-        // Get identifiers from MBI-file
-        if ( EAlsLine1 == alsline )
-            {
-            result = MailboxNumbersIdentifiers();
-            VMBLOGSTRING2( "Identifier result = %d", result );
-            if ( KErrPathNotFound == result )
-                {
-                // try open vmbx-phonebook next
-                iPhoneBookType = EVMBXPhoneBook;
-                iMbdnPhonebookOk = EFalse;
-                VMBLOGSTRING( "no mbdn file is found, use vmbx phonebook" );
-                }
-            else
-                {
-                iPhoneBookType = EMBDNPhoneBook;
-                iMbdnPhonebookOk = ETrue;
-                // if mbdn file can be found, set the entry index to EAlsLine1
-                iPhoneVoicemailInfo.iVoice = EAlsLine1;
-
-                // try to open mbdn-type phonebook
-                result = iPhoneBook.Open( iPhone, KETelIccMbdnPhoneBook );
-                VMBLOGSTRING2( "Mbdn phonebook opening result = %I ", result );
-                if ( KErrNone == result )
-                    {
-                    // Get phonebook info
-                    result = PhoneBookInfo();
-                    VMBLOGSTRING2( "Mbdn phonebook opening again \
-                    result = %I ", result );
-                    }
-                // close mbdn phonebook when error in opening or GetInfo 
-                // to test vmbx-phonebook
-                if ( KErrNone != result )
-                    {
-                    VMBLOGSTRING( "Close MBDN phonebook" );
-                    iPhoneBook.Close();
-                    iMbdnPhonebookOk = EFalse;
-                    // try open vmbx-phonebook next 
-                    iPhoneBookType = EVMBXPhoneBook;
-                    }
-                // close mbdn phonebook when no number found 
-                // to test vmbx-phonebook
-                else if ( ( KErrNone == result ) && iNoNumberFound )
-                    {
-                    VMBLOGSTRING( "mbdn close, number not found" );
-                    iMbdnPhonebookOk = ETrue;
-                    iPhoneBook.Close();
-                    // try open vmbx-phonebook next 
-                    iPhoneBookType = EVMBXPhoneBook;
-                    }
-                }
-            }
-
-        if ( EAlsLine2 == alsline || EVMBXPhoneBook == iPhoneBookType )
-            {
-            // the mbdn number is not used when line2 is active
-            // the number is only got from vmbx-phonebook
-            iMbdnPhonebookOk = EFalse;
-            // try to open vmbx-type phonebook
-            result = iPhoneBook.Open( iPhone, KETelIccVoiceMailBox );
-            VMBLOGSTRING2( "Vmbx phonebook opening result = %I ", result );
-            if ( KErrNone == result )
-                {
-                // check that this phonebook supports reading
-                result = PhoneBookInfo();
-                VMBLOGSTRING( "VmbxPhoneBook opened" );
-                }            	
-            }
-        VMBLOGSTRING3( "VMBX: RVmbxNumber::Open: \
-        iMbdnPhonebookOk: %I, iNoNumberFound: %I", iMbdnPhonebookOk, iNoNumberFound );
-        // reopen mbdn-phonebook when vmbx-phonebook has no number
-        if ( iMbdnPhonebookOk && iNoNumberFound )
-           {
-           VMBLOGSTRING( "reopen mbdn" );
-           iPhoneBook.Close();
-           // try open vmbx-phonebook next
-           iPhoneBookType = EMBDNPhoneBook;
-           // try to open mbdn-type phonebook
-           result = iPhoneBook.Open( iPhone, KETelIccMbdnPhoneBook );
-           VMBLOGSTRING2( "Mbdn phonebook opening result = %I ", result );
-           if ( KErrNone == result )
-               {
-               // Get phonebook info
-               result = PhoneBookInfo();
-               }
-           // close phonebook when error in opening or GetInfo
-           if ( KErrNone != result )
-               {
-               VMBLOGSTRING( "Close MBDN phonebook" );
-               iPhoneBook.Close();
-               }
-           }
-
-        // set readonly state if aquired
-        if ( IsReadOnlySIM() )
-            {
-            iFlags &= ~KVmFlagSimWriteSupport;
-            VMBLOGSTRING( "VMBX: RVmbxNumber::Open: ReadOnly set" );
-            }
-
-        if ( KErrNone != result && KErrInUse != result )
-            {
-            // Fatal error
-            Close();
-            property.Close();
-            VMBLOGSTRING( "VMBX: RVmbxNumber::Open: Phonebook info error" );
-
-            return result;
-            }
-
-        // If no SIM support for vmbx numbers, we don't need
-        //ETel for anything. -> close all ETel resources
-        if ( !( iFlags &
-                (KVmFlagPhonebookBeingCached | KVmFlagSimReadSupport ) ) )
-            {
-            CloseETel();
-            }
-        }
-    // Sim access rights are tested only in start up
-    iStartUpTest = EFalse;
-#endif  // VM_USE_TSY
-
-    property.Close();
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) )
-        {
-        result = iSession->Get( KVmNumOpts,iVmNumOpts );
-
-        if ( KErrNone != result )
-            {
-            if ( KErrNotFound == result )
-                {
-                iVmNumOpts = EVmNumOptsBlank;
-                }
-            else
-                {
-                Close();
-                VMBLOGSTRING( "VMBX: RVmbxNumber::Open: NumOpt error" );
-                return result;
-                }
-            }
-        }
-    result = iSession->Get( KVmUIOpts, iVmUiOpts );
-
-    if ( KErrNone != result )
-        {
-        if ( KErrNotFound == result )
-            {
-            iVmUiOpts = 0;
-            }
-        else
-            {
-            Close();
-            VMBLOGSTRING( "VMBX: RVmbxNumber::Open: NumOpt error" );
-            return result;
-            }
-        }
-
-    iCoeEnv = CEikonEnv::Static();
-
-    // load the resources for queries and notes
-    if ( iCoeEnv )
-        {
-        __ASSERT_DEBUG( iCoeEnv,
-                    User::Panic( KVmbxPanicCategory, EVmbxNoCoeEnv ) );
-
-        // load the resources for queries and notes
-        TInt tmpStatus;
-        TRAP( tmpStatus, LoadResourceL() );
-        result = tmpStatus;
-
-        if ( result )
-            {
-            Close();
-            }
-        else
-            {
-            iFlags |= KVmFlagOpened;
-            }
-        }
-
-    HandleNumberStores( alsline );
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::Open <=" );
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::ConnectETelServer
-// Connects to ETel server
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-TInt RVmbxNumber::ConnectETelServer()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ConnectETelServer =>" );
-    const TInt KRetryCount = 7;
-    const TInt KRetryTimeout = 100000;
-    TInt status( KErrNone );
-
-    for ( TInt i( 0 ); i < KRetryCount; i++ )
-        {
-        status = iTelServer.Connect();
-        if ( !status )
-            {
-            break;
-            }
-        User::After( KRetryTimeout );
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ConnectETelServer <=" );
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::GetVmbxNumber
-// Fetches the specified vmbx number
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-EXPORT_C TInt RVmbxNumber::GetVmbxNumber( TDes& aNumber,
-                                                    TVmbxNumberEntry aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmbxNumber =>" );
-    __ASSERT_DEBUG( iFlags & ( KVmFlagOpened ),
-                    User::Panic(KVmbxPanicCategory, EVmbxNotConnected) );
-    __ASSERT_DEBUG( aNumber.MaxLength() >= KVmbxMaxNumberLength,
-                    User::Panic(KVmbxPanicCategory, EVmbxDescriptorTooSmall) );
-
-    TInt lineNumber( aEntry );
-
-    if ( aEntry == EAlsActiveLineEntry )
-        {
-        // get the current ALS line
-        if ( GetAlsLine( lineNumber ) != KErrNone )
-            {
-            lineNumber = EAlsLine1;  // if problems, assume primary line
-            }
-        }
-    TInt ret( KErrNotFound );
-    TBuf< KVmbxMaxNumberLength > number;
-    TBuf< KVmbxMaxNumberLength > line2AlsNumber;
-
-    //VMN callback#
-    if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) &&
-         ( iVmUiOpts & KVmNumOverwrite ) )
-        {
-        ret = GetVmNumFromVMN( number );
-        if ( ret == KErrNone )
-            {
-            aNumber.Copy( number );
-            VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmbxNumber OK"  );
-            return ret;
-            }
-        else if ( ret != KErrNotFound )
-            {
-            VMBLOGSTRING2( "VMBX: RVmbxNumber:: \
-            GetVmbxNumber error = %I", ret );
-            return ret;
-            }
-        }
-
-    TBool isFromSD = EFalse;
-    TBool isFromSim = EFalse;
-
-    // Get saved number
-    switch ( iVmNumOpts )
-        {
-        case EVmNumOptsBlank:
-            {
-            // On ALS1 read number from sim, if sim is active
-            // On ALS2 always read number from sim when vmbx phone memory in use
-            if ( IsSimMemory() && ( ( EAlsLine1 == lineNumber )
-                           || ( EAlsLine2 == lineNumber ) ) )
-                {
-                ret = GetVmNumFromSIM( number, lineNumber );
-                isFromSim = ETrue;
-                // If there is no voice mailbox number available on SIM,
-                // a note(qtn_...) should be shown,
-                // when pressing '1' + 'send' key or long pressing '1' key
-                // to try to call voice mailbox by phone application.
-                if ( ( !UserEditNumber( lineNumber ) 
-                    || !IsPhoneMemForcedEdit( lineNumber ) ) &&
-                    ( ( KErrNotFound == ret ) || ( KErrNotSupported == ret ) )
-                    && !AllowedToChangeTheNumber() )
-                    {
-                    // get current active process
-                    RProcess curProcess;
-                    TInt curProcessId( curProcess.SecureId().iId );
-                    VMBLOGSTRING2( "VMBX: RVmbxNumber:: Get cur process id: \
-                    curProcessId = %I", curProcessId );
-
-                    if ( KPhoneApplicationUid == curProcessId )
-                        {
-                        TBool thisClosed( EFalse );
-                        iClosedPtr = &thisClosed;
-
-                        // This check is done because phone client calls  
-                        // GetVmbxNumber and then SelectTypeL, 
-                        // which causes note qtn_... to be shown twice
-                        if ( IsNoNumberNoteAllowed() )
-                            {
-                            // show the information note to user
-                            TRAP_IGNORE( 
-                            ShowInformationNoteL( R_VOICE_NO_VMBX_NUMBER_NOTE ) )
-                            }
-
-                        iClosedPtr = NULL;
-                        if ( thisClosed )
-                            {
-                            //End Key Pressed
-                            VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmbxNumber: \
-                            End key pressed" );
-                            return KErrCancel;
-                            }
-                        VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmbxNumber \
-                        No voice mailbox number available on SIM" );
-                        }
-                    }
-                if ( KErrNone == ret )
-                    {
-                    ResetUserEditNumber( lineNumber );
-                    }
-                VMBLOGSTRING2( "GetVmNumFromSIM = %I", ret );
-                }
-            else
-                {
-                ret = KErrNotFound;
-                }
-            break;
-            }
-        case EVmNumOptsDedicatedVMN:
-            {
-            ret = GetVmNumFromVMN( number );
-            break;
-            }
-        case EVmNumOptsMIN:
-        case EVmNumOptsOnePlusMIN:
-            {
-            ret = GetVmNumFromNamStore( number, EVmbxMIN );
-            break;
-            }
-        case EVmNumOptsMDN:
-        case EVmNumOptsOnePlusMDN:
-            {
-            ret = GetVmNumFromNamStore( number );
-            break;
-            }
-        case EVmNumOptsMDNCustom:
-        case EVmNumOptsOnePlusMDNCustom:
-            {
-            ret = GetVmNumFromSD( number, lineNumber );
-            if ( ret != KErrNone )
-                {
-                ret = GetVmNumFromNamStore( number );
-                }
-            break;
-            }
-        case EVmNumOptsSharedData:
-            {
-            ret = GetVmNumFromSD( number, lineNumber );
-            isFromSD = ETrue;
-            break;
-            }
-        default:
-            //
-            break;
-        }
-
-        // On ALS2, if number exists on SD, then use it
-        // if ALS2 number found in SIM, but not in phone memory,
-        // reset flag for automatic SIM number use.
-        // Number found from SIM is saved to SD later
-
-    if ( lineNumber == EAlsLine2 )
-        {
-         TInt alsReturnValue = GetVmNumFromSD( line2AlsNumber, lineNumber );
-         if ( ( alsReturnValue == KErrNone ) && ( line2AlsNumber.Length() ) )
-            {
-            VMBLOGSTRING( "GetVmbxNumber::ALS2 number found from CenRep"  );
-            number.Copy( line2AlsNumber );
-            isFromSD = ETrue;
-            }
-         else
-            {
-            if ( ( KErrNone == ret ) && isFromSim )
-                {
-                VMBLOGSTRING( "[VMBX] GetVmbxNumber::ALS 2 number found from SIM"  );
-                ResetUserEditNumber( lineNumber );
-                }
-            else
-                {
-                number.Zero();
-                }
-            }
-        }
-
-    // No number retrieved so try to read SD for number
-    // (Phone memory in use)
-    if ( ret != KErrNone )
-        {
-        switch( iVmNumOpts )
-            {
-            case EVmNumOptsBlank:
-            case EVmNumOptsDedicatedVMN:
-            case EVmNumOptsMIN:
-            case EVmNumOptsOnePlusMIN:
-            case EVmNumOptsMDN:
-            case EVmNumOptsOnePlusMDN:
-                {
-                if ( !IsSimMemory() )
-                    {
-                    ret = GetVmNumFromSD( number, lineNumber );
-                    VMBLOGSTRING2( "GetVmNumFromSD = %I", ret );
-                    isFromSD = ETrue;
-                    }
-                else
-                    {
-                    aNumber.Copy( number );
-                    VMBLOGSTRING2( "number = %S", &number );
-                    }
-                break;
-                }
-            default:
-                break;
-            }
-        }
-
-    if ( ret == KErrNone )
-        {
-        if ( number.Length() )
-            {
-             VMBLOGSTRING( "Number length > 0" );
-            //Synchronize the number in storage with the retrieved number
-            if ( iVmNumOpts != EVmNumOptsMDNCustom &&
-                iVmNumOpts != EVmNumOptsOnePlusMDNCustom &&
-                !isFromSD )
-                {
-                iSynchronize = ETrue;
-
-                if ( ( iFlags & KVmFlagSimWriteSupport ) ||
-                       ( lineNumber == EAlsLine2 ) )
-                    {
-                    TInt error( KErrNone );
-                    // If number is not fetched from SIM and SIM memory active
-                    // on primary line, number saved to SIM.
-                    if ( UsesSimMemory() )
-                        {
-                        if ( !isFromSim )
-                            {
-                            error = SaveVmbxNumberToSim( number, aEntry );
-                            VMBLOGSTRING2( "SaveVmbxNumberToSim = %I", error );
-                            }
-                        }
-                    else
-                        {
-                        error = SaveVmbxNumberToPhone( number, aEntry );
-                        VMBLOGSTRING2( "SaveVmbxNumberToPhone = %I", error );
-                        }
-                    }
-                else
-                    {
-                    iFlags &= (~KForceSavedToPhoneMem);
-                    SaveVmbxNumber( number, aEntry );
-                    }
-                }
-
-            if ( iVmNumOpts == EVmNumOptsOnePlusMIN ||
-                                          iVmNumOpts == EVmNumOptsOnePlusMDN )
-                {
-                if ( KVmbxMaxNumberLength < number.Length() + 1 )
-                    {
-                    VMBLOGSTRING( "GetVmbxNumber::Number too long" );
-                    return KErrTooBig;
-                    }
-                // Add 1 plus
-                number.Insert( 0, KVmbxOnePlus );
-                }
-
-            aNumber.Copy( number );
-            }
-        else
-            {
-            VMBLOGSTRING( "GetVmbxNumber::No number found." );
-            ret = KErrNotFound;
-            }
-        }
-
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::GetVmbxNumber error = %I", ret );
-    if ( ret != KErrNone )
-        {
-        return KErrNotFound;
-        }
-
-    if ( IsEmergencyNumberL( aNumber ) )
-        {
-        aNumber.Zero();
-        ret = KErrNotFound;
-        }
-
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::QueryNumberL
-// Check wether the voice mailbox number can be changed
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool RVmbxNumber::QueryNumberL( TVmbxQueryType aQueryType,
-                                          TDes& aNumber,
-                                          TBool aShowQuery)
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: =>" );
-    __ASSERT_DEBUG( aNumber.MaxLength() >= KVmbxMaxNumberLength,
-                   User::Panic( KVmbxPanicCategory, EVmbxDescriptorTooSmall ) );
-    __ASSERT_DEBUG( aNumber.Length() <= KVmbxMaxNumberLength,
-                        User::Panic( KVmbxPanicCategory, EVmbxNumberTooLong ) );
-
-    VMBLOGSTRING2( "aQueryType = %d", aQueryType );
-    VMBLOGSTRING2( "iPhoneBookType = %d", iPhoneBookType );
-
-    TBool result( EFalse );
-    if ( EVmQueryProcess == iQueryingState )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: \
-        running forever case" );
-        VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: <=" );
-        return result;
-        }
-
-    if ( !AllowedToChangeTheNumber() )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: \
-        Number not allowed to change" );
-        VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: <=" );
-        User::Leave( KErrAccessDenied );
-        }
-
-    // Vmbx type is set for FetchNumberFromPhonebookL
-    iType = EVmbx;
-
-    __ASSERT_DEBUG( aNumber.MaxLength() >= KVmbxMaxNumberLength,
-                   User::Panic( KVmbxPanicCategory, EVmbxDescriptorTooSmall ) );
-    __ASSERT_DEBUG( aNumber.Length() <= KVmbxMaxNumberLength,
-                        User::Panic( KVmbxPanicCategory, EVmbxNumberTooLong ) );
-
-    // Close() sets thisClosed to ETrue
-    TBool thisClosed( EFalse );
-
-    TBuf<KVmbxMaxNumberLength> vmbxNumber;
-
-    TInt alsline( EAlsLine1 );
-    // get the current ALS line
-    if ( GetAlsLine( alsline ) != KErrNone )
-        {
-        // if problems, assume primary line
-        alsline = EAlsLine1;
-        }
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::QueryNumberL: ALSline = %d",
-        alsline );
-
-    if ( iFlags & KVmFlagSimReadSupport )
-        {
-        VMBLOGSTRING( "RVmbxNumber::QueryNumberL: SIM Read support" )
-        TBool querySim( EFalse );
-
-        if ( alsline == EAlsLine1 )
-            {
-            // Do sim query when not defined query
-            // or 6f17 Sim memory not active and query wanted
-            if ( ( aQueryType == EVmbxNotDefinedQuery ) ||
-                 ( !IsSimMemory() && aShowQuery  &&
-                   ( iMemoryLocation == EVmbxPhoneMemory ) ) )
-                {
-                VMBLOGSTRING( "RVmbxNumber::QueryNumberL: Query on line1" );
-                querySim = ETrue;
-                }
-            }
-        else //EAlsLine2
-            {
-            // Allways and only when vmbx phonebook in use
-            if  ( iPhoneBookType == EVMBXPhoneBook )
-                {
-                VMBLOGSTRING( "RVmbxNumber::QueryNumberL: Query on line2" );
-                querySim = ETrue;
-                }
-            }
-
-        if ( querySim )
-            {
-            iClosedPtr = &thisClosed;
-            VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: Q SIM number" );
-
-            TBool isSimNumber = QuerySimNumberL( vmbxNumber );
-
-            VMBLOGSTRING2( "VMBX: RVmbxNumber::QueryNumberL: SIM number %S",
-            &vmbxNumber );
-
-            iClosedPtr = NULL;
-
-            if ( thisClosed )
-                {
-                //End Key Pressed
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: \
-                End key pressed" );
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: <=" );
-                return EFalse;
-                }
-
-            if ( isSimNumber )
-                {
-                // save to phone memory when ALS2 in use
-                // or read-only sim on ALS1
-                if ( ( alsline == EAlsLine2 ) ||
-                     ( ( alsline == EAlsLine1 ) &&
-                       !( iFlags & KVmFlagSimWriteSupport ) ) )
-                    {
-                    VMBLOGSTRING( "Save number To Phone" );
-                    SaveVmbxNumberToPhone( vmbxNumber, EAlsActiveLineEntry );
-                    // confirmation note is not needed if number is taken
-                    // from SIM automatically
-                    if ( UserEditNumber( alsline ) || 
-                            IsPhoneMemForcedEdit( alsline ) )
-                        {
-                        ResetUserEditNumber( alsline );
-                        ShowConfirmationNoteL( R_SIM_NUMBER_NOTE );
-                        }
-                    }
-                else
-                    {
-                    // confirmation note is not needed if number is taken
-                    // from SIM automatically
-                    if ( UserEditNumber( alsline ) || 
-                            IsPhoneMemForcedEdit( alsline ) )
-                        {
-                        ShowConfirmationNoteL( R_SIM_NUMBER_NOTE );
-                        }
-                    }
-                aNumber.Copy( vmbxNumber );
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL Number from \
-                    Sim accepted" );
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: <=" );
-                return ETrue;
-                }
-            }
-        }
-
-    TBuf<KVmOriginalNumLength> originalNumber;
-    originalNumber.Copy( aNumber );
-
-    iQueryingState = EVmQueryProcess;
-    //QueryNumberL dialog
-    FOREVER
-        {
-        vmbxNumber.Copy( aNumber );
-
-        // get the correct query prompt from resource file
-        HBufC* prompt = StringLoader::LoadLC( ( aQueryType ==
-                                    EVmbxNotDefinedQuery
-                                    ? R_DEFINE_NUMBER_PROMPT
-                                    : R_CHANGE_NUMBER_PROMPT ),
-                                                 iCoeEnv );
-
-        VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL string loaded" );
-        iClosedPtr = &thisClosed;
-
-        // Convert output to accommodate the current locale
-        AknTextUtils::LanguageSpecificNumberConversion( vmbxNumber );
-
-        TInt ret;  // return value of the query
-
-        // ETrue to open the query again after closing single fetch dialog
-        TBool searchUsed;
-
-        // enable search if number length is 0
-        TBool searchEnabled( vmbxNumber.Length() ? EFalse : ETrue );
-
-        do
-            {
-            // show query with the correct prompt
-            iQuery = CVmTextQueryDialog::NewL( vmbxNumber,
-                                                *prompt, searchEnabled );
-
-            VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL ExecuteLD" );
-            ret = iQuery->ExecuteLD( R_VMBX_NUMBER_QUERY );
-            VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL ExecuteLD done" );
-
-            iQuery = NULL;
-            searchUsed = EFalse;
-
-            if ( searchEnabled && ret && !vmbxNumber.Length() )
-                {
-                searchUsed = ETrue;
-                // Show phonebook's single fetch dialog
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL Fetch from Pb" );
-                TRAPD( error, FetchNumberFromPhonebook2L( vmbxNumber ) );
-                VMBLOGSTRING2( "VMBX: RVmbxNumber::QueryNumberL Fetch from Pb done \
-                error = %d", error );
-
-                // If application is killed via FSW, contact selection query
-                // returns KLeaveExit. This should propagate to "root"
-                // application where it reaches the active scheduler loop 
-                // and thus allows proper application exit when the loop exits.
-                // Therefore propagate the error to caller and do not ignore it.
-                if ( KLeaveExit == error )
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL KLeaveExit" );
-                    User::Leave( error );
-                    }
-
-                // user has pressed End Key
-                if ( thisClosed )
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: \
-                    End key pressed" );
-                    CleanupStack::PopAndDestroy( prompt );
-
-                    iQueryingState = EVmQueryNormal;
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: <=" );
-                    return EFalse;
-                    }
-
-                if ( error )   //  Back pressed in Contact UI
-                    {
-                    // Now the phone book fetch dialog was closed,
-                    // get out of the loop
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL Fetch done" );
-                    ret = 0;
-                    break;
-                    }
-                }
-            } while ( searchUsed );
-
-        iClosedPtr = NULL;
-
-        CleanupStack::PopAndDestroy( prompt );
-
-        if ( ret != KErrNone )
-            {
-            if ( !vmbxNumber.Length() )
-                {
-                iFlags &= (~KForceSavedToPhoneMem);
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL has number" );
-                // Resets the flag that indicates that the user has edited VMBX number
-                ResetUserEditNumber( alsline );
-                TInt status =
-                    SaveVmbxNumber( vmbxNumber, EAlsActiveLineEntry );
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL number save" );
-
-                if ( status == KErrNone )
-                    {
-                    // If number does not exist,
-                    // number from SIM is used if it's available
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL save ok" );
-                    if ( UseSimNumIfAvailable( vmbxNumber, alsline )
-                        && vmbxNumber.Length() )
-                        {
-                        // If number is taken from SIM,
-                        // show appropriate confirmation note
-                        ShowConfirmationNoteL( R_SIM_NUMBER_NOTE );
-                        }
-                    aNumber.Copy( vmbxNumber );
-                    if ( !vmbxNumber.Length() )
-                        {
-                        // show "not defined" note
-                        ShowConfirmationNoteL( R_NOTE_EMPTY_NUMBER );
-                        }
-                    result = ETrue;
-                    break;
-                    }
-                else if ( status == KErrCancel )
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL save \
-                        cancel" );
-
-                    aNumber.Copy( vmbxNumber );
-                    continue;
-                    }
-                else
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: \
-                    Number saving error" );
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: <=" );
-                    User::LeaveIfError( status );
-                    }
-                }
-            else
-                {
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL no number" );
-                SetUserEditNumber( alsline );
-                }
-
-            // Convert back to western digits
-            ConvertToWesternDigits( vmbxNumber );
-
-            // check the given number here (emergency numbers not allowed)
-            if ( IsValidPhoneNumber( vmbxNumber )
-                        && !IsEmergencyNumberL( vmbxNumber ) )
-                {
-                iFlags &= ~KForceSavedToPhoneMem;
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: save num 2" );
-                TInt status = SaveVmbxNumber( vmbxNumber, EAlsActiveLineEntry );
-
-                if ( status == KErrNone )
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: save \
-                        num 2 ok" );
-                    aNumber.Copy( vmbxNumber );
-                    if ( UsesSimMemory() )
-                        {
-                        ShowConfirmationNoteL(
-                                            R_SAVED_NOTE_SIM_MEMORY );
-                        }
-                    else
-                        {
-                        ShowConfirmationNoteL(
-                                           R_SAVED_NOTE_PHONE_MEMORY );
-                        }
-                    result = ETrue;
-                    break;
-                    }
-                else if ( status == KErrCancel )
-                    {// The query number dialog was cancelled, so continue
-                    aNumber.Copy( vmbxNumber );
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: save \
-                        num 2 cancel" );
-                    continue;
-                    }
-                else if ( status == KErrArgument )
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: save \
-                        num 2 err arg" );
-                    result = EFalse;
-                    }
-                else
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: \
-                    Invalid number" );
-                    result = EFalse;
-                    }
-                }
-
-            if ( !result )
-                {
-                // show "invalid number" note and wait
-                // for a short timeout
-                VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: invalid \
-                    number show note" );
-
-                prompt = StringLoader::LoadLC( R_INVALID_NUMBER_NOTE,
-                                                     iCoeEnv );
-
-                iClosedPtr = &thisClosed;
-
-                CAknInformationNote* note =
-                                new( ELeave ) CAknInformationNote( ETrue );
-                note->ExecuteLD( *prompt );
-
-                iClosedPtr = NULL;
-
-                CleanupStack::PopAndDestroy( prompt );
-
-                if ( !thisClosed )
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: invalid \
-                    number query again" );
-                    continue;  // the number was invalid -> query again.
-                    }
-                }
-            }
-
-            // retrieve the original number in the query
-            // as user has cancelled the query...
-            aNumber.Copy( originalNumber );
-            break;  // user canceled the query
-        }
-    iQueryingState = EVmQueryNormal;
-    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryNumberL: <=" );
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::QuerySimNumberL
-// Routine to query and save SIM number from user
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::QuerySimNumberL( TDes& aNumber, TVmbxNumberEntry aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::QuerySimNumberL: =>" );
-    TInt lineNumber( aEntry );
-
-    if ( aEntry == EAlsActiveLineEntry )
-        {
-        // get the current ALS line
-        if ( GetAlsLine( lineNumber ) != KErrNone )
-            {
-            lineNumber = EAlsLine1;  // if problems, assume primary line
-            }
-        }
-    TInt ret( KErrNotFound );
-
-    ret = GetVmNumFromSIM( aNumber, lineNumber );
-
-    if ( ret )
-        {
-        return EFalse;
-        }
-
-    VMBLOGSTRING2( "iMemoryLocation = %d", iMemoryLocation );
-
-    TBool doSimQuery( EFalse );
-    if ( ( lineNumber == EAlsLine2 ) && ( iPhoneBookType == EVMBXPhoneBook ) )
-        {
-        VMBLOGSTRING( "Sim query allowed on line2" );
-        doSimQuery = ETrue;
-        }
-    else if ( ( iMemoryLocation == EVmbxPhoneMemory ) &&
-              ( 0 != aNumber.Length() ) )
-        {
-        VMBLOGSTRING( "Sim query allowed on line1" );
-        doSimQuery = ETrue;
-        }
-
-    if ( doSimQuery )
-        {
-        TInt retVal = EVmbxSimNumNotAccepted;
-        // If number not defined, query is not needed as number
-        // found in SIM is used automatically
-        if ( VmbxNumDefInPhoneMemory( lineNumber ) )
-            {
-            // If number found in SIM is the same as the number stored in phone memory,
-            // skip query
-            if ( !NumStoredInPhone( aNumber, lineNumber ) )
-                {
-                HBufC* label = StringLoader::LoadLC( R_SAVED_SIM_NUMBER_INTO_USE,
-                                                                    aNumber );
-                iVMSimQueryDialog = CVMSimQueryDilaog::NewL();
-                iVMSimQueryDialog->SetVMSimPromptL( *label );
-                CleanupStack::PopAndDestroy( label );
-                //coverity static analysis tool generates a warning finding here
-                //ignore that
-                //coverity[deref_ptr_in_call]
-                retVal= iVMSimQueryDialog->ExecuteLD(
-                                              R_VMBX_TAKE_SIM_NUMBER_INTO_USE );
-                //coverity static analysis tool generates a warning finding here
-                //ignore that
-                //coverity[check_after_deref] 
-                if ( iVMSimQueryDialog == NULL )
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QuerySimNumberL: \
-                    No number inserted" );
-                    return EFalse;
-                    }
-                iVMSimQueryDialog = NULL;
-                if ( retVal )
-                    {
-                    SetUserEditNumber( lineNumber );
-                    }
-                }
-            }
-        else
-            {
-            // IF VMBX number not defined and number found in SIM,
-            // number from SIM is used
-            retVal = EVmbxSimNumAccepted;
-            ResetUserEditNumber( lineNumber );
-            }
-
-        // sim number accepted on line 1
-        if ( retVal && ( lineNumber == EAlsLine1 ) )
-            {
-            VMBLOGSTRING( "sim number accepted on line 1" );
-            // No write support on sim, use phone memory
-            if ( !( iFlags & KVmFlagSimWriteSupport ) )
-                {
-                iSession->Set( KVmUsesSimMemory, EVmbxPhoneMemory );
-                iMemoryLocation = EVmbxPhoneMemory;
-                }
-            else
-                {
-                iSession->Set( KVmUsesSimMemory, EVmbxSimMemory );
-                iMemoryLocation = EVmbxSimMemory;
-                }
-            VMBLOGSTRING( "return ETrue" );
-            return ETrue;
-            }
-        // sim number accepted on line 2
-        else if ( retVal && ( lineNumber == EAlsLine2 ) )
-            {
-            VMBLOGSTRING( "Sim number accepted on line2" );
-            return ETrue;
-            }
-        // user selection "No"
-        else
-            {
-            VMBLOGSTRING( "VMBX: RVmbxNumber::QuerySimNumberL: \
-            No number inserted" );
-            return EFalse;
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::QuerySimNumberL: <=" );
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::ConvertToWesternDigits
-// Converts a phone number to western format
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::ConvertToWesternDigits( TDes& aDes ) const
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ConvertToWesternDigits: =>" );
-    AknTextUtils::ConvertDigitsTo( aDes, EDigitTypeWestern );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ConvertToWesternDigits: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SaveVmbxNumber
-// Saves vmbx number to phone or sim memory
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-EXPORT_C TInt RVmbxNumber::SaveVmbxNumber( const TDesC& aNumber,
-                                                    TVmbxNumberEntry aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumber: =>" );
-    TInt status( KErrNone );
-    TInt alsline( EAlsLine1 );
-    // get the current ALS line
-    if ( GetAlsLine( alsline ) != KErrNone )
-        {
-        alsline = EAlsLine1;  // if problems, assume primary line
-        }
-
-    if ( EAlsLine1 == alsline)
-        {
-        // Ask place to save if sim available for saving
-        if ( iFlags & KVmFlagSimWriteSupport )
-            {
-            TInt index( 0 );
-            TInt ret( 0 );
-
-            CAknListQueryDialog* dlg( NULL );
-            TRAP_IGNORE( dlg = new( ELeave ) CAknListQueryDialog( &index ) );
-
-            if ( dlg )
-                {
-                TRAP_IGNORE( ret = dlg->ExecuteLD( R_VMBX_MEMORY_LIST_QUERY ) );
-                dlg = NULL;
-                }
-
-            if ( ret )
-                {
-                // user selected to save number to Sim
-                if ( EVmbxSimMemory == index )
-                    {
-                    iMemoryLocation = EVmbxSimMemory;
-                    iSession->Set( KVmUsesSimMemory, EVmbxSimMemory );
-
-                    status = SaveVmbxNumberToSim( aNumber, aEntry );
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumber: \
-                    Number saved to Sim" );
-                    }
-                // user selected to save number to Phone memory
-                else if ( EVmbxPhoneMemory == index )
-                    {
-                    iMemoryLocation = EVmbxPhoneMemory;
-                    iSession->Set( KVmUsesSimMemory, EVmbxPhoneMemory );
-                    if ( iFlags & KForceSavedToPhoneMem )
-                        {
-                        SetPhoneMemForcedEdit( alsline );
-                        }
-
-                    status = SaveVmbxNumberToPhone( aNumber, aEntry );
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumber: \
-                    Number saved to phone memory" );
-                    }
-                }
-            else// The user has selected Cancel.. so no changes, return KErrCancel
-                {
-                VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumber: canceled" );
-                status = KErrCancel;
-                }
-            }
-        // Line1 in use and no sim available, so use Phone memory
-        else
-            {
-            // Sim write not support and external clients invoke the function
-            // set phone memory forced edit
-            if ( iFlags & KForceSavedToPhoneMem )
-                {
-                SetPhoneMemForcedEdit( alsline );
-                }
-            iMemoryLocation = EVmbxPhoneMemory;
-            iSession->Set( KVmUsesSimMemory, EVmbxPhoneMemory );
-            status = SaveVmbxNumberToPhone( aNumber, EAlsActiveLineEntry );
-            VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumber: \
-            Number saved to phone memory" );
-            }
-        }
-    // EAlsLine2
-    else
-        {
-        // Sim write not support and external clients invoke the function
-        // set phone memory forced edit
-        if ( ( iFlags & KForceSavedToPhoneMem ) &&
-                ! ( iFlags & KVmFlagSimWriteSupport ) )
-            {
-            SetPhoneMemForcedEdit( alsline );
-            }
-        status = SaveVmbxNumberToPhone( aNumber, EAlsActiveLineEntry );
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumber: <=" );
-    return status;
-    }
-
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SaveVmbxNumberToSim
-// Saves vmbx number to sim memory
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-TInt RVmbxNumber::SaveVmbxNumberToSim( const TDesC& aNumber,
-                                                     TVmbxNumberEntry aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumberToSim: =>" );
-
-    // AllowedToChangeTheNumber() check not done in this method 
-    // in order to always allow saving.
-    TInt alsline( EAlsLine1 );
-    // get the current ALS line
-    if ( GetAlsLine( alsline ) != KErrNone )
-        {
-        alsline = EAlsLine1;  // if problems, assume primary line
-        }
-    // ALS line2 not supported when saving to SIM
-    if ( alsline == EAlsLine2 )
-        {
-        VMBLOGSTRING( "Sim usage for ALS Line2 not supported, \
-         return KErrArgument " );
-        return KErrArgument;
-        }
-
-    // number containing "w"-character not allowed to save to sim
-    if ( aNumber.Find( KVmbxIllegalSimCharacter ) != KErrNotFound )
-        {
-        VMBLOGSTRING( "w-char not allowed, return KErrArgument " );
-        return KErrArgument;
-        }
-
-    __ASSERT_DEBUG( iFlags & KVmFlagOpened,
-                         User::Panic( KVmbxPanicCategory, EVmbxNotConnected ) );
-    __ASSERT_DEBUG( aNumber.Length() <= KVmbxMaxNumberLength,
-                        User::Panic( KVmbxPanicCategory, EVmbxNumberTooLong ) );
-
-    TInt lineNumber( aEntry );
-    TInt error( KErrNone );
-
-    if ( aEntry == EAlsActiveLineEntry )
-        {
-        // get the active ALS line
-        lineNumber = alsline;
-        }
-
-#ifdef VM_USE_TSY
-        // Update maxLength info
-        // First read number from sim.
-        // Then get info of the max size.
-        // Finally determine actual max size using retrieved info.
-        // Note! GetInfo reads data from cache, which is updated when write
-        // attempt is done. So if Ext-files are taken into use by some
-        // other application while Vmbx is opened, then correct info
-        // cannot fetch by GetInfo. (This appears when trying to save
-        // long number twice and first one fails and second is saved
-        // successfully.)
-        TBuf<KVmbxMaxNumberLength> numberOnSim;
-        // return value ignored here, because no meaning for size determination
-        GetVmNumFromSIM( numberOnSim, lineNumber );
-
-        TInt ret = DoPhonebookOperation( EVmbxPhonebookGetInfo );
-
-        if ( ret != KErrNone )
-            {
-            VMBLOGSTRING2( "DoPhonebookOperation getinfo retval = %I", ret );
-            return ret;
-            }
-        else
-            {
-            CalculateActualMaxLengthOnSim( numberOnSim.Length() );
-            }
-
-    // store in SIM phonebook
-    if ( iVmNumOpts == EVmNumOptsBlank )
-        {
-        if ( aNumber.Length() <= iPhoneBookInfo.iMaxNumLength )
-            {
-            VMBLOGSTRING( "SaveVmbxNumberToSim::Num length <= maxNumLength" );
-            if ( iFlags & KVmFlagPhonebookBeingCached )
-                {
-                error = DoPhonebookOperation( EVmbxPhonebookGetInfo );
-                }
-
-            if ( !error && ( iFlags & KVmFlagSimWriteSupport ) )
-                {
-                TVmbxEntry entry;
-                entry.iIndex = lineNumber;
-
-                if ( aNumber.Length() )
-                    {
-                    entry.iTelNumber.Copy( aNumber );
-                    entry.iText.Copy( KVmbxPhoneBookEntryName );
-                    entry.iText.AppendNum( lineNumber );
-                    error = DoPhonebookOperation( EVmbxPhonebookWrite,
-                                                                     &entry );
-                    VMBLOGSTRING3( "VMBX: RVmbxNumber::SaveVmbxNumberToSim: \
-                     Write SIM entry %I, status: %I", lineNumber, error );
-                    }
-                else
-                    {
-                    error = DoPhonebookOperation( EVmbxPhonebookDelete,
-                                                                     &entry );
-                    VMBLOGSTRING3( "VMBX: RVmbxNumber::SaveVmbxNumberToSim: \
-                    Delete SIM entry %I, status: %I", lineNumber, error );
-                    }
-                }
-            }
-        else
-            {
-            error = KErrArgument;
-            }
-        }
-    else
-        {
-        error = KErrNotFound;
-        }
-#else // <= VM_USE_TSY
-    error = KErrNotFound;
-#endif  // VM_USE_TSY
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumberToSim: <=" );
-    return error; //to be removed
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SaveVmbxNumberToPhone()
-// Saves vmbx number to phone memory
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-TInt RVmbxNumber::SaveVmbxNumberToPhone( const TDesC& aNumber,
-                                                     TVmbxNumberEntry aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumberToPhone: =>" );
-
-    __ASSERT_DEBUG( iFlags & KVmFlagOpened,
-                         User::Panic( KVmbxPanicCategory, EVmbxNotConnected ) );
-    __ASSERT_DEBUG( aNumber.Length() <= KVmbxMaxNumberLength,
-                        User::Panic( KVmbxPanicCategory, EVmbxNumberTooLong ) );
-
-    // AllowedToChangeTheNumber() check not done in this method 
-    // in order to always allow saving.
-    TInt lineNumber( aEntry );
-    TInt error( KErrNone );
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::SaveVmbxNumberToPhone \
-    the number is from phone or SIM aNumber = %S", &aNumber );
-
-    if ( aEntry == EAlsActiveLineEntry )
-        {
-        // get the current ALS line
-        if ( GetAlsLine( lineNumber ) != KErrNone )
-            {
-            lineNumber = EAlsLine1;  // if problems, assume primary line
-            }
-        }
-
-    TUint32 keyword = lineNumber ==
-            EAlsLine1Entry ? KVmbxNumberLinePrimary: KVmbxNumberLineAuxiliary;
-    error = iSession->Set( keyword, aNumber );
-
-    if ( !error )
-        {
-        // Client will generate the event itself on request.
-        if ( iFlags & KVmFlagNotifyRequested )
-            {
-            HandleNotifyString( keyword, aNumber );
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxNumberToPhone: <=" );
-    return error;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::NotifyVmbxNumberChangeL
-// Issues a notify request on a vmbx number change
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RVmbxNumber::NotifyVmbxNumberChangeL(
-                   MVmbxNotifyHandler* aHandler, TBool aNotifyOnActiveLineOnly )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyVmbxNumberChangeL: =>" );
-    __ASSERT_DEBUG( iFlags & ( KVmFlagOpened ),
-                        User::Panic( KVmbxPanicCategory, EVmbxNotConnected ) );
-
-    iNotifyCallBack = aHandler;
-    SubscribeSATNotificationsL(); // subscribe SAT notifications
-
-    // only issue a new notify request if there isn't one already
-    if ( !( iFlags & KVmFlagNotifyRequested ) )
-        {
-        iNotifyHandler = CCenRepNotifyHandler::NewL( *this, *iSession );
-        iNotifyHandler->StartListeningL();
-
-        iFlags |= KVmFlagNotifyRequested;
-        }
-
-    if ( aNotifyOnActiveLineOnly )
-        {
-        iFlags |= KVmFlagNotifyOnActiveLineOnly;
-        }
-    else
-        {
-        iFlags &= ( ~KVmFlagNotifyOnActiveLineOnly );
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyVmbxNumberChangeL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SubscribeSATNotificationsL
-// Subscribe SAT notifications
-// -----------------------------------------------------------------------------
-void RVmbxNumber::SubscribeSATNotificationsL()
-    {
-    if ( iPhoneBookType == EMBDNPhoneBook )
-        {
-        iRSatSession.ConnectL();
-        iRSatClient.OpenL( iRSatSession );
-        iObservedFileList.Append( KMbdnEf );
-        iObservedFileList.Append( KMbiEf );
-        iRSatClient.NotifyFileChangeL( iObservedFileList );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::NotifyVmbxNumberChangeCancel
-// Cancels a notify request on a vmbx number change.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RVmbxNumber::NotifyVmbxNumberChangeCancel()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyVmbxNumberChangeCancel: =>" );
-    __ASSERT_DEBUG( iFlags & KVmFlagOpened,
-                     User::Panic( KVmbxPanicCategory, EVmbxNotConnected ) );
-
-    iNotifyHandler->StopListening();
-
-    iFlags &= ( ~KVmFlagNotifyRequested );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyVmbxNumberChangeCancel: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::NotifyAlsLineChangeL
-// Issues a notify request on active ALS line change
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RVmbxNumber::NotifyAlsLineChangeL( MVmbxAlsObserver* aObserver )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyAlsLineChangeL: =>" );
-    __ASSERT_DEBUG( iFlags & KVmFlagOpened,
-             User::Panic( KVmbxPanicCategory, EVmbxNotConnected ) );
-    iUserAlsObserver = aObserver;
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyAlsLineChangeL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::NotifyAlsLineChangeCancel
-// Cancels a notify request on ALS line change
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RVmbxNumber::NotifyAlsLineChangeCancel()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyAlsLineChangeCancel: =>" );
-    __ASSERT_DEBUG( iFlags & KVmFlagOpened,
-                     User::Panic(KVmbxPanicCategory, EVmbxNotConnected) );
-    iUserAlsObserver = NULL;
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyAlsLineChangeCancel: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::Close
-// Closes the resources allocated in Open
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-EXPORT_C void RVmbxNumber::Close()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::Close: =>" );
-    if ( iCntFetch )
-        {
-        delete iCntFetch;
-        iCntFetch = NULL;
-        }
-
-    iRSatClient.Cancel();
-    iRSatClient.Close();
-    iRSatSession.Close();
-    if ( iClosedPtr )
-        {
-        *iClosedPtr = ETrue;
-        iClosedPtr = NULL;
-        }
-
-    if ( iVMSimQueryDialog )
-        {
-        TRAP_IGNORE( iVMSimQueryDialog->VMSimDismissDialogL() );
-        iVMSimQueryDialog = NULL;
-        }
-
-    if ( iQuery )
-        {
-        delete iQuery;
-        iQuery = NULL;
-        }
-
-    if ( iVideoQuery )
-        {
-        delete iVideoQuery;
-        iVideoQuery = NULL;
-        }
-    // Type selection query
-    if ( iTypeSelectionQuery )
-        {
-        delete iTypeSelectionQuery;
-        iTypeSelectionQuery = NULL;
-        }
-
-    iVmbxServiceSelection.Close();
-    if ( iResourceFileOffset )
-        {
-        iCoeEnv->DeleteResourceFile( iResourceFileOffset );
-        iResourceFileOffset = 0;
-        }
-
-    CloseETel();
-
-    iUserAlsObserver = NULL;
-
-    // these automatically cancel all observations as well
-
-    iSsSettings.Close();
-
-    iFlags = 0;
-    VMBLOGSTRING( "VMBX: RVmbxNumber::Close: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::LoadResourceL
-// Loads the resources needed for queries and confirmation notes
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::LoadResourceL()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::LoadResourceL: =>" );
-    TFileName fileName;
-    fileName += KVmbxResourceFileDrive;
-    fileName += KDC_RESOURCE_FILES_DIR;
-    fileName += KVmbxResourceFileName;
-    BaflUtils::NearestLanguageFile( iCoeEnv->FsSession(), fileName );
-    iResourceFileOffset = iCoeEnv->AddResourceFileL( fileName );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::LoadResourceL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::AllowedToChangeTheNumber
-// Check wether the voice mailbox number can be changed
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool RVmbxNumber::AllowedToChangeTheNumber()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::AllowedToChangeTheNumber: =>" );
-    TBool ret( ETrue ); 
-
-    if ( EUiNmbrChangeNotAllowed & iVmUiOpts )
-        {
-        ret = EFalse;
-        }
-    VMBLOGSTRING2( "RVmbxNumber::AllowedToChangeTheNumber \
-    iVmUiOpts = %M", iVmUiOpts );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::AllowedToChangeTheNumber: <=" );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::HandleNotifyString
-// To notify the client about changes for string value keys
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::HandleNotifyString( TUint32 aKey, const TDesC16& aValue )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNotifyString: =>" );
-    TInt alsline( EAlsLine1 );
-
-    // get the current ALS line
-    if ( GetAlsLine( alsline ) != KErrNone )
-        {
-        alsline = EAlsLine1;  // if problems, assume primary line
-        }
-    if ( iNotifyCallBack )
-        {
-        TInt notifyLine( 0 );
-
-        if ( aKey == KVmbxNumberLinePrimary )
-            {
-            notifyLine = EAlsLine1Entry;
-            }
-        else if ( aKey == KVmbxNumberLineAuxiliary )
-            {
-            notifyLine = EAlsLine2Entry;
-            }
-
-        if ( ( iFlags & KVmFlagNotifyOnActiveLineOnly ) && alsline != notifyLine )
-            {
-            VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNotifyString: \
-            Line not notifyline" );
-            return;
-            }
-
-        if ( notifyLine == EAlsLine1Entry || notifyLine == EAlsLine2Entry )
-            {
-            TRAPD( err, iNotifyCallBack->HandleNotifyL( notifyLine, aValue ) );
-            if ( err != KErrNone )
-                {
-                VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNotifyString: \
-                Notify handle error" );
-                _LIT( KVmbxPanicType,"iNotifyCallBack->HandleNotifyL" );
-                User::Panic( KVmbxPanicType, err );
-                }
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNotifyString: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::HandleNotifyGeneric
-// To notify the client about changes in keys when the whole repository
-// is listened for.
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::HandleNotifyGeneric( TUint32 aKey )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNotifyGeneric: =>" );
-    if ( aKey == NCentralRepositoryConstants::KInvalidNotificationId )
-        {
-
-        // We have to check which keys have changed.
-        }
-    else
-        {
-
-        //Check the key value of the particular key being changed and
-        //do further processing.
-        }
-
-    if ( iQuery )
-        {
-        // if the vmbx number is saved,notify to dismiss the query.
-        iQuery->DismissQueryDlg();
-        }
-    if ( iVideoQuery )
-        {
-        // if the video number is saved,notify to dismiss the query.
-        iVideoQuery->DismissQueryDlg();
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNotifyGeneric: <=" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::PhoneSettingChanged
-// To notify changes in SS settings in phone
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::PhoneSettingChanged( TSSSettingsSetting aSetting,
-                                                             TInt aNewValue )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhoneSettingChanged: =>" );
-    TInt alsline( EAlsLine1 );
-    if ( aSetting == ESSSettingsAls )
-        {
-        alsline = ( aNewValue ==
-                ESSSettingsAlsAlternate ? EAlsLine2Entry : EAlsLine1Entry );
-
-        if ( iUserAlsObserver )
-            {
-            TRAP_IGNORE( iUserAlsObserver->HandleAlsChangeL(
-                                                    ( TVmbxAlsLine ) alsline ) );
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhoneSettingChanged: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::GetAlsLine
-// Fetches ALS line from SS settings
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::GetAlsLine( TInt& aLineNumber ) const
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetAlsLine: =>" );
-    aLineNumber = EAlsLine1;
-
-    TInt alsline( ESSSettingsAlsPrimary );
-
-    TInt ret = CONST_CAST( RVmbxNumber*, this )->iSsSettings.Get(
-                                                        ESSSettingsAls, alsline );
-
-    if ( alsline == ESSSettingsAlsAlternate )
-        {
-        aLineNumber = EAlsLine2;
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetAlsLine: <=" );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::ShowConfirmationNoteL
-// Shows confirmation note to user
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::ShowConfirmationNoteL( TInt aResourceId ) const
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ShowConfirmationNoteL: =>" );
-    HBufC* prompt = StringLoader::LoadLC( aResourceId, iCoeEnv );
-
-    CAknConfirmationNote* note = new( ELeave ) CAknConfirmationNote( ETrue );
-
-    note->ExecuteLD( *prompt );
-
-    CleanupStack::PopAndDestroy( prompt );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ShowConfirmationNoteL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::IsValidPhoneNumber
-// Validates phone number
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::IsValidPhoneNumber( const TDesC& aNumber ) const
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsValidPhoneNumber: =>" );
-    TBool isValid( EFalse );
-
-    if ( aNumber.Length() >= KVmPhNumMinLength )
-        {
-        TInt index( 0 );
-        TInt digits( 0 );
-
-        // Skip the possible '*'s and '#'s in the beginning.
-        while ( index < aNumber.Length() &&
-                ( aNumber[ index ] == '#' || aNumber[ index ] == '*' ||
-                    aNumber[ index ] == ' ') )
-            {
-            index++;
-            }
-
-        // Skip the possible '+'.
-        if ( index < aNumber.Length() && aNumber[ index ] == '+' )
-            {
-            index++;
-            }
-
-        // Count the digits.
-        // For this let's use another index so that the following
-        // operation will start from the beginning of the actual
-        // vmbx number
-        TInt loopindex = index;
-
-        while ( loopindex < aNumber.Length() &&
-                ( aNumber[ loopindex ] >= '0' && aNumber[ loopindex ] <= '9'
-                    || aNumber[ loopindex ] == ' ') )
-            {
-            if ( aNumber[ loopindex ] != ' ' )
-                {
-                digits++;
-                }
-            loopindex++;
-            }
-
-        // Check that there are only allowed characters in the remaining string.
-        while ( index < aNumber.Length() )
-            {
-            TText t = aNumber[ index ];
-
-            if ( (t < '0' && t > '9') || t == ' ' )
-                {
-                break;
-                }
-            index++;
-            }
-
-        // If only legal characters were encountered, index is now same as
-        // the length of the string.
-
-        // phone number part must have 2...41 digits
-        // '+' is only allowed as the first character in the string
-        if ( digits >= KVmPhoneNumDigitsMinLength &&
-                digits <= KVmPhoneNumDigitsMaxLength &&
-                    index == aNumber.Length())
-            {
-            isValid = ETrue;
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsValidPhoneNumber: <=" );
-    return isValid;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::IsEmergencyNumberL
-// Checks if a number is an emergency number.
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::IsEmergencyNumberL( const TDesC& aNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsEmergencyNumberL: =>" );
-    TBool isEmergency = EFalse;
-
-    // Emergency Call API does not strip invalid characters like Call UI does, so it is done manually here.
-    TPhCltTelephoneNumber number( aNumber.Left( KPhCltTelephoneNumberLength ) );
-    PhCltUtils::RemoveInvalidChars( number );
-
-    CPhCltEmergencyCall* emergencyCall = CPhCltEmergencyCall::NewL( this );
-
-    TInt result = emergencyCall->IsEmergencyPhoneNumber( number, isEmergency );
-    delete emergencyCall;
-    if ( result != KErrNone )
-        {
-        return EFalse;
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsEmergencyNumberL: <=" );
-    return isEmergency;
-    }
-
-// ---------------------------------------------------------
-//  RVmbxNumber::HandleEmergencyDialL()
-// ---------------------------------------------------------
-//
-void RVmbxNumber::HandleEmergencyDialL( const TInt /*aStatus*/ )
-    {
-    // No action
-    }
-
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::PhoneBookInfo
-// Fetches information about the SIM phonebook for vmbx numbers
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-TInt RVmbxNumber::PhoneBookInfo()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhoneBookInfo: =>" );
-    TRequestStatus status( KErrNone );
-    TInt alsline( EAlsLine1 );
-
-    // get the current ALS line
-    if ( GetAlsLine( alsline ) != KErrNone )
-        {
-        alsline = EAlsLine1;  // if problems, assume primary line
-        }
-
-    // This may return KErrInUse if phonebook is being cached
-    iPhoneBook.GetInfo( status, iPhoneBookInfoPckg );
-    User::WaitForRequest( status );  // Wait for asynchronous call to finish
-
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::PhoneBookInfo: \
-    SIM Phonebook info read, status: %I", status.Int() );
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::PhoneBookInfo: \
-    SIM Phonebook write access = %I",
-    iPhoneBookInfo.iCaps &  RMobilePhoneBookStore::KCapsWriteAccess ? 1 : 0);
-    iFlags &= ~KVmFlagPhonebookBeingCached;
-    iFlags &= ~KVmFlagSimVmbxNumSupport;
-
-    VMBLOGSTRING2( "MaxNum length from sim: %I", iPhoneBookInfo.iMaxNumLength );
-    if ( status == KErrInUse || status == KErrNotReady )
-        {
-        iFlags |= KVmFlagPhonebookBeingCached;
-        VMBLOGSTRING( "Phonebook Being Cached" );
-        }
-    else if ( status == KErrNone )
-        {
-        //If read access, only then write access possible
-        if ( iPhoneBookInfo.iCaps & RMobilePhoneBookStore::KCapsReadAccess )
-            {
-            VMBLOGSTRING( "ReadAccess ok" );
-            iFlags |= KVmFlagSimReadSupport;
-
-            if ( iPhoneBookInfo.iCaps & RMobilePhoneBookStore::KCapsWriteAccess )
-                {
-                VMBLOGSTRING( "WriteAccess ok" );
-                iFlags |= KVmFlagSimWriteSupport;
-                iFlags |= KVmFlagSimVmbxNumSupport;
-                }
-            // Sim access rights are tested only in start up
-            if ( iStartUpTest )
-                {
-                TestAndSetSimAccessFlags();
-                }
-            }
-        //As there is no sim support set the memory to phone memory
-        else
-            {
-            // No write capability and line1 in use
-            if ( ( iMemoryLocation != EVmbxPhoneMemory ) &&
-                ( alsline == EAlsLine1 ) )
-                {
-                iMemoryLocation = EVmbxPhoneMemory;
-                iSession->Set( KVmUsesSimMemory, EVmbxPhoneMemory );
-                }
-            iFlags &= ~KVmFlagSimReadSupport;
-            }
-        }
-    // no caps fetched
-    else
-        {
-        if ( ( iMemoryLocation != EVmbxPhoneMemory ) &&
-            ( alsline == EAlsLine1 ) )
-                {//as there is no sim support set the memory to phone memory
-                iMemoryLocation = EVmbxPhoneMemory;
-                iSession->Set( KVmUsesSimMemory, EVmbxPhoneMemory );
-                }
-        iFlags &= ~KVmFlagSimReadSupport;
-        VMBLOGSTRING( "USim not supported" );
-        status = KErrNone;
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhoneBookInfo: <=" );
-    return status.Int();
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::IsReadOnlySIM
-// Checks if writing to sim is prohibited
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::IsReadOnlySIM()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsReadOnlySIM. =>" );
-
-    TBool readOnlySIM = EFalse;
-    iSession->Get( KReadOnlySim, readOnlySIM );
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::IsReadOnlySIM: \
-        read only flag = %I", readOnlySIM );
-    return readOnlySIM;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::DoPhonebookOperation
-// Does a vmbx phonebook operation
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::DoPhonebookOperation( TVmbxPhonebookOperation aOperation,
-                                                TVmbxEntry* aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::DoPhonebookOperation: =>" );
-    TInt result( KErrNone );
-    TInt retryCounter( KVmbxPhonebookRetriesIfInUse );
-
-    FOREVER
-        {
-        retryCounter--;
-
-        switch ( aOperation )
-            {
-            case EVmbxPhonebookGetInfo:
-                {
-                result = PhoneBookInfo();
-                break;
-                }
-            case EVmbxPhonebookRead:
-                {
-                TRAPD( readErr, PhonebookReadL( *aEntry ) );
-                if ( readErr != KErrNone && readErr != KErrNotFound )
-                    {
-                    result = KErrNotSupported;
-                    }
-                break;
-                }
-            case EVmbxPhonebookWrite:
-                {
-                result = PhonebookWrite( *aEntry );
-                break;
-                }
-            case EVmbxPhonebookDelete:
-                {
-                result = PhonebookDelete( *aEntry );
-                break;
-                }
-            default:
-                {
-                __ASSERT_DEBUG( 0, User::Panic( KVmbxPanicCategory,
-                                                 EVmbxUnhandledOperation) );
-                break;
-                }
-            }
-
-        if ( result != KErrInUse || retryCounter <= 0 )
-            {
-            break;
-            }
-
-        iFlags |= KVmFlagPhonebookBeingCached;
-        User::After( KVmbxPhonebookRetryDelay );
-        }
-    // set readonly state if aquired
-    if ( IsReadOnlySIM() )
-        {
-        iFlags &= ~KVmFlagSimWriteSupport;
-        VMBLOGSTRING( "VMBX: RVmbxNumber::DoPhonebookOperation: ReadOnly set" );
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::DoPhonebookOperation: <=" );
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::PhonebookReadL
-// Reads an entry from the ICC-based phonebook
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-void RVmbxNumber::PhonebookReadL( TVmbxEntry& aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookReadL: =>" );
-    TRequestStatus status( KErrNone );
-    TInt numEntries( 1 );
-    TBuf8<KVmbxPhonebookBufferSize> pbData;
-    pbData.FillZ();
-    pbData.Zero();
-    TInt result( KErrNone );
-
-    // Reset variables
-    iNumberFound = EFalse;
-    if ( iAlphaStringFound )
-        {
-        delete iAlphaStringFromSIM;
-        iAlphaStringFromSIM = NULL;
-        }
-    iAlphaStringFound = EFalse;
-    
-    TInt lineNumber( EAlsLine1 );
-    if ( KErrNone != GetAlsLine( lineNumber ) )
-    	{
-        lineNumber = EAlsLine1;
-    	}
-
-    if ( ( iPhoneBookType == EMBDNPhoneBook ) && ( EAlsLine1 == lineNumber ) )
-        {
-        VMBLOGSTRING( "start MBDN PhoneBook read" );
-        VMBLOGSTRING2( "VMBX: RVmbxNumber::PhonebookReadL: \
-        iPhoneVoicemailInfo.iVoice = %I", iPhoneVoicemailInfo.iVoice );
-        iPhoneBook.Read( status, iPhoneVoicemailInfo.iVoice,
-                                                        numEntries, pbData );
-        }
-    else
-        {
-        // Record#1 in sim is for line1 number and Record#2 in sim is for
-        // line2 number so line is used to fetch
-        VMBLOGSTRING( "start VMBX PhoneBook read" );
-        iPhoneBook.Read( status, aEntry.iIndex, numEntries, pbData );
-        }
-
-    User::WaitForRequest( status );  // Wait for asynchronous call to finish
-    VMBLOGSTRING2( "PhoneBook read status = %I", status.Int() );
-
-    if ( status == KErrNone   || status == KErrNotFound )
-        {
-        if ( pbData.Length() )
-            {
-            // -> Search Tags "ETagPBNumber" and "ETagPBText"
-            // and read (decode) them
-            TUint8 tagValue(0);
-            CPhoneBookBuffer::TPhBkTagType dataType(
-                                           CPhoneBookBuffer::EPhBkTypeNoData );
-
-            CPhoneBookBuffer* pbkBuffer = NULL;
-            TRAPD( err, pbkBuffer = new(ELeave) CPhoneBookBuffer() );
-            if ( err != KErrNone )
-                {
-                VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookReadL: \
-                Phonebook creation error" );
-                User::Leave( err );
-                }
-
-            pbkBuffer->Set( &pbData );
-            pbkBuffer->StartRead();
-
-            // Read first "new-entry-tag"
-            result = pbkBuffer->GetTagAndType( tagValue, dataType );
-
-            if ( result != KErrNone || tagValue != RMobilePhoneBookStore::ETagPBNewEntry)
-                {
-                delete pbkBuffer;
-                VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookReadL: \
-                Unknown error" );
-                User::Leave( KErrUnknown );  // Something wrong in TLV
-                }
-
-            // search number and text fields from TLV entry
-            result = pbkBuffer->GetTagAndType( tagValue, dataType );
-
-            while ( result == KErrNone && pbkBuffer->RemainingReadLength() > 0 )
-                {
-                VMBLOGSTRING2("VMBX: RVmbxNumber::PhonebookReadL(): tagValue: %d", tagValue )
-                VMBLOGSTRING2("VMBX: RVmbxNumber::PhonebookReadL(): dataType: %d", dataType )
-
-                // Check for text field
-                if ( tagValue == RMobilePhoneBookStore::ETagPBText )
-                    {
-                    // Alpha string field found from TLV entry,
-                    // assuming 16bit data
-                    TPtrC16 alphaPtrC;
-                    result = pbkBuffer->GetValue( alphaPtrC );
-                    if ( result == KErrNone )
-                        {
-                        iAlphaStringFromSIM = alphaPtrC.AllocL();
-                        iAlphaStringFound = ETrue;
-                        VMBLOGSTRING2("VMBX: RVmbxNumber::PhonebookReadL(): iAlphaStringFromSIM: %S", iAlphaStringFromSIM )
-                        }
-                    }
-                 // Check for number field
-                 else if ( tagValue == RMobilePhoneBookStore::ETagPBNumber )
-                    {
-                    // Number field found from TLV entry, assuming 16bit data
-                    TPtrC16 numberPtrC;
-                    result = pbkBuffer->GetValue( numberPtrC );
-                    iNumberFound = ETrue;
-                    VMBLOGSTRING("VMBX: RVmbxNumber::PhonebookReadL(): ETagPBNumber found.");
-
-                    if ( result == KErrNone )
-                        {
-                        // Error code is returned if number not fit to
-                        // local buffer.
-                        if ( numberPtrC.Length() > aEntry.iTelNumber.MaxLength() )
-                            {
-                            delete pbkBuffer;
-                            VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookReadL: \
-                            Overflow error" );
-                            User::Leave( KErrOverflow );
-                            }
-                        else
-                            {
-                            // copy number to local buffer
-                            aEntry.iTelNumber.Copy( numberPtrC );
-                            VMBLOGSTRING2("VMBX: RVmbxNumber::PhonebookReadL(): ETagPBNumber found. Number: %S", &aEntry.iTelNumber );
-                            }
-                        }
-                    }
-                 else
-                    {
-                    // skip field
-                    pbkBuffer->SkipValue( dataType );
-                    }
-                // Read next field type
-                result = pbkBuffer->GetTagAndType( tagValue, dataType );
-                }
-
-             // Number and Alpha fields not found from TLV entry
-             if ( !iAlphaStringFound && !iNumberFound )
-                {
-                delete pbkBuffer;
-                VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookReadL: \
-                Not found error" );
-                User::Leave( KErrNotFound );
-                }
-            delete pbkBuffer;
-            }
-        else
-            {
-            VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookReadL: Not found error" );
-            iNumberFromSim.FillZ();
-            iNumberFromSim.Zero();
-            User::Leave( KErrNotFound );
-            }
-        }
-    else
-        {
-        // sim read-only and number fetched by GetPhonebookInfo
-        // so return number
-        if ( iNumberFromSim.Length() && !( iFlags & KVmFlagSimWriteSupport ) )
-            {
-            aEntry.iTelNumber.Copy( iNumberFromSim );
-            iMemoryLocation = EVmbxPhoneMemory;
-            iSession->Set( KVmUsesSimMemory, EVmbxPhoneMemory );
-            VMBLOGSTRING2( "Number value = %S", &iNumberFromSim );
-            VMBLOGSTRING2( "iMemoryLocation = %d", iMemoryLocation );
-            VMBLOGSTRING( "Startuptest ongoing, read only sim, number fetched" );
-            }
-        else
-            {
-            User::Leave( status.Int() );
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookReadL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::PhonebookWrite
-// Writes an entry into ICC-based phonebook
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-TInt RVmbxNumber::PhonebookWrite( TVmbxEntry& aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookWrite: =>" );
-    TRequestStatus status( KErrNone );
-    TBuf8<KVmbxPhonebookBufferSize> pbData;
-    pbData.FillZ();
-
-    CPhoneBookBuffer* pbkBuffer = NULL;
-    TRAPD( err, pbkBuffer = new(ELeave) CPhoneBookBuffer() );
-    if (err != KErrNone)
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookWrite: \
-        Phonebook creation error" );
-        return err;
-        }
-
-    pbkBuffer->Set( &pbData );
-
-    // New entry
-    status = pbkBuffer->AddNewEntryTag();
-
-    // Add index
-    // Type of index is TUint16 in Multimode ETel and TInt in old ETel.
-    status = pbkBuffer->PutTagAndValue( RMobilePhoneBookStore::ETagPBAdnIndex,
-                                                      (TUint16)aEntry.iIndex );
-
-    // Add name if it existed on SIM card
-    // Type of ETagPBText is TDes16
-    if ( iAlphaStringFound )
-        {
-        status = pbkBuffer->PutTagAndValue( RMobilePhoneBookStore::ETagPBText,
-                                                        *iAlphaStringFromSIM );
-        }
-
-    // Add number
-    // Type of ETagPBNumber is TDes16
-    status = pbkBuffer->PutTagAndValue( RMobilePhoneBookStore::ETagPBNumber,
-                                                           aEntry.iTelNumber );
-    if ( iPhoneBookType == EMBDNPhoneBook )
-        {
-        TInt index = iPhoneVoicemailInfo.iVoice;
-        VMBLOGSTRING2( "VMBX: RVmbxNumber::PhonebookWrite: \
-        iPhoneVoicemailInfo.iVoice index = %I", index );
-        iPhoneBook.Write( status, pbData, index );
-        VMBLOGSTRING( "Mbdn writing" );
-        }
-    else
-        {
-        iPhoneBook.Write( status, pbData, aEntry.iIndex );
-        VMBLOGSTRING( "6f17 writing" );
-        }
-    User::WaitForRequest( status );  // Wait for asynchronous call to finish
-    VMBLOGSTRING2( "PhonebookWrite: status=%I",  status.Int() );
-
-    delete pbkBuffer;
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookWrite: <=" );
-    return status.Int();
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::PhonebookDelete
-// Removes an entry from ICC-based phonebook
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-TInt RVmbxNumber::PhonebookDelete( TVmbxEntry& aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookDelete: =>" );
-    TInt lineNumber( EAlsLine1 );
-    if ( KErrNone != GetAlsLine( lineNumber ) )
-        {
-        lineNumber = EAlsLine1;
-        }
-    
-    TRequestStatus status( KErrNone );
-    if ( ( iPhoneBookType == EMBDNPhoneBook ) && ( EAlsLine1 == lineNumber ) )
-        {
-        TInt index = iPhoneVoicemailInfo.iVoice;
-        iPhoneBook.Delete( status, index );
-        }
-    else
-        {
-        iPhoneBook.Delete( status, aEntry.iIndex );
-        }
-    User::WaitForRequest( status );  // Wait for asynchronous call to finish
-    VMBLOGSTRING( "VMBX: RVmbxNumber::PhonebookDelete: <=" );
-    return status.Int();
-    }
-
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::FetchNumberFromPhonebook2L
-// Create and show Phonebook's Single Fetch Dialog
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::FetchNumberFromPhonebook2L( TDes& aPhoneNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::FetchNumberFromPhonebook2L: =>" );
-
-    CPhCntFactory* contactFactory = CreateCntFactoryL();
-    CleanupStack::PushL( contactFactory );
-    iCntFetch = NULL;
-    iCntFetch = contactFactory->CreateSingleItemFetchL();
-    CPhCntSelection* contactSelect = NULL;
-
-    TRAPD( error, contactSelect = iCntFetch->SelectPhoneNumberLD() );
-    // Task swapper close activated
-    if ( error != KErrNone )
-        {
-        contactSelect = NULL;
-        iCntFetch = NULL;
-        User::Leave( error ); //close application
-        }
-
-    // This check is needed because contactselect is NULL in case of user
-    // presses back in contact fetch dialog. It will NOT leave.
-    if ( contactSelect )
-        {
-        if ( contactSelect->Number().Length() )
-            {
-            aPhoneNumber = contactSelect->Number().Left( KVmbxMaxNumberLength );
-            }
-        delete contactSelect;
-        contactSelect = NULL;
-        }
-
-    iCntFetch = NULL;
-    CleanupStack::PopAndDestroy( contactFactory );
-
-    //for removing special chars from number fetched from phone book
-    TText ch = 0;
-    TInt len = aPhoneNumber.Length();
-    for ( TInt cnt = 0; cnt < len; cnt++ )
-        {
-        ch = aPhoneNumber[cnt];
-        switch ( ch )
-            {
-            case '(':
-            case ')':
-            case '-':
-            case ' ':
-                {
-                aPhoneNumber.Delete( cnt, 1 );
-                cnt--;
-                len = aPhoneNumber.Length();
-                break;
-                }
-            default:
-                  break;
-            }
-        }
-
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::FetchNumberFromPhonebook2L: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::GetVmNumFromSIM
-// Retrieves voice mailbox number from SIM/R-UIM
-// -----------------------------------------------------------------------------
-//
-#ifdef VM_USE_TSY
-TInt RVmbxNumber::GetVmNumFromSIM( TDes& aNumber, TInt aLineNumber )
-#else
-TInt RVmbxNumber::GetVmNumFromSIM( TDes& /*aNumber*/, TInt /*aLineNumber*/ )
-#endif
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmNumFromSIM: =>" );
-    TInt ret( KErrNotFound );
-
-#ifdef VM_USE_TSY
-
-    if ( iFlags & KVmFlagPhonebookBeingCached )
-        {
-        ret = DoPhonebookOperation( EVmbxPhonebookGetInfo );
-
-        if ( ret != KErrNone )
-            {
-            VMBLOGSTRING2( "DoPhonebookOperation getinfo retval = %I", ret );
-            return ret;
-            }
-        }
-
-    // Now we have SIM support information updated
-    if ( iFlags & KVmFlagSimReadSupport )
-        {
-        TVmbxEntry entry;
-        entry.iIndex = aLineNumber;  // 1 or 2
-        ret = DoPhonebookOperation( EVmbxPhonebookRead, &entry );
-        VMBLOGSTRING3( "VMBX: RVmbxNumber::GetVmNumFromSIM: \
-        Read SIM entry %I, status: %I", aLineNumber, ret );
-
-        if ( ret == KErrNone )
-            {
-            if ( !entry.iTelNumber.Length() )
-                {
-                ret = KErrNotFound;
-                }
-            else
-                {
-                aNumber.Copy( entry.iTelNumber );
-                }
-            }
-        }
-    else
-        {
-        ret = KErrNotSupported;
-        }
-
-    if ( IsEmergencyNumberL( aNumber ) )
-        {
-        aNumber.Zero();
-        ret = KErrNotFound;
-        }
-
-        VMBLOGSTRING2( "Number = %S", &aNumber );
-#endif  // VM_USE_TSY
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmNumFromSIM: <=" );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::GetVmNumFromVMN
-// Retrieves voice mailbox number from VMN summary info
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::GetVmNumFromVMN( TDes& aNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmNumFromVMN: =>" );
-    TBuf<KVmbxMaxNumberLength> number;
-    TInt ret( KErrNotFound );
-    TInt value = 0;
-
-    ret = iSession->Get( KVmSummaryInfoIsSet, value );
-
-    if ( !ret && value == 1 )
-        {
-        ret = iSession->Get( KVmCallbackNumber, number );
-        if ( !ret )
-            {
-            if ( number.Length() )
-                {
-                aNumber.Copy( number );
-                }
-            else
-                {
-                ret = KErrNotFound;
-                }
-            }
-        }
-
-    if ( IsEmergencyNumberL( aNumber ) )
-        {
-        aNumber.Zero();
-        ret = KErrNotFound;
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmNumFromVMN: <=" );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::GetVmNumFromNamStore
-// Retrieves voice mailbox number from NAM
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::GetVmNumFromNamStore( TDes& aNumber, TInt aNumType )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmNumFromNamStore: =>" );
-    TRequestStatus ret( KErrNotFound );
-    RMobileNamStore namStore;
-
-    ret = namStore.Open( iPhone );
-    if ( ret != KErrNone )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmNumFromNamStore: \
-        NameStore error %I, ret.Int()" );
-        return ret.Int();
-        }
-
-    RMobileNamStore::TMobileNamStoreInfoV1 namInfo;
-    RMobileNamStore::TMobileNamStoreInfoV1Pckg namInfoPckg( namInfo );
-
-    namStore.GetInfo( ret, namInfoPckg );
-    User::WaitForRequest( ret );
-    if ( ret == KErrNone )
-        {
-        RMobileNamStore::TMobileNamEntryV1 namEntry;
-        RMobileNamStore::TMobileNamEntryV1Pckg namEntryPckg( namEntry );
-
-        namEntry.iNamId = namInfo.iActiveNam;
-
-        switch ( aNumType )
-            {
-            case EVmbxMDN:
-                {
-                namEntry.iParamIdentifier = KVmNamStoreMDNId;
-                break;
-                }
-            case EVmbxMIN:
-                {
-                namEntry.iParamIdentifier = KVmNamStoreMINId;
-                break;
-                }
-            default:
-                break;
-            }
-
-        namStore.Read( ret, namEntryPckg );
-        User::WaitForRequest( ret );
-        if ( ret == KErrNone )
-            {
-            ret = CnvUtfConverter::ConvertToUnicodeFromUtf8(
-                aNumber,            // Unicode
-                namEntry.iData );   // Utf8
-            }
-        }
-
-    if ( IsEmergencyNumberL( aNumber ) )
-        {
-        aNumber.Zero();
-        ret = KErrNotFound;
-        }
-
-    namStore.Close();
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmNumFromNamStore: <=" );
-    return ret.Int();
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::GetVmNumFromSD
-// Retrieves voice mailbox number from Shared Data
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::GetVmNumFromSD( TDes& aNumber, TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmNumFromSD: =>" );
-    TBuf< KVmbxMaxNumberLength > number;
-    TInt ret( KErrNotFound );
-
-    TUint32 keyword = aLineNumber ==
-                EAlsLine1Entry?KVmbxNumberLinePrimary: KVmbxNumberLineAuxiliary;
-    ret = iSession->Get( keyword, number );
-
-    if ( !ret )
-        {
-        if ( number.Length() )
-            {
-            aNumber.Copy( number );
-            }
-        else
-            {
-            ret = KErrNotFound;
-            }
-        }
-    if ( IsEmergencyNumberL( aNumber ) )
-        {
-        aNumber.Zero();
-        ret = KErrNotFound;
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmNumFromSD: <=" );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::CloseETel
-// Closes all ETel resources
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::CloseETel()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::CloseETel: =>" );
-    iPhoneBook.Close();
-
-    if ( iFlags & KVmFlagPhoneOpened )
-        {
-        iPhone.Close();
-        }
-
-    if ( iFlags & KVmFlagPhoneModuleLoaded )
-        {
-        iTelServer.UnloadPhoneModule( KMmTsyModuleName );
-        }
-    iTelServer.Close();
-
-    // Clear corresponding flags
-    iFlags &= ~KVmFlagSimReadSupport;
-    iFlags &= ~KVmFlagSimWriteSupport;
-    iFlags &= ~KVmFlagPhoneModuleLoaded;
-    iFlags &= ~KVmFlagPhoneOpened;
-    iFlags &= ~KVmFlagPhonebookBeingCached;
-    VMBLOGSTRING( "VMBX: RVmbxNumber::CloseETel: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::AppendStrToArrayL
-// Appends string from resourse to descriptor array
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::AppendStrToArrayL( TInt aResourceId, CDesCArray& aArray )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::AppendStrToArrayL: =>" );
-    HBufC* tmp = StringLoader::LoadLC( aResourceId, iCoeEnv );
-    aArray.AppendL( *tmp );
-    CleanupStack::PopAndDestroy( tmp );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::AppendStrToArrayL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SetHeaderFromResourceL
-// Set query dialog header text from resource string
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::SetHeaderFromResourceL( TInt aResourceId,
-                                                        CAknQueryDialog& aDlg )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SetHeaderFromResourceL: =>" );
-    HBufC* headingText = StringLoader::LoadLC( aResourceId, iCoeEnv );
-    aDlg.SetHeaderTextL( *headingText );
-    CleanupStack::PopAndDestroy( headingText );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SetHeaderFromResourceL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::QueryAddressL
-// Fetches Voip address (returns ETrue when success)
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool RVmbxNumber::QueryAddressL( TVmbxQueryType /*aQueryType*/,
-                                           TDes& /*aNumber*/ )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryAddressL: =>" );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryAddressL: METHOD NOT SUPPORTED ANYMORE" );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryAddressL: <=" );
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SelectTypeL
-// Select which type of Vmbx
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::SelectTypeL( TBool aTitle )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: =>" );
-    if ( !AllowedToChangeTheNumber() && EVmbxDefine == aTitle )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: \
-        Not Allow to define voice mail number" );
-        VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: <=" );
-        return EVmbxNone;
-        }
-
-    if ( VideoSupported() )
-        {
-        TInt index( 0 );
-
-        RArray<TInt> vmbxTypeArray;
-        CleanupClosePushL( vmbxTypeArray );
-
-        iTypeSelectionQuery = CVmListQueryDialog::NewL( &index );
-        iTypeSelectionQuery->PrepareLC( R_MAILBOX_LISTQUERY );
-
-        VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: Not only Voice" );
-
-        // Select which type voice mailbox number to call, CS or Video
-        if ( EVmbxCall == aTitle )
-            {
-            // Set prompt
-            VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: aTitle = call" );
-
-            SetHeaderFromResourceL( R_CALLTO_LBX_PROMPT, *iTypeSelectionQuery );
-
-            // Fill items to array
-            CDesCArrayFlat* lbxItems =
-                        new (ELeave) CDesCArrayFlat( KVmLbxItemsArraySize );
-            CleanupStack::PushL( lbxItems );
-
-            TBuf<KVmbxMaxNumberLength> vmbxNumber;
-
-            // Check CS number
-            if ( KErrNone == GetVmbxNumber( vmbxNumber ) )
-                {
-                AppendStrToArrayL( R_CALLTO_LBX_CS_MAILBOX_ITEM, *lbxItems );
-                User::LeaveIfError( vmbxTypeArray.Append( EVmbx ) );
-                iType = EVmbx;
-                VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: EVmbx" );
-                }
-            // Check Video number
-            if ( VideoSupported() &&
-                 KErrNone == GetVideoMbxNumber( vmbxNumber ) )
-                {
-                AppendStrToArrayL( R_CALLTO_LBX_VIDEO_MAILBOX_ITEM,
-                                                               *lbxItems );
-                User::LeaveIfError( vmbxTypeArray.Append( EVmbxVideo ) );
-                iType = EVmbxVideo;
-                VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: EVmbxVideo" );
-                }
-
-            iTypeSelectionQuery->SetItemTextArray( lbxItems );
-            // vest ownership to lbx
-            iTypeSelectionQuery->SetOwnershipType( ELbmOwnsItemArray );
-            CleanupStack::Pop( lbxItems );
-            }
-        // Select which type of VMBX number to define, CS or Video
-        else
-            {
-            // Set prompt
-            VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: aTitle = define" );
-
-            SetHeaderFromResourceL( R_DEFINE_VIDEO_OR_VOICE_LBX_PROMPT,
-                                    *iTypeSelectionQuery );
-
-            // Fill items to array
-            CDesCArrayFlat* lbxItems =
-                        new (ELeave) CDesCArrayFlat( KVmLbxItemsArraySize );
-            CleanupStack::PushL( lbxItems );
-
-            AppendStrToArrayL( R_DEFINE_LBX_CS_MAILBOX_ITEM, *lbxItems );
-            User::LeaveIfError( vmbxTypeArray.Append( EVmbx ) );
-
-            if ( VideoSupported() )
-                {
-                AppendStrToArrayL( R_DEFINE_LBX_VIDEO_MAILBOX_ITEM,
-                                                                *lbxItems );
-                User::LeaveIfError( vmbxTypeArray.Append( EVmbxVideo ) );
-                }
-
-            iTypeSelectionQuery->SetItemTextArray( lbxItems );
-            // vest ownership to lbx
-            iTypeSelectionQuery->SetOwnershipType( ELbmOwnsItemArray );
-            CleanupStack::Pop( lbxItems );
-            }
-
-        VMBLOGSTRING2( "VMBX: RVmbxNumber::SelectTypeL array count %d",
-            vmbxTypeArray.Count());
-
-        if ( ( EVmbxCall == aTitle ) &&
-            ( KVmbxOnlyDefinedOneNumber == vmbxTypeArray.Count() ) )
-            {
-            // call directly
-            VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: Only one" );
-            CleanupStack::PopAndDestroy( iTypeSelectionQuery );
-            }
-        else
-            {
-            if ( iTypeSelectionQuery->RunLD() )
-                {
-                iType = vmbxTypeArray[ index ];
-                }
-            else
-                {
-                iType = EVmbxNone;
-                }
-             }
-
-        iTypeSelectionQuery = NULL;
-        //close and destroy vmbxTypeArray
-        CleanupStack::PopAndDestroy( &vmbxTypeArray );
-        VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: <=" );
-        return iType;
-        }
-    // Only supported CS
-    else
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: <=" );
-        return EVmbx;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SaveVmbxAddressL
-// Save voice mailbox address to RCSC
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::SaveVmbxAddressL( TDes& /*aAddress*/ )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVmbxAddressL(TDes& aAddress): Method deprecated" );
-    return KErrNotSupported;
-    }
-
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::IsVoIPProfilesFound
-// Check if VoIP profiles is found.
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool RVmbxNumber::IsVoIPProfilesFound()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsVoIPProfilesFound" );
-
-    return iVmSpsHandler->IsVoIPProfilesFound();
-    }
-
-
-EXPORT_C TBool RVmbxNumber::IsIpVoiceMailboxServices()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsIpVoiceMailboxServices: =>" );
-
-    TBool ret( EFalse );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        RArray<TUint> profileIds;
-
-        GetServiceIds( profileIds );
-
-        TInt count = profileIds.Count();
-
-        profileIds.Close();
-
-        if ( count > 0 )
-            {
-            ret = ETrue;
-            }
-        else
-            {
-            ret = EFalse;
-            }
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsIpVoiceMailboxServices: <=" );
-    return ret;
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::IsSimMemory
-// Returns if the memory location for vmbx is sim memory
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool RVmbxNumber::IsSimMemory()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsSimMemory: =>" );
-    TBool ret( EFalse );
-    TInt alsLine( EAlsLine1 );
-    // get the current ALS line
-    if ( GetAlsLine( alsLine ) != KErrNone )
-        {
-        alsLine = EAlsLine1;  // if problems, assume primary line
-        }
-    if ( iSimCardFound )
-        {
-        // if number automatically fetched from read only SIM
-        // or ALS2 is active
-        if ( ( !( iFlags & KVmFlagSimWriteSupport ) ) || EAlsLine2 == alsLine  )
-            {
-            ret = ( !UserEditNumber( alsLine ) && 
-                        !IsPhoneMemForcedEdit( alsLine ) );
-            }
-        // if number stored in writable SIM
-        else
-            {
-            ret = UsesSimMemory();
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsSimMemory: <=" );
-    VMBLOGSTRING3( "VMBX: RVmbxNumber::IsSimMemory: sim memory is used \
-    iSimCardFound: %I, ret: %I", iSimCardFound, ret );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::GetVideoMbxNumber
-// Fetches the specified video mailbox number
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::GetVideoMbxNumber( TDes& aNumber,
-                                                      TVmbxNumberEntry aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVideoMbxNumber: =>" );
-    TInt ret = VideoSupported();
-
-    if ( ret )
-        {
-        TInt lineNumber( aEntry );
-        TBuf< KVmbxMaxNumberLength > number;
-        if ( EAlsActiveLineEntry == aEntry )
-            {
-            // get the current ALS line
-            if ( KErrNone != GetAlsLine( lineNumber ) )
-                {
-                lineNumber = EAlsLine1;  // if problems, assume primary line
-                }
-            }
-
-        TUint32 keyword = lineNumber ==
-         EAlsLine1Entry ? KVideoMbxNumberLinePrimary : KVideoMbxNumberLineAuxiliary;
-        ret = iSession->Get( keyword, number );
-
-        if ( KErrNone == ret )
-            {
-            if ( number.Length() )
-                {
-                aNumber.Copy( number );
-                }
-            else
-                {
-                ret = KErrNotFound;
-                }
-            }
-
-        if ( IsEmergencyNumberL( aNumber ) )
-            {
-            aNumber.Zero();
-            ret = KErrNotFound;
-            }
-        }
-    else
-        {
-        ret = KErrNotFound;
-        }
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::GetVideoMbxNumber:<=\
-                                Video supported = %d", ret );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::QueryVideoMbxNumberL
-// Queries a video mailbox number
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool RVmbxNumber::QueryVideoMbxNumberL( TVmbxQueryType aQueryType,
-                                                                 TDes& aNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryVideoMbxNumberL: =>" );
-    TBool result( EFalse );
-
-    __ASSERT_DEBUG( aNumber.MaxLength() >= KVmbxMaxNumberLength,
-                    User::Panic(KVmbxPanicCategory, EVmbxDescriptorTooSmall) );
-    __ASSERT_DEBUG( aNumber.Length() <= KVmbxMaxNumberLength,
-                         User::Panic(KVmbxPanicCategory, EVmbxNumberTooLong) );
-
-    if ( !AllowedToChangeTheNumber() )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::QueryVideoMbxNumberL: \
-        Video number not allowed to change" );
-        VMBLOGSTRING( "VMBX: RVmbxNumber::QueryVideoMbxNumberL: <=" );
-        User::Leave( KErrAccessDenied );
-        }
-
-    TBuf< KVmbxMaxNumberLength > number;
-    TBool thisClosed( EFalse );
-    // Close() sets thisClosed to ETrue
-
-    FOREVER
-        {
-        number.Copy( aNumber );
-
-        // get the correct query prompt from resource file
-        HBufC* prompt = StringLoader::LoadLC(
-                    ( aQueryType == EVmbxNotDefinedQuery ?
-                            R_VIDEO_DEFINE_NUMBER_PROMPT :
-                                R_VIDEO_CHANGE_NUMBER_PROMPT),
-                                        iCoeEnv );
-
-        iClosedPtr = &thisClosed;
-
-        // Convert output to accommodate the current locale
-        AknTextUtils::LanguageSpecificNumberConversion( number );
-
-        TInt ret;  // return value of the query
-        TBool searchUsed;  // ETrue to open the query again after
-                           //closing single fetch dialog
-
-        // enable search if number length is 0
-        TBool searchEnabled( number.Length() ? EFalse : ETrue );
-
-        do
-            {
-            // show query with the correct prompt
-            iVideoQuery = CVmTextQueryDialog::NewL( number,
-                                                *prompt, searchEnabled );
-
-            ret = iVideoQuery->ExecuteLD( R_VMBX_NUMBER_QUERY );
-
-            iVideoQuery = NULL;
-            searchUsed = EFalse;
-
-            if ( searchEnabled && ret && !number.Length() )
-                {
-                searchUsed = ETrue;
-                // Show phonebook's single fetch dialog
-                TRAPD( error, FetchNumberFromPhonebook2L( number ) );
-
-                // user has pressed End Key
-                if ( thisClosed )
-                    {
-                    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryVideoMbxNumberL: \
-                    End key pressed" );
-                    CleanupStack::PopAndDestroy( prompt );
-                    return EFalse;
-                    }
-
-                if ( error ) //  Back pressed in Contact UI
-                    {
-                    // Now the phone book fetch dialog
-                    // was closed, get out of the loop
-                    ret = EFalse;
-                    break;
-                    }
-                }
-            } while( searchUsed );
-
-        iClosedPtr = NULL;
-
-        CleanupStack::PopAndDestroy( prompt );
-
-        if ( ret )
-            {
-            if ( !number.Length() )
-                {
-                User::LeaveIfError( SaveVideoMbxNumber( number,
-                                                    EAlsActiveLineEntry ) );
-                aNumber.Copy( number );
-
-                // show "not defined" note
-                ShowConfirmationNoteL( R_VIDEO_NOTE_EMPTY_NUMBER );
-                result = ETrue;
-                break;
-                }
-
-            // Convert back to western digits
-            ConvertToWesternDigits( number );
-
-            // check the given number here (emergency numbers not allowed)
-            if ( IsValidPhoneNumber( number ) && !IsEmergencyNumberL( number ) )
-                {
-                TInt status = SaveVideoMbxNumber( number, EAlsActiveLineEntry );
-
-                if ( status == KErrNone )
-                    {
-                    aNumber.Copy( number );
-                    ShowConfirmationNoteL( R_VIDEO_SAVED_NOTE );
-                    result = ETrue;
-                    break;
-                    }
-                }
-
-            if ( !result )
-                {
-                // show "invalid number" note and wait for a short timeout
-                prompt = StringLoader::LoadLC( R_INVALID_NUMBER_NOTE, iCoeEnv );
-
-                iClosedPtr = &thisClosed;
-
-                CAknInformationNote* note =
-                                     new( ELeave ) CAknInformationNote( ETrue );
-                note->ExecuteLD( *prompt );
-
-                iClosedPtr = NULL;
-
-                CleanupStack::PopAndDestroy( prompt );
-
-                if ( !thisClosed )
-                    {
-                    continue;  // the number was invalid -> query again.
-                    }
-                }
-            }
-        break;  // user canceled the query
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::QueryVideoMbxNumberL: <=" );
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SaveVideoMbxNumber
-// Saves the vmbx number. (in phone file system)
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::SaveVideoMbxNumber( const TDesC& aNumber,
-                                                     TVmbxNumberEntry aEntry )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVideoMbxNumber: =>" );
-    TInt error( KErrNone );
-    __ASSERT_DEBUG( iFlags & KVmFlagOpened,
-                User::Panic(KVmbxPanicCategory, EVmbxNotConnected) );
-    __ASSERT_DEBUG( aNumber.Length() <= KVmbxMaxNumberLength,
-                User::Panic(KVmbxPanicCategory, EVmbxNumberTooLong) );
-
-    TInt lineNumber( aEntry );
-    if ( aEntry == EAlsActiveLineEntry )
-        {
-    // get the current ALS line
-        if ( GetAlsLine( lineNumber ) != KErrNone )
-            {
-            lineNumber = EAlsLine1;  // if problems, assume primary line
-            }
-        }
-    TUint32 keyword = lineNumber ==
-      EAlsLine1Entry ? KVideoMbxNumberLinePrimary: KVideoMbxNumberLineAuxiliary;
-
-    error = iSession->Set( keyword, aNumber );
-    if ( !error )
-        {
-         // Client will generate the event itself on request.
-        if ( iFlags & KVmFlagNotifyRequested )
-            {
-            HandleNotifyString( keyword, aNumber );
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SaveVideoMbxNumber: <=" );
-    return error;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::IsUsimSupport
-// -----------------------------------------------------------------------------
-
-// -----------------------------------------------------------------------------
-//  Series 60 Customer / MSatRefreshOserver
-//  Series 60 MSatRefreshObserver API
-// -----------------------------------------------------------------------------
-TBool RVmbxNumber::AllowRefresh(
-            TSatRefreshType aType, const TSatRefreshFiles& aFiles )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::AllowRefresh: =>" );
-    TBool allowRefresh( ETrue );
-    if ( aType == EFileChangeNotification )
-        {
-        const TInt elFile1( aFiles.Locate( KMbdnEf ) );
-        const TInt elFile2( aFiles.Locate( KMbiEf) );
-
-        if ( ( KErrNotFound == elFile1) &&
-             ( KErrNotFound == elFile2 ) )
-            {
-            allowRefresh = EFalse;
-            }
-
-        }
-    else
-        {
-        allowRefresh = EFalse;
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::AllowRefresh: <=" );
-    return allowRefresh;
-    }
-
-// -----------------------------------------------------------------------------
-//  Series 60 Customer / MSatRefreshOserver
-//  Series 60 MSatRefreshObserver API
-// -----------------------------------------------------------------------------
- void RVmbxNumber::Refresh( TSatRefreshType aType,
-                                               const TSatRefreshFiles& aFiles )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::Refresh: =>" );
-    if ( aType == EFileChangeNotification )
-        {
-        const TInt elFile1( aFiles.Locate( KMbdnEf ) );
-        const TInt elFile2( aFiles.Locate( KMbiEf ) );
-
-        if ( ( KErrNotFound != elFile1) || ( KErrNotFound != elFile2 ) )
-            {
-            //do phone book getInfo
-            TInt error( KErrNone );
-            error = DoPhonebookOperation( EVmbxPhonebookGetInfo );
-            if ( !error )
-                {
-                TVmbxEntry entry;
-                entry.iIndex = 1;
-                TInt ret = DoPhonebookOperation( EVmbxPhonebookRead, &entry );
-
-                // Notify SAT Server that refresh initiated file read is done
-                iRSatClient.RefreshEFRead( EFalse );
-
-                if ( ( iNotifyCallBack  ) && ( entry.iTelNumber.Length() > 0 )
-                    && ( iMemoryLocation == EVmbxSimMemory ) )
-                    {
-                    TInt notifyLine( 0 );
-                    TRAPD( err, iNotifyCallBack->HandleNotifyL( notifyLine,
-                                                        entry.iTelNumber ) );
-                    if ( err )
-                        {
-                        _LIT(KVmbxPanicType,"iNotifyCallBack->HandleNotifyL");
-                        User::Panic( KVmbxPanicType, err );
-                        }
-                    }
-                }
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::Refresh: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::MailboxNumbersIdentifiers
-// Gets identifiers of the records in sim from MBI-file in sim
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::MailboxNumbersIdentifiers()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::MailboxNumbersIdentifiers: =>" );
-    TRequestStatus status;
-
-    // Get identifiers
-    iPhone.GetMailboxNumbers( status, iPhoneVoicemailInfoPckg );
-
-    // Wait for asynchronous call to finish
-    User::WaitForRequest( status );
-    VMBLOGSTRING2( "Identifier read status = %I", status.Int() );
-    VMBLOGSTRING2( "iVoice value: %d", iPhoneVoicemailInfo.iVoice );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::MailboxNumbersIdentifiers: <=" );
-    return status.Int();
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::MailboxNumbersIdentifiers
-// Gets identifiers of the records in sim from MBI-file in sim
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::TestAndSetSimAccessFlags()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::TestAndSetSimAccessFlags: =>" );
-    // Caps are not valid for read-only Sim, so check if writing
-    // to sim fails.
-    // Assume that a number exist
-    iNoNumberFound = EFalse;
-    TBool isTestNumberUsed = EFalse;
-    // read sim data first
-    TVmbxEntry entry;
-    entry.iIndex = EAlsLine1;
-
-    TInt readError = DoPhonebookOperation( EVmbxPhonebookRead, &entry );
-
-    // KErrNotFound is returned when number length is zero, then
-    // testnumber is used to test write support
-    if ( readError == KErrNone || readError == KErrNotFound )
-        {
-        // save number for later use
-        if ( entry.iTelNumber.Length() )
-            {
-            iNumberFromSim.Copy( entry.iTelNumber );
-            }
-        // number not found, test with testnumber
-        else if ( entry.iTelNumber.Length() == 0 )
-            {
-            // no number found
-            iNoNumberFound = ETrue;
-            VMBLOGSTRING( "Use test number for testing write support" );
-            entry.iTelNumber.Copy( KTestNumber ) ;
-            isTestNumberUsed = ETrue;
-            }
-
-        VMBLOGSTRING( "Try writing" );
-
-        TInt writeError = DoPhonebookOperation( EVmbxPhonebookWrite, &entry );
-        VMBLOGSTRING2( "Write: %I", writeError );
-
-        // write error, set write flag to not supported
-        // and phone memory in use
-        if ( writeError )
-            {
-            VMBLOGSTRING( "WriteAccess not ok" );
-            iFlags &= ~KVmFlagSimWriteSupport;
-            }
-        // tested with and sim has write access so delete test number from sim
-        else if ( isTestNumberUsed && writeError == KErrNone )
-            {
-            VMBLOGSTRING( "Remove test number from sim" );
-            DoPhonebookOperation( EVmbxPhonebookDelete, &entry );
-            }
-        }
-    // read error, set read and write flag to not supported
-    // and phone memory in use
-    else
-        {
-        VMBLOGSTRING( "ReadAccess not ok" );
-        iFlags &= ~KVmFlagSimReadSupport;
-
-        VMBLOGSTRING( "WriteAccess not ok" );
-        iFlags &= ~KVmFlagSimWriteSupport;
-        // The first USim phonebook type is tested,
-        // keep memorylocation unchanged
-        if ( iUSimFirstRoundTest )
-            {
-            VMBLOGSTRING2( "iMemoryLocation = %d", iMemoryLocation );
-            iUSimFirstRoundTest = EFalse;
-            }
-        else
-            {
-            iMemoryLocation = EVmbxPhoneMemory;
-            iSession->Set( KVmUsesSimMemory, EVmbxPhoneMemory );
-            VMBLOGSTRING2( "iMemoryLocation = %d", iMemoryLocation );
-            }
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::TestAndSetSimAccessFlags: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::MailboxNumbersIdentifiers
-// Gets identifiers of the records in sim from MBI-file in sim
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::CalculateActualMaxLengthOnSim( TInt aSimNumberLength )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::CalculateActualMaxLength: =>" );
-    VMBLOGSTRING2("iPhoneBookInfo.iMaxNumLength = %I", iPhoneBookInfo.iMaxNumLength );
-    VMBLOGSTRING2("aSimNumberLength = %I", aSimNumberLength );
-
-    // If max length is less than 20 or -1 returned, then
-    // max length must be detemined from number length that is
-    // saved on sim.
-    if ( iPhoneBookInfo.iMaxNumLength == KVmExtFileSize ||
-            iPhoneBookInfo.iMaxNumLength == -1 )
-        {
-        // number on sim is less than 21
-        if ( aSimNumberLength <= KVmExtFileSize )
-            {
-            iPhoneBookInfo.iMaxNumLength = KVmExtFileSize;
-            }
-        // number on sim is more than 20 but less than 40
-        else if ( KVmExtFileSize < aSimNumberLength &&
-                        aSimNumberLength <= KVmPhoneNumDigitsMaxLength  )
-            {
-            iPhoneBookInfo.iMaxNumLength = KVmPhoneNumDigitsMaxLength;
-            }
-        // number on sim is more than 40
-        else
-            {
-            iPhoneBookInfo.iMaxNumLength = KVmMaxStoreSize;
-            }
-        }
-    // If max length is 40, and number length on sim is more
-    // than 20 but less than 41, then 48 is available on sim.
-    else if ( iPhoneBookInfo.iMaxNumLength == KVmPhoneNumDigitsMaxLength &&
-              KVmExtFileSize < aSimNumberLength &&
-              aSimNumberLength <= KVmPhoneNumDigitsMaxLength )
-        {
-        iPhoneBookInfo.iMaxNumLength = KVmMaxStoreSize;
-        }
-    VMBLOGSTRING2("iPhoneBookInfo.iMaxNumLength = %I", iPhoneBookInfo.iMaxNumLength );
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::CalculateActualMaxLength: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::VideoSupported
-// Returns video support state
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::VideoSupported()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::VideoSupported: =>" );
-
-    TBool supported( EFalse );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
-        {
-        TInt result = iSession->Get( KVideoMbxSupport, supported );
-        if ( result != KErrNone )
-            {
-            supported = EFalse;
-            }
-        }
-
-    VMBLOGSTRING2("VMBX: RVmbxNumber::VideoSupported: supported = %d", supported );
-    return supported;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::GetVmbxAddressL
-// Retrieves voice mailbox address from RCSC
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::GetVmbxAddressL( TDes& /*aAddress*/ )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmbxAddressL(TDes& aAddress): Method deprecated" );
-    VMBLOGSTRING( "Use GetVmbxAddressL(TDes& aAddress, TUint aServiceId) instead" );
-
-    return KErrNotSupported;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::GetVmbxAddress
-// Retrieves voice mailbox address from SPS
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::GetVmbxAddress( TDes& aAddress, TUint aServiceId )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmbxAddress: =>" );
-    TInt ret( KErrNotSupported );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        TVmbxServiceInfo serviceInfo;
-        serviceInfo.iServiceId = aServiceId;
-        ret = GetServiceInfo( serviceInfo );
-        VMBLOGSTRING2( "VMBX: RVmbxNumber::GetVmbxAddress: error: %d", ret );
-        if ( KErrNone == ret )
-            {
-            if ( serviceInfo.iAddress.Length() > aAddress.MaxLength() )
-                {
-                ret = KErrOverflow;
-                }
-            else
-                {
-                aAddress.Copy( serviceInfo.iAddress );
-                }
-            }
-        VMBLOGSTRING2( "VMBX: RVmbxNumber::GetVmbxAddress: error: %d", ret );
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetVmbxAddress: <=" );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SelectTypeL
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::SelectTypeL( TBool aTitle, TUint& aServiceId )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: =>" );
-
-    if ( !AllowedToChangeTheNumber() && EVmbxDefine == aTitle )
-       {
-       VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: \
-       Not Allow to define voice mail number" );
-       VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: <=" );
-       return EVmbxNone;
-       }
-
-    if ( EVmbxCall != aTitle )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    // the sum of defined numbers
-    TInt definedNumber( 0 );
-    TInt definedFlag( 0 );
-    CheckDefinedNumberCountL(definedNumber, definedFlag, aServiceId );
-
-    // Pop up selection dialog only if there are more than 2 defined numbers
-    if ( KMailBoxLimitForPrompt < definedNumber )
-        {
-        TInt index( 0 );
-        // Clear the old service information
-        iVmbxServiceSelection.Reset();
-
-        // Create selection list query and show it.
-        iTypeSelectionQuery = new (ELeave) CAknListQueryDialog( &index );
-        iTypeSelectionQuery->PrepareLC( R_VOIP_REL2_2_CALL_TO );
-
-        // Create descriptor array for connection networks, connection networks
-        // icons and load connection network images to memory..
-        CDesCArrayFlat* lbxItems =
-            new (ELeave) CDesCArrayFlat( KVmLbxItemsArraySize );
-        CleanupStack::PushL( lbxItems );
-        CArrayPtr<CGulIcon>* icons =
-            new (ELeave) CAknIconArray( KVmLbxItemsArraySize );
-        CleanupStack::PushL( icons );
-
-        ConstructDefaultIconsL( icons );
-
-        // Create final list box item data.
-        TBuf<512> queryItem( KNullDesC );
-        if( definedFlag & KVmFlagCSNumberDefined )
-            {
-            HBufC* csName = StringLoader::LoadLC( R_CALLTO_LBX_CS_MAILBOX_ITEM,
-                                                                       iCoeEnv );
-            queryItem.Format( KQueryItemFormat, 0, csName );
-            CleanupStack::PopAndDestroy( csName );
-
-            // Append text to the item array.
-            lbxItems->AppendL( queryItem );
-            // CS's hardcoded service value is 1
-            User::LeaveIfError( iVmbxServiceSelection.Append(
-                TVmbxServiceSelection( EVmbx, 1 ) ) );
-            }
-
-        if( definedFlag & KVmFlagVideoNumberDefined )
-            {
-            HBufC* videoName =
-                StringLoader::LoadLC( R_CALLTO_LBX_VIDEO_MAILBOX_ITEM,
-                                        iCoeEnv );
-            // Create final list box item data.
-            queryItem.Format( KQueryItemFormat, 1, videoName );
-            CleanupStack::PopAndDestroy( videoName );
-
-            // Append text to the item array.
-            lbxItems->AppendL( queryItem );
-            // Video's hardcoded service value is 1
-            User::LeaveIfError( iVmbxServiceSelection.Append(
-                TVmbxServiceSelection( EVmbxVideo, 1 ) ) );
-            }
-        if( definedFlag & KVmFlagVoIpNumberDefined )
-            {
-             // Get all Service Ids
-            RArray<TUint> profileIds;
-            CleanupClosePushL( profileIds );
-            GetServiceIds( profileIds );
-
-            for ( TInt i( 0 ); i < profileIds.Count(); i++ )
-                {
-                TVmbxServiceInfo serviceInfo;
-                serviceInfo.iServiceId = profileIds[ i ];
-                GetServiceInfo( serviceInfo );
-
-                HBufC* voipName = HBufC::NewLC( serviceInfo.iName.Length() );
-                voipName->Des().Copy( serviceInfo.iName );
-
-                TInt iconId( KErrNotFound );
-                TRAPD( error, AddBrandIconL( icons, profileIds[ i ], iconId ) );
-
-                // If branded icon is not available, use hardcoded value 2 which is
-                // default VoIP icons value
-                if ( KErrNone != error || KErrNotFound == iconId )
-                    {
-                    iconId = 2;
-                    }
-
-                // Create final list box item data.
-                queryItem.Format( KQueryItemFormat, iconId, voipName );
-                CleanupStack::PopAndDestroy( voipName );
-
-                //Append text to the item array.
-                lbxItems->AppendL( queryItem );
-                User::LeaveIfError( iVmbxServiceSelection.Append(
-                    TVmbxServiceSelection( EVmbxIP, serviceInfo.iServiceId ) ) );
-                }
-
-            CleanupStack::PopAndDestroy( &profileIds );
-            }
-
-        iTypeSelectionQuery->SetIconArrayL( icons );
-        iTypeSelectionQuery->SetItemTextArray( lbxItems );
-        iTypeSelectionQuery->SetOwnershipType( ELbmOwnsItemArray );
-
-        CleanupStack::Pop( icons );
-        CleanupStack::Pop( lbxItems );
-
-        if ( iTypeSelectionQuery->RunLD() )
-            {
-            TVmbxServiceSelection serviceType = iVmbxServiceSelection[ index ];
-            iType = serviceType.iServiceType;
-            aServiceId  = serviceType.iServiceId;
-            VMBLOGSTRING2( "VMBX: RVmbxNumber::VoIP vmbx with service id %d selected", aServiceId );
-            }
-        else
-            {
-            iType = EVmbxNone;
-            aServiceId = 0;
-            }
-        iTypeSelectionQuery = NULL;
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SelectTypeL: <=" );
-    return iType;
-    }
-// -----------------------------------------------------------------------------
-// RVmbxNumber::CheckDefinedNumberCountL
-//
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::CheckDefinedNumberCountL( TInt& aDefinedNumber,
-                                      TInt& aDefinedFlag, TUint& aServiceId )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::CheckDefinedNumberCountL: =>" );
-    iType = EVmbxNone;
-    aServiceId = KDefaultServiceId;
-     // the sum of defined numbers
-    TInt definedNumber( KDefaultDefinedNumberCount );
-    TInt definedServiceTypes( 0 );
-    TInt definedFlag( 0 );
-
-    TBuf<KVmbxMaxNumberLength> tmpNumber(KNullDesC);
-
-    // First check what mailboxes are defined.
-    // Skip querying if only one  mailbox with number/address defined.
-    // 1. Get voice number
-    if ( KErrNone == GetVmbxNumber( tmpNumber ) )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::CheckDefinedNumberCountL: CS vmbx number defined");
-        definedNumber++;
-        definedServiceTypes++;
-        iType = EVmbx;
-        aServiceId = KCSorVideoServiceId;
-        definedFlag |= KVmFlagCSNumberDefined;
-        }
-
-    // 2. Get video number
-    if ( VideoSupported() && KErrNone == GetVideoMbxNumber( tmpNumber ) )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::CheckDefinedNumberCountL: Video mbx number defined");
-        definedNumber++;
-        definedServiceTypes++;
-        if( KMailBoxLimitForPrompt == definedNumber)
-            {
-            iType = EVmbxVideo;
-            }
-        aServiceId = KCSorVideoServiceId;
-        definedFlag |= KVmFlagVideoNumberDefined;
-        }
-
-    // 3. Get count of all Service Ids of VoIP
-    RArray<TUint> profileIds;
-    CleanupClosePushL( profileIds );
-
-    if ( KErrNone == GetServiceIds( profileIds ) )
-        {
-        TInt idCount( profileIds.Count() );
-        VMBLOGSTRING2( "VMBX: RVmbxNumber::CheckDefinedNumberCountL: %d IP vmbx services defined", idCount );
-
-        if ( idCount )
-            {
-            definedNumber += idCount;
-            definedServiceTypes++;
-            // If only VoIP and only one service support Vmbx,
-            // then use it directly without prompting.
-            if ( KMailBoxLimitForPrompt == definedNumber )
-                {
-                iType = EVmbxIP;
-                aServiceId = profileIds[ 0 ];
-                }
-            definedFlag |= KVmFlagVoIpNumberDefined;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &profileIds );
-    aDefinedNumber = definedNumber;
-    aDefinedFlag = definedFlag;
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::CheckDefinedNumberCountL: definedNumber = %d",
-                definedNumber );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::CheckDefinedNumberCountL: <=" );
-
-    if ( 1 < definedServiceTypes )
-        {
-        iType = EVmbxNone;
-        }
-    return iType;
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::GetServiceIds
-//
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::GetServiceIds( RArray<TUint>& aProfileIds )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetServiceIds: =>" );
-    TInt ret( KErrNotFound );
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        TRAP( ret, iVmSpsHandler->GetServiceIdsL( aProfileIds ) );
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetServiceIds: <=" );
-    return ret;
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::GetServiceInfo
-//
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt RVmbxNumber::GetServiceInfo( TVmbxServiceInfo& aServiceInfo )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetServiceInfo: =>" );
-    TInt ret( KErrNotFound );
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        ret = iVmSpsHandler->GetServiceInfo( aServiceInfo );
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetServiceInfo: <=" );
-    return ret;
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::NotifyServiceChange
-//
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RVmbxNumber::NotifyServiceChange(
-    MServiceNotifyHandler* aHandler )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyServiceChange: =>" );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        iVmSpsHandler->NotifyServiceChange( aHandler );
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyServiceChange: <=" );
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::NotifyServiceChangeCancel
-//
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RVmbxNumber::NotifyServiceChangeCancel()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyServiceChangeCancel: =>" );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        iVmSpsHandler->NotifyServiceChangeCancel();
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NotifyServiceChangeCancel: <=" );
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::BrandIdL
-//
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RVmbxNumber::BrandIdL( TInt aServiceId, TDes8& aBrandId )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::BrandIdL: =>" );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        iVmSpsHandler->BrandIdL( aServiceId, aBrandId );
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::BrandIdL: <=" );
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::GetBrandedIconL
-//
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RVmbxNumber::GetBrandedIconL(
-    const TDesC8& aBrandingId,
-    CFbsBitmap*& aBrandedBitmap,
-    CFbsBitmap*& aBrandedBitmapMask )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetBrandedIconL: =>" );
-
-    iVmBsHandler->GetBrandedIconL(
-        aBrandingId, aBrandedBitmap, aBrandedBitmapMask );
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::GetBrandedIconL: <=" );
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::ConstructDefaultIconsL
-//
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void RVmbxNumber::ConstructDefaultIconsL(
-    CArrayPtr<CGulIcon>* aIcons )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ConstructDefaultIconsL: =>" );
-
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-
-    //Get the mbm file path
-    TFileName mbmfile( KVmMbmDrive );
-    mbmfile.Append( KDC_APP_BITMAP_DIR );
-    mbmfile.Append( KVmLibMbmFile );
-
-    //default CS icon
-    AknIconUtils::CreateIconL( bitmap, mask, mbmfile,
-                               EMbmVmQgn_prop_nrtyp_mobile,
-                               EMbmVmQgn_prop_nrtyp_mobile_mask );
-
-    aIcons->AppendL( CGulIcon::NewL( bitmap, mask ) );
-
-    //default Video icon
-    AknIconUtils::CreateIconL( bitmap, mask, mbmfile,
-                               EMbmVmQgn_prop_nrtyp_video,
-                               EMbmVmQgn_prop_nrtyp_video_mask );
-
-    aIcons->AppendL( CGulIcon::NewL( bitmap, mask ) );
-
-    //default VoIP icon
-    AknIconUtils::CreateIconL( bitmap, mask, mbmfile,
-                               EMbmVmQgn_prop_nrtyp_voip,
-                               EMbmVmQgn_prop_nrtyp_voip_mask );
-
-    aIcons->AppendL( CGulIcon::NewL( bitmap, mask ) );
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ConstructDefaultIconsL: <=" );
-    }
-// -----------------------------------------------------------------------------
-// RVmbxNumber::AddBrandIconL
-//
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::AddBrandIconL(
-    CArrayPtr<CGulIcon>* aIcons,
-    TUint aServiceId,
-    TInt& aIconId )
-    {
-    // Set branding icon to context pane if available.
-    TBuf8<KVmSettingsUiBrandingIdLength> brandId( KNullDesC8 );
-
-    BrandIdL( aServiceId, brandId );
-
-    CFbsBitmap* brandedBitmap = NULL;
-    CFbsBitmap* brandedBitmapMask = NULL;
-
-    // Get branded bitmap
-    TRAPD( err, GetBrandedIconL( brandId, brandedBitmap, brandedBitmapMask ) );
-
-    if ( KErrNone == err )
-        {
-        // The count of list icons(before adding branding icon to the list)
-        // must be the branded icon list id
-        aIconId = aIcons->Count();
-        // Create new icon and add it to the icon list
-        aIcons->AppendL( CGulIcon::NewL( brandedBitmap, brandedBitmapMask ) );
-        }
-    else
-        {
-        delete brandedBitmap;
-        delete brandedBitmapMask;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::VmbxNumDefInPhoneMemory
-// Checks is VMBX number defined in phone memory
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::VmbxNumDefInPhoneMemory( TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::VmbxNumDefInPhoneMemory: =>" );
-    TBool numDefined( EFalse );
-    TBuf< KVmbxMaxNumberLength > number;
-    TUint32 lineNumber = aLineNumber ==
-        EAlsLine1 ? KVmbxNumberLinePrimary: KVmbxNumberLineAuxiliary;
-
-    if ( KErrNone == iSession->Get( lineNumber, number ) )
-        {
-        if ( aLineNumber == EAlsLine1 )
-            {
-            if (  iMemoryLocation == EVmbxPhoneMemory  &&
-                 number.Length()  )
-                {
-                numDefined = ETrue;
-                }
-            }
-        else if ( aLineNumber == EAlsLine2 && number.Length() )
-            {
-            numDefined = ETrue;
-            }
-        }
-
-    VMBLOGSTRING2("VMBX: RVmbxNumber::VmbxNumDefInPhoneMemory: numDefined = %d",
-                numDefined );
-    return numDefined;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::NumStoredInPhone
-// Checks is the given number stored in phone memory
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::NumStoredInPhone( const TDesC& aNumber, TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::NumStoredInPhone: =>" );
-    TBool numStoredInPhone( EFalse );
-    TBuf< KVmbxMaxNumberLength > number;
-    TUint32 lineNumber = aLineNumber ==
-        EAlsLine1 ? KVmbxNumberLinePrimary : KVmbxNumberLineAuxiliary;
-
-    if (  KErrNone == iSession->Get( lineNumber, number ) )
-        {
-        if ( !( number.Compare( aNumber ) ) )
-            {
-            numStoredInPhone = ETrue;
-            }
-        }
-
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::NumStoredInPhone: numStoredInPhone = %d",
-            numStoredInPhone );
-    return numStoredInPhone;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::BackUpSimNumber
-// Saves VMBX number to the backup store
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::BackUpSimNumber( const TDesC& aNumber, TInt aLineNumber  )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::BackUpSimNumber: =>" );
-    TUint32 lineNumber = aLineNumber == EAlsLine1 ?
-            KVmbxTmpNumberLinePrimary : KVmbxTmpNumberLineAuxiliary;
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::BackUpSimNumber: <=" );
-    return ( iSession->Set( lineNumber, aNumber ));
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::FetchSimNumberBackUp
-// Fetches VMBX number from backup store
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::FetchSimNumberBackUp( TDes& aNumber, TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::FetchSimNumberBackUp: =>" );
-    TUint32 lineNumber = aLineNumber == EAlsLine1 ?
-                KVmbxTmpNumberLinePrimary : KVmbxTmpNumberLineAuxiliary;
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::FetchSimNumberBackUp: <=" );
-    return ( iSession->Get( lineNumber, aNumber ));
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::ClearVMBXNumberFromPhone
-// Clear VMBX number is from SIM from the phone memory
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::ClearVMBXNumberFromPhone( TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ClearVMBXNumberFromPhone: =>" );
-
-    TInt error( KErrNone );
-
-    if ( aLineNumber == EAlsLine1 )
-        {
-        error = SaveVmbxNumberToPhone( KEmptyVoiceMailNumber, EAlsLine1Entry );
-        if ( KErrNone == error &&
-           ( KErrNone == iSession->Set( KVmUsesSimMemory, EVmbxSimMemory ) ) )
-            {
-            iMemoryLocation = EVmbxSimMemory;
-            VMBLOGSTRING(
-              "VMBX: RVmbxNumber::ClearVMBXNumberFromPhone: Line 1" );
-            }
-        }
-    else if ( aLineNumber == EAlsLine2 )
-        {
-        error = SaveVmbxNumberToPhone( KEmptyVoiceMailNumber, EAlsLine2Entry );
-        if ( KErrNone == error )
-            {
-            VMBLOGSTRING(
-              "VMBX: RVmbxNumber::ClearVMBXNumberFromPhone: Line 2");
-            }
-        }
-    else
-        {
-        error = KErrArgument;
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ClearVMBXNumberFromPhone: <=" );
-    return error;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::UserEditNumber
-// Indicates if user has edited VMBX number
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::UserEditNumber( TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::UserEditNumber: =>" );
-    TBool nbrEdited( EFalse );
-
-    TUint32 lineNumber = aLineNumber == EAlsLine1 ?
-            KUserEditedNumber : KUserEditedNumberAuxiliary;
-
-    iSession->Get( lineNumber, nbrEdited );
-
-    VMBLOGSTRING2( "VMBX: RVmbxNumber::UserEditNumber: result = %d",
-            nbrEdited );
-    return EVmbxUserEdit == nbrEdited;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SetUserEditNumber
-// Sets the flag indicating that the user has edited VMBX number
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::SetUserEditNumber( TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SetUserEditNumber: =>" );
-
-    TUint32 lineNumber = aLineNumber == EAlsLine1 ?
-            KUserEditedNumber : KUserEditedNumberAuxiliary;
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SetUserEditNumber: <=" );
-    return ( iSession->Set( lineNumber, EVmbxUserEdit ) );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::ResetUserEditNumber
-// Resets the flag that indicates that the user has edited VMBX number
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::ResetUserEditNumber( TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ResetUserEditNumber: =>" );
-
-    TUint32 lineNumber = aLineNumber == EAlsLine1 ?
-                KUserEditedNumber : KUserEditedNumberAuxiliary;
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ResetUserEditNumber: <=" );
-    return ( iSession->Set( lineNumber, EVmbxNotUserEdit ) );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::UseSimNumIfAvailable
-// Fetches VMBX number stored in SIM if number is available
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::UseSimNumIfAvailable( TDes& aNumber, TInt aLineNumber )
-    {
-    TBuf< KVmbxMaxNumberLength > number;
-    TBool ret( EFalse );
-    TInt error( KErrNone );
-    TVmbxNumberEntry numberEntry = aLineNumber == EAlsLine1 ?
-            EAlsLine1Entry : EAlsLine2Entry;
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::UseSimNumIfAvailable: =>" );
-
-    // If readonly SIM which supports VMBX number
-    // number is fetched from the backup store
-    if ( ( !( iFlags & KVmFlagSimWriteSupport ) && ( iFlags & KVmFlagSimVmbxNumSupport ) )
-             && ( ( aLineNumber == EAlsLine1 && EVmbxPhoneMemory == iMemoryLocation ) ||
-                    aLineNumber == EAlsLine2 ) )
-        {
-        error = FetchSimNumberBackUp( number, aLineNumber );
-        VMBLOGSTRING2( "VMBX: RVmbxNumber:: UseSimNumIfAvailable: number = %S",
-        &number ); 
-        if ( KErrNone == error )
-            {
-            aNumber.Copy( number );
-            SaveVmbxNumberToPhone( aNumber, numberEntry );
-            VMBLOGSTRING(
-              "VMBX: RVmbxNumber::UseSimNumIfAvailable: number from backup store" );
-            ret = ETrue;
-            }
-        }
-    // If writable SIM which supports VMBX number
-    // number is fetched from SIM
-    else if ( iFlags & KVmFlagSimWriteSupport &&
-            ( ( aLineNumber == EAlsLine1 && EVmbxPhoneMemory == iMemoryLocation ) ||
-                    aLineNumber == EAlsLine2 ) )
-        {
-        error = GetVmNumFromSIM( number, aLineNumber );
-        if ( KErrNone == error )
-            {
-            aNumber.Copy( number );
-            if ( EAlsLine1 == aLineNumber )
-                {
-                iMemoryLocation = EVmbxSimMemory;
-                iSession->Set( KVmUsesSimMemory, EVmbxSimMemory );
-                }
-            VMBLOGSTRING(
-              "VMBX: RVmbxNumber::UseSimNumIfAvailable: number from SIM" );
-            ret = ETrue;
-            }
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::UseSimNumIfAvailable: <=" );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::HandleNumberStores
-// Handles the updating of a number stores in phone memory
-// -----------------------------------------------------------------------------
-//
-TInt RVmbxNumber::HandleNumberStores( TInt aLineNumber )
-    {
-    TInt error( KErrNone );
-    TBuf< KVmbxMaxNumberLength > line2number;
-    
-    TInt inactiveLineNumber( EAlsLine2 );
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: =>" );
-
-    // backup the number from the SIM card to the backup store.
-    if ( !( iFlags & KVmFlagSimWriteSupport ) )
-        {
-        if ( aLineNumber == EAlsLine2 )
-            {
-            error = GetVmNumFromSIM( line2number, EAlsLine2Entry );
-            if ( KErrNone == error )
-                {
-                error = BackUpSimNumber( line2number, aLineNumber );
-                VMBLOGSTRING2( "VMBX: RVmbxNumber::HandleNumberStores: \
-                Back up ALS 2 Sim number, error = %d", error );
-                }
-            }
-        else
-            {
-            error = BackUpSimNumber( iNumberFromSim, aLineNumber );
-            VMBLOGSTRING2( "VMBX: RVmbxNumber::HandleNumberStores: \
-            Back up ALS 1 Sim number, error = %d", error );
-            }
-        }
-    // If number found in SIM, old stored number is erased if
-    // it's not defined by the user or updated via external clients
-    if ( !UserEditNumber( aLineNumber ) && 
-            !IsPhoneMemForcedEdit( aLineNumber ) )
-        {
-        ClearVMBXNumberFromPhone( aLineNumber );
-        // if the number was not edited in inactive line,
-        // and do clearing opreration. 
-        // The old stored number from SIM is erased.
-        // otherwise, the edited number was 
-        // defined as the inactive line number.
-        // the number should be kept
-        if ( !IsInactiveLineEdited( inactiveLineNumber ) )
-            {
-            ClearVMBXNumberFromPhone( inactiveLineNumber );
-            }
-            
-        VMBLOGSTRING( "[VMBX]: RVmbxNumber::HandleNumberStores: Clear old VMBX number" );
-        }
-    
-    VMBLOGSTRING( "VMBX: RVmbxNumber::HandleNumberStores: <=" );
-    return error;
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::UsesSimMemory
-// Returns if the SIM memory is used on ALS 1
-// ----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::UsesSimMemory()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::UsesSimMemory: =>" );
-    TBool ret( EFalse );
-    TInt alsline( EAlsLine1 );
-    // get the current ALS line
-    if ( GetAlsLine( alsline ) != KErrNone )
-        {
-        alsline = EAlsLine1;  // if problems, assume primary line
-        }
-
-    iSession->Get( KVmUsesSimMemory, iMemoryLocation );
-    if ( ( iMemoryLocation == EVmbxSimMemory ) && ( alsline == EAlsLine1 ) )
-        {
-        VMBLOGSTRING( "VMBX: RVmbxNumber::UsesSimMemory: SimMemory active" );
-        ret = ETrue;
-        }
-    VMBLOGSTRING( "VMBX: RVmbxNumber::UsesSimMemory: <=" );
-    return ret;
-    }
-
-// ----------------------------------------------------------------------------
-// RVmbxNumber::IsPhoneMemForcedEdit
-// Returns if VMBX number stored in phone memory via external clients
-// ----------------------------------------------------------------------------
-// 
-TBool RVmbxNumber::IsPhoneMemForcedEdit( const TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber:: IsPhoneMemForcedEdit: =>" );
-    TInt nbrEdited( NULL );
-    
-    TUint32 lineNumber = aLineNumber == EAlsLine1 ?
-            KUserEditedNumber : KUserEditedNumberAuxiliary;
-    
-    iSession->Get( lineNumber, nbrEdited );
-    
-    VMBLOGSTRING2( "VMBX: RVmbxNumber:: IsPhoneMemForcedEdit: value = %d",
-            nbrEdited ); 
-    return EvmbxPhoneMemForcedEdit == nbrEdited;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::SetPhoneMemForcedEdit
-// Sets the flag indicating that external clients have edited VMBX number
-// -----------------------------------------------------------------------------    
-//
-TInt RVmbxNumber::SetPhoneMemForcedEdit( TInt aLineNumber )
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SetPhoneMemForcedEdit: =>" );
-
-    TUint32 lineNumber = aLineNumber == EAlsLine1 ?
-            KUserEditedNumber : KUserEditedNumberAuxiliary;
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::SetPhoneMemForcedEdit: <=" );
-    return iSession->Set( lineNumber, EvmbxPhoneMemForcedEdit );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::ShowInformationNoteL
-// Shows information note to user
-// -----------------------------------------------------------------------------
-//
-void RVmbxNumber::ShowInformationNoteL( const TInt aResourceId ) const
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ShowInformationNoteL: =>" );
-    HBufC* prompt = StringLoader::LoadLC( aResourceId, iCoeEnv );
-
-    CAknInformationNote* note = new ( ELeave ) CAknInformationNote ( ETrue );
-    note->ExecuteLD( *prompt );
-
-    CleanupStack::PopAndDestroy( prompt );
-    VMBLOGSTRING( "VMBX: RVmbxNumber::ShowInformationNoteL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::IsNoNumberNoteAllowed
-// check whether the note should be shown
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::IsNoNumberNoteAllowed()
-    {
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsNoNumberNoteAllowed: =>" );
-    TBool result( EFalse );
-
-    TInt videoRet( KErrNotFound );
-    TBool isVideoSupport( VideoSupported() );
-    TBool isVoipSupport( IsIpVoiceMailboxServices() );
-    TBool psAddressFound( EFalse );
-
-    if ( isVideoSupport )
-        {
-        HBufC* tmpNumber = HBufC::New( KVmbxMaxNumberLength );
-        if ( tmpNumber )
-            {
-            TPtr tmpPrt( tmpNumber->Des() );
-            videoRet = GetVideoMbxNumber( tmpPrt );
-            VMBLOGSTRING2( "VMBX: RVmbxNumber::IsNoNumberNoteAllowed \
-            get videonum result=%d", videoRet );
-            }
-        delete tmpNumber;
-        tmpNumber = NULL;
-        }
-
-    if ( isVoipSupport )
-        {
-        RArray<TUint> profileIds;
-        GetServiceIds( profileIds );
-
-        TVmbxServiceInfo serviceInfo;
-        serviceInfo.iAddress.Zero();
-        for ( TInt i = 0; i < profileIds.Count() 
-        && !psAddressFound; i++ )
-            {
-            serviceInfo.iServiceId = profileIds[ i ];
-            GetServiceInfo( serviceInfo );
-
-            VMBLOGSTRING2( "VMBX: RVmbxNumber::IsNoNumberNoteAllowed \
-            PS address length=%d", serviceInfo.iAddress.Length() );
-            if ( serviceInfo.iAddress.Length() )
-                {
-                psAddressFound = ETrue;
-                }
-            }
-
-        profileIds.Close();
-        }
-
-    // This check is done because phone client calls GetVmbxNumber 
-    // and then SelectTypeL, which causes note qtn_... to be shown twice
-    // so the note can be shown in below several condition:
-    // the voice mailbox number is not defined, 
-    // when video feature and 
-    // voip feature are not supported. 
-    // the video number is not defined, when video feature
-    // is supported but voip feature is not supported.
-    // the voip address is not defined, when voip feature
-    // is supported but video feature is not supported.
-    // both the video number and the voip address are not
-    // defined, when both video feature and 
-    // voip feature are supported.
-
-    if ( ( !isVideoSupport && !isVoipSupport )
-        || ( ( isVideoSupport && KErrNotFound == videoRet )
-        && !isVoipSupport )
-        || ( ( isVoipSupport && !psAddressFound
-        && !isVideoSupport ) )
-        || ( isVideoSupport && isVoipSupport
-        && KErrNotFound == videoRet &&
-        !psAddressFound ) )
-        {
-        result = ETrue;
-        }
-
-    VMBLOGSTRING( "VMBX: RVmbxNumber::IsNoNumberNoteAllowed: <=" );
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RVmbxNumber::IsInactiveLineEdited
-// Check whether the number had been edited in inactive line
-// -----------------------------------------------------------------------------
-//
-TBool RVmbxNumber::IsInactiveLineEdited( TInt& aInactiveLineNumber )
-	{
-	VMBLOGSTRING( "VMBX: RVmbxNumber::IsInactiveLineEdited: =>" );
-	TBool result( EFalse );
-	
-	TInt activeLineNumber( EAlsLine1 );
-	TInt inactiveLineNumber( aInactiveLineNumber );
-	
-	// get the current ALS line
-	if ( KErrNone != GetAlsLine( activeLineNumber ) )
-	    {
-	    activeLineNumber = EAlsLine1;  
-	    }
-	else
-		{
-	    // get the inactive line
-	    if ( EAlsLine1 == activeLineNumber )
-	    	{
-	        inactiveLineNumber = EAlsLine2;
-	    	}
-	    else
-	    	{
-	        inactiveLineNumber = EAlsLine1;
-	    	}
-	    // check whether the number had been edited in inactive line before
-	    if ( UserEditNumber( inactiveLineNumber ) 
-	    		|| IsPhoneMemForcedEdit( inactiveLineNumber ) )
-	    	{
-	        result = ETrue;
-	    	}
-		}
-	// get the inactive line number, make it be the output argument
-	aInactiveLineNumber = inactiveLineNumber;
-	
-	VMBLOGSTRING2( "VMBX: RVmbxNumber::IsInactiveLineEdited: result = %d",
-	result );
-	return result;
-	}
-
-//  End of File
--- a/engines/vmbxengine/src/vmsettingsuiiconfileprovider.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +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: Implementation of CVmSettingsUiIconFileProvider class.
-*
-*/
-
-#include "vmsettingsuiiconfileprovider.h"
-
-// ================= MEMBER FUNCTIONS ==========================================
-
-// -----------------------------------------------------------------------------
-// CVmSettingsUiIconFileProvider::CVmSettingsUiIconFileProvider
-//
-// -----------------------------------------------------------------------------
-//
-CVmSettingsUiIconFileProvider::CVmSettingsUiIconFileProvider()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CVmSettingsUiIconFileProvider::~CVmSettingsUiIconFileProvider
-//
-// -----------------------------------------------------------------------------
-//
-CVmSettingsUiIconFileProvider::~CVmSettingsUiIconFileProvider()
-    {
-    iFile.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CVmSettingsUiIconFileProvider::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVmSettingsUiIconFileProvider::ConstructL( RFile& aFile )
-    {
-    User::LeaveIfError( iFile.Duplicate( aFile ) );
-    }
-
-// ----------------------------------------------------------------------------
-// CVmSettingsUiIconFileProvider::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVmSettingsUiIconFileProvider* CVmSettingsUiIconFileProvider::NewL(
-    RFile& aFile )
-    {
-    CVmSettingsUiIconFileProvider* self =
-        new ( ELeave ) CVmSettingsUiIconFileProvider();
-    CleanupStack::PushL( self );
-    self->ConstructL( aFile );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// From MAknIconFileProvider
-//
-// ---------------------------------------------------------------------------
-//
-void CVmSettingsUiIconFileProvider::RetrieveIconFileHandleL(
-    RFile& aFile, const TIconFileType /*aType*/ )
-    {
-    // duplicate the file's handle
-    User::LeaveIfError( aFile.Duplicate( iFile ) );
-    }
-
-// ---------------------------------------------------------------------------
-// From MAknIconFileProvider
-//
-// ---------------------------------------------------------------------------
-//
-void CVmSettingsUiIconFileProvider::Finished()
-    {
-    delete this;
-    }
-
-//  End of File
--- a/engines/vmbxengine/src/vmspshandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,446 +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: Implementation of CVmSPSHandler class.
-*
-*/
-
-// INCLUDE FILES
-#include <spsettings.h>
-#include <spentry.h>
-#include <spproperty.h>
-#include <spnotifychange.h>
-#include <featmgr.h>
-#include <vmnumber.h>
-#include "vmspshandler.h"
-#include "vmblogger.h"
-
-// EXTERNAL DATA STRUCTURES
-// None
-
-// EXTERNAL FUNCTION PROTOTYPES
-// None
-
-// CONSTANTS
-/**  Maximum length of descriptor data */
-const TInt KVmbxMaxDesLength = 512;
-
-// MACROS
-// None
-
-// LOCAL CONSTANTS AND MACROS
-// None
-
-// MODULE DATA STRUCTURES
-// None
-
-// LOCAL FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-// ============================= LOCAL FUNCTIONS =============================
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::CVmSPSHandler
-// C++ default constructor can NOT contain any code, that might leave.
-// ---------------------------------------------------------------------------
-//
-CVmSPSHandler::CVmSPSHandler()
-    {
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CVmSPSHandler::ConstructL()
-    {
-    iSettings = CSPSettings::NewL();
-    iSpsSettingsVoipUtils = CSPSettingsVoIPUtils::NewL();
-
-    iNotifier = CSPNotifyChange::NewL( *this );
-
-    // Subscribe to service change notifies
-    // Empty array so that new services will be notified also
-    RIdArray array;
-    CleanupClosePushL( array );
-    //iNotifier->NotifyChangeL( iServiceIds );
-    iNotifier->NotifyChangeL( array );
-    CleanupStack::PopAndDestroy( &array );
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CVmSPSHandler* CVmSPSHandler::NewL( )
-    {
-    CVmSPSHandler* self = CVmSPSHandler::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::NewLC
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CVmSPSHandler* CVmSPSHandler::NewLC()
-    {
-    CVmSPSHandler* self = new (ELeave) CVmSPSHandler();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// Destructor
-CVmSPSHandler::~CVmSPSHandler()
-    {
-    iObserver = NULL;
-
-    if ( iNotifier )
-        {
-        iNotifier->Cancel();
-        delete iNotifier;
-        }
-
-    delete iSettings;
-
-    delete iSpsSettingsVoipUtils;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::GetServiceIdsL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CVmSPSHandler::GetServiceIdsL( RArray<TUint>& aServiceIds ) const
-    {
-    RArray<TUint> serviceIds;
-    CleanupClosePushL( serviceIds );
-    // Get all service Ids and..
-    iSettings->FindServiceIdsL( serviceIds );
-    // ..remove service if VMBX is not defined or if VMBX address is empty
-    for ( TInt i( 0 ); i <  serviceIds.Count(); i++ )
-        {
-        if ( IsVbmxSupportedL( serviceIds[ i ] ) )
-            {
-            aServiceIds.Append( serviceIds[ i ] );
-            }
-        }
-
-    VMBLOGSTRING2( "VMBX: found %d IP mailbox services", aServiceIds.Count() );
-    
-    CleanupStack::PopAndDestroy( &serviceIds );
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::IsVbmxSupportedL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool CVmSPSHandler::IsVbmxSupportedL( TUint32 aServiceId ) const
-    {
-    TBool supported( EFalse );
-
-    // Get entry
-    CSPEntry* entry = CSPEntry::NewLC();
-    iSettings->FindEntryL( aServiceId, *entry );
-
-    // Get all service properties a.k.a subservices
-    RPropertyArray properties;
-    properties = entry->GetAllProperties();
-
-    TServicePropertyName propertyName;
-
-    for ( TInt i( 0 ); i < properties.Count() && !supported; i++ )
-        {
-        propertyName = properties[ i ]->GetName();
-
-        supported = propertyName == EPropertyVMBXSubServicePluginId;
-
-        if ( supported )
-            {
-            TVmbxServiceInfo serviceInfo;
-            TRAPD( found, GetVmAddressL( aServiceId, serviceInfo.iAddress ) );
-
-            supported = KErrNotFound != found;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( entry );
-
-    VMBLOGSTRING2( "VMBX: CVmSPSHandler::IsVbmxSupportedL: %d", supported );
-    return supported;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::GetServiceInfo
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-TInt CVmSPSHandler::GetServiceInfo( TVmbxServiceInfo& aServiceInfo ) const
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceInfo: =>" );
-    TInt ret( KErrNone );
-
-    TRAP( ret,
-        {
-        GetServiceNameL( aServiceInfo.iServiceId, aServiceInfo.iName );
-
-        GetVmAddressL( aServiceInfo.iServiceId, aServiceInfo.iAddress );
-
-        TInt snap( 0 );
-        GetSNAPIdL( aServiceInfo.iServiceId, snap );
-        aServiceInfo.iSnapId = static_cast<TUint32> ( snap );
-        } );
-
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceInfo: <=" );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::GetVmAddressL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CVmSPSHandler::GetVmAddressL( const TUint32 aServiceId,
-    TDes& aAddress ) const
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetVmAddressL: =>" );
-    RBuf buffer;
-    CleanupClosePushL( buffer );
-    buffer.ReAllocL( KVmbxMaxDesLength );
-
-    CSPEntry* entry = CSPEntry::NewLC();
-    const CSPProperty* property = NULL;
-
-    iSettings->FindEntryL( aServiceId, *entry );
-
-    // Find correct subservice
-    User::LeaveIfError(
-        entry->GetProperty( property, ESubPropertyVMBXListenAddress ) );
-
-    property->GetValue( buffer );
-    buffer.Length() > aAddress.MaxLength() ?
-        User::Leave( KErrOverflow ) : aAddress.Copy( buffer );
-
-    CleanupStack::PopAndDestroy( entry );
-    CleanupStack::PopAndDestroy( &buffer );
-
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetVmAddressL: <=" );
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::GetServiceNameL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CVmSPSHandler::GetServiceNameL( const TUint32 aServiceId,
-    TDes& aName ) const
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceNameL: =>" );
-    RBuf buffer;
-    CleanupClosePushL( buffer );
-    buffer.ReAllocL( KVmbxMaxDesLength );
-
-    // Get entry
-    CSPEntry* entry = CSPEntry::NewLC();
-
-    iSettings->FindEntryL( aServiceId, *entry );
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceNameL: 1" );
-    // Read service id and service name
-    buffer.Copy( entry->GetServiceName() );
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceNameL: 2" );
-    buffer.Length() > aName.MaxLength() ?
-        User::Leave( KErrOverflow ) : aName.Copy( buffer );
-
-    CleanupStack::PopAndDestroy( entry );
-    CleanupStack::PopAndDestroy( &buffer );
-
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceNameL: <=" );
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::GetSNAPIdL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CVmSPSHandler::GetSNAPIdL( TUint32 aServiceId, TInt& aSNAPId ) const
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetSNAPIdL: =>" );
-
-    CSPEntry* entry = CSPEntry::NewLC();
-    const CSPProperty* property = NULL;
-
-    iSettings->FindEntryL( aServiceId, *entry );
-
-    // Find correct subservice
-    TInt error(
-        entry->GetProperty( property, ESubPropertyVMBXPreferredSNAPId ) );
-
-    if ( KErrNotFound != error )
-        {
-        property->GetValue( aSNAPId );
-        }
-
-    CleanupStack::PopAndDestroy( entry );
-
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetSNAPIdL: <=" );
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::BrandIdL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CVmSPSHandler::BrandIdL( TInt aServiceId, TDes8& aBrandId )
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::BrandIdL: =>" );
-
-    CSPEntry* entry = CSPEntry::NewLC();
-    const CSPProperty* property;
-    TBuf<KSPMaxDesLength> brandId( KNullDesC );
-
-    User::LeaveIfError(
-        iSettings->FindEntryL( aServiceId, *entry ) );
-
-    User::LeaveIfError(
-        entry->GetProperty( property, EPropertyBrandId ) );
-
-    if ( property )
-        {
-        property->GetValue( brandId );
-        }
-
-    if ( brandId.Length() )
-        {
-        aBrandId.Copy( brandId );
-        }
-
-    CleanupStack::PopAndDestroy( entry );
-
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::BrandIdL: <=" );
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::IsActivatedL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool CVmSPSHandler::IsActivatedL( TInt aServiceId )
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::IsActivatedL: =>" );
-
-    TBool enabled( EFalse );
-
-    CSPEntry* entry = CSPEntry::NewLC();
-    const CSPProperty* property = NULL;
-
-    iSettings->FindEntryL( aServiceId, *entry );
-
-    // Find correct subservice
-    TInt error(
-        entry->GetProperty( property, ESubPropertyVMBXEnabled ) );
-
-    if ( KErrNotFound != error )
-        {
-        TOnOff onOff( EOONotSet );
-        property->GetValue( onOff );
-        enabled = onOff == EOn;
-        }
-
-    CleanupStack::PopAndDestroy( entry );
-
-    VMBLOGSTRING2( "VMBX: CVmSPSHandler::IsActivatedL: %d", enabled );
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::IsActivatedL: <=" );
-
-    return enabled;
-    }
-
-// ----------------------------------------------------------------------------
-// CVmSPSHandler::NotifyServiceChange
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-void CVmSPSHandler::NotifyServiceChange( MServiceNotifyHandler* aHandler )
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::NotifyServiceChange: =>" );
-
-    iObserver = aHandler;
-
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::NotifyServiceChange: <=" );
-    }
-
-// ----------------------------------------------------------------------------
-// CVmSPSHandler::NotifyServiceChangeCancel
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-void CVmSPSHandler::NotifyServiceChangeCancel()
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::NotifyServiceChangeCancel: =>" );
-
-    iObserver = NULL;
-
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::NotifyServiceChangeCancel: <=" );
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::HandleNotifyChange
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CVmSPSHandler::HandleNotifyChange( TServiceId /*ServiceId*/ )
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::HandleNotifyChange: =>" );
-    if ( iObserver )
-        {
-        TRAP_IGNORE( iObserver->HandleServiceNotifyL() );
-        }
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::HandleNotifyChange: <=" );
-    }
-
-// ---------------------------------------------------------------------------
-// CVmSPSHandler::HandleError
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CVmSPSHandler::HandleError( TInt /*aError*/ )
-    {
-    }
-
-TBool CVmSPSHandler::IsVoIPProfilesFound()
-    {
-    VMBLOGSTRING( "VMBX: CVmSPSHandler::IsVoIPProfilesFound" );
-    
-    TBool ret( EFalse );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        TRAP_IGNORE( ret = iSpsSettingsVoipUtils->VoIPProfilesExistL() );
-        }
-
-    VMBLOGSTRING2( "VMBX: CVmContainer::IsVoIPProfilesFound: return %I", ret );
-    return ret;
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =======================
-
-//  End of File
--- a/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,6 @@
 #include "../cbs/group/bld.inf"
 #include "../cellular/group/bld.inf"
 #include "../convergedcallengine/group/bld.inf"
-#include "../engines/group/bld.inf"
 #include "../networkhandling/group/bld.inf"
 #include "../phoneclientserver/group/bld.inf"
 #include "../satengine/group/bld.inf"
@@ -28,6 +27,5 @@
 #include "../phonesrv_plat/group/bld.inf"
 #include "../phonesrv_pub/group/bld.inf"
 #include "../phonecmdhandler/group/bld.inf"
-#include "../nwnotifier/group/bld.inf"
 
 // End of File
--- a/layers.sysdef.xml	Thu Aug 19 10:28:14 2010 +0300
+++ b/layers.sysdef.xml	Tue Aug 31 15:45:17 2010 +0300
@@ -1,13 +1,13 @@
 <?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/mw/phonesrv" >
 ]>
 
-<SystemDefinition name="phonesrv" schema="1.4.0">
+<SystemDefinition name="phonesrv" schema="1.5.1">
   <systemModel>
     <layer name="mw_layer">
       <module name="phonesrv">
-	      <unit name="phonesrv" unitID="tedo.phonesrv" bldFile="&layer_real_source_path;/group" mrp="" />
+	     <unit name="phonesrv" unitID="tedo.phonesrv" bldFile="&layer_real_source_path;" mrp="" proFile="phonesrv.pro" />
       </module>
     </layer>
 
@@ -22,7 +22,7 @@
         <unit unitID="tedo.dialutils.test" name="dialutils.test" bldFile="&layer_real_source_path;/phoneclientserver/dialutils/tsrc/public/basic/group" mrp="" />
         <unit unitID="tedo.phoneclient.test" name="phoneclient.test" bldFile="&layer_real_source_path;/phoneclientserver/phoneclient/tsrc/public/basic/group" mrp="" />
         <unit unitID="tedo.call_information_api.test" name="call_information_api.test" bldFile="&layer_real_source_path;/phonesrv_plat/call_information_api/tsrc/group" mrp="" />
-	<unit unitID="tedo.sat_client_api.test" name="sat_client_api.test" bldFile="&layer_real_source_path;/phonesrv_plat/sat_client_api/tsrc/group" mrp="" />
+        <unit unitID="tedo.sat_client_api.test" name="sat_client_api.test" bldFile="&layer_real_source_path;/phonesrv_plat/sat_client_api/tsrc/group" mrp="" />
         <unit unitID="tedo.sat_refresh_api.test" name="sat_refresh_api.test" bldFile="&layer_real_source_path;/phonesrv_plat/sat_refresh_api/tsrc/group" mrp="" />
         <unit unitID="tedo.sat_service_api.test" name="sat_service_api.test" bldFile="&layer_real_source_path;/phonesrv_plat/sat_service_api/tsrc/group" mrp="" />
         <unit unitID="tedo.telephony_mediator_api.test" name="telephony_mediator_api.test" bldFile="&layer_real_source_path;/phonesrv_plat/telephony_mediator_api/tsrc/ut_telephony_mediator_api/group" mrp="" /> 		
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWGsmMessageHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWGsmMessageHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define CNWGSMMESSAGEHANDLER_H 
 
 //  INCLUDES
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 #include "CNWMessageHandler.h"
 #include "CNWGsmSessionImplementation.h"
 #include "CNWGsmNetworkCellReselectionHandler.h"
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWGsmNetworkCellReselectionHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWGsmNetworkCellReselectionHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,9 +21,9 @@
 #define CNWGSMNETWORKCELLRESELECTIONHANDLER_H
 
 //  INCLUDES
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 #include <rmmcustomapi.h>
-#include <CMcn.h>
+#include <cmcn.h>
 #include <e32property.h>
 
 // CONSTANTS
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWGsmSessionImplementation.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWGsmSessionImplementation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 #define CNWGSMSESSIONIMPLEMENTATION_H
 
 //  INCLUDES
-#include "CNWSession.h"
-#include "NWHandlingEngine.h"
+#include <cnwsession.h>
+#include <nwhandlingengine.h>
 
 
 // FORWARD DECLARATIONS
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkMCNEngine.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkMCNEngine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CNWNETWORKMCNENGINE_H
 
 //  INCLUDES
-#include "MCbsMcnObserver.h" //For McbsMcnObserver
+#include <mcbsmcnobserver.h> //For MCbsMcnObserver
 #include "MNWNetworkTimer.h"
 #include <e32base.h>
 #include <etelmm.h>
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkSystemEventMonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkSystemEventMonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 
 #include <e32base.h>
 
-#include    "NetworkHandlingDomainPSKeys.h"
+#include <networkhandlingdomainpskeys.h>
 #include <PSVariables.h>
 
 // CONSTANTS
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkViagBaseEngine.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkViagBaseEngine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define CNWNETWORKVIAGBASEENGINE_H
 
 //  INCLUDES
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 #include "CNWMessageHandler.h"
 
 #include "CNWNetworkMonitorBase.h"
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkViagCbEngine.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkViagCbEngine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,11 +22,11 @@
 
 //  INCLUDES
 #include "MNWNetworkTimer.h"
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 #include "CNWGsmMessageHandler.h"
 #include "CNWNetworkHZCbCacheHandler.h"
 #include "MHZCachesInitialisationObserver.h"
-#include <MCbsMcnObserver.h> //For McbsMcnObserver
+#include <mcbsmcnobserver.h> //For McbsMcnObserver
 #include <rmmcustomapi.h>
 #include <e32property.h>
 
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkViagLcEngine.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmInc/CNWNetworkViagLcEngine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -27,9 +27,9 @@
 
 // OLD INCLUDES
 #include "MNWNetworkTimer.h"
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 #include "CNWGsmMessageHandler.h"
-#include <MCbsMcnObserver.h> //For McbsMcnObserver
+#include <mcbsmcnobserver.h> //For McbsMcnObserver
 #include <rmmcustomapi.h>
 #include <e32property.h>
 
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWGsmMessageHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWGsmMessageHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 
 
 // INCLUDE FILES
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 #include "CNWGsmMessageHandler.h"
 #include "CNWNetworkFailureMonitor.h"
 #include "NWLogger.h"
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWGsmNetworkCellReselectionHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWGsmNetworkCellReselectionHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -209,11 +209,7 @@
 //
 CMcn* CNWGsmNetworkCellReselectionHandler::GetMcnPtr()
     {
-    NWLOGSTRING( KNWMESOUT, "NW: CNWGsmMessageHandler::GetMcnPtr() Begin " );
-    
     return iMcn;
-    
-    NWLOGSTRING( KNWMESOUT, "NW: CNWGsmMessageHandler::GetMcnPtr() End " );
     }
 
 // ----------------------------------------------------------------------------
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWGsmSessionImplementation.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWGsmSessionImplementation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 // INCLUDE FILES
 #include "CNWGsmSessionImplementation.h"
 #include "CNWGsmMessageHandler.h"
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 #include "NWLogger.h"
 
 
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkMCNEngine.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkMCNEngine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -23,8 +23,8 @@
 #include "CNWNetworkMcnTimer.h"
 #include "NWPanic.pan"
 #include "NWLogger.h"
-#include <CMcn.h>
-#include <CMcnTopicArray.h>
+#include <cmcn.h>
+#include <cmcntopicarray.h>
 #include <centralrepository.h>
 #include <settingsinternalcrkeys.h>
 
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkViagBaseEngine.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkViagBaseEngine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -32,7 +32,7 @@
 #include    "CNWNetworkSystemEventMonitor.h"
 #include    "CNWGsmMessageHandler.h"
 #include    "NWPanic.pan"
-#include    "NetworkHandlingDomainPSKeys.h"
+#include    <networkhandlingdomainpskeys.h>
 #include    "CNWNetworkViagTimer.h"
 
 // CONSTANTS
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkViagCbEngine.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkViagCbEngine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -23,10 +23,10 @@
 #include    "CNWNetworkViagBaseEngine.h"
 #include    "CNWNetworkViagTimer.h"
 #include    "NWPanic.pan"
-#include    "NetworkHandlingDomainPSKeys.h"
+#include    <networkhandlingdomainpskeys.h>
 #include    "NWLogger.h"
-#include    <CMcn.h>
-#include    <CMcnTopicArray.h>
+#include    <cmcn.h>
+#include    <cmcntopicarray.h>
 
 // CONSTANTS
 const TUint KNWzero = 0;
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkViagLcEngine.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/CNWNetworkViagLcEngine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 #include "CNWNetworkViagBaseEngine.h"
 #include "CNWNetworkViagTimer.h"
 #include "NWPanic.pan"
-#include "NetworkHandlingDomainPSKeys.h"
+#include <networkhandlingdomainpskeys.h>
 #include "NWLogger.h"
 
 //TEST
@@ -1310,9 +1310,6 @@
             values not match " );
         return KErrNotFound;
         }
-    
-    NWLOGSTRING( KNWOBJECT, 
-        "NW: CNWNetworkViagLcEngine::CompareTIntCellIdValues() End " );
     }
 
 //  End of File  
--- a/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/GsmNetworkHandlingProxy.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingGsmSrc/GsmNetworkHandlingProxy.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDE FILES
-#include "NetworkHandlingProxy.h"
+#include <networkhandlingproxy.h>
 #include "CNWGsmSessionImplementation.h"
 #include "NWLogger.h"
 
--- a/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWMessageHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWMessageHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 #define CNWMESSAGEHANDLER_H 
 
 //  INCLUDES
-#include "NWHandlingEngine.h"
-#include "CNWSession.h"
+#include <nwhandlingengine.h>
+#include <cnwsession.h>
 #include <mmtsy_names.h>
 #include <etel.h>
 #include <rmmcustomapi.h>
--- a/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWNetworkModeMonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWNetworkModeMonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include "CNWNetworkMonitorBase.h"
-#include "NetworkHandlingDomainPSKeys.h"
+#include <networkhandlingdomainpskeys.h>
 #include <e32property.h>
 
 // FORWARD DECLARATIONS
--- a/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWNetworkMonitorBase.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWNetworkMonitorBase.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CNWNETWORKMONITORBASE_H
 
 //  INCLUDES
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 
 
 // FORWARD DECLARATIONS
--- a/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWNetworkRegistrationStatusReceiver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWNetworkRegistrationStatusReceiver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CNWNETWORKREGISTRATIONSTATUSRECEIVER_H
 
 //  INCLUDES
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 
 // FORWARD DECLARATIONS
 class CNWNetworkRegistrationStatusMonitor;
--- a/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWProgrammableOperatorNameCommand.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWProgrammableOperatorNameCommand.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #define CNWPROGRAMMABLEOPERATORNAMECOMMAND_H
 
 //  INCLUDES
-#include "NWHandlingEngine.h"
+#include <nwhandlingengine.h>
 #include <etelmm.h>
 #include <rmmcustomapi.h>
 
--- a/networkhandling/networkhandlingengine/NetworkHandlingInc/cnwnetworkselectionsettingmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingInc/cnwnetworkselectionsettingmonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 //  INCLUDES
 #include "CNWNetworkMonitorBase.h"
-#include "NetworkHandlingDomainPSKeys.h"
+#include <networkhandlingdomainpskeys.h>
 #include <e32property.h>
 
 // FORWARD DECLARATIONS
--- a/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWMessageHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWMessageHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include    <featmgr.h>
-#include    "NWHandlingEngine.h"
+#include    <nwhandlingengine.h>
 #include    "CNWMessageHandler.h"
 #include    "CNWNetworkCurrentNetworkMonitor.h"
 #include    "CNWNetworkRegistrationStatusMonitor.h"
--- a/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkModeMonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkModeMonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 //  INCLUDE FILES
 #include    "CNWMessageHandler.h"
 #include    "CNWNetworkModeMonitor.h"
-#include    "NWHandlingEngine.h"
+#include    <nwhandlingengine.h>
 #include    "NWPanic.pan"
 #include    "NWLogger.h"
 
--- a/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkRegistrationStatusMonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkRegistrationStatusMonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #include    <featmgr.h>
 #include    "CNWNetworkRegistrationStatusMonitor.h"
 #include    "CNWMessageHandler.h"
-#include    "NetworkHandlingDomainPSKeys.h"
+#include    <networkhandlingdomainpskeys.h>
 #include    "NWPanic.pan"
 #include    "NWLogger.h"
 #include    "CNWNetworkRegistrationStatusReceiver.h"
--- a/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWSession.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWSession.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include    "CNWSession.h"
+#include    <cnwsession.h>
 
 
 // ============================ MEMBER FUNCTIONS ==============================
--- a/networkhandling/networkhandlingengine/NetworkHandlingSrc/cnwnetworkselectionsettingmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/cnwnetworkselectionsettingmonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 //  INCLUDE FILES
 #include    "CNWMessageHandler.h"
 #include    "cnwnetworkselectionsettingmonitor.h"
-#include    "NWHandlingEngine.h"
+#include    <nwhandlingengine.h>
 #include    "NWPanic.pan"
 #include    "NWLogger.h"
 
--- a/nwnotifier/data/nwnotifier.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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: Resource file of NWNotifier
-*
-*/
-
-//  INCLUDES
-#include <eikon.rh>
-#include <networknotifier.loc>
-
-NAME NWNS
-
-//  RESOURCE DEFINITIONS
-// -----------------------------------------------------------------------------
-//
-//  Define the resource file signature
-//  This resource should be empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE 
-    {
-    }
-
-
-//
-// Localisation
-///////////////////////////////
-STRUCT STRING
-   {
-   LTEXT text;
-   }
-
-
-// -----------------------------------------------------------------------------
-//
-// Resources for messages.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE STRING r_sim_not_prov_mm2      { text=qtn_note_smartchip_mm2; }
-RESOURCE STRING r_sim_not_allow_mm3     { text=qtn_note_smartchip_mm3; }
-RESOURCE STRING r_call_failed_mm4       { text=qtn_note_call_failed_mm4; }
-RESOURCE STRING r_phone_not_allow_mm5   { text=qtn_note_phone_not_allow_mm5; }
-RESOURCE STRING r_phone_not_allow_mm6   { text=qtn_note_phone_not_allow_mm6; }
-RESOURCE STRING r_sim_not_allow         { text=qtn_note_smartchip_not_allow; }
-
-// End of File
--- a/nwnotifier/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include <platform_paths.hrh>  
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-nwnotifier.mmp
-
-PRJ_EXPORTS
-
-//IBY
-../rom/nwnotifier.iby             CORE_MW_LAYER_IBY_EXPORT_PATH(nwnotifier.iby)
-../rom/nwnotifierresources.iby    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(nwnotifierresources.iby)
-
-// For EE texts
-../rom/nwnotifierresources.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(nwnotifierresources.iby)
-
-//LOC
-../loc/networknotifier.loc        MW_LAYER_LOC_EXPORT_PATH(networknotifier.loc)
--- a/nwnotifier/group/nwnotifier.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification file for nwnotifier.exe
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-MW_LAYER_SYSTEMINCLUDE
-
-TARGET            nwnotifier.exe
-TARGETTYPE        exe
-UID               0x1000008d 0x20026826
-SECUREID          0x20026826
-
-SOURCEPATH		    ../data
-
-// Application Resource
-START RESOURCE    nwnotifier.rss
-HEADER
-TARGET            nwnotifier_0x20026826
-TARGETPATH        APP_RESOURCE_DIR
-LANGUAGE_IDS
-END //RESOURCE
-
-USERINCLUDE    ../inc
-
-LIBRARY        euser.lib
-LIBRARY        aknnotify.lib // conf query
-LIBRARY        eiksrv.lib // conf query
-LIBRARY        bafl.lib
-LIBRARY        efsrv.lib // file
-LIBRARY        etel.lib // 
-LIBRARY        etelmm.lib
-LIBRARY        platformenv.lib
-
-VENDORID       VID_DEFAULT
-
-CAPABILITY     CAP_SERVER
-
-SOURCEPATH     ../src
-SOURCE         networknotifiernotewrapper.cpp 
-SOURCE         nwnotifier.cpp
-SOURCE         nwregistrationstatusmonitor.cpp
-
-// End of File
--- a/nwnotifier/inc/networknotifiernotewrapper.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +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: Active object wrapper to handle popup note.
-*
-*/
-
-#ifndef __NETWORKNOTIFIER_WRAPPER_H__
-#define __NETWORKNOTIFIER_WRAPPER_H__
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-
-// INCLUDES
-#include <nwnotifier_0x20026826.rsg>
-
-// FORWARD CLASS DECLARATIONS
-class CAknGlobalConfirmationQuery;
-
-// CONSTANTS
-                           
-_LIT( KResFile, "\\resource\\apps\\NWNotifier_0x20026826.rsc" );   
-
-    
-// OBSERVER DECLARATION
-class MNoteWrapperObserver
-    {
-    public:
-
-        virtual void PopupNoteClosed( ) = 0;
-    };
-
-// CLASS DECLARATION
-/** 
- * This Class provides implementation for handling the error notes
- */
-
-class CNetworkNotifierNoteWrapper : public CActive
-    {
-    public:
-    
-        /**
-        * Two-phased constructor.
-        */
-        static CNetworkNotifierNoteWrapper* NewL( MNoteWrapperObserver& aObserver,
-                                                  TInt aResID );
-        
-        /**
-        * Destructor.
-        */
-        ~CNetworkNotifierNoteWrapper();
-        
-        /**
-        * Monitor inserts the latest error notification err# from ETEL to this stack.
-        * @param aResID Resource id of the note to be added to the notestack.
-        */
-        void AppendNote( const TInt aResID );
-        
-        
-    private:
-        
-        /**
-        * C++ default constructor.
-        * @param aObserver Reference to observer class. CNWRegistrationStatus is listening.
-        * @param aResID Resource id number to be inserted into the notestack.
-        */
-        CNetworkNotifierNoteWrapper( MNoteWrapperObserver& aObserver,
-                                     TInt aResID );
-           
-        /**
-        * Second-phase constructor.
-        * 
-        */
-        void ConstructL();
-        
-        /**
-        * Informs object that asyncronous request is ready.
-        * 
-        */
-        void RunL();
-        
-        /**
-        * Cancels asyncronous request(s).
-        * 
-        */
-        void DoCancel();
-        
-        /**
-        * From CActive, RunError.
-        * Processes any errors.
-        * @param aError The leave code reported.
-        * @result return KErrNone if leave is handled.
-        */
-        TInt RunError( TInt aError );
-        
-        /**
-        * Reads the localized error strings from resource. 
-        * @return The localized error string.
-        */
-        HBufC* ReadResourceLC();
-              
-        /**
-        * Displays the error note passed as a parameter.
-        * @param aNote Pointer to the note.
-        */
-        void DisplayPopupNoteL( HBufC* aNote );
-
-    private:    // Data
-        
-        // Handle to file server
-        RFs iFs;
-        
-        // Note
-        CAknGlobalConfirmationQuery* iGlobalQuery; 
-        
-        // Callback receiver
-        MNoteWrapperObserver& iObserver;
-         
-        // Error note stack<resourceID>
-        RArray<TInt> iErrNotes; 
-    };
-
-#endif // __NETWORKNOTIFIER_WRAPPER_H__
--- a/nwnotifier/inc/nwregistrationstatusmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +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 NWRegistrationStatusMonitor class.
-*
-*/
-
-#ifndef NWREGISTRATION_STATUS_H
-#define NWREGISTRATION_STATUS_H
-
-//  SYSTEM INCLUDES
-#include <e32base.h>
-#include <e32std.h>
-#include <etelmm.h>
-
-// INCLUDES
-#include "networknotifiernotewrapper.h"
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-/**
-*  Monitors network registration status change event
-*  from MMEtel
-*/
-class CNWRegistrationStatusMonitor : public CActive, 
-                                            MNoteWrapperObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CNWRegistrationStatusMonitor* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CNWRegistrationStatusMonitor();
-        
-    
-    protected:  // Functions from CActive
-
-        /**
-        * Cancels asyncronous request(s).
-        * 
-        */
-        void DoCancel();
-
-        /**
-        * Informs object that asyncronous request is ready.
-        * 
-        */
-        void RunL();
-        
-        /**
-         * From CActive, RunError.
-         * Processes any errors.
-         * @param aError The leave code reported.
-         * @result return KErrNone if leave is handled.
-         */
-         TInt RunError( TInt aError );
-
-    private:
-   
-        /**
-        * C++ default constructor.
-        * 
-        */
-        CNWRegistrationStatusMonitor(); 
-                     
-        /**
-        * Second-phase constructor.
-        * 
-        */
-        void ConstructL();  
-        
-        /**
-        * Issues a request to ETel to provide NW registration 
-        * status information.
-        * 
-        */
-        void IssueRequest();
-
-        /**
-        * Maps network registration status errors to resource ids.
-        * 
-        */
-        void ParseErrCode();
-        
-        // from MNoteWrapperObserver
-        void PopupNoteClosed();
-       
-        /**
-        * Open the connection to RMobilePhone
-        * 
-        */
-        void OpenConnectionL();
-        
-        /**
-        * Closes the connection to RMobilePhone
-        * 
-        */
-        void CloseConnection();
-        
-        
-    private: // Data
-        
-        // Current registration status info.
-        RMobilePhone::TMobilePhoneRegistrationStatus iRegistrationStatus;
-        
-        // Handle to RMobilePhone
-        RMobilePhone iPhone;
-  
-        // Handle to Telephony server
-        RTelServer iTelServer;
-        
-        // Parsed res id#
-        TInt iResID;
-        
-        // Note wrapper
-        CNetworkNotifierNoteWrapper* iNoteWrapper;
-   };
-#endif      // NWREGISTRATION_STATUS_H
-            
-// End of File
-
--- a/nwnotifier/loc/networknotifier.loc	Thu Aug 19 10:28:14 2010 +0300
+++ /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: Resource localisation file.
-*
-*/
-
-// LOCALIZATION STRINGS
-
-// d:Popup menu for the sim not provisioned error
-// l:popup_note_window/opt1
-// r:5.0
-//
-#define qtn_note_smartchip_mm2 "SIM not provisioned MM #2"
-
-
-// d:Popup menu for the sim not provisioned error
-// l:popup_note_window/opt1
-// r:5.0
-//
-#define qtn_note_smartchip_mm3  "SIM not allowed MM #3"
-
-// d:Popup menu for the sim not provisioned error
-// l:popup_note_window/opt1
-// r:5.0
-//
-#define qtn_note_call_failed_mm4 "Call Failed MM #4"
-
-// d:Popup menu for the sim not provisioned error
-// l:popup_note_window/opt1
-// r:5.0
-//
-#define qtn_note_phone_not_allow_mm5  "Phone not allowed MM #5"
-
-// d:Popup menu for the sim not provisioned error
-// l:popup_note_window/opt1
-// r:5.0
-//
-#define qtn_note_phone_not_allow_mm6   "Phone not allowed MM #6"
-
-// d:Popup menu for the sim not provisioned error
-// l:popup_note_window/opt1
-// r:5.0
-//
-#define qtn_note_smartchip_not_allow   "SIM not allowed"
--- a/nwnotifier/rom/nwnotifier.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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: IBY file of NWNotifier
-*
-*/
-
-#ifndef NWNOTIFIER_IBY
-#define NWNOTIFIER_IBY
-
-file=ABI_DIR\BUILD_DIR\nwnotifier.exe   PROGRAMS_DIR\nwnotifier.exe
-
-#endif // NWNOTIFIER_IBY
-
-//  End of File  
--- a/nwnotifier/rom/nwnotifierresources.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: IBY file of NWNotifier resources
-*
-*/
-
-#ifndef NWNOTIFIERRESOURCES_IBY
-#define NWNOTIFIERRESOURCES_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-data = DATAZ_\APP_RESOURCE_DIR\NWNotifier_0x20026826.rsc    APP_RESOURCE_DIR\NWNotifier_0x20026826.rsc
-
-#endif // NWNOTIFIERRESOURCES_IBY
-
-//  End of File
--- a/nwnotifier/src/networknotifiernotewrapper.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +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: Active object wrapper to handle popup note.
-*
-*/
-
-// System includes
-#include <avkon.hrh>
-#include <AknGlobalConfirmationQuery.h> 
-#include <bautils.h>
-#include <pathinfo.h>
-
-// Includes
-#include "networknotifiernotewrapper.h"
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CNetworkNotifierNoteWrapper* CNetworkNotifierNoteWrapper::NewL( MNoteWrapperObserver& aObserver,
-                                                                TInt aResID )
-    {
-    CNetworkNotifierNoteWrapper* self = new( ELeave ) CNetworkNotifierNoteWrapper( aObserver,
-                                                                                   aResID );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );    
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::ConstructL
-// 
-// -----------------------------------------------------------------------------
-//
-void CNetworkNotifierNoteWrapper::ConstructL()
-    {
-    RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::ConstructL() -START") );
-    
-    User::LeaveIfError( iFs.Connect() );
-    
-    HBufC* note = ReadResourceLC();
-    
-    if( note )
-        {
-        DisplayPopupNoteL( note );
-        CleanupStack::PopAndDestroy( note );
-        }
-    
-    RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::ConstructL() -END") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::CNetworkNotifierNoteWrapper
-// 
-// -----------------------------------------------------------------------------
-//
-CNetworkNotifierNoteWrapper::CNetworkNotifierNoteWrapper( MNoteWrapperObserver& aObserver, 
-                                                          TInt aResID ) : 
-                                                          CActive( EPriorityStandard ), 
-                                                          iObserver( aObserver ) 
-    {
-    iErrNotes.Insert( aResID, 0 );
-    CActiveScheduler::Add( this );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::~CNetworkNotifierNoteWrapper
-// 
-// -----------------------------------------------------------------------------
-//
-CNetworkNotifierNoteWrapper::~CNetworkNotifierNoteWrapper()
-    {
-    RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::~CNetworkNotifierNoteWrapper() -START") );
-    
-    iFs.Close();
-    iErrNotes.Close(); // cleanup and close
-    
-    Cancel();
-    delete iGlobalQuery;
-    
-    RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::~CNetworkNotifierNoteWrapper() -END") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::AppendNote
-//
-// Monitor inserts the latest error notification err# from ETEL to this stack
-// -----------------------------------------------------------------------------
-//
-void CNetworkNotifierNoteWrapper::AppendNote( const TInt aResID )
-    {
-    RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::AppendNote() -START") );
-    iErrNotes.Insert( aResID, 0 );
-    RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::AppendNote() -END") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::DisplayPopupNoteL
-// 
-// -----------------------------------------------------------------------------
-//
-void CNetworkNotifierNoteWrapper::DisplayPopupNoteL( HBufC* aNote )
-    {
-    RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::DisplayPopupNoteL() -START") );
-    
-    if( !IsActive() )
-        {   
-        if( !iGlobalQuery )
-			{
-            iGlobalQuery = CAknGlobalConfirmationQuery::NewL();
-        	}
-		if( aNote )
-			{
-        	iGlobalQuery->ShowConfirmationQueryL( iStatus, 
-                                                  *aNote, 
-                                                  R_AVKON_SOFTKEYS_OK_EMPTY, 
-                                                  R_QGN_NOTE_WARNING_ANIM );
-			}
-		
-        SetActive();
-        }
-
-    RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::DisplayPopupNoteL() -END") );
-    }
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::ReadResourceLC
-//
-// Just to read localized error strings from resource 
-//
-// -----------------------------------------------------------------------------
-//
-HBufC* CNetworkNotifierNoteWrapper::ReadResourceLC()
-    {
-    RDebug::Print(
-            _L("NW: CNetworkNotifierNoteWrapper::ReadResourceLC() -START") );
-
-    TInt resId;
-    RResourceFile resFile;
-    TResourceReader reader;
-
-    TFileName fullFileName;
-    TDriveUnit driveNum = PathInfo::RomRootPath();
-
-    fullFileName.Insert( 0, driveNum.Name() );
-    fullFileName.Append( KResFile );
-
-    TFileName file( fullFileName );
-    HBufC16* textBuffer = NULL;
-    
-    // We are interested in the most recent err note at a time
-    resId = iErrNotes[0];
-
-    // Err# can be removed from the stack now
-    iErrNotes.Remove( 0 );
-        
-    BaflUtils::NearestLanguageFile( iFs, file );   
-    resFile.OpenL( iFs, file );
-    // According to SDK docs, resFile will be closed if this function leaves
-    resFile.ConfirmSignatureL();
-    
-    HBufC8* readBuffer = resFile.AllocReadLC( resId );
-    reader.SetBuffer( readBuffer );
-    
-    TPtrC textdata = reader.ReadTPtrC();
-    textBuffer = HBufC16::NewL( textdata.Length() );
-    *textBuffer = textdata;
-    
-    CleanupStack::PopAndDestroy( readBuffer );
-    CleanupStack::PushL( textBuffer );
-    
-    resFile.Close();
-        
-    RDebug::Print(
-            _L("NW: CNetworkNotifierNoteWrapper::ReadResourceLC() -END"));
-    return textBuffer;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::RunL
-// Pure virtuals from CActive implemented in this derived class.
-// iStatus error handling is not needed here, since the service provider for
-// this AO (in DisplayPopupNoteL) will leave in case of an error, and will 
-// therefore be handled in RunError.
-// -----------------------------------------------------------------------------
-//
-void CNetworkNotifierNoteWrapper::RunL()
-    {
-    RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::RunL -START") );
-        
-    if( iErrNotes.Count() ) // There are more errors to display: 
-        { 
-        HBufC* note = ReadResourceLC();
-        
-        if ( note )
-            {
-            DisplayPopupNoteL( note );
-            CleanupStack::PopAndDestroy( note );
-            }
-        }
-    else
-        { 
-        // Error note stack is empty, since this task has completed and let monitor 
-        // to destruct this instance
-        RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::RunL : No more notes to display") );
-        iObserver.PopupNoteClosed();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::DoCancel
-// 
-// -----------------------------------------------------------------------------
-//
-void CNetworkNotifierNoteWrapper::DoCancel()
-    {
-    if( iGlobalQuery )
-        {
-        iGlobalQuery->CancelConfirmationQuery();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CNetworkNotifierNoteWrapper::RunError()
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CNetworkNotifierNoteWrapper::RunError( TInt aError )
-    {
-    // Resource reader failed in ReadResourceLC
-    // Just reissue the request
-    if ( aError )
-        {
-        RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::RunError: Showing of the note failed!") );
-        }
-    
-    return KErrNone;
-    }
-
-// end of file
--- a/nwnotifier/src/nwnotifier.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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 module contains the implementation of CNWNotifier 
-*              class member functions.
-*
-*/
-
-// SYSTEM INCLUDE FILES
-
-// INCLUDE FILES
-#include "nwregistrationstatusmonitor.h" 
-
-//  Global Variables
-
-// CONSTANTS
-_LIT( KNWNotifierThreadName,"NWNotifierThread" ); 
-
-//  Local Functions
-
-// -----------------------------------------------------------------------------
-// DoStartL()
-// 
-// -----------------------------------------------------------------------------
-//
-LOCAL_C void DoStartL()
-    {
-    // Rename thread as 
-    User::RenameThread( KNWNotifierThreadName );  
-    
-    // Create active scheduler (to run active objects)
-    CActiveScheduler* threadScheduler = new (ELeave) CActiveScheduler;
-    CleanupStack::PushL( threadScheduler );
-    CActiveScheduler::Install( threadScheduler );
-
-    // Create an instance of status monitoring component. Start monitoring instantly.
-    CNWRegistrationStatusMonitor* statusMonitor = CNWRegistrationStatusMonitor::NewL();
-    
-    //Starts the scheduler. Thread remains in this loop until this process is terminated.
-    CActiveScheduler::Start();
-    
-    delete statusMonitor;
-    
-    // Delete active scheduler
-    CleanupStack::PopAndDestroy( threadScheduler );
-    }
-
-//  Global Functions
-
-// -----------------------------------------------------------------------------
-// E32Main()
-// Provides the API for the operating system to start the executable.
-// Returns the address of the function to be called.
-// -----------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
-    {
-    // Create cleanup stack
-    __UHEAP_MARK;
-    CTrapCleanup* cleanup = CTrapCleanup::New();
-    
-    if( !cleanup )
-        {
-        return KErrNoMemory;
-        }
-    
-    // Run application code inside TRAP harness
-    TRAPD( mainErr, DoStartL() );
-        
-    delete cleanup;
-    __UHEAP_MARKEND;
-    
-    return mainErr;
-    }
-
-// End of File
--- a/nwnotifier/src/nwregistrationstatusmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +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 module contains the implementation of CNWRegistrationStatusMonitor 
-*              class member functions.
-*
-*/
-
-//  INCLUDE FILES
-#include "nwregistrationstatusmonitor.h"
-// System 
-#include <exterror.h>
-#include <mmtsy_names.h> // KMmTsyModuleName
-#include <etelmmerr.h>
-
-// ================= MEMBER FUNCTIONS =======================================
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::CNWRegistrationStatusMonitor
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-// -----------------------------------------------------------------------------
-//
-CNWRegistrationStatusMonitor::CNWRegistrationStatusMonitor() : 
-    CActive( EPriorityStandard )
-    {
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CNWRegistrationStatusMonitor::ConstructL()
-    {  
-    // Add to scheduler.    
-    CActiveScheduler::Add( this );
-    
-    // Open connection to ETel
-    OpenConnectionL();
-    
-    // Start monitoring
-    IssueRequest();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CNWRegistrationStatusMonitor* CNWRegistrationStatusMonitor::NewL()
-    {
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::NewL -START") );
-    
-    CNWRegistrationStatusMonitor* self = new ( ELeave ) CNWRegistrationStatusMonitor();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::NewL -END") );
-    return self;
-    }
- 
-
-// -----------------------------------------------------------------------------
-// Destructor
-// 
-// -----------------------------------------------------------------------------
-//
-CNWRegistrationStatusMonitor::~CNWRegistrationStatusMonitor()
-    {
-    Cancel();     
-    
-    CloseConnection();
-    
-    delete iNoteWrapper;
-    }
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::OpenConnectionL()
-// Open connection to ETel
-// -----------------------------------------------------------------------------
-//
-void CNWRegistrationStatusMonitor::OpenConnectionL()
-    {
-    // Connect ETel server
-    User::LeaveIfError( iTelServer.Connect() );
-
-    // Load ETel TSY module
-    User::LeaveIfError( iTelServer.LoadPhoneModule( KMmTsyModuleName ) );
-
-    // Set this session to receive detailed errors
-    User::LeaveIfError( iTelServer.SetExtendedErrorGranularity(
-            RTelServer::EErrorExtended ) );
-
-    // Opens a phone subsession by name, 
-    User::LeaveIfError( iPhone.Open( iTelServer, KMmTsyPhoneName ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::CloseConnection()
-// Closes the connection to ETel
-// -----------------------------------------------------------------------------
-//
-void CNWRegistrationStatusMonitor::CloseConnection()
-    {
-    iPhone.Close();
-        
-    if ( iTelServer.Handle() )
-        {
-        iTelServer.UnloadPhoneModule( KMmTsyModuleName );
-        iTelServer.Close();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::DoCancel
-// Cancels the pending async. command.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CNWRegistrationStatusMonitor::DoCancel()
-    {
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::DoCancel -START") );
-    
-    iPhone.CancelAsyncRequest( EMobilePhoneNotifyNetworkRegistrationStatusChange );
-    
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::DoCancel -END") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::RunL
-// Receives the completion of the pending async. command,
-// saves possible values from async.
-// 
-// -----------------------------------------------------------------------------
-//
-void CNWRegistrationStatusMonitor::RunL()
-    {
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::RunL -START") );
-    
-    if( iStatus.Int() != KErrNone ) // Display only errors
-        {
-        // Parse error code to iResId
-        ParseErrCode();
-        
-        if( !iNoteWrapper )
-            { // Instantiate a notewrapper and pass err code to be displayed
-            iNoteWrapper = CNetworkNotifierNoteWrapper::NewL( *this, iResID );
-            }
-        else // If note wrapper exists already, add error code -stack in wrapper
-            {
-            iNoteWrapper->AppendNote( iResID );
-            }
-        }
-    else
-        {
-        if( iStatus.Int() == KErrBadHandle || 
-            iStatus.Int() == KErrServerBusy )
-            {
-            // Close the session to ETel
-            CloseConnection();
-            // Reconnect
-            OpenConnectionL();
-            }
-        }
-    
-    // Keep monitoring
-    IssueRequest();
-        
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::RunL -END") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::ParseErrorCode()
-// 
-// -----------------------------------------------------------------------------
-//
-void CNWRegistrationStatusMonitor::ParseErrCode()
-    {
-    switch( iStatus.Int() )
-        {
-        case KErrGsmMMImsiUnknownInHlr:
-            {
-            iResID = R_SIM_NOT_PROV_MM2;
-            RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_SIM_NOT_PROV_MM2") );
-            break;
-            }
-        case KErrGsmMMIllegalMs:
-            {
-            iResID = R_SIM_NOT_ALLOW_MM3;
-            RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_SIM_NOT_ALLOW_MM3") );
-            break;
-            }
-        case KErrGsmMMImsiUnknownInVlr:
-            {
-            iResID = R_CALL_FAILED_MM4;
-            RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_CALL_FAILED_MM4") );
-            break;       
-            }
-        case KErrGsmMMImeiNotAccepted:
-            {
-            iResID = R_PHONE_NOT_ALLOW_MM5;
-            RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_PHONE_NOT_ALLOW_MM5") );
-            break; 
-            }
-        case KErrGsmMMIllegalMe:
-            {
-            iResID = R_PHONE_NOT_ALLOW_MM6;
-            RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_PHONE_NOT_ALLOW_MM6") );
-            break;
-            }  
-        case KErrMMEtelAuthenticateFailed:
-            {
-            RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_SIM_NOT_ALLOW") );
-            iResID = R_SIM_NOT_ALLOW;
-            break;  
-            }
-        default:
-            break;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::IssueRequest
-// Executes the async. NotifyNetworkRegistrationStatusChange function.
-// 
-// -----------------------------------------------------------------------------
-//
-void CNWRegistrationStatusMonitor::IssueRequest()
-    {
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::IssueRequest -START") );
-    
-    if ( !IsActive() )
-        {
-        iPhone.NotifyNetworkRegistrationStatusChange( iStatus, iRegistrationStatus ); 
-        SetActive();
-        RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::IssueRequest : NotifyChange()-request set active - pending !") );
-        }
-    
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::IssueRequest -END") );
-    }
- 
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::PopupNoteClosed
-// 
-// Callback from note wrapper class : all error notes are displayed since this monitor
-// class can destruct note wrapper
-// -----------------------------------------------------------------------------
-//
-void CNWRegistrationStatusMonitor::PopupNoteClosed()
-    {
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::PopupNoteClosed -START") );
-    
-    delete iNoteWrapper;
-    iNoteWrapper = NULL;
-    
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::PopupNoteClosed -END") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CNWRegistrationStatusMonitor::RunError()
-// Processes any errors.
-// -----------------------------------------------------------------------------
-//
-TInt CNWRegistrationStatusMonitor::RunError( TInt /*aError*/ )
-    {
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::RunError -START") );
-    
-    // Keep monitoring
-    IssueRequest();
-    
-    RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::RunError -END") );
-    return KErrNone;    // Handled the error fully
-    }
-
-//  End of File 
--- a/phoneclientserver/CallUI/BMARM/DIALUTILSU.DEF	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	CreateDialUtilsFactoryL__Fv @ 1 NONAME R3UNUSED ; CreateDialUtilsFactoryL(void)
-
--- a/phoneclientserver/CallUI/BWINS/DIALUTILSU.DEF	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?CreateDialUtilsFactoryL@@YAPAVCDialUtilsFactory@@XZ @ 1 NONAME ; class CDialUtilsFactory * __cdecl CreateDialUtilsFactoryL(void)
-
--- a/phoneclientserver/CallUI/Data/101F868E.rss	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Data/101F868E.rss	Tue Aug 31 15:45:17 2010 +0300
@@ -19,8 +19,8 @@
 
 //  INCLUDES
 #include    <registryinfov2.rh>
-#include    <AiwCommon.hrh>
-#include    "CaUI.hrh"
+#include    <aiwcommon.hrh>
+#include    "caui.hrh" 
 
 
 //  RESOURCE DEFINITIONS 
--- a/phoneclientserver/CallUI/Data/CallUI.rss	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Data/CallUI.rss	Tue Aug 31 15:45:17 2010 +0300
@@ -27,9 +27,9 @@
 #include <avkon.rsg>
 #include <avkon.loc>
 
-#include "CaUI.hrh"
+#include "caui.hrh" 
 #include <callui.loc>
-#include <AiwCommon.hrh>
+#include <aiwcommon.hrh>
 
 
 
@@ -428,7 +428,7 @@
 #endif //__MMS
 #else  // RD_UNIFIED_EDITOR
         NEW_MESSAGE_MTM_TYPE
-       	    {
+            {
             id = 0x102072D6; 
             name = qtn_tel_retry_message_call_item;
             }
@@ -443,7 +443,7 @@
 #endif //__EMAIL_UI
             ,
         NEW_MESSAGE_MTM_TYPE
-       	    {
+            {
             id = 0x10207245; 
             name = qtn_mce_pop_up_PostCard;
             }
--- a/phoneclientserver/CallUI/Group/CaUiEngine.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Group/CaUiEngine.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -26,21 +26,21 @@
 TARGETTYPE      dll
 UID             0x1000008d 0x101F868F
 
-SOURCEPATH      ../Src/CaUiEngine
-SOURCE          CaUiEngFactImpl.cpp
+SOURCEPATH      ../src/cauiengine
+SOURCE          cauiengfactimpl.cpp
 
-SOURCE          CaUiQuery.cpp
-SOURCE          CaUiEngine.cpp
-SOURCE          CaUiActiveObject.cpp
-SOURCE          CaUiMessageSender.cpp
-SOURCE          CaUiDialogs.cpp
+SOURCE          cauiquery.cpp 
+SOURCE          cauiengine.cpp 
+SOURCE          cauiactiveobject.cpp 
+SOURCE          cauimessagesender.cpp 
+SOURCE          cauidialogs.cpp 
 
-SOURCE          CaUiVoIPExtension.cpp
+SOURCE          cauivoipextension.cpp 
 SOURCE          ccauireconnectquery.cpp
 SOURCE          ccauireconnectqueryimpl.cpp
 
-SOURCEPATH      ../Data
-START RESOURCE  CallUI.rss
+SOURCEPATH      ../data 
+START RESOURCE  callui.rss 
 HEADER
 TARGETPATH      RESOURCE_FILES_DIR
 END
@@ -48,9 +48,9 @@
 // TEMPORARY DEFINITION FOR CONTACT FINDER HEADERS
 SYSTEMINCLUDE    ../../../../../app/phone/inc
 
-USERINCLUDE     ../Inc
-USERINCLUDE     ../Inc/CaUiEngine
-USERINCLUDE     ../Data
+USERINCLUDE     ../inc 
+USERINCLUDE     ../inc/cauiengine 
+USERINCLUDE     ../data 
 USERINCLUDE     ../loc
 
 APP_LAYER_SYSTEMINCLUDE
--- a/phoneclientserver/CallUI/Group/CaUiPlugin.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Group/CaUiPlugin.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -26,20 +26,20 @@
 
 UID             0x10009D8D 0x101F868E
 
-SOURCEPATH      ../Src/CaUiPlugin
-SOURCE          CaUiPlugin.cpp
-SOURCE          CaUIMain.cpp
+SOURCEPATH      ../src/cauiplugin 
+SOURCE          cauiplugin.cpp 
+SOURCE          cauimain.cpp 
 
 
-SOURCEPATH      ../Data
+SOURCEPATH      ../data 
 
-START RESOURCE  101F868E.rss
+START RESOURCE  101f868e.rss 
 TARGET          cauiplugin.rsc
 END
 
 
-USERINCLUDE     ../Inc
-USERINCLUDE     ../Inc/CaUiPlugin
+USERINCLUDE     ../inc 
+USERINCLUDE     ../inc/cauiplugin 
 
 MW_LAYER_SYSTEMINCLUDE 
 SYSTEMINCLUDE   /epoc32/include/ecom
@@ -47,9 +47,8 @@
 
 LIBRARY         euser.lib
 LIBRARY         servicehandler.lib
-LIBRARY	        flogger.lib
+LIBRARY         flogger.lib
 LIBRARY         commonengine.lib
-LIBRARY         featmgr.lib // FeatureManager
 
 LANGUAGE_IDS
 
--- a/phoneclientserver/CallUI/Group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,27 +24,27 @@
 PRJ_EXPORTS
 
 // Private
-../Inc/CaUiEngine/CaUiDialResultObserver.h |../inc/cauidialresultobserver.h
-../Inc/CaUiEngine/CaUiLogger.h             |../inc/cauilogger.h
-../Inc/CaUiEngine/CaUiEng.h                |../inc/cauieng.h
+../inc/cauiengine/cauidialresultobserver.h |../inc/cauidialresultobserver.h
+../inc/cauiengine/cauilogger.h             |../inc/cauilogger.h
+../inc/cauiengine/cauieng.h                |../inc/cauieng.h
 
 // Internal
-../Inc/CaUI.hrh                            |../../../inc/caui.hrh
+../inc/caui.hrh                            |../../../inc/caui.hrh
 
-../Group/callui_stub.SIS                   /epoc32/data/z/system/install/callui_stub.sis
+../group/callui_stub.sis                   /epoc32/data/z/system/install/callui_stub.sis
 
 // LOC files
 ../loc/callui.loc                           MW_LAYER_LOC_EXPORT_PATH(callui.loc)
 
 // IBY files
-../Rom/CallUI.iby                           CORE_MW_LAYER_IBY_EXPORT_PATH(CallUI.iby)
-../Rom/CallUI_Variant.iby                   CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(CallUI_Variant.iby)
-../Rom/CallUIResources.iby                  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(CallUIResources.iby)
+../rom/callui.iby                           CORE_MW_LAYER_IBY_EXPORT_PATH(callui.iby)
+../rom/callui_variant.iby                   CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(callui_variant.iby)
+../rom/calluiresources.iby                  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(calluiresources.iby)
 
 
 PRJ_MMPFILES
-../Group/CaUiEngine.mmp
-../Group/CaUiPlugin.mmp
+../group/cauiengine.mmp
+../group/cauiplugin.mmp
 
 
 //  End of File  
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiActiveObject.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiActiveObject.h	Tue Aug 31 15:45:17 2010 +0300
@@ -194,10 +194,10 @@
         CPhCntMatcher*                  iPhCntMatcher;
 
         // Is CPhCntMatcher owned.
-        TBool   						iOwnMatcher;
+        TBool                           iOwnMatcher;
         
         // Message sender
-        CCaUiMessageSender*				iMessageSender;
+        CCaUiMessageSender*             iMessageSender;
 
     };
 
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiDialDataContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiDialDataContainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 #define CAUIDIALDATACONTAINER_H
 
 //  INCLUDES
-#include <E32Base.h>
-#include <TPhCltExtPhoneDialData.h>
+#include <e32base.h> 
+#include <tphcltextphonedialdata.h> 
 
 
 /**
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiDialogs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiDialogs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,9 @@
 
 // Includes
 
-#include "PhCltTypes.h"
-#include "CaUiVoIPExtension.h"
+#include "phclttypes.h" 
+#include "cauivoipextension.h" 
+
 // Forward declarations
 
 class CCaUiEngine;
@@ -58,16 +59,16 @@
     
     public:
     
-    	/**
+        /**
         * Two-phased constructor.
         * @return an instance of CCaUiDialogs.
         */
-	    static CCaUiDialogs* NewL( CCaUiEngine& aCaUiEngine );
+        static CCaUiDialogs* NewL( CCaUiEngine& aCaUiEngine );
     
-	    /**
-	    * Destructor.
-	    */
-	    virtual ~CCaUiDialogs();
+        /**
+        * Destructor.
+        */
+        virtual ~CCaUiDialogs();
     
         /**
         * Launch a query whether video call will be created with long 
@@ -75,8 +76,8 @@
         * 
         * @return The selection user made
         */
-	    TInt QueryVideoCallDefaultActionL();
-	    
+        TInt QueryVideoCallDefaultActionL();
+        
         /**
         * Launch a list query asking what type of call the caller wants
         * to make.
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEng.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEng.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 //  INCLUDES
 #include <e32base.h>
 #include <spdefinitions.h>  //RIdArray
-#include "CaUI.hrh"
+#include "caui.hrh" 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngFactImpl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngFactImpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 
 //  INCLUDES
-#include    "cauieng.h"
+#include    "cauieng.h" 
 
 
 /**
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngine.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,15 +21,15 @@
 
 //  INCLUDES
 #include    <e32std.h>
-#include    <ConeResLoader.h>           // RConeResourceLoader.
-#include    <mphcltextphoneobserver.h>  // MPhCltExtPhoneObserver.
-#include    "cauieng.h"
-#include    "cauidialresultobserver.h"
-#include    "CaUiQueryObserver.h"
-#include    <PhCltTypes.h>
-#include    <MPhCltEmergencyCallObserver.h>
+#include    <coneresloader.h> // RconeResourceLoader. 
+#include    <mphcltextphoneobserver.h> // MPhCltExtPhoneObserver. 
+#include    "cauieng.h" 
+#include    "cauidialresultobserver.h" 
+#include    "cauiqueryobserver.h" 
+#include    <phclttypes.h> 
+#include    <mphcltemergencycallobserver.h> 
 #include    <cphcntcontactdataselection.h>  // MPhCntSelectionObserver
-#include    <CPhCltEmergencyCall.h>     // CPhCltEmergencyCall
+#include    <cphcltemergencycall.h> // CPhCltEmergencyCall 
 #include    <mcauireconnectqueryobserver.h>
 #include    <cconvergedserviceselector.h>
 #include    <mphcntstoreloaderobserver.h>
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiMessageSender.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiMessageSender.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 //  INCLUDES
 #include <e32base.h>
 #include <msvapi.h>
-#include <MsgArrays.h>  // CUidNameArray
+#include <msgarrays.h> // CUidNameArray 
 
 // CLASS DECLARATION
 class CMsvSession;
@@ -61,17 +61,17 @@
         * @param aMessageType mtmUid indicate the message type
         *        aRealAddress address list to send message
         */      
-		void CreateNewMessageL( TInt aMessageType,
-		    MDesC16Array* aRealAddress,
-		    MDesC16Array* aAliases,
-		    CRichText* aRichText );
+        void CreateNewMessageL( TInt aMessageType,
+            MDesC16Array* aRealAddress,
+            MDesC16Array* aAliases,
+            CRichText* aRichText );
 
         /**
         * Get messgae types array
-        */		    
-		const CUidNameArray& MessageTypesArrayL();    
-	
-	private:
+        */          
+        const CUidNameArray& MessageTypesArrayL();    
+    
+    private:
 
         /**
         * C++ constructor.
@@ -84,7 +84,7 @@
         /**
         * Create SendUi
         */
-		void CreateSendUiL();
+        void CreateSendUiL();
 
         /**
         * Get message types from mtm registry
@@ -92,17 +92,17 @@
         * @param aMsgTypes array of UIDs (MTM types)
         *
         */
-		void UpdateMessageTypesArrayL( CUidNameArray* aMsgTypes );
+        void UpdateMessageTypesArrayL( CUidNameArray* aMsgTypes );
 
         /**
         * Check if mail box is defined
-        */		
-		TBool IsMailboxDefinedL();
+        */      
+        TBool IsMailboxDefinedL();
 
         /**
         * Create connection to message service
         */
-		void CreateMessageServiceConnectionL();
+        void CreateMessageServiceConnectionL();
 
     protected:  // Functions from base classes
 
@@ -112,16 +112,16 @@
         virtual void HandleSessionEventL(TMsvSessionEvent aEvent, 
             TAny* aArg1, TAny* aArg2, TAny* aArg3);
 
-	private:
-	
-		// Message service session
+    private:
+    
+        // Message service session
         CMsvSession* iSession;
         
         // Send UI
         CSendUi*    iSendUi;
         
         // Array of MTM types
-        CUidNameArray* iMsgTypes;	
+        CUidNameArray* iMsgTypes;   
 
     };
 
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiVoIPExtension.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiVoIPExtension.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 //  INCLUDES
 #include <e32base.h>
 #include <badesca.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 #include <spdefinitions.h>  //RIdArray
 
 /**
--- a/phoneclientserver/CallUI/Inc/CaUiPlugin/CaUiPlugin.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Inc/CaUiPlugin/CaUiPlugin.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,11 +21,11 @@
 
 
 //  INCLUDES
-#include    <AiwServiceIfMenu.h>
-#include    <AiwCommon.h>               // AIW dialdata.
+#include    <aiwserviceifmenu.h>
+#include    <aiwcommon.h>               // AIW dialdata.
 #include    <spdefinitions.h>  //TServiceId
 #include    "cauidialresultobserver.h"
-#include    "CaUI.hrh"
+#include    "caui.hrh"
 
 // FORWARD DECLARATIONS
 class CCaUiEngApi;
--- a/phoneclientserver/CallUI/Rom/CallUI.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Rom/CallUI.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -20,10 +20,10 @@
 #define __CALLUI_IBY__
 
 REM CallUI Plugin
-ECOM_PLUGIN(CaUiPlugin.dll,101F868E.rsc)
+ECOM_PLUGIN(cauiplugin.dll,101f868e.rsc)
 
 REM CallUI Engine
-file=ABI_DIR\BUILD_DIR\CaUiEngine.dll       SHARED_LIB_DIR\CaUiEngine.dll
+file=ABI_DIR\BUILD_DIR\cauiengine.dll       SHARED_LIB_DIR\cauiengine.dll
 
 REM Enabler for exlipsing ROM binaries
 data=ZSYSTEM\install\callui_stub.sis       system\install\callui_stub.sis
--- a/phoneclientserver/CallUI/Rom/CallUI_Variant.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Rom/CallUI_Variant.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define __CALLUI_VARIANT_IBY__
 
 #ifdef __JAPAN_PREFIX_CHANGE
-file=ABI_DIR\BUILD_DIR\DialUtils.dll                        SHARED_LIB_DIR\DialUtils.dll
+file=ABI_DIR\BUILD_DIR\dialutils.dll                        SHARED_LIB_DIR\dialutils.dll
 #endif //  __JAPAN_PREFIX_CHANGE
 
 #endif
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiActiveObject.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiActiveObject.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,16 +19,16 @@
 
 
 // INCLUDE FILES
-#include    "CaUiActiveObject.h"
-#include    "CaUiQueryObserver.h"
+#include    "cauiactiveobject.h" 
+#include    "cauiqueryobserver.h" 
 #include    <coemain.h>
 
 #include    <mcauireconnectqueryobserver.h>
 #include    <cphonecntfactory.h>
-#include    <cphcntmatcher.h>
-#include    <mphcntmatch.h>
-#include	"CaUiMessageSender.h"
-#include	"cauilogger.h"
+#include    <cphcntmatcher.h> 
+#include    <mphcntmatch.h> 
+#include    "cauimessagesender.h" 
+#include    "cauilogger.h" 
 // CONSTANTS
 
 
@@ -366,8 +366,8 @@
             break;
         }
 
-	CAUILOGSTRING2("CALLUI: CCaUiGlnActiveObject::LaunchEditorL(): Message type: %d", messageType);
-	CAUILOGSTRING2("CALLUI: CCaUiGlnActiveObject::LaunchEditorL(): Launch query: %d", launchQuery);
+    CAUILOGSTRING2("CALLUI: CCaUiGlnActiveObject::LaunchEditorL(): Message type: %d", messageType);
+    CAUILOGSTRING2("CALLUI: CCaUiGlnActiveObject::LaunchEditorL(): Launch query: %d", launchQuery);
 
     // If the editor type was valid, launch the editor.
     if ( launchQuery )
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialDataContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialDataContainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include    "CaUiDialDataContainer.h"
+#include    "cauidialdatacontainer.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialogs.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialogs.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -21,19 +21,19 @@
 #include <e32base.h>
 #include <e32cmn.h>
 #include <featmgr.h>
-#include <StringLoader.h>
-#include <CallUI.rsg>                // Resources.
+#include <stringloader.h> 
+#include <callui.rsg> // Resources. 
 #include <aknmessagequerydialog.h>
 #include <aknnotewrappers.h>
-#include <AknGlobalListQuery.h>
-#include <AknGlobalNote.h>
+#include <akngloballistquery.h> 
+#include <aknglobalnote.h> 
 #include <mcauireconnectqueryobserver.h>
-#include "CaUiDialogs.h"
-#include "cauilogger.h"
-#include "CaUiQuery.h"
-#include "CaUiEngine.h"
-#include "cphcntmatcher.h"
-#include "CaUiActiveObject.h"
+#include "cauidialogs.h" 
+#include "cauilogger.h" 
+#include "cauiquery.h" 
+#include "cauiengine.h" 
+#include "cphcntmatcher.h" 
+#include "cauiactiveobject.h" 
 
 // CLASS DECLARATION
 
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngFactImpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngFactImpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include    "CaUiEngFactImpl.h"
-#include    "CaUiEngine.h"
+#include    "cauiengfactimpl.h" 
+#include    "cauiengine.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngine.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,43 +17,43 @@
 
 
 // INCLUDE FILES
-#include    "CaUiEngine.h"
-#include    "CaUiQuery.h"               // CCaUiQuery.
+#include    "cauiengine.h" 
+#include    "cauiquery.h" // CCaUiQuery. 
 #include    <mcauireconnectqueryobserver.h>  // MCaUiReconnectQueryObserver.
-#include    <CallUI.rsg>                // Resources.
-#include    <cphcltdialer.h>            // CPhCltDialer.
+#include    <callui.rsg> // Resources. 
+#include    <cphcltdialer.h> // CPhcltDialer. 
 #include    <cphonecntfactory.h>
 #include    <cphcntsingleitemfetch.h>
 #include    <aiwinternaldialdata.h>
-#include    <AiwServiceHandler.h>
-#include    <cphcltextphonedialdata.h>  // CPhCltExtPhoneDialData
+#include    <aiwservicehandler.h> 
+#include    <cphcltextphonedialdata.h> // CPhCltExtPhoneDialData 
 
 #include    "callui.loc"                // Localized strings.
 
-#include    <StringLoader.h>            // String Loader.
+#include    <stringloader.h> // String Loader. 
 #include    <aknnotewrappers.h>         // CAknInformationNote.
-#include    <AknGlobalListQuery.h>      // CAknGlobalListQuery.
+#include    <akngloballistquery.h> // CAknGloballistQuery. 
 #include    <featmgr.h>                 // FeatureManager.
 
-#include    <AknGlobalConfirmationQuery.h> // Confirmation query.
+#include    <aknglobalconfirmationquery.h> // Confirmation query.
 
-#include    <PhCltUtils.h>              // Character removal.
-#include    <AiwCommon.h>               // AIW dialdata.
+#include    <phcltutils.h> // Character removal. 
+#include    <aiwcommon.h> // AIW dialdata. 
 
-#include    <NetworkHandlingDomainPSKeys.h>
+#include    <networkhandlingdomainpskeys.h> 
 #include    <e32property.h>             // Pub&Sub functionality.
 
-#include    "CaUiVoIPExtension.h"        // VoIP/SCCP profile store
+#include    "cauivoipextension.h" // VoIP/SCCP profile store 
 
 #include    <centralrepository.h>
-#include    <settingsinternalcrkeys.h>
-#include     "cauilogger.h"        // Call Ui Logger
+#include    <settingsinternalcrkeys.h> 
+#include     "cauilogger.h" // Call Ui Logger 
 #include    <aknmessagequerydialog.h> 
-#include    <AknGlobalNote.h>
+#include    <aknglobalnote.h>
 #include    <mphcntstoreloader.h>
-#include    <MVPbkContactStore.h>
+#include    <mvpbkcontactstore.h> 
 
-#include "CaUiDialogs.h"
+#include "cauidialogs.h" 
 
 // CONSTANTS
 
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiMessageSender.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiMessageSender.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,17 +19,17 @@
 
 
 //  INCLUDES
-#include 	"CaUiMessageSender.h" 
+#include    "cauimessagesender.h" 
 
-#include    <coemain.h>     	// CCoeEnv
-#include    <CallUI.rsg>  		// Resources.
+#include    <coemain.h>         // CCoeEnv
+#include    <callui.rsg> // Resources. 
 
-#include    <msvids.h>    		// KUidMsvLocalServiceMtmValue
+#include    <msvids.h>          // KUidMsvLocalServiceMtmValue
 
-#include    <sendui.h>     		// CSendAppUi, CSendUi
-#include    <CMessageData.h>    // Message data for CSendUi
-#include    <featmgr.h>   		// Feature manager
-#include 	"cauilogger.h"		// Call Ui Logger
+#include    <sendui.h>          // CSendAppUi, CSendUi
+#include    <cmessagedata.h> // Message data for CSendUi 
+#include    <featmgr.h>         // Feature manager
+#include    "cauilogger.h" // Call Ui Logger 
 
 // CONSTANTS
 // The reconnect query options granularity.
@@ -81,7 +81,7 @@
         
     if( iSendUi ) 
         {    
-    	delete iSendUi;   
+        delete iSendUi;   
         }
         
     CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::~CCaUiMessageSender()");    
@@ -100,9 +100,9 @@
     CAUILOGSTRING("CALLUI: >>> CCaUiMessageSender::NewL()");
     
     CCaUiMessageSender* self = new( ELeave ) CCaUiMessageSender ();
-	
-	CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::NewL()");
-	
+    
+    CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::NewL()");
+    
     return self;
     }
 
@@ -122,7 +122,7 @@
        
     TRAPD( err, CreateSendUiL());
     if ( err != KErrNone )
-	    User::Leave( KErrGeneral );		
+        User::Leave( KErrGeneral );     
     
     //Launch message editor standalone
     TUid mtmUid = { aMessageType };
@@ -201,7 +201,7 @@
     CleanupStack::Pop();
     iMsgTypes = msgTypes;
 
-	CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::MessageTypesArrayL()");
+    CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::MessageTypesArrayL()");
 
     return *iMsgTypes;
     }
@@ -332,7 +332,7 @@
             CAUILOGSTRING("CALLUI:<<< CCaUiMessageSender::HandleSessionEventL(): case: EMsvCloseSession");
             break;
         default:
-        	CAUILOGSTRING("CALLUI:<<< CCaUiMessageSender::HandleSessionEventL(): case: default");
+            CAUILOGSTRING("CALLUI:<<< CCaUiMessageSender::HandleSessionEventL(): case: default");
             break;
         }
         
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiQuery.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiQuery.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 
 
 //  INCLUDES
-#include "CaUiQuery.h" 
+#include "cauiquery.h" 
 
 
 // -----------------------------------------------------------------------------
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiVoIPExtension.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiVoIPExtension.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,12 +18,12 @@
 
 
 // INCLUDE FILES
-#include    "CaUiVoIPExtension.h"
-#include    <CallUI.rsg>
+#include    "cauivoipextension.h" 
+#include    <callui.rsg> 
 #include    <featmgr.h> 
 #include    <spsettings.h>
 #include    <spproperty.h>
-#include    <StringLoader.h>            // String Loader.
+#include    <stringloader.h> // String Loader. 
 
 
 
@@ -90,7 +90,7 @@
         }
     CleanupStack::PopAndDestroy( &voipServiceIds );
           
-	return isProfiles; 
+    return isProfiles; 
     }
 
 // -----------------------------------------------------------------------------
@@ -117,25 +117,22 @@
         // of them supports internet call        
         for ( TInt i = 0; idArray.Count() > i; i++)
             {                        
-            // check if the service supports internet call                     	                                        
+            // check if the service supports internet call                                                              
             CSPProperty* property = CSPProperty::NewLC();
             // get attribute mask of the service
-
-            TInt error = settingsApi->FindPropertyL( idArray[i], 
-                EPropertyServiceAttributeMask, *property );
+            User::LeaveIfError( settingsApi->FindPropertyL( idArray[i], 
+                EPropertyServiceAttributeMask, *property ) );
+            
             // read the value of mask property
-            if ( KErrNone == error )
+            TInt mask = 0;                    
+            if ( KErrNone == property->GetValue( mask ) )
                 {
-                TInt mask = 0;                    
-                if ( KErrNone == property->GetValue( mask ) )
+                if ( ( mask & ESupportsInternetCall )
+                    && ( mask & EIsVisibleInCallMenu ) ) 
                     {
-                    if ( ( mask & ESupportsInternetCall )
-                        && ( mask & EIsVisibleInCallMenu ) ) 
-                        {
-                        aVoipServiceIds.Append( idArray[i] );
-                        }
+                    aVoipServiceIds.Append( idArray[i] );
                     }
-                }   
+                }
             CleanupStack::PopAndDestroy( property );     
             }                                   
         }
--- a/phoneclientserver/CallUI/Src/CaUiEngine/ccauireconnectqueryimpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/ccauireconnectqueryimpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include    "ccauireconnectqueryimpl.h"
-#include    "CaUiEngine.h"
+#include    "cauiengine.h" 
 
 CCaUiReconnectQueryImpl* CCaUiReconnectQueryImpl::NewL( 
     MCaUiReconnectQueryObserver& aObserver )
--- a/phoneclientserver/CallUI/Src/CaUiPlugin/CaUIMain.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiPlugin/CaUIMain.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 // INCLUDE FILES
 #include    <ecom.h>
 #include    <implementationproxy.h>
-#include    "CaUI.hrh"
-#include    "CaUiPlugin.h"
+#include    "caui.hrh" 
+#include    "cauiplugin.h" 
 
 
 // CONSTANTS
--- a/phoneclientserver/CallUI/Src/CaUiPlugin/CaUiPlugin.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/Src/CaUiPlugin/CaUiPlugin.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,18 +18,17 @@
 
 
 // INCLUDE FILES
-#include    "CaUiPlugin.h"  // This class interface.
-#include    "cauieng.h"     // CaUiEngine.
-#include    <AiwCommon.hrh> // AIW constants.
-#include    "CaUI.hrh"      // CallUI constants.
-#include    <AiwMenu.h>     // AIW Menu pane.
+#include    "cauiplugin.h" // This class interface. 
+#include    "cauieng.h" // CaUiEngine. 
+#include    <aiwcommon.hrh> // AIW constants. 
+#include    "caui.hrh" // CallUI constants. 
+#include    <aiwmenu.h> // AIW Menu pane. 
 
-#include	<AiwServiceHandler.h>
-#include    <PhCltTypes.h>  // PhoneClient types.
-#include    "cauilogger.h"  // Call Ui Logger
-#include    <StringLoader.h>
-#include    <CallUI.rsg>
-#include    <featmgr.h>      // FeatureManager.
+#include    <aiwservicehandler.h> 
+#include    <phclttypes.h> // PhoneClient types. 
+#include    "cauilogger.h" // Call Ui Logger 
+#include    <stringloader.h>
+#include    <callui.rsg>
 
 // CONSTANTS
 
@@ -37,7 +36,7 @@
 _LIT( KCaUiNullResFile, "" );
 
 // The library to be loaded.
-_LIT( KCaUiLoadedLib, "CaUiEngine.dll" );
+_LIT( KCaUiLoadedLib, "cauiengine.dll" );
 
 
 
@@ -247,13 +246,7 @@
                 }
             }
         }
-    
-    if ( csVideoMenuItemAvailable && 
-    		!FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
-    	{
-    	csVideoMenuItemAvailable = EFalse;
-    	}
-    
+
     // Add menu items
 
     TInt menuIndex = aIndex;
--- a/phoneclientserver/CallUI/loc/callui.loc	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/CallUI/loc/callui.loc	Tue Aug 31 15:45:17 2010 +0300
@@ -5,7 +5,7 @@
 * under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
-
+*
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
 *
--- a/phoneclientserver/EnPolicy/Group/DOSENPolicy.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Group/DOSENPolicy.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -27,11 +27,11 @@
 TARGETTYPE      DLL
 UID             0x101F86D1 0x101F86D2
 
-SOURCEPATH      ../Src/DosEnPolicy
-SOURCE          CDOSEmergencyNumberPolicy.cpp
+SOURCEPATH      ../src/dosenpolicy 
+SOURCE          cdosemergencynumberpolicy.cpp 
 
-USERINCLUDE     . ../Inc 
-USERINCLUDE     ../Inc/DosEnPolicy
+USERINCLUDE     . ../inc 
+USERINCLUDE     ../inc/dosenpolicy 
 
 MW_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE   ../../../inc
--- a/phoneclientserver/EnPolicy/Group/SOSENPolicy.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Group/SOSENPolicy.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -27,26 +27,26 @@
 TARGETTYPE      DLL
 UID             0x101F86D1 0x101F86D3
 
-SOURCEPATH      ../Src/SosEnPolicy
-SOURCE          CSosEmergencyNumberPolicyManager.cpp
-SOURCE          CSosEmergencyNumberPolicyHandler.cpp
-SOURCE          CSosEnPolicyENListHandler.cpp
-SOURCE          CSosEnPolicySimStatusMonitor.cpp
-SOURCE          CSosEnPolicySatRefresh.cpp
+SOURCEPATH      ../src/sosenpolicy 
+SOURCE          csosemergencynumberpolicymanager.cpp 
+SOURCE          csosemergencynumberpolicyhandler.cpp 
+SOURCE          csosenpolicyenlisthandler.cpp 
+SOURCE          csosenpolicysimstatusmonitor.cpp 
+SOURCE          csosenpolicysatrefresh.cpp 
 
-USERINCLUDE     . ../Inc 
-USERINCLUDE     ../Inc/SosEnPolicy
+USERINCLUDE     . ../inc 
+USERINCLUDE     ../inc/sosenpolicy 
 
 MW_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   ../../inc // for RPhCltEmergencyCall.h
+SYSTEMINCLUDE   ../../inc // for rphcltemergencycall.h 
 
 LIBRARY         euser.lib
 LIBRARY         etel.lib
 LIBRARY         etelmm.lib 
 LIBRARY         commonengine.lib
 LIBRARY         featmgr.lib
-LIBRARY	    	satclient.lib	// for sat refresh
+LIBRARY         satclient.lib   // for sat refresh
 LIBRARY         centralrepository.lib
 LIBRARY         cenrepnotifhandler.lib
 
--- a/phoneclientserver/EnPolicy/Group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -22,19 +22,19 @@
 
 PRJ_EXPORTS
 
-../Inc/CEmergencyNumberPolicy.h         |../../../inc/cemergencynumberpolicy.h
+../inc/cemergencynumberpolicy.h         |../../../inc/cemergencynumberpolicy.h
 #ifdef __EN_POLICY_DOS
-DosEnPolicy_stub.SIS                 /epoc32/data/z/system/install/dosenpolicy_stub.sis
+dosenpolicy_stub.sis                 /epoc32/data/z/system/install/dosenpolicy_stub.sis
 #else
-SosEnPolicy_stub.sis                 /epoc32/data/z/system/install/SosEnPolicy_stub.sis
+sosenpolicy_stub.sis                 /epoc32/data/z/system/install/sosenpolicy_stub.sis
 #endif
 
 // IBY files
 ../rom/enpolicy.iby                 CORE_MW_LAYER_IBY_EXPORT_PATH(enpolicy.iby)
 
 PRJ_MMPFILES
-../Group/DOSENPolicy.mmp
-../Group/SOSENPolicy.mmp
+../group/dosenpolicy.mmp
+../group/sosenpolicy.mmp
 
 PRJ_TESTMMPFILES
 // specify the .mmp files required for building any test programs here
--- a/phoneclientserver/EnPolicy/Inc/CEmergencyNumberPolicy.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Inc/CEmergencyNumberPolicy.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,8 +23,8 @@
 
 // INCLUDES
 #include <e32base.h>  
-#include <RPhCltServer.h>
-#include <rphcltemergencycall.h>
+#include <rphcltserver.h> 
+#include <rphcltemergencycall.h> 
 
 // CONSTANTS
 const TUid KEnPolicyUid={ 0x101F86D1 };
--- a/phoneclientserver/EnPolicy/Inc/DosEnPolicy/CDOSEmergencyNumberPolicy.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Inc/DosEnPolicy/CDOSEmergencyNumberPolicy.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define CDOSEMERGENCYNUMBERPOLICY_H
 
 // INCLUDES
-#include    <cemergencynumberpolicy.h>
+#include    <cemergencynumberpolicy.h> 
 #include    <rmmcustomapi.h>
 #include    <cenrepnotifyhandler.h>
 
--- a/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,9 +21,9 @@
 #define CSOSEMERGENCYNUMBERPOLICYHANDLER_H
 
 // INCLUDES
-#include    "CSOSEmergencyNumberPolicyManager.h"
-#include    "CSosEnPolicySimStatusMonitor.h"
-#include    "CSosEnPolicyENListHandler.h"
+#include    "csosemergencynumberpolicymanager.h" 
+#include    "csosenpolicysimstatusmonitor.h" 
+#include    "csosenpolicyenlisthandler.h" 
 #include    <mmretrieve.h>
 #include    <e32property.h>
 
@@ -211,7 +211,7 @@
         
         //Sim state
         TInt iSimState;
-		
+        
     };
 
 #endif  // CSOSEMERGENCYNUMBERPOLICYHANDLER_H
--- a/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define CSOSEMERGENCYNUMBERPOLICYMANAGER_H
 
 // INCLUDES
-#include <cemergencynumberpolicy.h>
+#include <cemergencynumberpolicy.h> 
 
 // FORWARD DECLARATIONS
 class CSosEmergencyNumberPolicyHandler;
--- a/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSosEnPolicyENListHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSosEnPolicyENListHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 
 // INCLUDES
-#include    "CSOSEmergencyNumberPolicyHandler.h"
-#include    <RPhCltServer.h>
+#include    "csosemergencynumberpolicyhandler.h" 
+#include    <rphcltserver.h> 
 #include    <cenrepnotifyhandler.h>
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSosEnPolicySatRefresh.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSosEnPolicySatRefresh.h	Tue Aug 31 15:45:17 2010 +0300
@@ -102,18 +102,18 @@
         */
         void RunL();
         
-		private:    // Data
-		
-		    // Reference to cbsserver
-			  CSosEmergencyNumberPolicyHandler& iCSosEmergencyNumberPolicyHandler;
-			  // Sat session connection.
-			  RSatSession* iSatSession;
-			  // Sat refresh connection
-		    RSatRefresh* iSatRefresh;
-		   	// Is refresh allowed to do.
-		    TBool iAllowRefresh;    
-		    // The RProperty to listen system global state..
-		    RProperty iProperty;
+        private:    // Data
+        
+            // Reference to cbsserver
+              CSosEmergencyNumberPolicyHandler& iCSosEmergencyNumberPolicyHandler;
+              // Sat session connection.
+              RSatSession* iSatSession;
+              // Sat refresh connection
+            RSatRefresh* iSatRefresh;
+            // Is refresh allowed to do.
+            TBool iAllowRefresh;    
+            // The RProperty to listen system global state..
+            RProperty iProperty;
     };
 
 #endif      // CSOSENPOLICYSATREFRESH_H   
--- a/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSosEnPolicySimStatusMonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSosEnPolicySimStatusMonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 
 // INCLUDES
-#include "CSOSEmergencyNumberPolicyHandler.h"
+#include "csosemergencynumberpolicyhandler.h" 
 
 #include <e32base.h>            // CActive
 #include <e32property.h>        // RProperty
--- a/phoneclientserver/EnPolicy/Src/DosEnPolicy/CDOSEmergencyNumberPolicy.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Src/DosEnPolicy/CDOSEmergencyNumberPolicy.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDE FILES
-#include "CDOSEmergencyNumberPolicy.h"
+#include "cdosemergencynumberpolicy.h" 
 #include <mmtsy_names.h>
 #include <telservicesvariant.hrh>
 
@@ -319,21 +319,21 @@
             }
         }
         
-	//match is wrong, only part of ememergency number is matched
-	int newmatchlen = 0;
-	for (int i = place; i < iProductSpecificList.Length(); i++)
-		{
-		if(iProductSpecificList [i] != KEnPolicySDNumberSeparator )
-			newmatchlen++;
-		else
-			break;	
-		}
-		
-		if (length != newmatchlen)
-			{
-			return EFalse;
-			}
-		
+    //match is wrong, only part of ememergency number is matched
+    int newmatchlen = 0;
+    for (int i = place; i < iProductSpecificList.Length(); i++)
+        {
+        if(iProductSpecificList [i] != KEnPolicySDNumberSeparator )
+            newmatchlen++;
+        else
+            break;  
+        }
+        
+        if (length != newmatchlen)
+            {
+            return EFalse;
+            }
+        
 
     // if we get so far, its ok.
     return ETrue;
@@ -349,22 +349,22 @@
 //
 void CDosEmergencyNumberPolicy::ParseNumber( TPhCltTelephoneNumber& aTelNumber )
     {
-	// Does number contains prefix. If yes then remove it
-	
+    // Does number contains prefix. If yes then remove it
+    
     if ( 0 == aTelNumber.FindC( KSipPrefix ) ||
          0 == aTelNumber.FindC( KTelPrefix ) ||
-	       0 == aTelNumber.FindC( KSosPrefix ) )
+           0 == aTelNumber.FindC( KSosPrefix ) )
         {
         aTelNumber.Delete( 0, KPrefixLength );
-	      }
-	    // Does Number contains domain part. If yes remove it at beging of @ character.
+          }
+        // Does Number contains domain part. If yes remove it at beging of @ character.
       TInt atIndex = aTelNumber.Find( KAt );
       TInt telNumberLength = aTelNumber.Length();
-	    if ( 0 < atIndex && 
-	         atIndex < telNumberLength )
+        if ( 0 < atIndex && 
+             atIndex < telNumberLength )
         {
-		    aTelNumber.Delete( atIndex, telNumberLength - atIndex );
-		    }
+            aTelNumber.Delete( atIndex, telNumberLength - atIndex );
+            }
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEmergencyNumberPolicyHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEmergencyNumberPolicyHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,14 +18,14 @@
 
 
 // INCLUDE FILES
-#include    "CSOSEmergencyNumberPolicyHandler.h"
+#include    "csosemergencynumberpolicyhandler.h" 
 #include    <mmtsy_names.h>
 #include    <featmgr.h>
 #include    <bldvariant.hrh>
 #include    <telservicesvariant.hrh>
 #include    <telservicesinternalcrkeys.h>
 #include    <centralrepository.h>
-#include "CSosEnPolicySatRefresh.h"
+#include "csosenpolicysatrefresh.h" 
 
 // CONSTANTS
 // The default emergency numbers.
@@ -143,7 +143,7 @@
 
     // Create sat refresh listener
     iSatRefresh = CSosEnPolicySatRefresh::NewL( *this );
-	
+    
     iSimMonitor = CSosEnPolicySimStatusMonitor::NewL( *this );
 
     iENListHandler =  CSosEnPolicyENListHandler::NewL() ;
@@ -173,7 +173,7 @@
         {
         aIsEmergencyNumber = iENListHandler->IsInListByNormalMode( aTelNumber ); 
         }
-	
+    
     return KErrNone;
     }
 
--- a/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEmergencyNumberPolicyManager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEmergencyNumberPolicyManager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,8 +19,8 @@
 
 
 // INCLUDE FILES
-#include "CSOSEmergencyNumberPolicyManager.h"
-#include "CSOSEmergencyNumberPolicyHandler.h"
+#include "csosemergencynumberpolicymanager.h" 
+#include "csosemergencynumberpolicyhandler.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEnPolicyENListHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEnPolicyENListHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDES
-#include "CSosEnPolicyENListHandler.h"
+#include "csosenpolicyenlisthandler.h" 
 #include <e32property.h>
 #include <centralrepository.h>
 #include <telservicesinternalcrkeys.h>
--- a/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEnPolicySatRefresh.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEnPolicySatRefresh.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,11 +20,11 @@
 
 // INCLUDE FILES
 #include  <e32std.h>
-#include "CSOSEmergencyNumberPolicyHandler.h"
-#include "CSosEnPolicySatRefresh.h"
+#include "csosemergencynumberpolicyhandler.h" 
+#include "csosenpolicysatrefresh.h" 
 
-#include <rsatrefresh.h>
-#include <rsatsession.h>
+#include <rsatrefresh.h> 
+#include <rsatsession.h> 
 
 #include  <startupdomainpskeys.h> // Property values
 
@@ -40,7 +40,7 @@
 // -----------------------------------------------------------------------------
 //
 CSosEnPolicySatRefresh::CSosEnPolicySatRefresh( CSosEmergencyNumberPolicyHandler& aCSosEmergencyNumberPolicyHandler ): 
-	CActive( EPriorityStandard ), iCSosEmergencyNumberPolicyHandler ( aCSosEmergencyNumberPolicyHandler )
+    CActive( EPriorityStandard ), iCSosEmergencyNumberPolicyHandler ( aCSosEmergencyNumberPolicyHandler )
     {
     CActiveScheduler::Add( this );
     }
@@ -82,17 +82,17 @@
     if ( iSatRefresh )
         {
         // Cancel notifications.
-        iSatRefresh->Cancel();	
+        iSatRefresh->Cancel();  
         // Close SubSession.
         iSatRefresh->Close();
         }
-	delete iSatRefresh;
-	
-	if ( iSatSession )
-		{
-		iSatSession->Close();
-		}
-	  delete iSatSession;
+    delete iSatRefresh;
+    
+    if ( iSatSession )
+        {
+        iSatSession->Close();
+        }
+      delete iSatSession;
 
     Cancel();
     iProperty.Close();
@@ -104,9 +104,9 @@
 // -----------------------------------------------------------------------------
 //
 TBool CSosEnPolicySatRefresh::AllowRefresh( TSatRefreshType /*aType*/, const TSatRefreshFiles& /*aFiles*/ )
- 	{
- 	// Refresh is always allowed
-	return ETrue;
+    {
+    // Refresh is always allowed
+    return ETrue;
     }
  
 // -----------------------------------------------------------------------------
@@ -116,12 +116,12 @@
 // -----------------------------------------------------------------------------
 //     
 void CSosEnPolicySatRefresh::Refresh( TSatRefreshType /*aType*/, const TSatRefreshFiles& /*aFiles*/ )
-	{
-	// Reload SIM Topics in case of refresh     		
+    {
+    // Reload SIM Topics in case of refresh             
     iCSosEmergencyNumberPolicyHandler.CpsssmHandleSimStatusEvent( CSosEmergencyNumberPolicyHandler::ESosEnPolicySimEmergencyNumberRead );
     iSatRefresh->RefreshEFRead( EFalse );
-	}
-	
+    }
+    
     
 // -----------------------------------------------------------------------------
 // CSosEnPolicySimStatusMonitor::IssueRequest
@@ -155,11 +155,11 @@
             case KErrNone:
                 {
                 iSatSession->ConnectL();
-                iSatRefresh->OpenL( *iSatSession );   	
+                iSatRefresh->OpenL( *iSatSession );     
                 TSatRefreshFiles file;
                 file.Append( KEccEf );
                 iSatRefresh->NotifyFileChangeL( file );
-                break;	
+                break;  
                 }
             default:
                 break;
@@ -167,7 +167,7 @@
         }
     else
         {
-        IssueRequest();	
+        IssueRequest(); 
         }
     }
 
--- a/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEnPolicySimStatusMonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/Src/SosEnPolicy/CSosEnPolicySimStatusMonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDES
-#include    "CSosEnPolicySimStatusMonitor.h"
+#include    "csosenpolicysimstatusmonitor.h" 
 #include    <startupdomainpskeys.h> // Property values
-#include    <PSVariables.h>
+#include    <PSVariables.h> 
 
 
 
@@ -194,15 +194,15 @@
     {
     switch ( aState )
         {
-    	case ESimUsable:         
-    	case ESimReadable:
-			return ETrue;
-    	case  ESimStatusUninitialized:
-    	case ESimNotReady:
-    	case ESimNotSupported:
-    	case ESimNotPresent:
-    		return EFalse;
-    	default:
+        case ESimUsable:         
+        case ESimReadable:
+            return ETrue;
+        case  ESimStatusUninitialized:
+        case ESimNotReady:
+        case ESimNotSupported:
+        case ESimNotPresent:
+            return EFalse;
+        default:
             return EFalse;
         }
     }
--- a/phoneclientserver/EnPolicy/rom/enpolicy.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/EnPolicy/rom/enpolicy.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -20,11 +20,11 @@
 #define __ENPOLICY_IBY__
 
 #ifdef __EN_POLICY_DOS
-file = ABI_DIR\BUILD_DIR\DOSENPOLICY.DLL                SHARED_LIB_DIR\DOSENPOLICY.DLL
-data=ZSYSTEM\install\DosEnPolicy_stub.sis               system\install\DosEnPolicy_stub.sis
+file = ABI_DIR\BUILD_DIR\dosenpolicy.dll                SHARED_LIB_DIR\dosenpolicy.dll
+data=ZSYSTEM\install\dosenpolicy_stub.sis               system\install\dosenpolicy_stub.sis
 #else
-file = ABI_DIR\BUILD_DIR\SOSENPOLICY.DLL                SHARED_LIB_DIR\SOSENPOLICY.DLL
-data=ZSYSTEM\install\SosEnPolicy_stub.sis               system\install\SosEnPolicy_stub.sis
+file = ABI_DIR\BUILD_DIR\sosenpolicy.dll                SHARED_LIB_DIR\sosenpolicy.dll
+data=ZSYSTEM\install\sosenpolicy_stub.sis               system\install\sosenpolicy_stub.sis
 #endif
 
 #endif // __ENPOLICY_IBY__
--- a/phoneclientserver/aiwdialdata/group/aiwdialdata.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/aiwdialdata/group/aiwdialdata.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -33,7 +33,7 @@
 SOURCE          aiwinternaldialdata.cpp
 
 USERINCLUDE     ../inc
-SYSTEMINCLUDE	../../../inc
+SYSTEMINCLUDE   ../../../inc
 MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
--- a/phoneclientserver/aiwdialdata/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/aiwdialdata/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,8 +24,8 @@
 
 ../inc/aiwinternaldialdata.h    |../../../inc/aiwinternaldialdata.h
 
-../group/aiwdialdata_stub.SIS\
-    /epoc32/data/z/system/install/aiwdialdata_stub.SIS
+../group/aiwdialdata_stub.sis\
+    /epoc32/data/z/system/install/aiwdialdata_stub.sis
     
 // IBY files
 ../rom/aiwdialdata.iby          CORE_MW_LAYER_IBY_EXPORT_PATH(aiwdialdata.iby)
--- a/phoneclientserver/aiwdialdata/inc/aiwinternaldialdata.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/aiwdialdata/inc/aiwinternaldialdata.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include <s32mem.h>
-#include <AiwGenericParam.h>
+#include <AiwGenericParam.h> 
 #include "aiwdialdata.h"
 
 /** Constants used by aiwinternaldialdata interface. */ 
--- a/phoneclientserver/aiwdialdata/rom/aiwdialdata.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/aiwdialdata/rom/aiwdialdata.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -20,6 +20,6 @@
 #define __AIWDIALDATA_IBY__
 
 file=ABI_DIR\BUILD_DIR\aiwdialdata.dll       SHARED_LIB_DIR\aiwdialdata.dll
-data=ZSYSTEM\install\aiwdialdata_stub.SIS    System\Install\aiwdialdata_stub.SIS
+data=ZSYSTEM\install\aiwdialdata_stub.sis    System\Install\aiwdialdata_stub.sis
 
 #endif // __AIWDIALDATA_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/callui/inc/cauiengine/cauimessagesenderstub.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* 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:  Message sender stub.
+*
+*/
+
+
+#ifndef CAUIMESSAGESENDER_H
+#define CAUIMESSAGESENDER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <msgarrays.h> // cuidnamearray 
+
+// CLASS DECLARATION
+
+/**
+*  CaUIMessageSender implementation.
+*
+*  @lib CaUiEngine.lib
+*  @since 3.1
+*/
+class CCaUiMessageSender : 
+    public CBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Destructor.
+        */
+        ~CCaUiMessageSender();
+
+        /**
+        * Two-phased constructor.
+        * @return an instance of CCaUiMessageSender.
+        */        
+        static CCaUiMessageSender* NewL();
+
+    public: // New functions
+     
+         /**
+        * Create new message by given Id. The message editor will always 
+        * be lauched stand alone.
+        * @param aMessageType mtmUid indicate the message type
+        *        aRealAddress address list to send message
+        */      
+        void CreateNewMessageL( TInt aMessageType,
+             MDesC16Array* aRealAddress,
+             MDesC16Array* aAliases,
+             CRichText* aRichText );
+
+    private:
+
+        /**
+        * C++ constructor.
+        * 
+        * @param aIndex After the query is dismissed, the index will hold
+        *               the value of selected item.
+        */
+        CCaUiMessageSender( );
+
+        /**
+        * Create SendUi
+        */
+        void CreateSendUiL();
+
+        /**
+        * Get message types from mtm registry
+        *
+        * @param aMsgTypes array of UIDs (MTM types)
+        *
+        */
+        void UpdateMessageTypesArrayL( CUidNameArray* aMsgTypes );
+
+        /**
+        * Check if mail box is defined
+        */      
+        TBool IsMailboxDefinedL();
+
+        /**
+        * Create connection to message service
+        */
+        void CreateMessageServiceConnectionL();
+
+    private:
+
+    };
+
+#endif      // CAUIMESSAGESENDER_H 
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/callui/src/cauiengine/cauienginestub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,656 @@
+/*
+* 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:  Implementation of CallUIEngine, stub version.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include    "cauiengine.h" 
+#include    "cauidialogs.h" 
+
+#include    <callui.rsg> // resources. 
+#include    <cphcltdialer.h> // cphcltdialer. 
+#include    <cphonecntfactory.h> 
+#include    <aiwinternaldialdata.h> 
+#include    <aiwservicehandler.h> 
+#include    <cphcltextphonedialdata.h> // cphcltextphonedialdata 
+
+#include    "callui.loc" // localized strings. 
+
+#include    <stringloader.h> // string loader. 
+#include    <featmgr.h> // featuremanager. 
+
+#include    <phcltutils.h> // character removal. 
+#include    <aiwcommon.h> // aiw dialdata. 
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::CCaUiEngine
+// 
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+CCaUiEngine::CCaUiEngine()
+:   iResourceLoader( *CCoeEnv::Static() )
+#ifndef RD_PHONE_NG
+    ,iResourceLoaderPhoneApE( *CCoeEnv::Static() )
+#endif    
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::ConstructL
+// 
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::ConstructL()
+    {
+    // Sets up TLS, must be done before FeatureManager is used.
+    FeatureManager::InitializeLibL();
+
+    if( CCoeEnv::Static() )
+        {
+        // Open CallUI resource file.
+        TFileName* name = new ( ELeave ) TFileName( KCallUIResFile );
+        CleanupStack::PushL( name );
+        User::LeaveIfError( iResourceLoader.Open( *name ) );
+        CleanupStack::PopAndDestroy( name );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::NewL
+// 
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CCaUiEngine* CCaUiEngine::NewL()
+    {
+    CCaUiEngine* self = new( ELeave ) CCaUiEngine;
+    
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::~CCaUEngine
+// 
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CCaUiEngine::~CCaUiEngine()
+    {
+    delete iContactSelector;
+    delete iFactory;
+
+    // Clear dial components.
+    ClearDialContents();
+
+    if( CCoeEnv::Static() )
+        {
+        // Close resource loader.
+        iResourceLoader.Close();
+        
+#ifndef RD_PHONE_NG
+        // Release PhoneAppEngine resources.
+        iResourceLoaderPhoneApE.Close();
+#endif
+        }
+    
+    // Delete the menubuffer.
+    delete iBuf;
+    iBuf = NULL;
+
+    // Frees the TLS! Must be done after FeatureManager is used.
+    FeatureManager::UnInitializeLib();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::GetResources
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::GetResources(
+    const TCaUiEngResource aResource,
+    TFileName& aResFile,
+    TInt& aResId )
+    {
+    aResFile = KCallUIResFile;
+    if ( aResource == ECaUiResOnlyInternet )
+        {
+        aResId = 0;
+        }
+    else
+        {
+        // Return pure voice menu item.
+        aResId = R_CALLUI_CALL_MENU;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::DialL
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::DialL(
+    MCaUiDialResultObserver& aObserver,
+    const TDesC8& aDialData,
+    const TCaUiCallType aCallType )
+    {
+    TInt length = aDialData.Length();
+   
+    // If iPhCltDialer and iDialDataContainer exist, 
+    // destroy them and create new ones. This clears the dial data.
+    ClearDialContents();
+    iPhCltDialer = CPhCltExtPhoneBase::NewL( this );
+    iObserver = &aObserver;
+    
+    iDialData = CPhCltExtPhoneDialData::NewL();
+    CAiwInternalDialData* aiwDialData = CAiwInternalDialData::NewLC( aDialData );
+
+    // Convert AIW dial data to PhoneClient format.
+   
+    ConvertDialDataL( *aiwDialData );
+
+    iDialData->SetCallType( EPhCltVoice );
+    
+    //a call type is still unknown if the dialing is made via phonebook
+    //send key (doesn't use HandleMenuCmdL, check the call type in 
+    //aiwDialData to make sure if unknown is really unknown
+    //only do if call type unknown
+    TCaUiCallType callType = aCallType;
+    if ( callType == ECaUiCallTypeUnknown )
+        {
+        CAiwDialData::TCallType aiwCalltype = aiwDialData->CallType();
+        
+        switch ( aiwCalltype )
+           {
+           case CAiwDialData::EAIWVoice:
+                callType = ECaUiCallTypeVoice;
+                break;
+            case CAiwDialData::EAIWVideo:
+            case CAiwDialData::EAIWForcedVideo:
+                callType = ECaUiCallTypeVideo;
+                break;
+            case CAiwDialData::EAIWVoiP:
+                callType = ECaUiCallTypeInternet;
+                break;
+            default:
+                //already unknown
+                break;
+            }
+        }
+        
+    //aiwDialData not needed anymore, remove from stack
+    CleanupStack::PopAndDestroy( aiwDialData );
+
+    // If Contact link is provided fetch field link from Phone Book.
+    if ( iDialData->ContactLink() != KNullDesC8() )
+        {
+        // Launch address select.
+        // aCallType describes which selector is used. ( VoIP/PhoneNumber )
+        LaunchAddressSelectL( 
+                        iDialData->ContactLink(), 
+                        callType );
+        }
+    
+
+    else 
+        {
+        iPhCltDialer->DialL( *iDialData );
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::LaunchNoNetSupNoteL
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::LaunchNoNetSupNoteL()
+    {
+    User::Leave( KErrNotSupported );
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::LaunchReconConfQueryL
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::LaunchReconConfQueryL( 
+    MCaUiReconnectQueryObserver& /*aObserver*/,
+    CPhCntMatcher* /*aPhCntMatcher*/,
+    const TPtrC /*aPhoneNumber*/,
+    const TBool /*aIncludeVideoCallOption*/ )
+    {
+    User::Leave( KErrNotSupported );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::CancelReconConfQuery
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::CancelReconConfQuery()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::LaunchNoteAndReconConfQueryL
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::LaunchNoteAndReconConfQueryL( 
+    MCaUiReconnectQueryObserver& /*aObserver*/,
+    CPhCntMatcher* /*aPhCntMatcher*/,
+    const TPtrC /*aPhoneNumber*/,
+    const TBool /*aIncludeVideoCallOption*/,
+    const TPtrC /*aNoteText*/ )
+    {
+    User::Leave( KErrNotSupported );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::CancelNoteAndReconConfQuery
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::CancelNoteAndReconConfQuery()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::LaunchAddressSelectL
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+TBool CCaUiEngine::LaunchAddressSelectL( 
+    TDes& aTelNum, 
+    const TInt aContactId,
+    const TBool aVoIPAddressSelect )
+    {
+    if ( aVoIPAddressSelect )
+        {
+        User::Leave( KErrNotSupported );
+        }
+
+    TBool addressSelected( EFalse );
+    TCaUiCallType callType( ECaUiCallTypeVoice );
+    
+    addressSelected = LaunchAddressSelectL( aTelNum, aContactId, callType );
+
+    return addressSelected;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::CancelAddressSelect
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::CancelAddressSelect()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// From MPhCntStoreLoaderObserver.
+// CCaUiEngine::ContactStoreLoadingCompleted
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::ContactStoreLoadingCompleted( 
+        MVPbkContactStore* /*aStore*/, TInt /*aErrorCode*/ )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::HandleDialL
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::HandleDialL( const TInt aStatus )
+    {
+    if ( iObserver )
+        {
+        iObserver->HandleDialResultL( aStatus );
+        }
+    
+    ClearDialContents();
+    }
+    
+// -----------------------------------------------------------------------------
+// From base class MCaUiReconnectQueryObserver
+// -----------------------------------------------------------------------------
+//   
+void CCaUiEngine::OptionSelected( 
+    MCaUiReconnectQueryObserver::TCaUiReconType /*aReconType*/ )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::ConvertDialData
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::ConvertDialDataL(
+    const CAiwInternalDialData& aAiwDialData )
+    {
+    // Telephony number.
+    iDialData->SetTelephoneNumber( aAiwDialData.PhoneNumber().Left( 
+        iDialData->TelephoneNumber().MaxLength() ) );
+
+    // Call type.
+    CAiwDialData::TCallType aiwCallType = aAiwDialData.CallType();
+    TPhCltCallType phCltCallType = EPhCltVoice;
+
+    // After this the call type should be correct one.
+    if ( aiwCallType == CAiwDialData::EAIWVideo )
+        {
+        phCltCallType = EPhCltVideo;
+        iDialData->SetCallType( phCltCallType );
+        }
+    else if ( aiwCallType == CAiwDialData::EAIWForcedVideo )
+        {
+        phCltCallType = EPhCltForcedVideo;
+        iDialData->SetCallType( phCltCallType );
+        }
+    else if ( aiwCallType == CAiwDialData::EAIWVoiP )
+        {
+        phCltCallType = EPhCltCallVoIP;
+        iDialData->SetCallType( phCltCallType );
+        }
+
+     // Name.
+    iDialData->SetNameL( aAiwDialData.Name().Left( 
+        iDialData->Name().MaxLength() ) );
+
+    // Contact link.
+    iDialData->SetContactLinkL( aAiwDialData.ContactLink() );
+
+    // Window group.
+    iDialData->SetWindowGroup( aAiwDialData.WindowGroup() );
+
+    // Redial.
+    iDialData->SetRedial( aAiwDialData.Redial() );
+    
+    // Redial maximum duration.
+    iDialData->SetRedialMaximumDuration( aAiwDialData.RedialMaximumDuration() );
+
+    // Show number.
+    iDialData->SetShowNumber( aAiwDialData.ShowNumber() );
+
+    // Match.
+    iDialData->SetAllowMatch( aAiwDialData.AllowMatch() );
+
+    // End other calls.
+    iDialData->SetEndOtherCalls( aAiwDialData.EndOtherCalls() );
+
+    // Subaddress.
+    iDialData->SetSubAddressL( aAiwDialData.SubAddress().Left( 
+        iDialData->SubAddress().MaxLength() ) );
+
+    // SAT call.
+    iDialData->SetSATCall( aAiwDialData.SATCall() );
+
+    // Bearer.
+    iDialData->SetBearerL( aAiwDialData.Bearer().Left( 
+        iDialData->Bearer().MaxLength() ) );
+
+    TPhCltTelephoneNumber telnum;
+    telnum.Zero();
+    telnum = iDialData->TelephoneNumber();
+    PhCltUtils::RemoveInvalidChars( telnum );
+    iDialData->SetTelephoneNumber( telnum );
+
+    }
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::ClearDialContents
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::ClearDialContents()
+    {
+    if ( iPhCltDialer )
+        {
+        delete iPhCltDialer;
+        iPhCltDialer = NULL;
+        }
+
+    if ( iDialData )
+        {
+        delete iDialData;
+        iDialData = NULL;
+        }
+
+    // Not owned, so just set to NULL.
+    iObserver = NULL;
+    }
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::LaunchAddressSelectL
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+void CCaUiEngine::LaunchAddressSelectL( 
+    const TDesC8& aContactLink,
+    const TCaUiCallType aCallType )
+    {
+    if ( aCallType != ECaUiCallTypeVoice )
+        {
+        HandleDialL( KErrNotSupported );
+        }
+    
+    else
+        {
+        if ( !iFactory )
+            {
+            iFactory = CreateCntFactoryL();
+            }
+        if ( !iContactSelector ) 
+            {
+            iContactSelector = iFactory->CreateContactDataSelectionL();
+            }
+            
+        CPhCntContactDataSelection::TCallType callType;
+        
+        if ( aCallType == ECaUiCallTypeVoice )
+            {
+            callType = CPhCntContactDataSelection::ECallPhoneNumber;
+            }
+        else if ( aCallType == ECaUiCallTypeVideo )
+            {
+            callType = CPhCntContactDataSelection::ECallVideoNumber;
+            }
+        else if ( aCallType == ECaUiCallTypeInternet )
+            {
+            callType = CPhCntContactDataSelection::ECallVoip;
+            }
+        else
+            {
+            callType = CPhCntContactDataSelection::ECallPhoneNumber;
+            }
+            
+        iContactSelector->Cancel();
+        iContactSelector->SelectPhoneNumberForCallL( aContactLink, callType, *this );
+ 
+        }
+     
+    }
+
+// ---------------------------------------------------------
+//  CCaUiEngine::HandleEmergencyDialL()
+// ---------------------------------------------------------
+//    
+void CCaUiEngine::HandleEmergencyDialL( const TInt /*aStatus*/ )
+    {
+    // Do nothing
+    }
+
+// ---------------------------------------------------------
+//  CCaUiEngine::SelectionDone()
+// ---------------------------------------------------------
+//     
+void CCaUiEngine::SelectionDone( CPhCntSelectedData* aContactData, 
+                                  TInt aErrorCode )
+    {
+    if ( aErrorCode == KErrNone )
+        {
+        TPhCltTelephoneNumber phoneNumber;
+        HBufC8* fieldLink = NULL;
+        
+        if ( iDialData->TelephoneNumber() == KNullDesC )
+            {
+            phoneNumber = aContactData->Data();
+            PhCltUtils::RemoveInvalidChars( phoneNumber );
+            iDialData->SetTelephoneNumber( phoneNumber );
+            }
+        if ( aContactData->FieldLink().Length() > 0 )
+            {
+            fieldLink = aContactData->FieldLink().Alloc();
+            }
+        
+        TRAP( aErrorCode, PhoneClientDialL( fieldLink ) );
+      
+        delete fieldLink;
+        fieldLink = NULL;
+        }
+        
+    if ( aErrorCode != KErrNone )
+        {
+        TRAP_IGNORE( HandleDialL( aErrorCode ) );
+        }            
+    }
+    
+// ---------------------------------------------------------
+//  CCaUiEngine::PhoneClientDialL()
+// ---------------------------------------------------------
+// 
+void CCaUiEngine::PhoneClientDialL( const TDesC8* aFieldLink )
+    {
+    
+    TBool createCall( ETrue );
+    TInt error( KErrNone );
+    
+    if ( aFieldLink )
+        {
+        iDialData->SetContactLinkL( *aFieldLink );
+        }
+    
+    // Check if number is emergency number and if it is 
+    // then call emeregency call
+    if ( !iEmergencyCall )
+        {
+        iEmergencyCall = CPhCltEmergencyCall::NewL( this );
+        }
+    if ( IsEmergencyNumber() )
+        {
+        createCall = EFalse;
+        if ( aFieldLink )
+            {
+            error = KErrNone;
+            iEmergencyCall->DialEmergencyCallL( iDialData->TelephoneNumber() );
+            }
+        else
+            {
+            error = KErrNotSupported;
+            }
+        }
+    
+    // Here note launch + query if this is video call and we
+    // are not in 3G network.
+   
+    if ( createCall )
+        {
+        if ( ( iDialData->CallType() == EPhCltVideo ) ||
+             ( iDialData->CallType() == EPhCltForcedVideo ) ||
+             ( iDialData->CallType() == EPhCltCallVoIP ) )
+            {
+                createCall = EFalse;
+                error = KErrNotSupported;
+            }
+            
+        }
+    if ( createCall )
+        {
+        iPhCltDialer->DialL( *iDialData );
+        }
+    else 
+        {        
+        //User cancelled. Need to inform client.
+        if ( error != KErrNone ) // Emergency call does not need to inform client. 
+            {
+            HandleDialL( error );
+            }
+         }
+    }
+
+// ---------------------------------------------------------
+//  CCaUiEngine::IsEmergencyNumber()
+// ---------------------------------------------------------
+//
+TBool CCaUiEngine::IsEmergencyNumber()
+    {
+    TBool isEmergencyNumber( EFalse );
+    
+    // get phonenumber from iDialData and heck number using phoneclient
+    // emergencycall api
+    TInt result = iEmergencyCall->IsEmergencyPhoneNumber(
+        iDialData->TelephoneNumber(), 
+        isEmergencyNumber );
+   
+    return isEmergencyNumber;
+    }
+
+// -----------------------------------------------------------------------------
+// CCaUiEngine::IsVoIPProfiles()
+// 
+// 
+// -----------------------------------------------------------------------------
+//
+TBool CCaUiEngine::IsVoIPProfiles()
+    {  
+    return EFalse; 
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/callui/src/cauiengine/cauimessagesenderstub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* 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:  Message sender stub
+*
+*/
+
+
+//  INCLUDES
+#include    "cauimessagesenderstub.h" 
+
+// -----------------------------------------------------------------------------
+// CCaUiMessageSender::CCaUiMessageSender
+// 
+// C++ constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CCaUiMessageSender::CCaUiMessageSender()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiMessageSender::~CCaUiMessageSender
+// 
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CCaUiMessageSender::~CCaUiMessageSender()
+    {   
+    }
+
+
+// -----------------------------------------------------------------------------
+// CCaUiMessageSender::NewL
+// 
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CCaUiMessageSender* CCaUiMessageSender::NewL()
+    {
+    CCaUiMessageSender* self = new( ELeave ) CCaUiMessageSender ();
+    
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CCaUiMessageSender::CreateNewMessageL
+// Create a new message of the given type, in the given location
+// ---------------------------------------------------------
+//
+void CCaUiMessageSender::CreateNewMessageL(
+    TInt /*aMessageType*/,
+    MDesC16Array* /*aRealAddress*/,
+    MDesC16Array* /*aAliases*/,
+    CRichText* /*aRichText*/ )
+    {
+    }
+
+// ---------------------------------------------------------
+// CCaUiMessageSender::CreateSendUiL
+// ---------------------------------------------------------
+//
+void CCaUiMessageSender::CreateSendUiL()
+    {   
+    }
+
+
+// ---------------------------------------------------------
+// CCaUiMessageSender::UpdateMessageTypesArrayL
+// Updates the array of UIDs which defines the MTM types for which the user
+// can create new messages.
+// ---------------------------------------------------------
+void CCaUiMessageSender::UpdateMessageTypesArrayL(
+    CUidNameArray* /*aMsgTypes*/ )
+    {
+    }
+
+// ---------------------------------------------------------
+// CCaUiMessageSender::CreateMessageServiceConnectionL
+// ---------------------------------------------------------
+//
+void CCaUiMessageSender::CreateMessageServiceConnectionL()
+    {    
+    }
+
+// ---------------------------------------------------------
+// CCaUiMessageSender::IsMailboxDefinedL
+// ---------------------------------------------------------
+//
+TBool CCaUiMessageSender::IsMailboxDefinedL()
+    {
+    TBool isDefined( EFalse );
+    return isDefined;
+    }
+
+// End of File
--- a/phoneclientserver/dialutils/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/dialutils/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 PRJ_EXPORTS
 // Domain
 
-../group/dialutils_stub.sis         	   /epoc32/data/z/system/install/dialutils_stub.sis
+../group/dialutils_stub.sis                /epoc32/data/z/system/install/dialutils_stub.sis
 
 PRJ_MMPFILES
 ../group/dialutils.mmp
--- a/phoneclientserver/dialutils/group/dialutils.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/dialutils/group/dialutils.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -24,8 +24,8 @@
 UID             0x1000008d 0x101F8747
 
 SOURCEPATH      ../src
-SOURCE          DialUtilsImpl.cpp
-SOURCE          DialUtilsFactImpl.cpp
+SOURCE          dialutilsimpl.cpp 
+SOURCE          dialutilsfactimpl.cpp 
 
 USERINCLUDE     ../inc
 
--- a/phoneclientserver/dialutils/inc/DialUtilsFactImpl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/dialutils/inc/DialUtilsFactImpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 
 //  INCLUDES
-#include    <DialUtils.h>
+#include    <dialutils.h> 
 
 
 /**
--- a/phoneclientserver/dialutils/inc/DialUtilsImpl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/dialutils/inc/DialUtilsImpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include    <e32std.h>
-#include    <DialUtils.h>
+#include    <dialutils.h> 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/dialutils/src/DialUtilsFactImpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/dialutils/src/DialUtilsFactImpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include    <DialUtils.h>
-#include    "DialUtilsFactImpl.h"
-#include    "DialUtilsImpl.h"
+#include    <dialutils.h> 
+#include    "dialutilsfactimpl.h" 
+#include    "dialutilsimpl.h" 
 
 
 
--- a/phoneclientserver/dialutils/src/DialUtilsImpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/dialutils/src/DialUtilsImpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,10 +20,10 @@
 // INCLUDE FILES
 
 #include    <featmgr.h>                 // Feature Manager.
-#include    "DialUtilsImpl.h"           // Interface.
+#include    "dialutilsimpl.h" // Interface. 
 
 #include    <centralrepository.h>       // Central repository
-#include    <settingsinternalcrkeys.h>  // Settings Central Repository keys.
+#include    <settingsinternalcrkeys.h> // Settings Central Repository keys. 
 
 // CONSTANTS
 
--- a/phoneclientserver/dialutils/tsrc/public/basic/DialUtilsTests/src/DialUtilsTestsCases.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/dialutils/tsrc/public/basic/DialUtilsTests/src/DialUtilsTestsCases.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #include <e32math.h>
 #include "DialUtilsTests.h"
 
-#include <DialUtils.h>
+#include <dialutils.h>
 
 // EXTERNAL DATA STRUCTURES
 //extern  ?external_data;
--- a/phoneclientserver/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -16,12 +16,10 @@
 */
 
 
-#include "../EnPolicy/Group/bld.inf"
+#include "../enpolicy/group/bld.inf"
 #include "../aiwdialdata/group/bld.inf"
 #include "../dialutils/group/bld.inf"
-#include "../phoneclient/Group/bld.inf"
-#include "../phoneserver/Group/bld.inf"
-#include "../CallUI/Group/bld.inf"
-
+#include "../phoneclient/group/bld.inf"
+#include "../phoneserver/group/bld.inf"
 
 // End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/inc/cphcltdialer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* 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 is dialer class.
+*
+*/
+
+
+#ifndef CPHCLTDIALER_H
+#define CPHCLTDIALER_H
+
+//  INCLUDES
+#include    <cphcltextphonebase.h> 
+#include    <cphcltextphonedialdata.h> 
+
+// FORWARD DECLARATIONS
+class CPhCltDialerDlg;
+
+// CLASS DECLARATION
+
+/**
+*  It is dialer class.
+*
+*  @lib phoneclient.lib
+*  @since 1.0
+*/
+class CPhCltDialer
+    : public CBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        *
+        * @return Pointer to created CPhCltDialer instance.
+        */
+        IMPORT_C static CPhCltDialer* NewL();
+        
+        /**
+        * Destructor.
+        */
+        ~CPhCltDialer();
+
+
+    public: // New functions
+
+        /** 
+        * Dial parameters.
+        *
+        * @return Returns dial data.
+        */
+        IMPORT_C CPhCltExtPhoneDialData& DialData();
+
+        /**
+        * Performs dialing with the dial data.
+        */
+        IMPORT_C void ExecuteLD();
+
+
+    private:
+
+        /**
+        * C++ constructor.
+        */
+        CPhCltDialer();
+        
+        /**
+        * Symbian OS constructor.
+        */
+        void ConstructL();
+
+        /**
+        * Cleanup action. Clears iDestroyed & iDialDlg.
+        */
+        static void DoClear( TAny* aAny );
+
+
+    private:    // Data
+
+        // Pointer to boolean indicating if this has been destroyed already.
+        TBool* iDestroyed;
+
+        // Dialer dialog
+        CPhCltDialerDlg* iDialDlg;
+
+    };
+
+#endif      // CPHCLTDIALER_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/inc/cphcltextphonebase.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,118 @@
+/*
+* 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 dial interface for phone client.
+*
+*/
+
+
+#ifndef CPHCLTEXTPHONEBASE_H
+#define CPHCLTEXTPHONEBASE_H
+
+//  INCLUDES
+#include <e32base.h>
+#include "phclttypes.h" 
+
+// FORWARD DECLARATIONS
+class MPhCltExtPhoneObserver;
+class CPhCltExtPhoneDialData;
+
+// CLASS DECLARATION
+
+/**
+*  It defines dial interface for phone client.
+*
+*  Usage:
+*  
+*  To dial, you must have a string of characters from set 
+*  { 0, 1, 2, .. 9, #, *, +, p, P, w, W }. It is the only 
+*  mandatory parameter. String may also contain other characters,
+*  but then only a note is displayed. So you should proceed as follows:
+*       1. Check that string is acceptable. 
+*          (application specific grammar)
+*       2. If not, stop. Otherwise continue.
+*       3. Convert to string acceptable by phoneclient.
+*          Note PhCltUtils class may help.
+*       4. Dial using the class.
+*
+*  Note that dialling does not always mean creating a call. 
+*  (E.g. *#43# makes phone to interrogate status of call waiting.)
+*  
+*  In order to dial, you need instance of CPhCltExtPhoneBase. You 
+*  can create one as follows:
+*       iExtCall = CPhCltExtPhoneBase::NewL( this );
+*  (the parameter is pointer to observer)
+*
+*  Then you must fill dial parameters to instance of TPhCltExtPhoneDialData.
+*  (you can read more details from its header)
+*
+*       TPhCltExtPhoneDialData data;
+*       data.SetTelephoneNumber( .. );
+*       ..
+*
+*  And finally, you can dial. Note that the method is asynchronous and
+*  observer will be informed when phone starts dialing.
+*
+*       iExtCall->DialL( data );
+*
+*  Finally, you can delete the instance. If dialing is ongoing, this should
+*  be done after observer has been informed. You can also delete before that,
+*  but then the request might also be canceled.
+*
+*  @lib phoneclient.lib
+*  @since 1.0
+*/
+class CPhCltExtPhoneBase : public CActive
+    {
+    public:  // Constructors and destructor
+ 
+        /**
+        * Create an instance that implements the interface.
+        *
+        * @param aObserver It is the observer for the instance.
+        * @return Returns the created instance.
+        */
+        IMPORT_C static CPhCltExtPhoneBase* NewL( 
+            MPhCltExtPhoneObserver* aObserver );
+
+
+    public: // New fuctions    
+        
+
+       /**
+       * Makes a new call. This is the preferred way of dialling!
+       *
+       * @param aData The object containing the parameters for 
+       *              the dial request.
+       */
+       virtual void DialL( CPhCltExtPhoneDialData& aData ) = 0;
+
+
+    protected:
+
+        /**
+        * C++ constructor.
+        */
+        CPhCltExtPhoneBase( MPhCltExtPhoneObserver* aObserver );
+
+
+    protected: // Data
+        
+        // Observer to handle events.
+        MPhCltExtPhoneObserver* iObserver;
+
+    };
+
+#endif      // CPHCLTEXTPHONEBASE_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/inc/cphcltextphonedialdata.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,575 @@
+/*
+* 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:  It defines dial data.
+*
+*/
+
+
+#ifndef CPHCLTEXTPHONEDIALDATA_H   
+#define CPHCLTEXTPHONEDIALDATA_H  
+
+
+//  INCLUDES
+#include <e32base.h>
+#include <s32mem.h>
+#include <bldvariant.hrh>
+#include "phclttypes.h" 
+#include <cphcltdialdata.h> // Phone Client Notify API
+
+
+// Other constants used in TPhCltExtPhoneDialData ( default values )
+const TBool KPhCltDefaultAllowMatch = ETrue;   // Match is allowed
+const TBool KPhCltDefaultNumberEntry = EFalse; // No return to number entry.
+const TInt KPhCltDefaultNumberType = -1;       // No number type.
+
+
+// CONSTANTS
+//None.
+
+
+// FORWARD DECLARATIONS
+//None
+
+// CLASS DECLARATION
+/**
+* It defines the structure containing dial information.
+*
+* Fields:
+*
+*  window group    - When call is ended, set window group is actived.
+*
+*  show number     - Permission to show number. ETrue if it is allowed.
+*
+*  redial          - Automatic redial override.
+*
+*  name            - Name corresponding to number. Name must be defined
+*                    if shown number equals to EFalse.
+*  contact link      - Contact link. you should put always when you are dialing
+*                    from phonebook contact.
+*  tel number      - String that is to be dialled.
+*                    number fields are supported.
+*  allow match     - Permission to allow match. ETrue if match is to be done.
+*                    If you are dialing from sim pd or fdn, then this should
+*                    be EFalse.
+*  number entry    - Returns whether to return to the number entry on failure 
+*
+*  end other calls - Information if the existing calls are ended before
+*                    this new one is made.
+*                    Not mandatory. Set only if you know that the call is an 
+*                    emergency call.
+*  subaddress      - The calling party subaddress. Supports SAT features.
+*                    Defined in ITU-T I.330 and 3GPP TS 11.14.
+*  SATCall         - Set whether this is SAT originated call or not. 
+*                    Supports SAT features.
+*  bearer          - Bearer capabilities. Supports SAT features.
+*
+*  CallType        - The type of the call, i.e. voice (default) or video.
+*
+*  SendKey         - Call made with SendKey, optional.
+*
+*  Redial maximum duration - Automatic redial maximum duration
+*
+*  Initiate call   - true if iniate call false otherwise 
+*
+*  UUI             - User to user information sent on call setup phase.
+*
+*  @lib phoneclient.lib
+*  @since 3.2
+*/
+/**
+*  Dial data set for PhoneClient.
+*
+*  @lib ServiceHandler.lib
+*  @since Series 60 3.2
+*/
+NONSHARABLE_CLASS( CPhCltExtPhoneDialData ): public CPhCltDialData
+    {
+   
+   public:
+      /* 
+        *   TBools combined to one uint.
+        *
+        *   EPhCltCallFlagsDefault
+        *               Default flags, if nothing is not specified.
+        *   EPhCltCallFlagsAllowNumberShowing
+        *               Number showing is allowed.
+        *   EPhCltCallFlagsReturnToNumberEntryOnFailure
+        *               Return to Number Entry if there is an error.
+        *   EPhCltCallFlagsAllowPersonalDirectoryMatching
+        *               The number is matched to Personal Directory.
+        *   EPhCltCallFlagsEndBeforeDial
+        *               Other calls are ended before the new one is done.
+        *   EPhCltCallFlagsSAT
+        *               If set means that SAT has originated the call.
+        *   EPhCltCallFlagsVideoCall
+        *               If set means that this is video call.
+        *               Otherwise means normal, i.e. voice call.
+        *   EPhCltCallFlagsVoIPCall
+        *               If set means that this is VoIP call.
+        *               Otherwise means normal, i.e. voice call.
+        *   EPhCltCallFlagsSendKey
+        *               If set means that call made with SendKey.
+        */
+        enum TPhCltCallFlags
+            {
+            EPhCltCallFlagsDefault                           = 0x0000,
+            EPhCltCallFlagsAllowNumberShowing                = 0x0001,
+            EPhCltCallFlagsReturnToNumberEntryOnFailure      = 0x0002,
+            EPhCltCallFlagsAllowPersonalDirectoryMatching    = 0x0004,
+            EPhCltCallFlagsEndBeforeDial                     = 0x0008,
+            EPhCltCallFlagsSAT                               = 0x0020,
+            EPhCltCallFlagsVideoCall                         = 0x0040,
+            EPhCltCallFlagsVoIPCall                          = 0x0080,
+            EPhCltCallFlagsSendKey                           = 0x0100
+            };
+      
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CPhCltExtPhoneDialData* NewL();
+        
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CPhCltExtPhoneDialData* NewLC();
+        
+        
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CPhCltExtPhoneDialData* NewL( const TDesC8& aPackage );
+        
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CPhCltExtPhoneDialData* NewLC( const TDesC8& aPackage );
+        
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CPhCltExtPhoneDialData();
+
+    public: // New functions
+    
+        /**
+        * Fills the parameter list.
+        * @since Series 60 3.2
+        * @param aInParamList In parameter used with CAiwService.
+        */  
+        IMPORT_C HBufC8* PackLC();
+        
+        
+        // Calculates dialdata package size
+        IMPORT_C TInt CalculatePackageSize() const;
+        
+        // Sets dial data parameters to CPhCltExtPhoneDialData object
+        void SetParamsL( const TDesC8& aPackage ); 
+               
+        
+   public: // Access - Getters
+         
+
+        /**
+        * Defines if mathing is allowed.
+        * @since Series 60 3.2
+        * @return Returns the allow match setting information.
+        */
+        IMPORT_C  TBool AllowMatch() const;
+        
+        /**
+        * Bearer capability.
+        * @since Series 60 3.2
+        * @return Returns bearer capability.
+        */
+        IMPORT_C const TPhCltBearerCapability& Bearer() const;
+        
+        /**
+        * Gives the current call type.
+        * @since Series 60 3.2
+        * @return Current call type.
+        */
+        IMPORT_C  TPhCltCallType CallType() const ;   
+         
+        /**
+        * Contact link field.
+        * @since Series 60 3.2
+        * @return Returns contack link item.
+        */
+        IMPORT_C const TDesC8& ContactLink() const;
+        
+        
+        /**
+        * End other calls param.
+        * @since Series 60 3.2
+        * @return Returns ETrue if other calls will be terminated.
+        *                 EFalse if calls are not terminated.
+        */
+        IMPORT_C TBool EndOtherCalls() const;
+        
+        /**
+        * Intiate Call
+        * @since Series 60 3.2
+        * @return Returns ETrue if call is itiate call EFalse otherwise
+        */
+        IMPORT_C  TBool InitiateCall() const;
+        
+        /**
+        * Name.
+        * @since Series 60 3.2
+        * @return Returns name.
+        */
+        IMPORT_C  const TPhCltNameBuffer& Name() const;
+        
+        
+        /**
+        * Redial information.
+        * @since Series 60 3.2
+        * @return Return the redial status,
+        */
+        IMPORT_C  TInt Redial() const;  
+        
+        /**
+        * Redial maximum duration
+        * @since Series 60 3.2
+        * @return Returns redial max duration.
+        */
+        IMPORT_C const TTimeIntervalSeconds RedialMaximumDuration() const;      
+                   
+        
+        /** 
+        * Return in failure.
+        * @since Series 60 3.2
+        * @return Returns whether to return to the number entry.
+        */
+        //IMPORT_C TBool ReturnToNumberEntryOnFailure() const;
+        
+        /**
+        * SAT Call.
+        * @since Series 60 3.2
+        * @return Returns ETrue if SAT call EFalse if not.
+        */
+        IMPORT_C  TBool SATCall() const;
+        
+        /** 
+        * SendKey pressed.
+        * @since Series 60 3.2
+        * @return Return ETrue if SendKey used.
+        */
+        IMPORT_C TBool SendKeyPressed() const;
+        
+        /**
+        * Show Number.
+        * @since Series 60 3.2
+        * @return Returns the number visibility.
+        */
+        IMPORT_C TBool ShowNumber() const;
+        
+        /**
+        * Sub address.
+        * @since Series 60 3.2
+        * @return Returns SAT call sub address.
+        */
+        IMPORT_C  const TPhCltSubAddress& SubAddress() const;
+        
+        /**
+        * Gives the current phone number.
+        * @since Series 60 3.2
+        * @return Telephone number.
+        */
+        IMPORT_C  const TPhCltTelephoneNumber& TelephoneNumber() const;
+        
+        /**
+        * Gives the current window group id.
+        * @since Series 60 3.2
+        * @return Window group id. 
+        */     
+        IMPORT_C  TInt WindowGroup() const; 
+        
+        /**
+         * Gives the user to user information.
+         * @since S60 v3.2
+         * @return User to user information.
+         */
+        IMPORT_C const TDesC& UUI() const;
+        
+    public: // Access - Setters
+    
+        /**
+        * Set whether the name entered in SetName should be matched
+        * against the personal directory.
+        * @since Series 60 3.2
+        * This should be set EFalse only if phone number has not been
+        * taken from phonebook.
+        *
+        * @param aAllowMatch Whether to allow matches.
+        */
+        IMPORT_C  void SetAllowMatch( TBool aAllowMatch );
+    
+        /**
+        * Set the bearer capability.
+        * @since Series 60 3.2
+        * @param aBearer The bearer capabilities as defined in GSM 04.08.
+        * @leaves KErrArgument if aBearer's length is longer than KAiwBearerLength
+        */
+        IMPORT_C void SetBearerL( const TPhCltBearerCapability& aBearer );
+        
+        /**
+        * Sets call type.
+        * @since Series 60 3.2
+        * @param aCallType calls' type.
+        */
+        IMPORT_C void SetCallType( TPhCltCallType aCallType );
+        
+        /**
+        * Set contact link.
+        * @since Series 60 3.2
+        * @param aContactLink Contact link information.
+        */
+       IMPORT_C void SetContactLinkL( const TDesC8& aContactLink );
+        
+        
+        /**
+        * Set parameter for end other calls. 
+        * @since Series 60 3.2
+        * If this is set to ETrue, other calls will be terminated before
+        * dial. Default is EFalse.
+        * @param aEndCalls Are the other calls ended.
+        */
+        IMPORT_C void SetEndOtherCalls( TBool aEndCalls  );
+        
+        /**
+        * Set Initiate call Etrue or EFalse
+        *@since Series 60 3.2
+        * @param aInitCall ETrue if call is intiate call
+        */
+        IMPORT_C void SetInitiateCall( TBool aInitCall );
+        
+        
+        /**
+        * Set the name of the person who is to be called.
+        * @since Series 60 3.2
+        * @param aName The name of the person being called.
+        * @leaves KErrArgument if aName length is over 50 characters.
+        */
+        IMPORT_C void SetNameL( const TPhCltNameBuffer& aName );
+        
+        
+        /**
+        * Change the redial mode.
+        * @since Series 60 3.2
+        * @param aRedial The new redial status
+        */
+  
+        IMPORT_C void SetRedial( TInt aRedial );
+        
+        /**
+        * Set redial max duration.
+        * @since Series 60 3.2
+        * @param aDuration redial max duration.
+        */
+        IMPORT_C void SetRedialMaximumDuration( TTimeIntervalSeconds aMaximumRedialDuration );       
+        
+        
+        /**
+        * Set whether to return to number entry.
+        *
+        * @param aReturn Whether to return to the number entry editor.
+        */
+        IMPORT_C void SetReturnToNumberEntryOnFailure( TBool aReturn );
+                
+        /**
+        * Set wheteher this is a SAT originated call or not.
+        * If this function is not called, the originator is assumed to 
+        * be other than SAT.
+        * @since Series 60 3.2
+        * @param aSATCall ETrue if SAT originated the call, EFalse otherwise.
+        */
+        IMPORT_C void SetSATCall( TBool aSATCall );
+        
+        
+        /**
+        * Set the value of SendKey.
+        *  @since Series 60 3.2
+        * @param aSendKey The value of SendKey.
+        */
+        IMPORT_C void SetSendKeyPressed( TBool aSendKey );
+        
+        /**
+        * Set the number visibility in the phone app.
+        * @since Series 60 3.2
+        * If this is set to EFalse, then number is not shown or written to 
+        * log event.
+        * @param aShowNumber Whether or not to show the number.
+        */
+        IMPORT_C void SetShowNumber( TBool aShowNumber );
+        
+        /**
+        * Set the calling party subaddress.
+        * Defined in ITU-T I.330 and 3GPP TS 11.14.
+        * @since Series 60 3.2
+        * @param aSubAddress The calling party subaddress.
+        * @leaves KErrArgument if aSubAddress length is longer than 
+        * KAiwSubAddressLength
+        */
+        IMPORT_C void SetSubAddressL( const TPhCltSubAddress& aSubAddress );
+        
+        /**
+        * Sets the phone number.
+        * @since Series 60 3.2
+        * @param aNumber Phone number, which maximum length is
+        * KMaximumPhoneNumberLength.
+        * @leaves KErrArgument if aPhoneNumber length is over KMaximumPhoneNumberLength
+        */
+        IMPORT_C void SetTelephoneNumber( const TPhCltTelephoneNumber& aNumber );
+        
+        /**
+        * Sets the window group identifier. When call is ended, set window group is actived.
+        * @since Series 60 3.2
+        * @param aWindowGroup Window group id.
+        */
+        IMPORT_C void SetWindowGroup( TInt aWindowGroup );
+     
+        /**
+        * Set the value of xSP Service Id. 
+        *
+        * @param aServiceId The value of Service Id.
+        */
+        IMPORT_C void SetServiceId( TUint32 aServiceId );
+        
+
+        /** 
+        * Service Id. VoIP2.2 implementation
+        * @return Return service id or zero.
+        */
+        IMPORT_C TUint32 ServiceId() const; 
+
+        
+        /**
+         * Sets user to user information. Maximum length is 
+         * KPhCltUUILength.
+         * @param aUUI User to user information.
+         * @since S60 v3.2
+         */
+        IMPORT_C void SetUUIL( const TDesC& aUUI );
+        
+      
+        
+                
+                      
+    // Constructors
+    
+     private: 
+     
+        /**
+        * C++ default constructor.
+        * @since Series 60 3.2
+        */
+        CPhCltExtPhoneDialData(); 
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        * @since Series 60 3.2
+        */
+        void ConstructL();
+        
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        * @since Series 60 3.2
+        * @param aPackage including dial data
+        */
+        void ConstructL( const TDesC8& aPackage ); 
+        
+     
+     //Private functions
+     
+     private:
+        /**
+        * Calculates variable descriptor size
+        * @since Series 60 3.2
+        * @param aDescriptor which size is calculated
+        */
+        TInt CalculateDescriptorSize( const TDesC& aDescriptor ) const;
+        
+        /**
+        * Calculates variable descriptor size
+        * @since Series 60 3.2
+        * @param aDescriptor which size is calculated
+        */
+        TInt CalculateDescriptorSize( const TDesC8& aDescriptor ) const;
+        
+        /**
+        * Read descriptor value from stream
+        * @since Series 60 3.2
+        * @param aStream used stream
+        * @param aDescriptor which is read from stream
+        */
+        void ReadDescriptorFromStreamL( RDesReadStream& aStream, HBufC8*& aDescriptor );
+        
+        /**
+        * Read descriptor value from stream
+        * @since Series 60 3.2
+        * @param aStream used stream
+        * @param aDescriptor which is read from stream
+        */
+        void ReadDescriptorFromStreamL( RDesReadStream& aStream, HBufC*& aDescriptor );
+        
+        /**
+        * Write descriptor value to stream
+        * @since Series 60 3.2
+        * @param aStream used stream
+        * @param aDescriptor which value is write to stream
+        */
+        void WriteDescriptorToStreamL( RDesWriteStream& aStream, const TDesC8& aDescriptor );
+        
+        /**
+        * Write descriptor value to stream
+        * @since Series 60 3.2
+        * @param aStream used stream
+        * @param aDescriptor which value is write to stream
+        */
+        void WriteDescriptorToStreamL( RDesWriteStream& aStream, const TDesC& aDescriptor );
+        
+     
+        /**
+        * Copy descriptor value to member descriptor
+        * @since Series 60 3.2
+        * @param aSource which is as copy source
+        * @param aMemberDescriptor is as copy destination
+        */
+        void CopyDescriptorToMemberDescriptorL( const TDesC& aSource, HBufC*& aMemberDescriptor );
+        
+        /**
+        * Copy descriptor value to member descriptor
+        * @since Series 60 3.2
+        * @param aSource which is as copy source
+        * @param aMemberDescriptor is as copy destination
+        */
+        void CopyDescriptorToMemberDescriptorL( const TDesC8& aSource, HBufC8*& aMemberDescriptor );        
+     
+        
+        /**
+        * Check descriptor max length
+        * Leaves with KErrArgument if aDescriptorLength is greated that aMaxAllowedDescriptorLenght
+        * @since Series 60 3.2
+        * @param aDescriptorLength is descriptor length
+        * @param  aMaxAllowedDescriptorLength maximum allowed descriptor length
+        */
+        void CheckDescriptorMaxLengthL( TInt aDescriptorLength, TInt aMaxAllowedDescriptorLength ) const;
+        
+
+    };
+
+#endif      // CPHCLTEXTPHONEDIALDATA_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/inc/mphcltextphoneobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* 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 the interface for the observers of 
+*                the CPhCltExtPhoneBase.
+*
+*/
+
+
+#ifndef MPHCLTEXTPHONEOBSERVER_H   
+#define MPHCLTEXTPHONEOBSERVER_H   
+
+// CLASS DECLARATION
+
+/**
+*  Defines the interface for the observers of the CPhCltExtPhoneBase.
+*
+*  @lib phoneclient.lib
+*  @since 1.0
+*/
+class MPhCltExtPhoneObserver
+    {          
+    public:  // New functions   
+        
+        /**
+        * It is called whenever client's dial request is completed.
+        *
+        * @param aStatus It is the status of the operation.
+        *                <0 means Symbian OS error code.
+        */       
+        virtual void HandleDialL( const TInt aStatus ) = 0;
+        
+    };
+
+#endif      // MPHCLTEXTPHONEOBSERVER_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/inc/rphcltemergencycall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,233 @@
+/*
+* 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:  Client side access to emergency call
+*
+*/
+
+
+#ifndef RPhCltEmergencyCall_H
+#define RPhCltEmergencyCall_H
+
+//  INCLUDES
+#include <e32std.h>
+#include "phclttypes.h" 
+#include "rphcltserver.h" 
+
+/**
+* Emergency number query mode
+*/
+enum TPhCltEmergencyNumberQueryMode
+    {
+    EPhCltEmergencyNumberQueryModeNormal = 0,  // Normal mode
+    EPhCltEmergencyNumberQueryModeAdvanced,    // advanced mode
+    EPhCltEmergencyNumberQueryModeNormalWriteback   // Same as "normal", but writes back emergency number
+    };
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+*  Client side access to emergency call
+*
+*  @lib phoneclient.lib
+*  @since Series60_1.0
+*/
+class RPhCltEmergencyCall : public RSubSessionBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * C++ default constructor.
+        */
+        RPhCltEmergencyCall();
+
+
+    public:  // New functions
+
+        /**
+        * Opens the subsession.
+        *
+        * @param aServer It is the session of which subsession this is.
+        * @return Returns error code.
+        */
+        TInt Open( RPhCltServer& aServer );
+
+        /**
+         * Closes the subsession.
+         */
+        void Close();
+
+
+    public:
+
+       /**
+        * Returns information whether the number specified was an emergency number.
+        * 
+        * @param aNumber Number to be queried. aNumber might contain prefix (SS code)
+        *                and/or postfix (DTMF part).  
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltEmergencyNumber, which is equivalent to a 
+        *                TBuf< KPhCltEmergencyNumberSize > where 
+        *                KPhCltEmergencyNumberSize is defined as 100. 
+        *
+        * @param aIsEmergencyNumber If ETrue, then the aNumber 
+        *                           parameter included emergency number.
+        * @return Returns error code of the success of the operation.
+        */
+        TInt IsEmergencyPhoneNumber(
+            const TDesC& aNumber, 
+            TBool& aIsEmergencyNumber );
+
+        /**
+        * Method can be used to check if the number specified contains 
+        * a valid emergency number in the end of the number.
+        * 
+        * @param aNumber Number to be queried, matched emergency number 
+        *                is returned in this parameter.
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltTelephoneNumberwhich is equivalent to a 
+        *                TBuf< KPhCltTelephoneNumberLength > where 
+        *                KPhCltTelephoneNumberLength is defined as 100. 
+        *             
+        * @param aIsEmergencyNumber If ETrue, then the aNumber parameter 
+        *                           was emergency number. 
+        * @return Returns error code of the success of the operation.
+        */
+        TInt FindEmergencyPhoneNumber(
+            TDes& aNumber, 
+            TBool& aIsEmergencyNumber );
+
+        /**
+        * Initiates an emergency call.
+        *
+        * @param aReqStatus On return, KErrNone if the emergency call successfully reaches 
+        *                   the connected state. If the call set-up fails, the function 
+        *                   member will complete with an error.
+        *
+        * @param aNumber Emergency number to be dialed (optional).
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltEmergencyNumber,which is equivalent to a 
+        *                TBuf< KPhCltEmergencyNumberSize > where 
+        *                KPhCltEmergencyNumberSize is defined as 100. 
+        *
+        *                If the aNumber parameter supplies an "empty" buffer 
+        *                the call is created either dialing the default emergency 
+        *                phone number or use the SET UP EMERGENCY request  
+        *                that does not contain a dialling number.               
+        *
+        * @pre IsActive() returns EFalse, otherwise leaves with KErrInUse.
+        */
+        void DialEmergencyCall( TRequestStatus& aReqStatus, TDesC8& aNumber );
+        
+        /**
+        * Cancels an emergency call.
+        *
+        */
+        void CancelDialEmergencyCall();
+        
+        /**
+        * Returns information whether the number specified was an emergency 
+        * number and also returns the plain emergency number.
+        * 
+        * @param aNumber Number to be queried.aNumber might contain prefix (SS code)
+        *                and/or postfix (DTMF part).
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltEmergencyNumberwhich is equivalent to a 
+        *                TBuf< KPhCltEmergencyNumberSize > where 
+        *                KPhCltEmergencyNumberSize is defined as 100. 
+        *
+        * @param aMatchedEmergencyNumber Matched emergencynumber without prefix or 
+        *                postfix is returned in this parameter. The aMatchedEmergencyNumber 
+        *                parameter should be a buffer and the clients are
+        *                provided with atypedef called TPhCltEmergencyNumber,
+        *                which is equivalent to a TBuf< KPhCltEmergencyNumberSize > 
+        *                where KPhCltEmergencyNumberSize is defined as 100.
+        * 
+        * @param aIsEmergencyNumber If ETrue, then the aNumber 
+        *                           parameter included emergency number.
+        *
+        * @return Returns error code of the success of the operation.
+        */
+        TInt IsEmergencyPhoneNumber(
+            const TDesC& aNumber,
+            TDes& aMatchedEmergencyNumber, 
+            TBool& aIsEmergencyNumber );                    
+        
+       private:            
+           
+        /**
+         * Extract telephone number from string. If EFalse is returned
+         * then aString does not contain valid emergency number
+         * 
+         * @param aString string from which those characters are removed.
+         *
+         * @return ETrue - aString can be emergency number and aString
+         *                 contains a telephone number
+         *         EFalse - aString cannot be emergency number and aString
+         *                  does not contain a number that can be emergency number
+         */
+        TBool ExtractTelephoneNumber( TDes& aString );
+        
+        /**
+        * Finds start of dtmf string in string.
+        *
+        * @param   aString      Telephone number
+        *
+        * @return  Index where dtmf string starts or KErrNotFound if no
+        * dtmf found.
+        *
+        */
+        TInt FindStartOfDtmfString( const TDesC& aString );
+        
+        /**
+        * Removes CLIR ss code from beginning of the string if CLIR is
+        * found from string.
+        *
+        * @param    aString Telephone number
+        */
+        void RemoveCLIR( TDes& aString );
+        
+        /**
+         * Removes DTMF string from string.
+         * 
+         * @param aString Telephone number.
+         */
+        void RemoveDTMF( TDes& aString );
+        
+        /**
+        * Executes checks to given phone number to find out if it is a valid 
+        * emergency number. 
+        *
+        * @param    aString             Telephone number
+        * @param    aIsEmergencyNumber  If ETrue, then the aNumber parameter 
+        *                               was a valid emergency number.
+        *
+        * @return Returns error code of the success of the operation.
+        *
+        */
+        TInt ValidateNumber( TDes& aString, TBool& aIsEmergencyNumber, 
+                            const TBool aWriteEmergencyNumBack );
+                            
+                                 
+
+    };
+
+#endif // RPhCltEmergencyCall_H
+
+// End of File
--- a/phoneclientserver/phoneclient/Data/PhoneClient.rss	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Data/PhoneClient.rss	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 
 #include <eikon.rh>
 #include <avkon.loc>
-#include "PhoneClient.hrh"
+#include "phoneclient.hrh" 
 #include "eikon.rsg"
 #include <avkon.rsg>
 #include <avkon.rh>
--- a/phoneclientserver/phoneclient/Group/PhoneClient.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Group/PhoneClient.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -28,96 +28,94 @@
 TARGETTYPE      dll
 UID             0x1000008d 0x1000084F
 
-SOURCEPATH      ../Src/Notifier/Notifier_Aiw
-SOURCE          CPhCltCallNotify.cpp 
-SOURCE          RPhCltCallNotify.cpp
+SOURCEPATH      ../src/notifier/notifier_aiw 
+SOURCE          cphcltcallnotify.cpp 
+SOURCE          rphcltcallnotify.cpp 
 SOURCE          cphcltdialrequestmonitor.cpp
 SOURCE          cphcltdialemergencyrequestmonitor.cpp
 SOURCE          cphcltcomhandrequestmonitor.cpp
 
 
-SOURCEPATH      ../Src/ExtCall/ExtCall_Aiw
-SOURCE          RPhCltExtCall.cpp
-SOURCE          CPhCltExtPhoneDialData.cpp
+SOURCEPATH      ../src/extcall/extcall_aiw 
+SOURCE          rphcltextcall.cpp 
+SOURCE          cphcltextphonedialdata.cpp 
 SOURCE          cphcltdialdata.cpp
 
-SOURCEPATH      ../Src/ExtCallWrapper/ExtCallWrapper_Aiw
-SOURCE          CPhCltExtPhone.cpp
-SOURCE          CPhCltExtPhoneBase.cpp
+SOURCEPATH      ../src/extcallwrapper/extcallwrapper_aiw 
+SOURCE          cphcltextphone.cpp 
+SOURCE          cphcltextphonebase.cpp 
 
-SOURCEPATH      ../Src/Ussd/ussd_ext
+SOURCEPATH      ../src/ussd/ussd_ext 
 SOURCE          rphcltussd.cpp
 
-SOURCEPATH      ../Src/UssdWrapper
-SOURCE          CPhCltUssdRequestHandler.cpp
+SOURCEPATH      ../src/ussdwrapper 
+SOURCE          cphcltussdrequesthandler.cpp 
 
-SOURCE          CPhCltUssdSatClient.cpp
+SOURCE          cphcltussdsatclient.cpp 
   
-SOURCE          CPhCltUssdInt.cpp
-SOURCE          CPhCltUssdImp.cpp
-SOURCE          CPhCltUssdExt.cpp
+SOURCE          cphcltussdint.cpp 
+SOURCE          cphcltussdimp.cpp 
+SOURCE          cphcltussdext.cpp 
 
-SOURCE		CPhCltUssdNoteController.cpp
+SOURCE      cphcltussdnotecontroller.cpp 
 
-SOURCEPATH      ../Src/EmergencyNumber/EmergencyNumber_Aiw
-SOURCE          CPhCltEmergencyCall.cpp
-SOURCE          RPhCltEmergencyCall.cpp
-SOURCE          CPhCltEmergencyCallImpl.cpp
+SOURCEPATH      ../src/emergencynumber/emergencynumber_aiw 
+SOURCE          cphcltemergencycall.cpp 
+SOURCE          rphcltemergencycall.cpp 
+SOURCE          cphcltemergencycallimpl.cpp 
 
-SOURCEPATH      ../Src/Session
-SOURCE          RPhCltServer.cpp
+SOURCEPATH      ../src/session 
+SOURCE          rphcltserver.cpp 
 
-SOURCEPATH      ../Src
-SOURCE          PhCltUtils.cpp
-SOURCE          RPhCltResourceFile.cpp
+SOURCEPATH      ../src 
+SOURCE          phcltutils.cpp 
+SOURCE          rphcltresourcefile.cpp 
 
-SOURCEPATH      ../Src/CommandHandler
-SOURCE          CPhCltCommandHandler.cpp
-SOURCE          CPhCltComHandImplementation.cpp
-SOURCE          RPhCltCommandHandler.cpp
-SOURCEPATH      ../Src/ImageHandler
-SOURCE          CPhCltImageHandler.cpp
-SOURCE          CPhCltBaseImageParams.cpp
-SOURCE          CPhCltOperatorLogoContainer.cpp
-SOURCE          CPhCltImageHandlerImplementation.cpp
-SOURCE          RPhCltImageHandler.cpp
-SOURCEPATH      ../Src/Messenger
-SOURCE          CPhCltMessenger.cpp
-SOURCE          RPhCltMessenger.cpp
-SOURCE          CPhCltMessengerImplementation.cpp
+SOURCEPATH      ../src/commandhandler 
+SOURCE          cphcltcommandhandler.cpp 
+SOURCE          cphcltcomhandimplementation.cpp 
+SOURCE          rphcltcommandhandler.cpp 
+SOURCEPATH      ../src/imagehandler 
+SOURCE          cphcltimagehandler.cpp 
+SOURCE          cphcltbaseimageparams.cpp 
+SOURCE          cphcltoperatorlogocontainer.cpp 
+SOURCE          cphcltimagehandlerimplementation.cpp 
+SOURCE          rphcltimagehandler.cpp 
+SOURCEPATH      ../src/messenger 
+SOURCE          cphcltmessenger.cpp 
+SOURCE          rphcltmessenger.cpp 
+SOURCE          cphcltmessengerimplementation.cpp 
 
 
 
-SOURCEPATH      ../Src
-START RESOURCE ../Data/PhoneClient.rss
-HEADER
-TARGETPATH   RESOURCE_FILES_DIR  
-LANGUAGE_IDS
-END  // RESOURCE
+SOURCEPATH      ../src 
 
 MW_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE   ../../../inc
+SYSTEMINCLUDE        /epoc32/include/mw/hb/hbwidgets
+SYSTEMINCLUDE        /epoc32/include/mw/hb/hbcore
+SYSTEMINCLUDE        /epoc32/include/platform/mw/loc
+SYSTEMINCLUDE        /epoc32/include/platform/mw/loc/sc
 
-USERINCLUDE     ../Inc/ExtCall/ExtCall_Aiw
-USERINCLUDE     ../Inc/Notifier/Notifier_Aiw
-USERINCLUDE     ../Inc/ExtCallWrapper/ExtCallWrapper_Aiw
-USERINCLUDE     ../Inc/EmergencyNumber/EmergencyNumber_Aiw
+USERINCLUDE     ../inc/extcall/extcall_aiw 
+USERINCLUDE     ../inc/notifier/notifier_aiw 
+USERINCLUDE     ../inc/extcallwrapper/extcallwrapper_aiw 
+USERINCLUDE     ../inc/emergencynumber/emergencynumber_aiw 
 
-USERINCLUDE     ../Inc/Session
-USERINCLUDE     ../Inc/SharedClientServer
+USERINCLUDE     ../inc/session 
+USERINCLUDE     ../inc/sharedclientserver 
 
-USERINCLUDE     ../Inc/UssdWrapper/Ussd_Ext
-USERINCLUDE     ../Inc/Ussd/ussd_ext
-USERINCLUDE     ../Inc/CommandHandler
-USERINCLUDE     ../Inc/ImageHandler
-USERINCLUDE     ../Inc/Messenger
-USERINCLUDE     ../Inc/UssdWrapper
-USERINCLUDE     ../Inc 
+USERINCLUDE     ../inc/ussdwrapper/ussd_ext 
+USERINCLUDE     ../inc/ussd/ussd_ext 
+USERINCLUDE     ../inc/commandhandler 
+USERINCLUDE     ../inc/imagehandler 
+USERINCLUDE     ../inc/messenger 
+USERINCLUDE     ../inc/ussdwrapper 
+USERINCLUDE     ../inc 
 
 
 LIBRARY         euser.lib
 LIBRARY         aknnotify.lib
-LIBRARY         avkon.lib
 LIBRARY         cone.lib
 LIBRARY         estor.lib
 LIBRARY         commonengine.lib 
@@ -128,12 +126,15 @@
 LIBRARY         efsrv.lib
 LIBRARY         charconv.lib
 LIBRARY         fbscli.lib
+LIBRARY         hbwidgets.lib
+LIBRARY         flogger.lib
+LIBRARY         hbcore.lib
 
 
 #ifdef WINSCW
-    DEFFILE ../Bwins/PHONECLIENT_AiwExt.DEF
+    DEFFILE ../bwins/phoneclient_aiwext.def
 #else
-    DEFFILE ../EABI/PHONECLIENT_AiwExt.DEF
+    DEFFILE ../eabi/phoneclient_aiwext.def
 #endif
 
 // End of File
--- a/phoneclientserver/phoneclient/Group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -23,26 +23,26 @@
 
 PRJ_EXPORTS
 
-  ../Inc/EmergencyNumber/EmergencyNumber_Aiw/RPhCltEmergencyCall.h  |../../inc/rphcltemergencycall.h
-  ../Inc/misc/telservicesinternalcrkeys.h                           |../../../inc/telservicesinternalcrkeys.h
-  ../Inc/misc/telservicesvariant.hrh                                  |../../../inc/telservicesvariant.hrh
-  ../Inc/ExtCall/ExtCall_Aiw/CPhCltExtPhoneDialData.h  |../../inc/cphcltextphonedialdata.h
-  ../Inc/ExtCallWrapper/ExtCallWrapper_Aiw/MPhCltExtPhoneObserver.h  |../../inc/mphcltextphoneobserver.h
-  ../Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhoneBase.h  |../../inc/cphcltextphonebase.h
-  ../Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.h  |../../inc/cphcltdialer.h
+  ../inc/emergencynumber/emergencynumber_aiw/rphcltemergencycall.h  |../../inc/rphcltemergencycall.h
+  ../inc/misc/telservicesinternalcrkeys.h                           |../../../inc/telservicesinternalcrkeys.h
+  ../inc/misc/telservicesvariant.hrh                                  |../../../inc/telservicesvariant.hrh
+  ../inc/extcall/extcall_aiw/cphcltextphonedialdata.h  |../../inc/cphcltextphonedialdata.h
+  ../inc/extcallwrapper/extcallwrapper_aiw/mphcltextphoneobserver.h  |../../inc/mphcltextphoneobserver.h
+  ../inc/extcallwrapper/extcallwrapper_aiw/cphcltextphonebase.h  |../../inc/cphcltextphonebase.h
+  ../inc/extcallwrapper/extcallwrapper_aiw/cphcltdialer.h  |../../inc/cphcltdialer.h
 
-../Data/Phoneclient_stub.SIS                 /epoc32/data/z/system/install/phoneclient_stub.sis
+../data/phoneclient_stub.sis                 /epoc32/data/z/system/install/phoneclient_stub.sis
 
 // IBY files
-../rom/PhoneClient.iby                      CORE_MW_LAYER_IBY_EXPORT_PATH(PhoneClient.iby)
+../rom/phoneclient.iby                      CORE_MW_LAYER_IBY_EXPORT_PATH(phoneclient.iby)
 
 // Generic configuration interface for component cenrep settings  
 ../conf/telephonyservices.confml                  MW_LAYER_CONFML(telephonyservices.confml)
-../conf/telephonyservices_102029AC.crml 	        MW_LAYER_CRML(telephonyservices_102029AC.crml)
-../conf/telephonyservices_102078F1.crml 	        MW_LAYER_CRML(telephonyservices_102078F1.crml)
+../conf/telephonyservices_102029ac.crml             MW_LAYER_CRML(telephonyservices_102029ac.crml)
+../conf/telephonyservices_102078f1.crml             MW_LAYER_CRML(telephonyservices_102078f1.crml)
 
 PRJ_MMPFILES
-../Group/PhoneClient.mmp
+../group/phoneclient.mmp
 
 PRJ_TESTMMPFILES
 // specify the .mmp files required for building any test programs here
--- a/phoneclientserver/phoneclient/Inc/CommandHandler/CPhCltComHandImplementation.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/CommandHandler/CPhCltComHandImplementation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,9 +23,9 @@
 
 //  INCLUDES
 
-#include    "RPhCltCommandHandler.h"
-#include    "RPhCltCommandHandlerNotify.h"
-#include    "RPhCltServer.h"
+#include    "rphcltcommandhandler.h" 
+#include    "rphcltcommandhandlernotify.h" 
+#include    "rphcltserver.h" 
 
 
 // CLASS DECLARATION
@@ -59,7 +59,7 @@
         /**
         * @see CPhCltCommandHandler.
         */
-		void Atd(
+        void Atd(
             TRequestStatus& aStatus, 
             const TPhCltTelephoneNumber& aTelephoneNumber );
             
--- a/phoneclientserver/phoneclient/Inc/CommandHandler/RPhCltCommandHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/CommandHandler/RPhCltCommandHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,9 +23,9 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
-//#include "CPhCltCommandHandlerNotify.h"
-#include "CPhCltCommandHandler.h"
+#include <phclttypes.h> 
+//#include "cphcltcommandhandlernotify.h" 
+#include "cphcltcommandhandler.h" 
 
 // FORWARD DECLARATIONS
 class RPhCltServer;
@@ -77,10 +77,10 @@
         * @param aTelephoneNumber The telephony number .
         */
             
-		void Atd(
+        void Atd(
             TRequestStatus& aStatus, 
             const TPhCltTelephoneNumber& aTelephoneNumber );
-		
+        
 
         /**
         * Answer the call. 
--- a/phoneclientserver/phoneclient/Inc/EmergencyNumber/CPhCltEmergencyTelNumber.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/EmergencyNumber/CPhCltEmergencyTelNumber.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 
 //  INCLUDES
 #include <e32std.h>
-#include "PhCltTypes.h"
-#include "RPhCltServer.h"
+#include "phclttypes.h" 
+#include "rphcltserver.h" 
 
 // CLASS DECLARATION
 
--- a/phoneclientserver/phoneclient/Inc/EmergencyNumber/EmergencyNumber_Aiw/CPhCltEmergencyCallImpl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/EmergencyNumber/EmergencyNumber_Aiw/CPhCltEmergencyCallImpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,9 +21,9 @@
 
 //  INCLUDES
 #include <e32std.h>
-#include "RPhCltServer.h"
-#include "CPhCltEmergencyCall.h"
-#include "RPhCltEmergencyCall.h"
+#include "rphcltserver.h" 
+#include "cphcltemergencycall.h" 
+#include "rphcltemergencycall.h" 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneclient/Inc/EmergencyNumber/EmergencyNumber_Aiw/RPhCltEmergencyCall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/EmergencyNumber/EmergencyNumber_Aiw/RPhCltEmergencyCall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 
 //  INCLUDES
 #include <e32std.h>
-#include "PhCltTypes.h"
-#include "RPhCltServer.h"
+#include "phclttypes.h" 
+#include "rphcltserver.h" 
 
 /**
 * Emergency number query mode
@@ -169,8 +169,8 @@
             TDes& aMatchedEmergencyNumber, 
             TBool& aIsEmergencyNumber );                    
         
-       private:    	       
-    	   
+       private:            
+           
         /**
          * Extract telephone number from string. If EFalse is returned
          * then aString does not contain valid emergency number
@@ -214,9 +214,9 @@
         * Executes checks to given phone number to find out if it is a valid 
         * emergency number. 
         *
-        * @param    aString 			Telephone number
-        * @param    aIsEmergencyNumber 	If ETrue, then the aNumber parameter 
-        *                           	was a valid emergency number.
+        * @param    aString             Telephone number
+        * @param    aIsEmergencyNumber  If ETrue, then the aNumber parameter 
+        *                               was a valid emergency number.
         *
         * @return Returns error code of the success of the operation.
         *
--- a/phoneclientserver/phoneclient/Inc/EmergencyNumber/RPhCltEmergencyNumber.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/EmergencyNumber/RPhCltEmergencyNumber.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 #define RPHCLTEMERGENCYNUMBER_H
 
 //  INCLUDES
-#include "PhCltTypes.h"
-#include "RPhCltServer.h"
+#include "phclttypes.h" 
+#include "rphcltserver.h" 
 #include <e32std.h>
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneclient/Inc/ExtCall/ExtCall_Aiw/CPhCltExtPhoneDialData.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ExtCall/ExtCall_Aiw/CPhCltExtPhoneDialData.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32base.h>
 #include <s32mem.h>
 #include <bldvariant.hrh>
-#include "PhCltTypes.h"
+#include "phclttypes.h" 
 #include <cphcltdialdata.h> // Phone Client Notify API
 
 
@@ -145,12 +145,12 @@
         IMPORT_C static CPhCltExtPhoneDialData* NewLC();
         
         
-       	/**
+        /**
         * Two-phased constructor.
         */
         IMPORT_C static CPhCltExtPhoneDialData* NewL( const TDesC8& aPackage );
         
-       	/**
+        /**
         * Two-phased constructor.
         */
         IMPORT_C static CPhCltExtPhoneDialData* NewLC( const TDesC8& aPackage );
@@ -160,7 +160,7 @@
         */
         IMPORT_C virtual ~CPhCltExtPhoneDialData();
 
-  	public: // New functions
+    public: // New functions
     
         /**
         * Fills the parameter list.
@@ -213,7 +213,7 @@
         * End other calls param.
         * @since Series 60 3.2
         * @return Returns ETrue if other calls will be terminated.
-        *				  EFalse if calls are not terminated.
+        *                 EFalse if calls are not terminated.
         */
         IMPORT_C TBool EndOtherCalls() const;
         
@@ -303,9 +303,9 @@
          */
         IMPORT_C const TDesC& UUI() const;
         
-	public: // Access - Setters
-	
-		/**
+    public: // Access - Setters
+    
+        /**
         * Set whether the name entered in SetName should be matched
         * against the personal directory.
         * @since Series 60 3.2
@@ -315,8 +315,8 @@
         * @param aAllowMatch Whether to allow matches.
         */
         IMPORT_C  void SetAllowMatch( TBool aAllowMatch );
-	
-		/**
+    
+        /**
         * Set the bearer capability.
         * @since Series 60 3.2
         * @param aBearer The bearer capabilities as defined in GSM 04.08.
@@ -469,9 +469,9 @@
                       
     // Constructors
     
-	 private: 
-	 
-  		/**
+     private: 
+     
+        /**
         * C++ default constructor.
         * @since Series 60 3.2
         */
--- a/phoneclientserver/phoneclient/Inc/ExtCall/ExtCall_Aiw/RPhCltCallNotify.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ExtCall/ExtCall_Aiw/RPhCltCallNotify.h	Tue Aug 31 15:45:17 2010 +0300
@@ -69,7 +69,7 @@
         */
         void NotifyCallAttempt( 
             TRequestStatus& aStatus, 
-		   TPckg< TInt >& aDataLength );
+           TPckg< TInt >& aDataLength );
         /**
         * Cancel pending call attempt notification.
         */
@@ -94,7 +94,7 @@
         void NotifyEmergencyCall( 
             TRequestStatus& aStatus,
             TDes8& aEmergencyNumber
-			 );
+             );
         /**
         * Cancel pending call attempt notification.
         */
--- a/phoneclientserver/phoneclient/Inc/ExtCall/ExtCall_Aiw/RPhCltExtCall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ExtCall/ExtCall_Aiw/RPhCltExtCall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 
 //  INCLUDES
 #include <e32std.h>
-#include "PhCltTypes.h"
-#include "RPhCltServer.h"
+#include "phclttypes.h" 
+#include "rphcltserver.h" 
 
 // FORWARD DECLARATIONS
 class CPhCltExtPhoneDialData;
@@ -59,7 +59,7 @@
          * Closes the subsession.
          */       
         void Close();
-            	
+                
         /**
         * Makes a call (asynchronous).
         *
@@ -84,7 +84,7 @@
         // Prohibit assigment operator
         RPhCltExtCall& operator= ( const RPhCltExtCall& );
         
-	
+    
 
        
    
--- a/phoneclientserver/phoneclient/Inc/ExtCall/RPhCltExtCall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ExtCall/RPhCltExtCall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 
 //  INCLUDES
 #include <e32std.h>
-#include "PhCltTypes.h"
-#include "RPhCltServer.h"
+#include "phclttypes.h" 
+#include "rphcltserver.h" 
 
 // FORWARD DECLARATIONS
 class TPhCltExtPhoneDialData;
--- a/phoneclientserver/phoneclient/Inc/ExtCall/TPhCltExtPhoneDialData.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ExtCall/TPhCltExtPhoneDialData.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 
 //  INCLUDES
-#include "PhCltTypes.h"
+#include "phclttypes.h" 
 
 // Constant used as window group id to indicate that we wish to go to idle.
 const TInt KPhCltGoToIdle = 0;
@@ -30,7 +30,7 @@
 const TInt KPhCltRedialDefault = -1;          // Default redial.
 const TInt KPhCltRedialOff = -2;              // Redial is off.
 const TInt KPhCltRedialWithDefaultTime = -3;  // Redial on, with default time.
-const TInt KPhCltRedial = 0;	// Forced redial.
+const TInt KPhCltRedial = 0;    // Forced redial.
 
 // Other constants used in TPhCltExtPhoneDialData ( default values )
 const TBool KPhCltDefaultAllowMatch = ETrue;   // Match is allowed
--- a/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define CPHCLTDIALER_H
 
 //  INCLUDES
-#include    <cphcltextphonebase.h>
-#include    <cphcltextphonedialdata.h>
+#include    <cphcltextphonebase.h> 
+#include    <cphcltextphonedialdata.h> 
 
 // FORWARD DECLARATIONS
 class CPhCltDialerDlg;
--- a/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialerDlg.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialerDlg.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,9 +21,9 @@
 
 //  INCLUDES
 #include    <eikdialg.h>
-#include    "MPhCltExtPhoneObserver.h"
-#include    "CPhCltExtPhoneBase.h"
-#include    <CPhCltExtPhoneDialData.h>
+#include    "mphcltextphoneobserver.h" 
+#include    "cphcltextphonebase.h" 
+#include    <cphcltextphonedialdata.h> 
 
 // FORWARD DECLARATIONS
 class CPhCltExtPhoneBase;
--- a/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhone.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhone.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,9 +21,9 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include "CPhCltExtPhoneBase.h"
-#include "RPhCltServer.h"
-#include "RPhCltExtCall.h"
+#include "cphcltextphonebase.h" 
+#include "rphcltserver.h" 
+#include "rphcltextcall.h" 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhoneBase.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhoneBase.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include "PhCltTypes.h"
+#include "phclttypes.h" 
 
 // FORWARD DECLARATIONS
 class MPhCltExtPhoneObserver;
--- a/phoneclientserver/phoneclient/Inc/Ihf/RPhCltIhf.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/Ihf/RPhCltIhf.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 // INCLUDES
 #include    <etelmm.h>            // ETel
 
-#include "PhCltTypes.h"
+#include "phclttypes.h" 
 
 // FORWARD DECLARATIONS
 class RWsSession;
--- a/phoneclientserver/phoneclient/Inc/ImageHandler/CPhCltImageHandlerImplementation.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ImageHandler/CPhCltImageHandlerImplementation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,9 +22,9 @@
 
 
 //  INCLUDES
-#include    <CPhCltImageHandler.h>
-#include    "RPhCltImageHandler.h"
-#include    "RPhCltServer.h"
+#include    <cphcltimagehandler.h> 
+#include    "rphcltimagehandler.h" 
+#include    "rphcltserver.h" 
 
 /**
 *  Implementation of image handler interface.
--- a/phoneclientserver/phoneclient/Inc/ImageHandler/CPhCltOperatorLogoContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ImageHandler/CPhCltOperatorLogoContainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 #define CPHCLTOPERATORLOGOCONTAINER_H
 
 // INCLUDES
-#include   <CPhCltBaseImageParams.h>
+#include   <cphcltbaseimageparams.h> 
 #include    <fbs.h>
 
 // CLASS DECLARATION
--- a/phoneclientserver/phoneclient/Inc/ImageHandler/RPhCltImageHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/ImageHandler/RPhCltImageHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,9 +20,9 @@
 
 //  INCLUDES
 #include    <e32base.h>
-#include    <PhCltTypes.h>
-#include    "CPhCltOperatorLogoContainer.h"
-#include    "CPhCltBaseImageParams.h"
+#include    <phclttypes.h> 
+#include    "cphcltoperatorlogocontainer.h" 
+#include    "cphcltbaseimageparams.h" 
 
 
 //  FORWARD DECLARATIONS
--- a/phoneclientserver/phoneclient/Inc/Messenger/CPhCltMessengerImplementation.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/Messenger/CPhCltMessengerImplementation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,9 +22,9 @@
 
 
 //  INCLUDES
-#include    <CPhCltMessenger.h>
-#include    "RPhCltMessenger.h"
-#include    "RPhCltServer.h"
+#include    <cphcltmessenger.h> 
+#include    "rphcltmessenger.h" 
+#include    "rphcltserver.h" 
 
 /**
 *  Implementation of the CPhCltMessenger interface.
--- a/phoneclientserver/phoneclient/Inc/Messenger/RPhCltMessenger.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/Messenger/RPhCltMessenger.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <CPhCltMessenger.h>
+#include <cphcltmessenger.h> 
 
 // FORWARD DECLARATIONS
 class RPhCltServer;
--- a/phoneclientserver/phoneclient/Inc/Notifier/Notifier_Aiw/cphcltcomhandrequestmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/Notifier/Notifier_Aiw/cphcltcomhandrequestmonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 //  FORWARD DECLARATIONS
--- a/phoneclientserver/phoneclient/Inc/Notifier/Notifier_Aiw/cphcltdialemergencyrequestmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/Notifier/Notifier_Aiw/cphcltdialemergencyrequestmonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 //  FORWARD DECLARATIONS
@@ -69,7 +69,7 @@
         *
         * @param aResultCode Result of the response.
         */
-		TInt RespondEmergencyToClient( const TInt aResultCode );
+        TInt RespondEmergencyToClient( const TInt aResultCode );
         
     
     private:
--- a/phoneclientserver/phoneclient/Inc/Notifier/Notifier_Aiw/cphcltdialrequestmonitor.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/Notifier/Notifier_Aiw/cphcltdialrequestmonitor.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 //  FORWARD DECLARATIONS
 class RPhCltServer;
@@ -60,7 +60,7 @@
         * @param aObserver dial request observer
         */
         void NotifyDialRequest( 
-			MPhCltDialRequestObserver* aObserver );
+            MPhCltDialRequestObserver* aObserver );
 
         /**
         * Respond to client request to make a call
--- a/phoneclientserver/phoneclient/Inc/SharedClientServer/PhCltClientServer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/SharedClientServer/PhCltClientServer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -58,7 +58,7 @@
 _LIT( KPhClientAndServerResourceFileName, "PhoneServer" );
 _LIT( KPhCltServerZDrive, "z:" );
 
-_LIT( KPhClientAndServerResourceFileExtensionWild, ".R*" );
+_LIT( KPhClientAndServerResourceFileExtensionWild, ".R??" );
 _LIT( KPhClientAndServerResourceFileExtensionNoWild, ".RSC" );
 const TInt KPhSrvMagicResourceFileSignature = 0;
 
@@ -267,7 +267,7 @@
 enum TPhCltImageHandlerRequest 
     {
     EPhoneServerImageHandlerSubSessionOpen = EPhoneServerExtensionBase + 300,
-    EPhoneServerImageHandlerSubSessionClose, 	 // Closes image handler subsession.
+    EPhoneServerImageHandlerSubSessionClose,     // Closes image handler subsession.
     EPhoneServerImageHandlerSubSessionSave,      // SaveImages (deprecated for VT)
     EPhoneServerImageHandlerSubSessionLoad,      // LoadImages (deprecated for VT)
     EPhoneServerImageHandlerSubSessionCommitLoad, // Finalize load operation
--- a/phoneclientserver/phoneclient/Inc/Ussd/ussd_ext/rphcltussd.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/Ussd/ussd_ext/rphcltussd.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 
 // INCLUDES
 #include <e32std.h>
-#include <PhCltTypes.h>
-#include <CPhCltUssd.h>
+#include <phclttypes.h> 
+#include <cphcltussd.h> 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneclient/Inc/UssdWrapper/CPhCltUssdNoteController.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/UssdWrapper/CPhCltUssdNoteController.h	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -21,11 +21,10 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "MPhCltUssdNoteControllerCallBack.h"
+#include <hbdeviceprogressdialogsymbian.h>
+#include "mphcltussdnotecontrollercallback.h" 
+#include "cphcltussdcommonconstant.h"
 
-// FORWARD DECLARATIONS
-class CAknGlobalNote;
-class RConeResourceLoader;
 
 // CLASS DECLARATION
 
@@ -33,12 +32,12 @@
 *   Encapsulates an active object used in controlling notes.
 *
 *  @lib phoneclient.lib
-*  @since 9.1
 */
-NONSHARABLE_CLASS( CPhCltUssdNoteController ) : public CActive
+NONSHARABLE_CLASS( CPhCltUssdNoteController ) : public CBase,
+                                                public MHbDeviceProgressDialogObserver
     {
     public:  // Constructor and destructor
-        
+
         /**
         * Two-phased constructor.
         * 
@@ -47,87 +46,67 @@
         * @return Pointer to created CPhCltUssdImp instance.
         */
         static CPhCltUssdNoteController* NewL( 
-                MPhCltUssdNoteControllerCallBack& aCallBack,
-                TInt aPriority );
-        
+                MPhCltUssdNoteControllerCallBack& aCallBack );
+
         /**
         * Destructor.
         */
         ~CPhCltUssdNoteController();
 
-        
     public:
-        
-        // Shows information note.
-        void ShowInformationNoteL( TInt aResourceId );
-        
-        // Shows global information note.
-        void ShowGlobalInformationNoteL( TInt aResourceId );
-        
-        // Shows global confirmation note.
-        void ShowGlobalConfirmationNoteL( TInt aResourceId );
-        
-        // Shows global wait note.
-        void ShowGlobalWaitNoteL( TInt aResourceId, TInt aSoftkeyResourceId = 0 );
-        
-        // Destroys global wait note.
+
+        /**
+        * Shows global Information note.
+        */
+        void ShowGlobalInformationNoteL( const TPhCltUssdInformationType aInfoType );
+
+        /**
+        * Shows global wait note.
+        */
+        void ShowGlobalWaitNoteL();
+
+        /**
+        * Destroys global wait note.
+        */
         void DestroyGlobalWaitNote();
-        
-    private: 
-        
+
+        /**
+        * From base class MHbDeviceProgressDialogObserver
+        */
+        void ProgressDialogCancelled(
+            const CHbDeviceProgressDialogSymbian* aProgressDialog);
+
+        /**
+        * From base class MHbDeviceProgressDialogObserver
+        */
+        void ProgressDialogClosed(
+            const CHbDeviceProgressDialogSymbian* aProgressDialog);
+
+    private:
+
         /**
         * C++ constructor.
         */
         CPhCltUssdNoteController( 
-            MPhCltUssdNoteControllerCallBack& aCallBack,
-            TInt aPriority );
-        
-        // Symbian 2nd phase constructor.
+            MPhCltUssdNoteControllerCallBack& aCallBack );
+
+        /**
+        * Symbian 2nd phase constructor.
+        */
         void ConstructL();
-        
-        // The note type enumeration, used inside the class.
-        enum TPhCltUssdNoteType
-            {
-            EPhCltUssdInformationNote,
-            EPhCltUssdGlobalInformationNote,
-            EPhCltUssdGlobalConfirmationNote
-            };
 
-        // Shows the note of given type. 
-        void ShowNoteL( TPhCltUssdNoteType aType, TInt aResourceId );
-        
-        // Loads the resource file.
-        void LoadResourceFileL();
-        
-        // From base classes
-       
-        /*
-        * From CActive. Called when dialog is dismissed by soft key.
-        */
-        void RunL();
+    private:    // Data
 
         /**
-        * From CActive. 
+        * Own,Global wait note.
         */
-        void DoCancel();
-
+        CHbDeviceProgressDialogSymbian* iGlobalWaitNote;
 
-    private:    // Data
-        
-        // Buffer for messages.
-        HBufC* iMessageBuffer;
-        
-        // Global wait note.
-        CAknGlobalNote* iGlobalWaitNote;
-        
-        // Id of an active wait note.
-        TInt iWaitNoteId;
-        
-        // The callback to be notified when wait note is dismissed.  
+        /**
+        * Not own,callback to be notified when wait note is dismissed.
+        */
         MPhCltUssdNoteControllerCallBack& iCallBack;
 
-        // Resource loader.
-        RConeResourceLoader* iResourceLoader;
     };
 
 #endif // CPHCLTUSSDNOTECONTROLLER_H
--- a/phoneclientserver/phoneclient/Inc/UssdWrapper/CPhCltUssdRequestHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/UssdWrapper/CPhCltUssdRequestHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 // INCLUDES
 #include <e32base.h>
 #include "rphcltussd.h"
-#include "RPhCltServer.h"
+#include "rphcltserver.h" 
 
 // FORWARD DECLARATIONS
 class MPhCltUssdRequestHandler;
--- a/phoneclientserver/phoneclient/Inc/UssdWrapper/MPhCltUssdNoteControllerCallBack.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/UssdWrapper/MPhCltUssdNoteControllerCallBack.h	Tue Aug 31 15:45:17 2010 +0300
@@ -27,7 +27,7 @@
 
 /**
 *  Abstract interface for handling the notify events from note controller.
-*  User derives his class from this and implements GlobalWaitNoteDismissedL().
+*  User derives his class from this and implements GlobalWaitNoteHidden().
 *
 *  @lib phoneclient.lib
 *  @since 9.1
@@ -39,11 +39,11 @@
     public: // New functions
 
         /**
-        * Called when global wait note is dismissed.
+        * Called when global wait note is hidden, to background.
         * 
         * @param aError Error code.
         */    
-        virtual void GlobalWaitNoteDismissedL( const TInt aError ) = 0;
+        virtual void GlobalWaitNoteHidden() = 0;
     };
 
 
--- a/phoneclientserver/phoneclient/Inc/UssdWrapper/Ussd_Ext/CPhCltUssdImp.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Inc/UssdWrapper/Ussd_Ext/CPhCltUssdImp.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,12 +21,12 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include "MPhCltUssdRequestHandler.h"
-#include "MPhCltUssdNoteControllerCallBack.h"
+#include "mphcltussdrequesthandler.h" 
+#include "mphcltussdnotecontrollercallback.h" 
 #include "rphcltussd.h"
 
-#include "RPhCltServer.h"
-#include "CPhCltUssdInt.h"
+#include "rphcltserver.h" 
+#include "cphcltussdint.h" 
 
 
 // FORWARD DECLARATIONS
@@ -171,8 +171,8 @@
         // Called when send completes.
         void HandleSendEventL( const TInt aError );
 
-        // Called when the user cancel the wait dialog.
-        void GlobalWaitNoteDismissedL( TInt aButtonId );
+        // Hidden when the user cancel the wait dialog.
+        void GlobalWaitNoteHidden();
         
         
 
@@ -188,7 +188,7 @@
         void EncodeL( const TDesC& aSrc, TDes8& aDes );
         
         // Finds CR character        
-        void CPhCltUssdImp::FindFirstCarriageReturnL( 
+        void FindFirstCarriageReturnL( 
         const TDesC& aBuffer ,
         TUint& aSkipChars , 
         TUint& aStartBit );
@@ -201,8 +201,8 @@
         // Wait scheduler used in this class. 
         CActiveSchedulerWait* iWait;
 
-        // Pointer to sending error store place.
-        TInt* iSendError;
+        // TInt to sending error store place.
+        TInt iSendError;
         
         // Data coding scheme value
         TUint8 iDCS;
--- a/phoneclientserver/phoneclient/Src/CommandHandler/CPhCltComHandImplementation.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/CommandHandler/CPhCltComHandImplementation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltComHandImplementation.h"
+#include    "cphcltcomhandimplementation.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/CommandHandler/CPhCltCommandHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/CommandHandler/CPhCltCommandHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltCommandHandler.h"
-#include    "CPhCltComHandImplementation.h"
+#include    "cphcltcommandhandler.h" 
+#include    "cphcltcomhandimplementation.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/CommandHandler/RPhCltCommandHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/CommandHandler/RPhCltCommandHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,10 +20,10 @@
 
 // INCLUDES
 
-#include    "RPhCltCommandHandler.h"
-#include    <RPhCltServer.h>
-#include    <PhCltTypes.h>
-#include    "PhCltClientServer.h"
+#include    "rphcltcommandhandler.h" 
+#include    <rphcltserver.h> 
+#include    <phclttypes.h> 
+#include    "phcltclientserver.h" 
 #include    <e32std.h>
 #include    <e32base.h>
 
@@ -90,7 +90,7 @@
 
     // This is Atd function call.
     iComHandParams().iCommandHandlerCommand = EPhCltCommandAtd;
-	iComHandParams().iTelNumber = aTPhCltTelephoneNumber;
+    iComHandParams().iTelNumber = aTPhCltTelephoneNumber;
     SendReceive( 
         EPhoneServerComHandSubSessionAtd, 
         TIpcArgs( &iComHandParams ), 
--- a/phoneclientserver/phoneclient/Src/CommandHandler/RPhCltCommandHandlerNotify.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/CommandHandler/RPhCltCommandHandlerNotify.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,10 +20,10 @@
 
 //  INCLUDES
 
-#include    "RPhCltCommandHandlerNotify.h"
-#include    <RPhCltServer.h>
-#include    <PhCltTypes.h>
-#include    "PhCltClientServer.h"
+#include    "rphcltcommandhandlernotify.h" 
+#include    <rphcltserver.h> 
+#include    <phclttypes.h> 
+#include    "phcltclientserver.h" 
 #include    <e32base.h>
 
 
--- a/phoneclientserver/phoneclient/Src/EmergencyNumber/EmergencyNumber_Aiw/CPhCltEmergencyCall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/EmergencyNumber/EmergencyNumber_Aiw/CPhCltEmergencyCall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltEmergencyCall.h"
-#include    "CPhCltEmergencyCallImpl.h"
-#include    "PhCltTypes.h"
+#include    "cphcltemergencycall.h" 
+#include    "cphcltemergencycallimpl.h" 
+#include    "phclttypes.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/phoneclient/Src/EmergencyNumber/EmergencyNumber_Aiw/CPhCltEmergencyCallImpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/EmergencyNumber/EmergencyNumber_Aiw/CPhCltEmergencyCallImpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include "RPhCltServer.h"
-#include "CPhCltEmergencyCallImpl.h"
-#include "MPhCltEmergencyCallObserver.h"
+#include "rphcltserver.h" 
+#include "cphcltemergencycallimpl.h" 
+#include "mphcltemergencycallobserver.h" 
 
 _LIT( KEmNumber, "112" );
 
@@ -82,7 +82,10 @@
 void CPhCltEmergencyCallImpl::RunL()
     {
     // inform observer
-    iObserver->HandleEmergencyDialL( iStatus.Int() );
+    if(iObserver)
+        {
+        iObserver->HandleEmergencyDialL( iStatus.Int() );
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -105,8 +108,8 @@
     TBool& aIsEmergencyNumber )
     {
     return iEmergencyCall.IsEmergencyPhoneNumber( 
-    	aNumber, 
-    	aIsEmergencyNumber );
+        aNumber, 
+        aIsEmergencyNumber );
     }
 
 // -----------------------------------------------------------------------------
@@ -121,9 +124,9 @@
     {
    
     return iEmergencyCall.IsEmergencyPhoneNumber( 
-    	aNumber,
+        aNumber,
         aMatchedEmergencyNumber, 
-    	aIsEmergencyNumber );
+        aIsEmergencyNumber );
     }
 
 // -----------------------------------------------------------------------------
@@ -136,8 +139,8 @@
     TBool& aIsEmergencyNumber )
     {
     return iEmergencyCall.FindEmergencyPhoneNumber( 
-    	aNumber, 
-    	aIsEmergencyNumber );
+        aNumber, 
+        aIsEmergencyNumber );
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneclientserver/phoneclient/Src/EmergencyNumber/EmergencyNumber_Aiw/RPhCltEmergencyCall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/EmergencyNumber/EmergencyNumber_Aiw/RPhCltEmergencyCall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 
 // INCLUDE FILES
-#include    <CPhCltEmergencyCall.h> // for TPhCltEmergencyNumber
-#include    "RPhCltEmergencyCall.h"
-#include    "PhCltClientServer.h"
-#include    "PhCltUtils.h"
+#include    <cphcltemergencycall.h> // for TPhCltEmergencyNumber
+#include    "rphcltemergencycall.h" 
+#include    "phcltclientserver.h" 
+#include    "phcltutils.h" 
 
 // CONSTANTS
 _LIT( KPhCltDtmfCharp, "p" );
@@ -176,8 +176,8 @@
 // -----------------------------------------------------------------------------
 //
 void RPhCltEmergencyCall::DialEmergencyCall( 
-	TRequestStatus& aReqStatus, 
-	TDesC8& aNumber )
+    TRequestStatus& aReqStatus, 
+    TDesC8& aNumber )
     {
     return SendReceive( 
         EPhoneServerEmergencyNumberSubsessionEmergencyDial,
@@ -192,11 +192,11 @@
 // -----------------------------------------------------------------------------
 //
 void RPhCltEmergencyCall::CancelDialEmergencyCall()
-	{
-	SendReceive( 
-		EPhoneServerEmergencyNumberSubsessionEmergencyDialCancel,
-		TIpcArgs() );
-	}
+    {
+    SendReceive( 
+        EPhoneServerEmergencyNumberSubsessionEmergencyDialCancel,
+        TIpcArgs() );
+    }
 
 // -----------------------------------------------------------------------------
 // Extracts telephone number out of string. Valid emergency number can
@@ -322,8 +322,8 @@
 // -----------------------------------------------------------------------------
 //    
 TInt RPhCltEmergencyCall::ValidateNumber( TDes& aString,
-										TBool& aIsEmergencyNumber,
-										const TBool aWriteEmergencyNumBack )
+                                        TBool& aIsEmergencyNumber,
+                                        const TBool aWriteEmergencyNumBack )
     {
     TPckg<TBool> pIsEmergencyNumber( aIsEmergencyNumber );
     
--- a/phoneclientserver/phoneclient/Src/ExtCall/ExtCall_Aiw/CPhCltExtPhoneDialData.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCall/ExtCall_Aiw/CPhCltExtPhoneDialData.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include "CPhCltExtPhoneDialData.h"
+#include "cphcltextphonedialdata.h" 
 #include <cphcltdialdata.h>
 
 
--- a/phoneclientserver/phoneclient/Src/ExtCall/ExtCall_Aiw/RPhCltExtCall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCall/ExtCall_Aiw/RPhCltExtCall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 
 // INCLUDE FILES
-#include    "RPhCltServer.h"
-#include    "RPhCltExtCall.h"
-#include    "CPhCltExtPhoneDialData.h"
-#include    "PhCltClientServer.h"
+#include    "rphcltserver.h" 
+#include    "rphcltextcall.h" 
+#include    "cphcltextphonedialdata.h" 
+#include    "phcltclientserver.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/ExtCall/ExtCall_Aiw/cphcltdialdata.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCall/ExtCall_Aiw/cphcltdialdata.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include <cphcltdialdata.h>
-#include "CPhCltExtPhoneDialData.h" // For correct default values
+#include "cphcltextphonedialdata.h" // For correct default values 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/ExtCall/RPhCltExtCall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCall/RPhCltExtCall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 
 // INCLUDE FILES
-#include    "RPhCltServer.h"
-#include    "RPhCltExtCall.h"
-#include    "TPhCltExtPhoneDialData.h"
-#include    "PhCltClientServer.h"
+#include    "rphcltserver.h" 
+#include    "rphcltextcall.h" 
+#include    "tphcltextphonedialdata.h" 
+#include    "phcltclientserver.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/ExtCall/TPhCltExtPhoneDialData.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCall/TPhCltExtPhoneDialData.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include "TPhCltExtPhoneDialData.h"
+#include "tphcltextphonedialdata.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -600,7 +600,7 @@
     aReturn.iNumberType = iNumberType;
     aReturn.iSubAddress = iSubAddress;
     aReturn.iBearer = iBearer;
-	aReturn.iRedialMaximumDuration = iRedialMaximumDuration;
+    aReturn.iRedialMaximumDuration = iRedialMaximumDuration;
     // Flags
     aReturn.iFlags = TPhCltCallArgs::EPhCltCallFlagsDefault;
 
--- a/phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltDialer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltDialer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltDialer.h"
-#include    "CPhCltDialerDlg.h"
+#include    "cphcltdialer.h" 
+#include    "cphcltdialerdlg.h" 
 
 
 
--- a/phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltDialerDlg.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltDialerDlg.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltDialerDlg.h"
+#include    "cphcltdialerdlg.h" 
 #include    <phoneclient.rsg>
-#include    <CPhCltExtPhoneBase.h>
+#include    <cphcltextphonebase.h> 
 
 #include    <avkon.hrh>
 
@@ -54,15 +54,15 @@
     {
     TInt error = KErrNone;
     iError = &error;
- 	if (!iData.Emergency())
- 		{
- 		ExecuteLD( R_PHCLT_BLANK_DLG );
- 		}
+    if (!iData.Emergency())
+        {
+        ExecuteLD( R_PHCLT_BLANK_DLG );
+        }
     else
-		{
-		iPhoneClient = CPhCltExtPhoneBase::NewL( this );
-		iPhoneClient->DialL( iData );
-		}
+        {
+        iPhoneClient = CPhCltExtPhoneBase::NewL( this );
+        iPhoneClient->DialL( iData );
+        }
     User::LeaveIfError( error );
     }
 
--- a/phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltExtPhone.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltExtPhone.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,10 +19,10 @@
 
 // INCLUDE FILES
 #include    <e32std.h>
-#include    "RPhCltExtCall.h"
-#include    "RPhCltServer.h"
-#include    "MPhCltExtPhoneObserver.h"
-#include    "CPhCltExtPhone.h"
+#include    "rphcltextcall.h" 
+#include    "rphcltserver.h" 
+#include    "mphcltextphoneobserver.h" 
+#include    "cphcltextphone.h" 
 
 
 // LOCAL CONSTANTS AND MACROS
--- a/phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltExtPhoneBase.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCallWrapper/CPhCltExtPhoneBase.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltExtPhoneBase.h"
-#include    "CPhCltExtPhone.h"
-#include    "PhCltTypes.h"
+#include    "cphcltextphonebase.h" 
+#include    "cphcltextphone.h" 
+#include    "phclttypes.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltDialer.h"
-#include    "CPhCltDialerDlg.h"
+#include    "cphcltdialer.h" 
+#include    "cphcltdialerdlg.h" 
 
 
 
--- a/phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialerDlg.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialerDlg.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltDialerDlg.h"
+#include    "cphcltdialerdlg.h" 
 #include    <phoneclient.rsg>
-#include    <CPhCltExtPhoneBase.h>
+#include    <cphcltextphonebase.h> 
 
 #include    <avkon.hrh>
 
@@ -54,15 +54,15 @@
     {
     TInt error = KErrNone;
     iError = &error;
- 	if (!iData->Emergency())
- 		{
- 		ExecuteLD( R_PHCLT_BLANK_DLG );
- 		}
+    if (!iData->Emergency())
+        {
+        ExecuteLD( R_PHCLT_BLANK_DLG );
+        }
     else
-		{
-		iPhoneClient = CPhCltExtPhoneBase::NewL( this );
-		iPhoneClient->DialL( *iData );
-		}
+        {
+        iPhoneClient = CPhCltExtPhoneBase::NewL( this );
+        iPhoneClient->DialL( *iData );
+        }
     User::LeaveIfError( error );
     }
 
--- a/phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhone.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhone.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,9 +19,9 @@
 
 // INCLUDE FILES
 #include    <e32std.h>
-#include    "MPhCltExtPhoneObserver.h"
-#include    "CPhCltExtPhone.h"
-#include    "CPhCltExtPhoneDialData.h"
+#include    "mphcltextphoneobserver.h" 
+#include    "cphcltextphone.h" 
+#include    "cphcltextphonedialdata.h" 
 
 // LOCAL CONSTANTS AND MACROS
 
--- a/phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhoneBase.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltExtPhoneBase.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltExtPhoneBase.h"
-#include    "CPhCltExtPhone.h"
-#include    "PhCltTypes.h"
+#include    "cphcltextphonebase.h" 
+#include    "cphcltextphone.h" 
+#include    "phclttypes.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/phoneclient/Src/Ihf/RPhCltIhf.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Ihf/RPhCltIhf.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include "RPhCltServer.h"
-#include "RPhCltIhf.h"
+#include "rphcltserver.h" 
+#include "rphcltihf.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/phoneclient/Src/Ihf/RPhCltIhfStub.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Ihf/RPhCltIhfStub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include "RPhCltServer.h"
-#include "RPhCltIhf.h"
+#include "rphcltserver.h" 
+#include "rphcltihf.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltBaseImageParams.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltBaseImageParams.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -16,8 +16,8 @@
 */
 
 
-#include    "CPhCltBaseImageParams.h"
-#include    "PhCltClientServer.h"
+#include    "cphcltbaseimageparams.h" 
+#include    "phcltclientserver.h" 
 // -----------------------------------------------------------------------------
 // CPhCltBaseImageParams::CPhCltBaseImageParams
 // 
--- a/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltImageHandler.h"
-#include    "CPhCltImageHandlerImplementation.h"
+#include    "cphcltimagehandler.h" 
+#include    "cphcltimagehandlerimplementation.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandlerImplementation.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandlerImplementation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltImageHandlerImplementation.h"
+#include    "cphcltimagehandlerimplementation.h" 
 
 #ifdef _DEBUG
 #define _DxPRINT( x ) RDebug::Print(_L( x ) );
@@ -271,8 +271,8 @@
 void CPhCltImageHandlerImplementation::CVtImageSaver::RunL()
     {
     MPhCltImageObserver& observer = iObserver;
-    TRAP_IGNORE( observer.HandleImageSaveCompleteL( iStatus.Int() ) );
     delete this;
+    TRAP_IGNORE( observer.HandleImageSaveCompleteL( iStatus.Int() ) );    
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltOperatorLogoContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltOperatorLogoContainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltOperatorLogoContainer.h"
+#include    "cphcltoperatorlogocontainer.h" 
 
 // CONSTANTS
 
--- a/phoneclientserver/phoneclient/Src/ImageHandler/RPhCltImageHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/ImageHandler/RPhCltImageHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 // INCLUDES
 
-#include    "RPhCltImageHandler.h"
-#include    "PhCltClientServer.h"
-#include    <RPhCltServer.h>
+#include    "rphcltimagehandler.h" 
+#include    "phcltclientserver.h" 
+#include    <rphcltserver.h> 
 #include    <e32std.h>
 #include    <e32base.h>
 #include    <fbs.h>
@@ -184,7 +184,9 @@
             ( TPhCltExtOperatorLogoType )
             aImages.iImages[ EPhCltExtLogoTypeIndex ],
             bitMap );
-        iOperatorLogos.Append( logo );
+        CleanupStack::PushL(logo);
+        iOperatorLogos.AppendL( logo );
+        CleanupStack::Pop(logo);
         }
     }
 
@@ -198,12 +200,14 @@
     {
     // Remove all first.
     iVTBitMaps.ResetAndDestroy();
-
+    iVTBitMaps.ReserveL(aImages.iImageCount);
     for ( TInt i = 0 ; i < aImages.iImageCount; i ++ )
         {
         CFbsBitmap* bitMap = 
             CreateBitMapL( aImages.iImages[ i ] );
-        iVTBitMaps.Append( bitMap );
+        CleanupStack::PushL( bitMap );
+        iVTBitMaps.AppendL( bitMap );
+        CleanupStack::Pop(bitMap);
         }
     }
 
--- a/phoneclientserver/phoneclient/Src/Messenger/CPhCltMessenger.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Messenger/CPhCltMessenger.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltMessenger.h"
-#include    "CPhCltMessengerImplementation.h"
+#include    "cphcltmessenger.h" 
+#include    "cphcltmessengerimplementation.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/Messenger/CPhCltMessengerImplementation.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Messenger/CPhCltMessengerImplementation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltMessengerImplementation.h"
+#include    "cphcltmessengerimplementation.h" 
 
 
 
--- a/phoneclientserver/phoneclient/Src/Messenger/RPhCltMessenger.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Messenger/RPhCltMessenger.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,9 +20,9 @@
 
 // INCLUDES
 
-#include    "RPhCltMessenger.h"
-#include    <RPhCltServer.h>
-#include    "PhCltClientServer.h"
+#include    "rphcltmessenger.h" 
+#include    <rphcltserver.h> 
+#include    "phcltclientserver.h" 
 
 
 
--- a/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/CPhCltCallNotify.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/CPhCltCallNotify.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,14 +18,14 @@
 
 
 //  Include Files
-#include    <CPhCltEmergencyCall.h> // for TPhCltEmergencyNumber
-#include    <CPhCltCallNotify.h>
+#include    <cphcltemergencycall.h> // for TPhCltEmergencyNumber
+#include    <cphcltcallnotify.h> 
 #include    <cphcltdialdata.h>
 #include    <mphcltdialrequestobserver.h>
 
-#include    "RPhCltServer.h"
-#include    "CPhCltExtPhoneDialData.h"
-#include    "RPhCltCallNotify.h"
+#include    "rphcltserver.h" 
+#include    "cphcltextphonedialdata.h" 
+#include    "rphcltcallnotify.h" 
 #include    "cphcltdialrequestmonitor.h"
 #include    "cphcltdialemergencyrequestmonitor.h"
 #include    "cphcltcomhandrequestmonitor.h"
@@ -76,7 +76,7 @@
 EXPORT_C TInt CPhCltCallNotify::Open( RPhCltServer& aServer )
     {
     TInt retVal = iCallNotify->Open( aServer );
-	return retVal;
+    return retVal;
     }
 
 // -----------------------------------------------------------------------------
@@ -129,19 +129,19 @@
 EXPORT_C void CPhCltCallNotify::NotifyEmergencyCall( 
     MPhCltDialEmergencyRequestObserver* aObserver, 
     TDesC& aEmergencyNumber )
-	{	
+    {   
     iDialEmergencyMonitor->NotifyEmergencyCall( aObserver, aEmergencyNumber );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhCltCallNotify::CancelNotifyEmergencyCall()
 // 
 // -----------------------------------------------------------------------------
-//	
+//  
 EXPORT_C void CPhCltCallNotify::CancelNotifyEmergencyCall() const
-	{
-	iDialEmergencyMonitor->Cancel();
-	}
+    {
+    iDialEmergencyMonitor->Cancel();
+    }
 
 // -----------------------------------------------------------------------------
 // CPhCltCallNotify::RespondEmergencyToClient()
@@ -149,10 +149,10 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C TInt CPhCltCallNotify::RespondEmergencyToClient( 
-	const TInt aResultCode )
-	{
-	return iDialEmergencyMonitor->RespondEmergencyToClient( aResultCode  );
-	}
+    const TInt aResultCode )
+    {
+    return iDialEmergencyMonitor->RespondEmergencyToClient( aResultCode  );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhCltCallNotify::NotifyComHandCommand
--- a/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/RPhCltCallNotify.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/RPhCltCallNotify.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 //  Include Files
-#include "RPhCltCallNotify.h"
-#include "RPhCltServer.h"
-#include "PhCltClientServer.h"
+#include "rphcltcallnotify.h" 
+#include "rphcltserver.h" 
+#include "phcltclientserver.h" 
 
 // ============================= LOCAL FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/cphcltcomhandrequestmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/cphcltcomhandrequestmonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 
 //  Include Files
 #include    "cphcltcomhandrequestmonitor.h"
-#include    "RPhCltCallNotify.h"
+#include    "rphcltcallnotify.h" 
 #include    <mphcltcomhandrequestobserver.h>
 #include    <e32base.h>
 
--- a/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/cphcltdialemergencyrequestmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/cphcltdialemergencyrequestmonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,11 +18,11 @@
 
 
 //  Include Files
-#include    <CPhCltEmergencyCall.h> // for TPhCltEmergencyNumber
+#include    <cphcltemergencycall.h> // for TPhCltEmergencyNumber 
 #include    "cphcltdialemergencyrequestmonitor.h"
 #include    <mphcltdialemergencyrequestobserver.h>
-#include    "RPhCltServer.h"
-#include    "RPhCltCallNotify.h"
+#include    "rphcltserver.h" 
+#include    "rphcltcallnotify.h" 
 
 // ============================= LOCAL FUNCTIONS ===============================
 
@@ -102,27 +102,27 @@
 // -----------------------------------------------------------------------------
 //  
 void CPhCltDialEmergencyRequestMonitor::NotifyEmergencyCall( 
-	MPhCltDialEmergencyRequestObserver* aObserver, 
+    MPhCltDialEmergencyRequestObserver* aObserver, 
     TDesC& aEmergencyNumber )
-	{
-	
+    {
+    
     if ( !IsActive() )
         {
-	
-    	iEmergencyCallNumberPtr.Set( reinterpret_cast<TText8*>( &aEmergencyNumber ), 
+    
+        iEmergencyCallNumberPtr.Set( reinterpret_cast<TText8*>( &aEmergencyNumber ), 
                              sizeof( TPhCltEmergencyNumber ),
                              sizeof( TPhCltEmergencyNumber ) );
-    	
-    	iObserver = aObserver;
-    	
+        
+        iObserver = aObserver;
+        
         iCallNotify.NotifyEmergencyCall( 
-        	iStatus, 
-        	iEmergencyCallNumberPtr
-        	 );
+            iStatus, 
+            iEmergencyCallNumberPtr
+             );
         SetActive();
         }
-    	 
-	}
+         
+    }
 
 
 // -----------------------------------------------------------------------------
@@ -131,10 +131,10 @@
 // -----------------------------------------------------------------------------
 //
 TInt CPhCltDialEmergencyRequestMonitor::RespondEmergencyToClient( 
-	const TInt aResultCode )
-	{
-	return iCallNotify.RespondEmergencyToClient( aResultCode  );
-	}
+    const TInt aResultCode )
+    {
+    return iCallNotify.RespondEmergencyToClient( aResultCode  );
+    }
 
 
 // End of File
--- a/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/cphcltdialrequestmonitor.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Notifier/Notifier_Aiw/cphcltdialrequestmonitor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,14 +18,14 @@
 
 
 //  Include Files
-#include    <CPhCltEmergencyCall.h> // for TPhCltEmergencyNumber
+#include    <cphcltemergencycall.h> // for TPhCltEmergencyNumber 
 #include    <mphcltdialrequestobserver.h>
 
-#include    "RPhCltServer.h"
-#include    "CPhCltExtPhoneDialData.h"
+#include    "rphcltserver.h" 
+#include    "cphcltextphonedialdata.h" 
 #include    "cphcltdialdata.h"
 #include    "cphcltdialrequestmonitor.h"
-#include    "RPhCltCallNotify.h"
+#include    "rphcltcallnotify.h" 
 
 
 
--- a/phoneclientserver/phoneclient/Src/Notifier/RPhCltCallNotify.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Notifier/RPhCltCallNotify.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 //  Include Files
-#include    "RPhCltCallNotify.h"
-#include    "RPhCltServer.h"
+#include    "rphcltcallnotify.h" 
+#include    "rphcltserver.h" 
 
 
 // ============================= LOCAL FUNCTIONS ===============================
--- a/phoneclientserver/phoneclient/Src/Notifier/RPhCltExtCallNotify.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Notifier/RPhCltExtCallNotify.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,9 +19,9 @@
 
 //  Include Files
 
-#include    "RPhCltCallNotify.h"
-#include    "PhCltClientServer.h"
-#include    "RPhCltServer.h"
+#include    "rphcltcallnotify.h" 
+#include    "phcltclientserver.h" 
+#include    "rphcltserver.h" 
 
 
 
--- a/phoneclientserver/phoneclient/Src/PhCltUtils.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/PhCltUtils.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDE FILES
-#include    "PhCltUtils.h"
+#include    "phcltutils.h" 
 
 
 // CONSTANTS
@@ -75,21 +75,21 @@
 //
 EXPORT_C void PhCltUtils::RemoveURIPrefixdAndDomainChars( TDes& aString )
     {
-	  // Does number contains prefix. If yes then remove it
+      // Does number contains prefix. If yes then remove it
 
     if ( 0 == aString.FindC( KSipPrefix ) ||
          0 == aString.FindC( KTelPrefix ) ||
-	       0 == aString.FindC( KSosPrefix ) )
+           0 == aString.FindC( KSosPrefix ) )
         {
         aString.Delete( 0, KPrefixLength );
-	      }
-	  // Does Number contains domain part. If yes remove it at beging of @ character.
+          }
+      // Does Number contains domain part. If yes remove it at beging of @ character.
     TInt atIndex = aString.Find( KAt );
     TInt telNumberLength = aString.Length();
-	  if ( 0 < atIndex && 
-	       atIndex < telNumberLength )
+      if ( 0 < atIndex && 
+           atIndex < telNumberLength )
         {
-		    aString.Delete( atIndex, telNumberLength - atIndex );
-		    }
+            aString.Delete( atIndex, telNumberLength - atIndex );
+            }
     }
 //  End of File  
--- a/phoneclientserver/phoneclient/Src/RPhCltResourceFile.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/RPhCltResourceFile.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include    "RPhCltResourceFile.h"
-#include    "ConeResLoader.h"
-#include    "PhCltClientServer.h"
+#include    "rphcltresourcefile.h" 
+#include    "ConeResLoader.h" 
+#include    "phcltclientserver.h" 
 
 
 // CONSTANTS
--- a/phoneclientserver/phoneclient/Src/Session/RPhCltServer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Session/RPhCltServer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,9 +20,9 @@
 // INCLUDE FILES
 #include    <e32math.h>
 #include    <e32uid.h>
-#include    "PhCltTypes.h"
-#include    "RPhCltServer.h"
-#include    "PhCltClientServer.h"
+#include    "phclttypes.h" 
+#include    "rphcltserver.h" 
+#include    "phcltclientserver.h" 
 
 // CONSTANTS
 
@@ -163,25 +163,25 @@
     // thread dies for any reason.
 
 
-	TRequestStatus stat;
-	serverUnitOfExecution.Rendezvous( stat );
- 	if ( stat != KRequestPending )
+    TRequestStatus stat;
+    serverUnitOfExecution.Rendezvous( stat );
+    if ( stat != KRequestPending )
         {
         User::Panic( PH_SRV_SU_FAILURE, EPhSrvStartupFailurePhase1 );
 
- 		serverUnitOfExecution.Kill( KErrAbort );	// abort startup
+        serverUnitOfExecution.Kill( KErrAbort );    // abort startup
         }
- 	else
+    else
         {
- 		serverUnitOfExecution.Resume();	// logon ok
+        serverUnitOfExecution.Resume(); // logon ok
         }
 
     // wait for start or death
- 	User::WaitForRequest( stat ); 
- 	// we can't use the 'exit reason' if the server panicked as this
- 	// is the panic 'reason' and may be '0' which cannot be distinguished
- 	// from KErrNone
- 	err = ( serverUnitOfExecution.ExitType() == EExitPanic ) 
+    User::WaitForRequest( stat ); 
+    // we can't use the 'exit reason' if the server panicked as this
+    // is the panic 'reason' and may be '0' which cannot be distinguished
+    // from KErrNone
+    err = ( serverUnitOfExecution.ExitType() == EExitPanic ) 
         ? KErrGeneral : stat.Int();
 
     serverUnitOfExecution.Close();
--- a/phoneclientserver/phoneclient/Src/Ussd/ussd_ext/rphcltussd.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/Ussd/ussd_ext/rphcltussd.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include "RPhCltServer.h"
+#include "rphcltserver.h" 
 #include "rphcltussd.h"
-#include "PhCltClientServer.h"
+#include "phcltclientserver.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdExt.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdExt.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include <CPhCltUssd.h>
-#include "CPhCltUssdImp.h"
+#include <cphcltussd.h> 
+#include "cphcltussdimp.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdImp.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdImp.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -18,29 +18,26 @@
 
 
 // INCLUDE FILES
-#include "CPhCltUssdImp.h"
-#include "CPhCltUssdRequestHandler.h"
-#include "PhCltClientServer.h"
-#include <PhCltTypes.h>
+#include "cphcltussdimp.h" 
+#include "cphcltussdrequesthandler.h" 
+#include "phcltclientserver.h" 
+#include <phclttypes.h> 
 
 #include <etelmm.h>
 #include <f32file.h>
 #include <charconv.h>
 #include <gsmuelem.h>
-//
-#include <coemain.h>
-#include <avkon.hrh>
-#include <avkon.rsg> 
-
-#include <PhoneClient.rsg>
+#include <coemain.h>  
+//#include <phoneclient.rsg> 
 #include <exterror.h>
 
 #include <gsmerror.h>
 #include <etelsat.h>
 
-#include "MPhCltUssdNoteControllerCallBack.h"
-#include "CPhCltUssdNoteController.h"
-
+#include "mphcltussdnotecontrollercallback.h" 
+#include "cphcltussdnotecontroller.h" 
+#include "cphcltussdcommonconstant.h"
+#include "tflogger.h"
 // CONSTANTS
 
 const TUint8 KPhCltUssdDcsDefaultAlphabet = 0x0f; // 00001111
@@ -333,10 +330,12 @@
 //
 CPhCltUssdImp* CPhCltUssdImp::NewL( TBool aShowNotes )
     {
+    TFLOGSTRING("CPhCltUssdImp: NewL call")
     CPhCltUssdImp* self = new( ELeave ) CPhCltUssdImp;
     CleanupStack::PushL( self );
     self->ConstructL( aShowNotes );
     CleanupStack::Pop(); // self
+    TFLOGSTRING("CPhCltUssdImp: NewL exit")
     return self;
     }
 
@@ -348,14 +347,14 @@
 //
 void CPhCltUssdImp::ConstructL( TBool aShowNotes )
     {
+    TFLOGSTRING("CPhCltUssdImp: ConstructL call")
     // The note controller is needed only if the notes are shown.
     iNoteController = NULL;
     
     if ( aShowNotes )
         {
         iNoteController = CPhCltUssdNoteController::NewL( 
-            *this, 
-            CActive::EPriorityStandard );
+            *this );
         }
 
     iDCS = KPhCltUssdDcsDefaultAlphabet;
@@ -365,6 +364,7 @@
     iRequestHandler = CPhCltUssdRequestHandler::NewL( 
         *this, 
         CActive::EPriorityStandard );
+    TFLOGSTRING("CPhCltUssdImp: ConstructL exit")
     }
 
 
@@ -376,6 +376,7 @@
 //
 CPhCltUssdImp::CPhCltUssdImp()
     {
+    TFLOGSTRING("CPhCltUssdImp: CPhCltUssdImp call_exit")
     } 
 
 
@@ -386,6 +387,7 @@
 //
 CPhCltUssdImp::~CPhCltUssdImp()
     {
+    TFLOGSTRING("CPhCltUssdImp: ~CPhCltUssdImp call") 
     if ( iWait )
         {
         if ( iWait->IsStarted() )
@@ -400,7 +402,8 @@
     iRequestHandler = NULL;
     
     delete iNoteController;
-    iNoteController = NULL;      
+    iNoteController = NULL;
+    TFLOGSTRING("CPhCltUssdImp: ~CPhCltUssdImp exit") 
     }
 
 
@@ -413,8 +416,9 @@
 //
 void CPhCltUssdImp::HandleSendEventL( const TInt aError )
     {
-    *iSendError = Min( aError , KErrNone );
-
+    iSendError = Min( aError , KErrNone );
+    TFLOGSTRING2("CPhCltUssdImp: HandleSendEventL\
+            aError = %d call", aError)
     // iNoteController is allocated only if notes are shown.
     if ( iNoteController )
         {
@@ -428,12 +432,12 @@
                 {
                 // All Ok.
                 case KErrNone:
-                    iNoteController->ShowGlobalConfirmationNoteL( R_TEXT_DONE );
+                    iNoteController->ShowGlobalInformationNoteL( EPhCltUssdDone );
                     break;
 
                 // Operation cancelled.
                 case KErrCancel:
-                    iNoteController->ShowGlobalInformationNoteL( R_TEXT_UNCONFIRMED );
+                    iNoteController->ShowGlobalInformationNoteL( EPhCltUssdUnconfirme );
                     break;
 
                 // Ongoing Ussd session or the string is barred due SS request
@@ -441,17 +445,17 @@
                 case KErrInUse:
                 case KErrAccessDenied:
                 case KErrGsmSSCallBarred:
-                    iNoteController->ShowGlobalInformationNoteL( R_TEXT_NOT_ALLOWED );
+                    iNoteController->ShowGlobalInformationNoteL( EPhCltUssdNotallowed );
                     break;
 
                 // No network coverage.
                 case KErrGsmSMSNoNetworkService:
-                    iNoteController->ShowGlobalInformationNoteL( R_TEXT_NO_SERVICE );
+                    iNoteController->ShowGlobalInformationNoteL(EPhCltUssdNoservice );
                     break;
 
                 // Offline mode.
                 case KErrGsmOfflineOpNotAllowed:
-                    iNoteController->ShowGlobalInformationNoteL( R_TEXT_OFFLINE );
+                    iNoteController->ShowGlobalInformationNoteL( EPhCltUssdOffline );
                     break;
                     
                 case KErrSatControl:
@@ -459,7 +463,7 @@
 
                 // Unknown error.
                 default:
-                    iNoteController->ShowGlobalInformationNoteL( R_TEXT_NOT_DONE );
+                    iNoteController->ShowGlobalInformationNoteL( EPhCltUssdNotDone );
                     break;
                 }
             }
@@ -470,6 +474,7 @@
         {
         iWait->AsyncStop();
         }
+    TFLOGSTRING("CPhCltUssdImp: HandleSendEventL exit")
     }
 
 
@@ -531,10 +536,11 @@
     const TDesC8& aMsgData, 
     const TUint8 iSendDcs )
     {
+    TFLOGSTRING("CPhCltUssdImp: SendUssd call")
     __ASSERT_ALWAYS( aMsgData.Length() <= KPhCltUssdMax7BitCharacterOctets,
         User::Invariant() );
 
-	RMobileUssdMessaging::TMobileUssdAttributesV1 attribute;
+    RMobileUssdMessaging::TMobileUssdAttributesV1 attribute;
 
     attribute.iFlags = 
         RMobileUssdMessaging::KUssdDataFormat + 
@@ -549,13 +555,13 @@
         }
         
     if ( iSendDcs == KPhCltUssdDcsNotSet  ) // 0x00
-		{
-		attribute.iDcs = KPhCltUssdDcsDefaultAlphabet;
- 		}
- 	else
- 		{
- 		attribute.iDcs = iSendDcs;
- 		} 
+        {
+        attribute.iDcs = KPhCltUssdDcsDefaultAlphabet;
+        }
+    else
+        {
+        attribute.iDcs = iSendDcs;
+        } 
     
     RMobileUssdMessaging::TMobileUssdAttributesV1Pckg 
         attributePckg( attribute );
@@ -566,30 +572,23 @@
         return KErrInUse;
         }
 
-    TInt error = KErrNone;
-    iSendError = &error;
-  
-  	iRequestHandler->SendUssd( aMsgData , attributePckg );
+    iSendError = KErrNone;
+    TFLOGSTRING("CPhCltUssdImp: SendUssd iRequestHandler")
+    iRequestHandler->SendUssd( aMsgData , attributePckg );
     // iNoteController is allocated only if notes are shown.
+    TFLOGSTRING("CPhCltUssdImp: SendUssd ShowGlobalWaitNoteL")
     if ( iNoteController )
         {
-        TRAP_IGNORE( iNoteController->ShowGlobalWaitNoteL( 
-        	R_TEXT_SENDING, 
-            R_AVKON_SOFTKEYS_QUIT ) );
+        TRAP_IGNORE( iNoteController->ShowGlobalWaitNoteL(); 
+                    );
         }
+    TFLOGSTRING("CPhCltUssdImp: SendUssd iWait") 
 
     // Set this active object to wait the completion of the send request.
     iWait->Start();
-    
-    // Need to check iWait handle here because the destructor may be called
-    // while pending for completion of the send request.
-    // coverity[check_after_deref]
-    if( iWait )
-        {
-        iSendError = NULL;
-        }
-    
-    return error;
+
+    TFLOGSTRING("CPhCltUssdImp: SendUssd exit") 
+    return iSendError;
     }
 
 
@@ -601,7 +600,9 @@
 //
 void CPhCltUssdImp::SendUssdCancel()
     {
+    TFLOGSTRING("CPhCltUssdImp: SendUssdCancel call")
     iRequestHandler->SendUssdCancel();
+    TFLOGSTRING("CPhCltUssdImp: SendUssdCancel exit")
     }
 
 
@@ -624,7 +625,10 @@
 //
 TInt CPhCltUssdImp::AppStarting()
     {
-    return iRequestHandler->UssdClient().AppStarting();
+    TFLOGSTRING("CPhCltUssdImp: AppStarting call")
+    TInt res = iRequestHandler->UssdClient().AppStarting();
+    TFLOGSTRING2("CPhCltUssdImp: AppStarting exit res = %d",res)
+    return res;
     }
     
 // -----------------------------------------------------------------------------
@@ -636,7 +640,10 @@
 TInt CPhCltUssdImp::AppTerminating( 
       TPhCltUssdAppExitReason aExitReason )
     {
-    return iRequestHandler->UssdClient().AppTerminating( aExitReason );
+    TFLOGSTRING("CPhCltUssdImp: AppTerminating call")
+    TInt res = iRequestHandler->UssdClient().AppTerminating( aExitReason );
+    TFLOGSTRING2("CPhCltUssdImp: AppTerminating exit res = %d",res)
+    return res;
     }
     
 // -----------------------------------------------------------------------------
@@ -647,7 +654,10 @@
 //    
 TBool CPhCltUssdImp::AppToForeground()
     {
-    return iRequestHandler->UssdClient().AppToForeground();
+    TFLOGSTRING("CPhCltUssdImp: AppToForeground call")
+    TBool res =  iRequestHandler->UssdClient().AppToForeground();
+    TFLOGSTRING2("CPhCltUssdImp: AppToForeground exit res = %d",res)
+    return res;
     }
     
 // -----------------------------------------------------------------------------
@@ -658,7 +668,10 @@
 //    
 TInt CPhCltUssdImp::AppToBackground()
     {
-    return iRequestHandler->UssdClient().AppToBackground();
+    TFLOGSTRING("CPhCltUssdImp: AppToBackground call")
+    TInt res = iRequestHandler->UssdClient().AppToBackground();
+    TFLOGSTRING2("CPhCltUssdImp: AppToBackground exit res = %d",res)
+    return res;
     }
 
 // -----------------------------------------------------------------------------
@@ -672,7 +685,9 @@
             TDes& aReceiveMessage, 
             TPckg< TUint >& aShowNotesAndDcs )
     {
+    TFLOGSTRING("CPhCltUssdImp: StartSAT call")
     iRequestHandler->UssdClient().StartSAT( aStatus, aReceiveMessage, aShowNotesAndDcs );
+    TFLOGSTRING("CPhCltUssdImp: StartSAT exit")
     }
  
 // -----------------------------------------------------------------------------
@@ -683,24 +698,22 @@
 //   
  void CPhCltUssdImp::StopSAT()
     {
+    TFLOGSTRING("CPhCltUssdImp: StopSAT call")
     iRequestHandler->UssdClient().StopSAT();
+    TFLOGSTRING("CPhCltUssdImp: StopSAT exit")
     }
 
 
 // -----------------------------------------------------------------------------
-// CPhCltUssdImp::GlobalNoteDismissedL
+// CPhCltUssdImp::GlobalWaitNoteHidden
 //
-// Dialog is cancelled by the right softkey.
+// Dialog is hidden by the cancel key.
 // -----------------------------------------------------------------------------
 //
-void CPhCltUssdImp::GlobalWaitNoteDismissedL( TInt aButtonId )
+void CPhCltUssdImp::GlobalWaitNoteHidden()
     {
-    if ( aButtonId == EAknSoftkeyClose || 
-         aButtonId == EAknSoftkeyCancel ||
-         aButtonId == EAknSoftkeyQuit )
-        {   
-        SendUssdCancel();
-        }
+    TFLOGSTRING("CPhCltUssdImp: GlobalWaitNoteHidden call")
+    TFLOGSTRING("CPhCltUssdImp: GlobalWaitNoteHidden exit")
     }
 
 
@@ -712,8 +725,8 @@
 //
 void CPhCltUssdImp::EncodeL( const TDesC& aSrc, TDes8& aDes )
     {
-    //
-     aDes.Zero();
+    TFLOGSTRING("CPhCltUssdImp: EncodeL call")
+    aDes.Zero();
     TSmsDataCodingScheme::TSmsAlphabet alphabet = 
         TSmsDataCodingScheme::ESmsAlphabet7Bit; // default
         
@@ -816,6 +829,7 @@
         }
     
     CleanupStack::PopAndDestroy(3); // fs, packer, charConv
+    TFLOGSTRING("CPhCltUssdImp: EncodeL exit")
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdInt.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdInt.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include "CPhCltUssdInt.h"
-#include "CPhCltUssdImp.h"
+#include "cphcltussdint.h" 
+#include "cphcltussdimp.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdNoteController.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdNoteController.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -17,15 +17,27 @@
 
 
 // INCLUDE FILES
-#include <AknGlobalNote.h> //CAknGlobalNote
-#include <aknnotewrappers.h>
-#include <ConeResLoader.h>
-#include <StringLoader.h>
+#include <hbdevicemessageboxsymbian.h>
+#include <hbdeviceprogressdialogsymbian.h>
+#include <hbtextresolversymbian.h>
+
+#include "phcltclientserver.h" 
+#include "cphcltussdnotecontroller.h" 
+#include "tflogger.h"
 
-#include "PhCltClientServer.h"
-#include "CPhCltUssdNoteController.h"
+_LIT(KUssdLocFilename, "ussd_");
+_LIT(KCommonLocFilename, "common_");
+_LIT(KPath, "z:\\resource\\qt\\translations");
+_LIT(KUssdRequesting, "txt_common_info_requesting"); // Requesting
+_LIT(KUssdDone, "txt_ussd_dpopinfo_done"); // Done
+_LIT(KUssdNotDone, "txt_ussd_dpopinfo_not_done"); // NotDone
+_LIT(KUssdNotAllowed, "txt_ussd_dpopinfo_not_allowed"); //NotAllowed
+_LIT(KUssdUnconfirmed, "txt_ussd_dpopinfo_request_not_confirmed"); // Unconfirmed
+_LIT(KUssdNoService, "txt_ussd_dpopinfo_no_service"); // NoService
+_LIT(KUssdOffline, "txt_ussd_dpopinfo_unable_to_use_network_phone_is"); // Offline
+_LIT(KUssdHide, "txt_common_button_hide"); // Hide
 
-
+const int KPhCltUssdProgressBarMaxLength = 10;
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
@@ -34,19 +46,19 @@
 // -----------------------------------------------------------------------------
 //
 CPhCltUssdNoteController* CPhCltUssdNoteController::NewL(
-        MPhCltUssdNoteControllerCallBack& aCallBack,
-        TInt aPriority )
+        MPhCltUssdNoteControllerCallBack& aCallBack )
     {
+    TFLOGSTRING("CPhCltUssdNoteController: NewL call")
     CPhCltUssdNoteController* self = new( ELeave ) 
-        CPhCltUssdNoteController( aCallBack, aPriority );
-    
+        CPhCltUssdNoteController( aCallBack );
+
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop( self );
+    TFLOGSTRING("CPhCltUssdNoteController: NewL exit")
     return self;
     }
 
-
 // -----------------------------------------------------------------------------
 // CPhCltUssdNoteController::ConstructL
 // Symbian 2nd phase constructor can leave.
@@ -54,26 +66,23 @@
 //
 void CPhCltUssdNoteController::ConstructL()
     {
-    LoadResourceFileL();
+    TFLOGSTRING( "CPhCltUssdNoteController: ConstructL call_exit" ) 
     }
 
-
 // -----------------------------------------------------------------------------
 // CPhCltUssdNoteController::CPhCltUssdNoteController
 // C++ constructor can NOT contain any code, that
 // might leave.
 // -----------------------------------------------------------------------------
 CPhCltUssdNoteController::CPhCltUssdNoteController(
-    MPhCltUssdNoteControllerCallBack& aCallBack,
-    TInt aPriority )
-    : CActive( aPriority ), 
-    iCallBack( aCallBack ),
-    iWaitNoteId( KErrNotFound )
+    MPhCltUssdNoteControllerCallBack& aCallBack )
+    : iGlobalWaitNote( NULL ),
+      iCallBack( aCallBack )
     {
-    CActiveScheduler::Add( this );
+    TFLOGSTRING("CPhCltUssdNoteController: CPhCltUssdNoteController call")
+    TFLOGSTRING("CPhCltUssdNoteController: CPhCltUssdNoteController exit")
     }
-    
-    
+
 // -----------------------------------------------------------------------------
 // CPhCltUssdNoteController:~CPhCltUssdNoteController
 // C++ default constructor can NOT contain any code, that
@@ -82,182 +91,146 @@
 //
 CPhCltUssdNoteController::~CPhCltUssdNoteController()
     {
-    Cancel();
-
+    TFLOGSTRING("CPhCltUssdNoteController: ~CPhCltUssdNoteController call")
     DestroyGlobalWaitNote();
-    
-    delete iMessageBuffer;
-    iMessageBuffer = NULL;
-    
-    if ( iResourceLoader )
-        {
-        iResourceLoader->Close();
-        delete iResourceLoader;
-        iResourceLoader = NULL;
-        }
+    TFLOGSTRING("CPhCltUssdNoteController: ~CPhCltUssdNoteController exit")
     }
 
-
-// -----------------------------------------------------------------------------
-// CPhCltUssdNoteController::RunL
-//
-// Called when dialog is dismissed by pressing a softkey.
-// -----------------------------------------------------------------------------
-void CPhCltUssdNoteController::RunL()
-    {
-    iCallBack.GlobalWaitNoteDismissedL( iStatus.Int() );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhCltUssdNoteController::DoCancel
-// -----------------------------------------------------------------------------
-void CPhCltUssdNoteController::DoCancel()
-    {
-    DestroyGlobalWaitNote();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhCltUssdNoteController::ShowInformationNoteL
-// -----------------------------------------------------------------------------
-void CPhCltUssdNoteController::ShowInformationNoteL( TInt aResourceId )
-    {
-    ShowNoteL( EPhCltUssdInformationNote, aResourceId );
-    }
-
-
 // -----------------------------------------------------------------------------
 // CPhCltUssdNoteController::ShowGlobalInformationNoteL
 // -----------------------------------------------------------------------------
-void CPhCltUssdNoteController::ShowGlobalInformationNoteL( TInt aResourceId )
+void CPhCltUssdNoteController::ShowGlobalInformationNoteL( 
+        const TPhCltUssdInformationType aInfoType )
     {
-    ShowNoteL( EPhCltUssdGlobalInformationNote, aResourceId );
+    TFLOGSTRING2("CPhCltUssdNoteController: ShowGlobalInformationNoteL\
+            aInfoType = %d call", aInfoType)
+    const TBool textResolver = HbTextResolverSymbian::Init( 
+        KUssdLocFilename, KPath );
+    TFLOGSTRING2("CPhCltUssdNoteController: ShowGlobalInformationNoteL\
+        ussd textResolver = %d", textResolver ) 
+    HBufC* temp(NULL);
+    switch ( aInfoType )
+        {
+        case EPhCltUssdUnconfirme:
+            {
+            temp = HbTextResolverSymbian::LoadLC( KUssdUnconfirmed );
+            break;
+            }
+        case EPhCltUssdNotallowed:
+            {
+            temp = HbTextResolverSymbian::LoadLC( KUssdNotAllowed );
+            break;
+            }
+        case EPhCltUssdNoservice:
+            {
+            temp = HbTextResolverSymbian::LoadLC( KUssdNoService );
+            break;
+            }
+        case EPhCltUssdOffline:
+            {
+            temp = HbTextResolverSymbian::LoadLC( KUssdOffline );
+            break;
+            }
+        case EPhCltUssdDone:
+            {
+            temp = HbTextResolverSymbian::LoadLC( KUssdDone );
+            break;
+            }
+        case EPhCltUssdNotDone:
+            {
+            temp = HbTextResolverSymbian::LoadLC( KUssdNotDone );
+            break;
+            }
+        default:
+            {
+            User::Leave( KErrArgument );
+            break;
+            }
+        }
+    CHbDeviceMessageBoxSymbian* dlg = CHbDeviceMessageBoxSymbian::NewL(
+            CHbDeviceMessageBoxSymbian::EInformation);
+    CleanupStack::PushL( dlg );
+    dlg->SetTextL( temp->Des() );
+    dlg->SetButton( CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue );
+    dlg->ExecL();
+    CleanupStack::PopAndDestroy( dlg );
+    CleanupStack::PopAndDestroy( temp );
+    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalInformationNoteL exit")
     }
 
-
-// -----------------------------------------------------------------------------
-// CPhCltUssdNoteController::ShowGlobalConfirmationNoteL
-// -----------------------------------------------------------------------------
-void CPhCltUssdNoteController::ShowGlobalConfirmationNoteL( TInt aResourceId )
-    {
-    ShowNoteL( EPhCltUssdGlobalConfirmationNote, aResourceId );
-    }
-
-
 // -----------------------------------------------------------------------------
 // CPhCltUssdNoteController::ShowGlobalWaitNoteL
 // -----------------------------------------------------------------------------
-void CPhCltUssdNoteController::ShowGlobalWaitNoteL( 
-    TInt aResourceId, 
-    TInt aSoftkeyResourceId )
+void CPhCltUssdNoteController::ShowGlobalWaitNoteL( )
     {
-    delete iMessageBuffer;
-    iMessageBuffer = NULL;
-    iMessageBuffer = StringLoader::LoadL( aResourceId );
-
+    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL call")
     DestroyGlobalWaitNote();
-    
-    iGlobalWaitNote = CAknGlobalNote::NewL();    
-   
-    if ( aSoftkeyResourceId )
-        {
-        iGlobalWaitNote->SetSoftkeys( aSoftkeyResourceId );
-        }
-    
-    SetActive();
-    
-    iWaitNoteId = iGlobalWaitNote->ShowNoteL( iStatus,
-                                EAknGlobalWaitNote, 
-                                *iMessageBuffer );
+    TBool textResolver = HbTextResolverSymbian::Init( 
+        KCommonLocFilename, KPath );
+    TFLOGSTRING2("CPhCltUssdNoteController: ConstructL\
+        init common textResolver = %d", textResolver ) 
+    //CHbDeviceProgressDialogSymbian
+    iGlobalWaitNote = CHbDeviceProgressDialogSymbian::NewL(
+            CHbDeviceProgressDialogSymbian::EProgressDialog );
+    CleanupStack::PushL( iGlobalWaitNote );
+    HBufC* context = HbTextResolverSymbian::LoadLC( KUssdRequesting );
+    iGlobalWaitNote->SetTextL( context->Des() );
+    HBufC* bottonText = HbTextResolverSymbian::LoadLC( KUssdHide );
+    iGlobalWaitNote->SetButtonTextL( bottonText->Des() );
+    iGlobalWaitNote->SetObserver( this );
+    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL before setactive")
+    iGlobalWaitNote->SetRange(0,KPhCltUssdProgressBarMaxLength);
+    iGlobalWaitNote->SetProgressValue( KPhCltUssdProgressBarMaxLength );
+    iGlobalWaitNote->SetAutoClose( EFalse );
+    iGlobalWaitNote->ShowL();
+    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL after ShowL")
+    CleanupStack::PopAndDestroy( bottonText );
+    CleanupStack::PopAndDestroy( context );
+    CleanupStack::Pop( iGlobalWaitNote );
+    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL after setactive")
+    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL exit")
     }
 
-
 // -----------------------------------------------------------------------------
 // CPhCltUssdNoteController::DestroyGlobalWaitNote
 // -----------------------------------------------------------------------------
 void CPhCltUssdNoteController::DestroyGlobalWaitNote()
     {
+    TFLOGSTRING("CPhCltUssdNoteController: DestroyGlobalWaitNote call")
     if ( iGlobalWaitNote )
         {
-        if ( iWaitNoteId != KErrNotFound ) 
-            {
-            TRAP_IGNORE( iGlobalWaitNote->CancelNoteL( iWaitNoteId ) );
-            iWaitNoteId = KErrNotFound;
-            }
+        iGlobalWaitNote->Close();
         delete iGlobalWaitNote;
         iGlobalWaitNote = NULL;
         }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhCltUssdNoteController::ShowNoteL
-//
-// Launches a corresponding dialog with the given string.
-// -----------------------------------------------------------------------------
-//
-void CPhCltUssdNoteController::ShowNoteL( TPhCltUssdNoteType aType, TInt aResourceId )
-    {
-    switch ( aType )
-        {
-        case EPhCltUssdInformationNote:
-            {       
-            delete iMessageBuffer;
-            iMessageBuffer = NULL;
-            iMessageBuffer = StringLoader::LoadL( aResourceId );
-            
-            if ( iMessageBuffer->Length() == 0 )
-                {
-                break;
-                }
-            CAknInformationNote* dlg = new ( ELeave ) 
-                CAknInformationNote( ETrue );
-
-            dlg->ExecuteLD( *iMessageBuffer );
-            break;
-            }
-        case EPhCltUssdGlobalInformationNote:
-        case EPhCltUssdGlobalConfirmationNote:
-            {
-            CAknGlobalNote* dlg = CAknGlobalNote::NewLC();
-            
-            delete iMessageBuffer;
-            iMessageBuffer = NULL;
-            iMessageBuffer = StringLoader::LoadL( aResourceId );
-            
-            if ( aType == EPhCltUssdGlobalInformationNote )
-                {
-                dlg->ShowNoteL( EAknGlobalInformationNote , *iMessageBuffer );
-                }
-            else if ( aType == EPhCltUssdGlobalConfirmationNote )
-                {
-                dlg->ShowNoteL( EAknGlobalConfirmationNote , *iMessageBuffer );
-                }
-            CleanupStack::PopAndDestroy(); // dlg
-            break;
-            }
-
-        default:
-            break;
-        }
+    TFLOGSTRING("CPhCltUssdNoteController: DestroyGlobalWaitNote exit")
     }
 
 // -----------------------------------------------------------------------------
-// CPhCltUssdNoteController::LoadResourceFileL
+// CPhCltUssdNoteController::ProgressDialogCancelled
 //
-// Loads resource file via RConeResourceLoader.
+// 
 // -----------------------------------------------------------------------------
 //
-void CPhCltUssdNoteController::LoadResourceFileL()
+void CPhCltUssdNoteController::ProgressDialogCancelled(
+        const CHbDeviceProgressDialogSymbian* /*aProgressDialog*/)
     {
-    // load resource file for notes
-    iResourceLoader = new( ELeave ) RConeResourceLoader( *CCoeEnv::Static() );
-    TFileName fileName ( KPhCltServerZDrive );
-    fileName.Append( KDC_RESOURCE_FILES_DIR );
-    fileName.Append( KPhCltResourceFileNameAndPath );
-    fileName.ZeroTerminate();
-    iResourceLoader->OpenL( fileName );
+    TFLOGSTRING("CPhCltUssdNoteController: ProgressDialogCancelled call")
+    iCallBack.GlobalWaitNoteHidden();
+    TFLOGSTRING("CPhCltUssdNoteController: ProgressDialogCancelled exit")
+    }
+
+// -----------------------------------------------------------------------------
+// CPhCltUssdNoteController::ProgressDialogClosed
+//
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhCltUssdNoteController::ProgressDialogClosed(
+        const CHbDeviceProgressDialogSymbian* /*aProgressDialog*/)
+    {
+    TFLOGSTRING("CPhCltUssdNoteController: ProgressDialogClosed call")
+    TFLOGSTRING("CPhCltUssdNoteController: ProgressDialogClosed exit")
     }
 
 // End of file
--- a/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdRequestHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdRequestHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include "CPhCltUssdRequestHandler.h"
-#include "MPhCltUssdRequestHandler.h"
+#include "cphcltussdrequesthandler.h" 
+#include "mphcltussdrequesthandler.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -74,6 +74,7 @@
     {
     Cancel();
 
+    //iUssdClient.CancelSend(); Fix to ou1cimx1#265402
     iUssdClient.Close();
 
     iPhClient.Close();
--- a/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdSatClient.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdSatClient.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 
 // INCLUDE FILES
-#include    "CPhCltUssdImp.h"
-#include    "PhCltClientServer.h"
-#include    <CPhCltUssdSatClient.h>
-#include    <CPhCltUssd.h>
+#include    "cphcltussdimp.h" 
+#include    "phcltclientserver.h" 
+#include    <cphcltussdsatclient.h> 
+#include    <cphcltussd.h> 
 
 
 // ============================= LOCAL FUNCTIONS ===============================
Binary file phoneclientserver/phoneclient/conf/ci_telephonyservices.confml has changed
Binary file phoneclientserver/phoneclient/conf/telephonyservices.confml has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/inc/ussdwrapper/cphcltussdcommonconstant.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef CPHCLTUSSDCOMMONCONSTANT_H
+#define CPHCLTUSSDCOMMONCONSTANT_H
+
+//  CONSTANTS
+
+
+/**num for Ussd information type*/
+enum TPhCltUssdInformationType
+    {
+    EPhCltUssdUnconfirme = 1,
+    EPhCltUssdNotallowed,
+    EPhCltUssdNoservice,
+    EPhCltUssdOffline,
+    EPhCltUssdDone,
+    EPhCltUssdNotDone
+    };
+
+#endif  // CPHCLTUSSDCOMMONCONSTANT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/inc/ussdwrapper/tflogger.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*
+*/
+
+#ifndef __TFLOGGER_H__
+#define __TFLOGGER_H__
+
+#include <flogger.h>
+#include <e32svr.h>
+
+_LIT(KTfLogFolder, "phcltussd");
+_LIT(KTfLogFile, "ussd.txt");
+
+/**
+* ------------------------------------------------------------------------------
+*
+*  Remove #define LOGGING_ENABLED from comments to enable logging
+*
+* ------------------------------------------------------------------------------
+*/
+
+#ifdef _DEBUG 
+#define LOGGING_ENABLED
+#endif
+
+/**
+* ------------------------------------------------------------------------------
+*
+*  LOGGING MACROs
+*
+*  USE THESE MACROS IN YOUR CODE
+*
+*  Example: TFLOGTEXT(own_desc)
+*  Example: TFLOGSTRING("Test")
+*  Example: TFLOGSTRING("Test %i", aValue)
+*  Example: TFLOGSTRING("Test %i %i", aValue1, aValue2)
+*
+* ------------------------------------------------------------------------------
+*/
+
+#ifdef LOGGING_ENABLED
+
+    #define TFLOGTEXT(TEXT) \
+        {  \
+        RFileLogger::Write(KTfLogFolder,KTfLogFile, \
+            EFileLoggingModeAppend, TEXT); \
+        RDebug::Print(TEXT); \
+        }
+
+    #define TFLOGSTRING(TEXT) \
+        { \
+        _LIT(tempLogDes, TEXT); \
+        RFileLogger::Write(\
+            KTfLogFolder, \
+            KTfLogFile, \
+            EFileLoggingModeAppend, \
+            tempLogDes()); \
+        RDebug::Print(_L(TEXT)); \
+        }
+
+    #define TFLOGSTRING2(TEXT, VAR1) \
+        { \
+        _LIT(tempLogDes, TEXT); \
+        RFileLogger::WriteFormat(\
+            KTfLogFolder, \
+            KTfLogFile, \
+            EFileLoggingModeAppend, \
+            TRefByValue<const TDesC>(tempLogDes()), VAR1); \
+        RDebug::Print(_L(TEXT), VAR1); \
+        }
+
+    #define TFLOGSTRING3(TEXT, VAR1, VAR2) \
+        { \
+        _LIT(tempLogDes, TEXT); \
+        RFileLogger::WriteFormat(\
+            KTfLogFolder, \
+            KTfLogFile, \
+            EFileLoggingModeAppend, \
+            TRefByValue<const TDesC>(tempLogDes()), VAR1, VAR2); \
+        RDebug::Print(_L(TEXT), VAR1, VAR2); \
+        }
+
+#else
+
+    #define TFLOGTEXT(TEXT)
+    #define TFLOGSTRING(TEXT)
+    #define TFLOGSTRING2(TEXT, VAR1)
+    #define TFLOGSTRING3(TEXT, VAR1, VAR2)
+
+#endif // LOGGING_ENABLED
+
+#endif // __TFLOGGER_H__
--- a/phoneclientserver/phoneclient/rom/PhoneClient.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/rom/PhoneClient.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -20,6 +20,6 @@
 #define __PHONECLIENT_IBY__
 
 
-file=ABI_DIR\BUILD_DIR\phoneclient.DLL              SHARED_LIB_DIR\phoneclient.dll
-data=ZSYSTEM\install\PhoneClient_stub.sis           system\install\PhoneClient_stub.sis
+file=ABI_DIR\BUILD_DIR\phoneclient.dll              SHARED_LIB_DIR\phoneclient.dll
+data=ZSYSTEM\install\phoneclient_stub.sis           system\install\phoneclient_stub.sis
 #endif
--- a/phoneclientserver/phoneclient/tsrc/public/basic/CommandHandlerTests/src/CommandHandlerTestsCases.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/CommandHandlerTests/src/CommandHandlerTestsCases.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include <e32math.h>
 #include "CommandHandlerTests.h"
-#include <CPhCltCommandHandler.h>
+#include <cphcltcommandhandler.h>
 // EXTERNAL DATA STRUCTURES
 //extern  ?external_data;
 
--- a/phoneclientserver/phoneclient/tsrc/public/basic/EmergencyCallTests/inc/EmergencyCallTests.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/EmergencyCallTests/inc/EmergencyCallTests.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 // INCLUDES
 #include "StifTestModule.h"
 #include <StifLogger.h>
-#include <MPhCltEmergencyCallObserver.h>
+#include <mphcltemergencycallobserver.h>
 
 // CONSTANTS
 //const ?type ?constant_var = ?constant;
--- a/phoneclientserver/phoneclient/tsrc/public/basic/EmergencyCallTests/src/EmergencyCallTestsCases.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/EmergencyCallTests/src/EmergencyCallTestsCases.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include <e32math.h>
 #include "EmergencyCallTests.h"
-#include <CPhCltEmergencyCall.h>
+#include <cphcltemergencycall.h>
 
 // EXTERNAL DATA STRUCTURES
 //extern  ?external_data;
--- a/phoneclientserver/phoneclient/tsrc/public/basic/ImageHandlerTests/src/ImageHandlerTestsCases.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ImageHandlerTests/src/ImageHandlerTestsCases.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,8 +19,8 @@
 
 // INCLUDE FILES
 #include <e32math.h>
-#include <CPhCltImageHandler.h>
-#include <CPhCltBaseImageParams.h>
+#include <cphcltimagehandler.h>
+#include <cphcltbaseimageparams.h>
 #include <fbs.h>
 
 #include "ImageHandlerTests.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/etel_mock.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,211 @@
+
+
+#include "ut_testenv.h"
+#include <etel.h>
+#include <etelmm.h>
+#include <etelmmcs.h>
+#include <QTest>
+
+
+// global variables
+CPeriodic* messageResponseTimer = 0;
+
+// ==============================================================================
+// RMobileUssdMessaging
+// ==============================================================================
+
+RMobileUssdMessaging::RMobileUssdMessaging()
+{
+}
+
+RMobileUssdMessaging::RMobileUssdMessaging(const RMobileUssdMessaging&)
+{
+}
+
+void RMobileUssdMessaging::ConstructL()
+{
+	QVERIFY(!messageResponseTimer);
+    messageResponseTimer =
+		CPeriodic::NewL(CActive::EPriorityStandard+1);
+}
+
+TInt RMobileUssdMessaging::Open(RMobilePhone& /*aPhone*/)
+{
+	TRAPD(err,ConstructL());
+    return err;
+}
+
+void RMobileUssdMessaging::Close()
+{
+	delete messageResponseTimer;
+	messageResponseTimer = 0;
+}
+
+void RMobileUssdMessaging::Destruct()
+{
+}
+
+TInt RMobileUssdMessaging::GetCaps(TDes8& aCaps) const
+{
+    TMobileUssdCapsV1 caps;
+    caps.iUssdFormat = KCapsPackedString;
+    caps.iUssdTypes = KCapsMTUssd | KCapsMOUssd;
+    TMobileUssdCapsV1Pckg pckgCaps( caps );
+    aCaps.Copy( pckgCaps );
+    return KErrNone;
+}
+
+void RMobileUssdMessaging::ReceiveMessage(
+    TRequestStatus& aReqStatus, TDes8& aMsgData,
+    TDes8& aMsgAttributes) const
+{
+	EtelMsgLoop& loop = TestEnv::env().etelMsgLoop();
+    QVERIFY2(!loop.mReceiveMessageReqStatus,
+    		"etel_mock: ReceiveMessage called twice!");
+    aReqStatus = KRequestPending;
+    loop.mReceiveMessageReqStatus = &aReqStatus;
+	loop.mReceiveMessageData = &aMsgData;
+	loop.mReceiveMessageAttributes = &aMsgAttributes;
+}
+
+TInt SendMessageCallback(TAny* /*aPtr*/)
+	{
+	messageResponseTimer->Cancel();
+
+	EtelMsgLoop& loop = TestEnv::env().etelMsgLoop();
+    const TestMode& mode = TestEnv::env().testMode();
+    if (mode.m_event == TestMode::Normal)
+    	{
+    	User::RequestComplete(loop.mSendMessageReqStatus, mode.m_error);
+    	}
+    return 0;
+	}
+
+void RMobileUssdMessaging::SendMessage(
+    TRequestStatus& aReqStatus, const TDesC8& /*aMsgData*/,
+    const TDesC8& /*aMsgAttributes*/) const
+{
+	EtelMsgLoop& loop = TestEnv::env().etelMsgLoop();
+    QVERIFY2(!loop.mSendMessageReqStatus,
+    		"etel_mock: SendMessage called twice!");
+    aReqStatus = KRequestPending;
+    loop.mSendMessageReqStatus = &aReqStatus;
+
+    const TestMode& mode = TestEnv::env().testMode();
+    if (mode.m_event != TestMode::NoResp)
+    	{
+		// start timer to respond
+		TTimeIntervalMicroSeconds32 delay(
+				1000*mode.m_timeout);
+		messageResponseTimer->Start(delay,delay,
+				TCallBack(SendMessageCallback,(TAny*)this));
+    	}
+}
+
+void RMobileUssdMessaging::SendMessageNoFdnCheck(
+    TRequestStatus& /*aReqStatus*/, const TDesC8& /*aMsgData*/,
+    const TDesC8& /*aMsgAttributes*/) const
+{
+	// not used
+}
+
+void RMobileUssdMessaging::SendRelease(
+    TRequestStatus& /*aReqStatus*/, TDes8& /*aReturnResult*/) const
+{
+	// not used
+}
+
+void RMobileUssdMessaging::NotifyNetworkRelease(
+    TRequestStatus& aReqStatus, TDes8& aReturnResult) const
+{
+	EtelMsgLoop& loop = TestEnv::env().etelMsgLoop();
+    QVERIFY2(!loop.mNetworkReleaseReqStatus,
+    		"etel_mock: NotifyNetworkRelease called twice!");
+    aReqStatus = KRequestPending;
+    loop.mNetworkReleaseReqStatus = &aReqStatus;
+	loop.mNetworkReleaseMessageData = &aReturnResult;
+	loop.mNetworkReleaseMessageAttributes = 0;
+}
+
+void RMobileUssdMessaging::NotifyNetworkRelease(
+    TRequestStatus& aReqStatus, TDes8& aMsgData,
+    TDes8& aMsgAttributes) const
+{
+	EtelMsgLoop& loop = TestEnv::env().etelMsgLoop();
+    QVERIFY2(!loop.mNetworkReleaseReqStatus,
+    		"etel_mock: NotifyNetworkRelease called twice!");
+    aReqStatus = KRequestPending;
+    loop.mNetworkReleaseReqStatus = &aReqStatus;
+	loop.mNetworkReleaseMessageData = &aMsgData;
+	loop.mNetworkReleaseMessageAttributes = &aMsgAttributes;
+}
+
+
+RMobileUssdMessaging::TMobileUssdAttributesV1::TMobileUssdAttributesV1()
+{
+    iFlags = 0;
+    iFormat = EFormatUnspecified;
+    iType = EUssdUnknown;
+    iDcs = 0;
+}
+
+RMobileUssdMessaging::TMobileUssdCapsV1::TMobileUssdCapsV1()
+{
+    iUssdFormat = 0;
+    iUssdTypes = 0;
+}
+
+// ==============================================================================
+// RMobilePhone
+// ==============================================================================
+
+RMobilePhone::TMobilePhoneSendSSRequestV3::TMobilePhoneSendSSRequestV3()
+{
+    iOpCode = 0;
+}
+
+RMobilePhone::TMultimodeType::TMultimodeType()
+{
+    iExtensionId = 0;
+}
+
+// ==============================================================================
+// RTelSubSessionBase
+// ==============================================================================
+
+RTelSubSessionBase::RTelSubSessionBase()
+{
+}
+
+void RTelSubSessionBase::CancelAsyncRequest(TInt aReqToCancel) const
+{
+	if ( aReqToCancel == EMobileUssdMessagingSendMessage )
+	{
+		EtelMsgLoop& loop = TestEnv::env().etelMsgLoop();
+		if ( loop.mSendMessageReqStatus )
+		{
+		User::RequestComplete( loop.mSendMessageReqStatus, KErrCancel );
+		}
+	}
+	else if ( aReqToCancel == EMobileUssdMessagingReceiveMessage )
+	{
+		EtelMsgLoop& loop = TestEnv::env().etelMsgLoop();
+		if ( loop.mReceiveMessageReqStatus )
+    	{
+        User::RequestComplete( loop.mReceiveMessageReqStatus, KErrCancel );
+    	}
+	}
+	else if ( aReqToCancel == EMobileUssdMessagingNotifyNetworkRelease )
+	{
+		EtelMsgLoop& loop = TestEnv::env().etelMsgLoop();
+		if ( loop.mNetworkReleaseReqStatus )
+    	{
+        User::RequestComplete( loop.mNetworkReleaseReqStatus, KErrCancel );
+    	}
+	}
+	else if ( aReqToCancel == EMobileUssdMessagingSendRelease )
+	{
+	// not used
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/main.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:Unit testing of SatApp
+*
+*
+*/
+
+
+#include <QtTest/QtTest>
+
+#include "ut_ussd.h"
+#include "ut_cphcltussdnotecontroller.h"
+
+// ====================================================================
+// MAIN
+// ====================================================================
+
+int main(int argc, char *argv[])
+{
+    qDebug("Ut_ussd: main() >");
+    QApplication app(argc, argv);
+
+    int result(0);
+
+    Ut_Ussd test;
+//    char *my_argv[3];
+//    my_argv[0] = argv[0];
+//    my_argv[1] = "-o";
+//    my_argv[2] = "c:\\logs\\ussd\\ut_ussd.txt";
+    result = QTest::qExec(&test/*, 3, my_argv*/);
+    qDebug("Ut_ussd: main() test Ut_Ussd<, result=%d", result);
+
+    Ut_CphCltUssdNoteController testNoteController;
+//    char *note_argv[3];
+//    note_argv[0] = argv[0];
+//    note_argv[1] = "-o";
+//    note_argv[2] = "c:\\logs\\ussd\\ut_ussdNoteController.txt";
+    result = QTest::qExec(&testNoteController/*, 3, note_argv*/);
+    qDebug("Ut_ussd: main() test Ut_CphCltUssdNoteController<, result=%d",
+        result);
+
+    return result;
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/phoneclientserver_stubs.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  Stubs for phoneclientserver classes
+*
+*/
+
+//  INCLUDES
+#include "rphcltserver.h"
+#include "cphsrvresourcemanager.h" 
+
+// ---------------------------------------------------------------------
+// Stub for RPhCltServer
+// ---------------------------------------------------------------------
+
+RPhCltServer::RPhCltServer()
+{
+}
+
+RPhCltServer::RPhCltServer( const RPhCltServer& )
+{
+}
+
+TVersion RPhCltServer::Version() const
+{
+    return TVersion(0,0,0);
+}
+
+TInt RPhCltServer::Connect( TInt )
+{
+    return KErrNone;
+}
+
+void RPhCltServer::CreateAll( TRequestStatus& )
+{
+}
+
+void RPhCltServer::Panic( TPhCltPanicTypes /*aPanic*/ )
+{
+}
+
+TInt RPhCltServer::StartServer()
+{
+    return KErrNone;
+}
+
+
+RPhCltServer& RPhCltServer::operator= ( const RPhCltServer& )
+{
+    return *this;
+}
+
+// ---------------------------------------------------------------------
+// Stub for CPhSrvResourceManager
+// ---------------------------------------------------------------------
+
+CPhSrvResourceManager::CPhSrvResourceManager( RFs& aFsSession )
+    :iFsSession(aFsSession)
+    {
+    }
+
+CPhSrvResourceManager::~CPhSrvResourceManager()
+    {
+    }
+
+void CPhSrvResourceManager::ConstructL()
+    {
+    }
+
+HBufC* CPhSrvResourceManager::ReadResourceLC( TUint /*aResourceId*/ )
+    {
+    HBufC* buffer = HBufC::NewLC(32);
+    buffer->Des().Copy(_L("Hello!"));
+    return buffer;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/readme.txt	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,13 @@
+
+USSD unit test project - instructions
+=======================================
+
+1. Create a work area (or take a snapshot copy) for phoneclientserver project
+2. copy this directory and all its contents to
+   phoneclientserver\phoneclient\tsrc\public\basic
+3. qmake ut_ussd.pro
+4. make
+5. start emulator
+6. run #ut_ussd
+7. view c:/logs/ut_ussd.txt
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/rphcltussd_glue.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,175 @@
+/*
+* 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: Unit test replacement class for RPhCltUssd
+*
+*/
+
+
+//
+// This implementation glues USSD client directly to
+// USSD Manager class so that the client/server mechanism is
+// not used. This is practical in unit test environment.
+//
+
+// INCLUDE FILES
+#include <e32base.h>
+#include "mphsrvussdmessagesentobserver.h"
+#include "ut_testenv.h"
+#include "cphsrvussdmanager.h"
+#include "rphcltussd.h"
+
+
+// ========================================================================
+// GLOBALS
+// ========================================================================
+
+class TUssdGlueAdapter: public MPhSrvUssdMessageSentObserver
+    {
+    public:
+		void writeAttributes( const TDesC8& aAttributes )
+			{
+			RMobileUssdMessaging::TMobileUssdAttributesV1Pckg pAttributes(
+					iUssdAttributes );
+			pAttributes.Copy( aAttributes );
+			}
+        void Listen( TRequestStatus& aReqStatus )
+            {
+            aReqStatus = KRequestPending;
+            iPendingStatus = &aReqStatus;
+            }
+        void UssdMessageSentObserverHandleResult( TInt aError )
+            {
+            // this causes the pending active object to signalled and run
+            User::RequestComplete( iPendingStatus, aError );
+            }
+        
+        RMobileUssdMessaging::TMobileUssdAttributesV1 iUssdAttributes;
+        TRequestStatus* iPendingStatus;
+    };
+
+TUssdGlueAdapter glueAdapter;
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+
+// -----------------------------------------------------------------------------
+RPhCltUssd::RPhCltUssd()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+TInt RPhCltUssd::Open( RPhCltServer& /*aServer*/ )
+    {
+    return KErrNone;
+    glueAdapter.iPendingStatus = 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+void RPhCltUssd::Close()
+    {    
+    }
+
+
+// -----------------------------------------------------------------------------
+TInt RPhCltUssd::StartUssdEditor() const
+    {
+    TRAPD( leave,
+        TestEnv::env().ussdManager().RequestStartEditingL() );
+    return leave;
+    }
+
+
+// -----------------------------------------------------------------------------
+TInt RPhCltUssd::AppStarting()
+    {
+    TestEnv::env().ussdManager().InformUssdApplicationStarting();
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+TInt RPhCltUssd::AppTerminating( 
+    TPhCltUssdAppExitReason aExitReason )
+    {
+    RMessage2& fakeMessage = TestEnv::env().fakeMessage();
+
+    TRAPD( leave,
+       TestEnv::env().ussdManager().InformUssdApplicationTerminatingL( fakeMessage ) );
+
+    return leave;
+    }
+
+// -----------------------------------------------------------------------------
+TBool RPhCltUssd::AppToForeground()
+    {
+    return TestEnv::env().ussdManager().InformUssdApplicationToForeground();
+    }
+
+// -----------------------------------------------------------------------------
+TInt RPhCltUssd::AppToBackground()
+    {
+    TestEnv::env().ussdManager().InformUssdApplicationToBackground();
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+void RPhCltUssd::SendUssd(
+    TRequestStatus& aReqStatus, 
+    const TDesC8& aMsgData, 
+    const TDesC8& aMsgAttribute )
+    {
+	glueAdapter.Listen( aReqStatus );
+	glueAdapter.writeAttributes( aMsgAttribute );
+
+    TRAPD( leave, TestEnv::env().ussdManager().SendUssdL(
+        aMsgData, glueAdapter.iUssdAttributes, glueAdapter ) );
+    if ( leave != KErrNone )
+        {
+		glueAdapter.UssdMessageSentObserverHandleResult( leave );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+void RPhCltUssd::CancelSend()
+    {
+    TestEnv::env().ussdManager().SendUssdCancel();
+    }
+
+
+// -----------------------------------------------------------------------------
+void RPhCltUssd::StartSAT( 
+    TRequestStatus& aStatus , 
+    TDes& /*aReceiveMessage*/,
+    TPckg< TUint >& /*aShowNotesAndDcs*/ )
+    {
+    RMessage2& fakeMessage = TestEnv::env().fakeMessage();
+
+	TestEnv::env().ussdManager().InformStartSAT( fakeMessage );
+
+    TRequestStatus* reqStatus = &aStatus;
+    User::RequestComplete( reqStatus, KErrNone );
+    }
+
+
+// -----------------------------------------------------------------------------
+void RPhCltUssd::StopSAT()
+    {
+	TestEnv::env().ussdManager().InformStopSAT();
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_cphcltussdnotecontroller.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,180 @@
+/*
+* 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: Unit test for satappmainhandler
+*
+*/
+
+#include <QTimer> // timeout callback
+#include <QEventLoop>
+
+#include "ut_cphcltussdnotecontroller.h"
+#include "cphcltussdcommonconstant.h"
+//test class
+#include "cphcltussdnotecontroller.h"
+//const
+const int KExtendTimeoutMseconds = 50000;
+
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::Ut_CphCltUssdNoteController
+// -----------------------------------------------------------------------------
+//
+Ut_CphCltUssdNoteController::Ut_CphCltUssdNoteController(QObject *parent):
+        QObject(parent)
+{
+    qDebug("Ut_CphCltUssdNoteController::Ut_CphCltUssdNoteController >");
+    qDebug("Ut_CphCltUssdNoteController::Ut_CphCltUssdNoteController <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::~Ut_CphCltUssdNoteController
+// -----------------------------------------------------------------------------
+//
+Ut_CphCltUssdNoteController::~Ut_CphCltUssdNoteController()
+{
+    qDebug("Ut_CphCltUssdNoteController::~Ut_CphCltUssdNoteController >");
+    qDebug("Ut_CphCltUssdNoteController::~Ut_CphCltUssdNoteController <");
+}
+
+
+void Ut_CphCltUssdNoteController::GlobalWaitNoteHidden()
+{
+    qDebug("Ut_CphCltUssdNoteController::GlobalWaitNoteHidden >");
+    qDebug("Ut_CphCltUssdNoteController::GlobalWaitNoteHidden <");
+}
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::initTestCase
+// QTestLib cleanup method, called after the last testfunction .
+// -----------------------------------------------------------------------------
+void Ut_CphCltUssdNoteController::initTestCase()
+{
+    qDebug("Ut_CphCltUssdNoteController::initTestCase >");
+    qDebug("Ut_CphCltUssdNoteController::initTestCase <");
+}
+
+
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::cleanupTestCase
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_CphCltUssdNoteController::cleanupTestCase()
+{
+    qDebug("Ut_CphCltUssdNoteController::cleanupTestCase >");
+    if (mNoteController) {
+        qDebug("Ut_CphCltUssdNoteController::cleanupTestCase delete \
+            mNoteController");
+        delete mNoteController;
+        mNoteController = 0;
+    }
+    qDebug("Ut_CphCltUssdNoteController::cleanupTestCase <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::testCreateMainHandler
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_CphCltUssdNoteController::testCreateMainHandler()
+{
+    qDebug("Ut_CphCltUssdNoteController::testProfileState >");
+    mNoteController = CPhCltUssdNoteController::NewL(*this);
+    QVERIFY(mNoteController);
+    qDebug("Ut_CphCltUssdNoteController::testProfileState <");
+}
+
+
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::testShowGlobalInformationNote_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_CphCltUssdNoteController::testShowGlobalInformationNote_data()
+{
+    qDebug("Ut_CphCltUssdNoteController::testShowGlobalInformationNote_data >");
+    QTest::addColumn<int>("noteType");
+    QTest::newRow("Unconfirme") << 1;
+    QTest::newRow("Notallowed") << 2;
+    QTest::newRow("Noservice") << 3;
+    QTest::newRow("Offline") << 4;
+    QTest::newRow("Done") << 5;
+    QTest::newRow("NotDone") << 6;
+    qDebug("Ut_CphCltUssdNoteController::testShowGlobalInformationNote_data <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::testShowGlobalInformationNote
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_CphCltUssdNoteController::testShowGlobalInformationNote()
+{
+    qDebug("Ut_CphCltUssdNoteController::testShowGlobalInformationNote >");
+    QFETCH(int, noteType);
+    TPhCltUssdInformationType infoType = 
+        static_cast<TPhCltUssdInformationType>(noteType);
+    TRAPD(err,mNoteController->ShowGlobalInformationNoteL(infoType) );
+    QCOMPARE(KErrNone, err);
+    qDebug("Ut_CphCltUssdNoteController::testShowGlobalInformationNote <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::testProfileState
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_CphCltUssdNoteController::testShowGlobalWaitNote()
+{
+    qDebug("Ut_CphCltUssdNoteController::testShowGlobalWaitNote >");
+    QVERIFY(mNoteController);
+    TRAPD(err, mNoteController->ShowGlobalWaitNoteL() );
+    QCOMPARE(KErrNone, err);
+    qDebug("Ut_CphCltUssdNoteController::testShowGlobalWaitNote <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::testDestroyGlobalWaitNote
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_CphCltUssdNoteController::testDestroyGlobalWaitNote()
+{
+    qDebug("Ut_CphCltUssdNoteController::testDestroyGlobalWaitNote >");
+    QVERIFY(mNoteController);
+    mNoteController->DestroyGlobalWaitNote();
+    qDebug("Ut_CphCltUssdNoteController::testDestroyGlobalWaitNote <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_CphCltUssdNoteController::testCancelGlobalWaitNote
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_CphCltUssdNoteController::testCancelGlobalWaitNote()
+{
+    qDebug("Ut_CphCltUssdNoteController::testCancelGlobalWaitNote >");
+    QVERIFY(mNoteController);
+    TRAPD(err, mNoteController->ShowGlobalWaitNoteL() );
+    QTimer *timer = new QTimer(this);
+    timer->start(KExtendTimeoutMseconds);
+    bool ret = connect(timer, SIGNAL(timeout()), timer, SLOT(stop()));
+
+
+    QEventLoop *loop = new QEventLoop(this);
+    ret = connect(timer, SIGNAL(timeout()), loop, SLOT(quit()));
+    loop->exec(QEventLoop::AllEvents);
+    mNoteController->DestroyGlobalWaitNote();
+    qDebug("Ut_CphCltUssdNoteController::testCancelGlobalWaitNote <");
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_cphcltussdnotecontroller.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef UT_CPHCLTUSSDNOTECONTROLLER_H
+#define UT_CPHCLTUSSDNOTECONTROLLER_H
+
+
+#include <QtTest/QtTest>
+#include <QObject>
+#include "MPhCltUssdNoteControllerCallBack.h" 
+
+
+
+// Class forwards
+class CPhCltUssdNoteController;
+
+/**
+ *  Satapp unit test class.
+ * 
+ *  @since S60 <TB10.1>
+ */
+class Ut_CphCltUssdNoteController : public QObject,
+                                    public MPhCltUssdNoteControllerCallBack
+{
+    Q_OBJECT
+
+public:
+
+    Ut_CphCltUssdNoteController(QObject *parent = 0);
+
+    virtual ~Ut_CphCltUssdNoteController();
+
+     /**
+     * From MPhCltUssdNoteControllerCallBack.
+     * 
+     */    
+    void GlobalWaitNoteHidden();
+
+private slots:
+     /**
+     * Called before the first testfunction is executed.
+     */
+    void initTestCase();
+
+     /**
+     * Called after the last testfunction has been executed.
+     * 
+     */
+    void cleanupTestCase();
+
+     /**
+     * Test CPhCltUssdNoteController's constructor.
+     * 
+     */
+    void testCreateMainHandler();
+
+    /**
+     * Test CPhCltUssdNoteController's testShowGlobalInformationNote param list.
+     * 
+     */
+    void testShowGlobalInformationNote_data();
+
+     /**
+     * Test CPhCltUssdNoteController's ShowGlobalInformationNoteL.
+     * 
+     */
+    void testShowGlobalInformationNote();
+
+     /**
+     * Test CPhCltUssdNoteController's ShowGlobalWaitNoteL.
+     * 
+     */
+    void testShowGlobalWaitNote();
+
+     /**
+     * Test CPhCltUssdNoteController's DestroyGlobalWaitNote.
+     * 
+     */
+    void testDestroyGlobalWaitNote();
+
+     /**
+     * Test CPhCltUssdNoteController's cancel GlobalWaitNote.
+     * 
+     */
+    void testCancelGlobalWaitNote();
+
+private:
+
+     /**
+     * Own.
+     */
+    CPhCltUssdNoteController *mNoteController;
+
+};
+
+#endif // UT_CPHCLTUSSDNOTECONTROLLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_testenv.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,127 @@
+
+
+
+// phoneclientengine
+#include "cphsrvresourcemanager.h"
+#include "cphsrvussdmanager.h"
+#include <cphcltussd.h> // USSD API
+
+// qt stuff
+#include <QtTest/QtTest>
+
+// unit test
+#include "ut_testenv.h"
+
+// globals
+TestEnv* TestEnv::m_singleton = 0;
+
+// ====================================================================
+// EtelMsgLoop
+// ====================================================================
+EtelMsgLoop::EtelMsgLoop()
+{
+    mSendMessageReqStatus = 0;
+    
+    mReceiveMessageReqStatus = 0;
+    mReceiveMessageData = 0;
+    mReceiveMessageAttributes = 0;
+    
+    mNetworkReleaseReqStatus = 0;
+    mNetworkReleaseMessageData = 0;
+    mNetworkReleaseMessageAttributes = 0;
+}
+
+void EtelMsgLoop::receive( const TDesC8& msg, const TDesC8& attr )
+{
+    qDebug("EtelMsgLoop::receive mReceiveMessageReqStatus in =%d",
+        mReceiveMessageReqStatus);
+    mReceiveMessageData->Copy( msg );
+    mReceiveMessageAttributes->Copy( attr );
+    const TestMode& mode = TestEnv::env().testMode();
+    User::RequestComplete(mReceiveMessageReqStatus, mode.m_error);
+    qDebug("EtelMsgLoop::receive mReceiveMessageReqStatus out =%d",
+        mReceiveMessageReqStatus);
+    QVERIFY(mReceiveMessageReqStatus == 0);
+}
+
+void EtelMsgLoop::networkRelease( const TDesC8& msg, const TDesC8& attr )
+{
+    qDebug("EtelMsgLoop::networkRelease mNetworkReleaseReqStatus in =%d", 
+        mNetworkReleaseReqStatus);
+    mNetworkReleaseMessageData->Copy( msg );
+    if ( mNetworkReleaseMessageAttributes )
+        mNetworkReleaseMessageAttributes->Copy( attr );
+        const TestMode& mode = TestEnv::env().testMode();
+        User::RequestComplete(mNetworkReleaseReqStatus, mode.m_error);
+    qDebug("EtelMsgLoop::networkRelease mNetworkReleaseReqStatus out =%d", 
+        mNetworkReleaseReqStatus);
+    QVERIFY(mNetworkReleaseReqStatus == 0);
+}
+
+// ====================================================================
+// TestEnv
+// ====================================================================
+
+void TestEnv::create()
+{
+    QVERIFY(!m_singleton);
+    m_singleton = new TestEnv();
+    m_singleton->construct();
+}
+
+void TestEnv::destroy()
+{
+    QVERIFY(m_singleton);
+    delete m_singleton;
+    m_singleton = 0;
+}
+
+TestEnv& TestEnv::env()
+{
+    return *m_singleton;
+}
+
+TestEnv::TestEnv()
+{
+}
+
+void TestEnv::construct()
+{
+    int leave;
+    // create the main USSD resource manager class
+    m_resourceManager = new CPhSrvResourceManager(m_fs);
+    TRAP(leave, m_resourceManager->ConstructL());
+    QVERIFY(leave == 0);
+    m_ussdManager = new CPhSrvUssdManager(m_fs,*m_resourceManager);
+    TRAP(leave,m_ussdManager->ConstructL(*this));
+    QVERIFY(leave == 0);
+    m_fakeMessage = new RMessage2();
+}
+
+TestEnv::~TestEnv()
+{
+    delete m_ussdManager;
+    m_ussdManager = 0;
+    delete m_resourceManager;
+    m_resourceManager = 0;
+    delete m_fakeMessage;
+    m_fakeMessage = 0;
+}
+
+
+#define NULLREF(clz) *reinterpret_cast<clz*>((void*)0)
+
+RTelServer& TestEnv::PhSrvETelServer()
+    { return NULLREF(RTelServer); }
+
+RMobilePhone& TestEnv::PhSrvMobilePhone()
+    { return NULLREF(RMobilePhone); }
+
+RMmCustomAPI& TestEnv::PhSrvCustomPhone()
+    { return NULLREF(RMmCustomAPI); }
+
+
+
+
+//End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_testenv.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,120 @@
+
+
+// include files
+#include <e32cmn.h>
+#include <e32base.h>
+#include <f32file.h>
+#include "mphsrvphoneinterface.h" // base class
+
+// forward declarations
+class RTelServer;
+class RMobilePhone;
+class RMmCustomAPI;
+class CPhSrvResourceManager;
+class CPhSrvUssdManager;
+
+/**
+ * Mode for current test execution
+ */
+class TestMode
+{
+public:
+	enum {Immediate=50};
+	enum Event{Normal,NoResp,NetworkRelease};
+
+	TestMode(Event event,int error=KErrNone,int timeout=Immediate)
+		{m_event=event;m_error=error;m_timeout=timeout;}
+	TestMode(int error,int timeout=Immediate)
+		{m_event=Normal;m_error=error;m_timeout=timeout;}
+	TestMode()
+		{m_event=Normal;m_error=KErrNone;m_timeout=Immediate;}
+	Event m_event;
+	int m_error;
+	int m_timeout;
+};
+
+/**
+ * ETEL message loop
+ */
+class EtelMsgLoop
+{
+public:
+	EtelMsgLoop();
+
+	// methods
+	void receive( const TDesC8& msg, const TDesC8& attr );
+	void networkRelease( const TDesC8& msg, const TDesC8& attr );
+
+	//data
+	TRequestStatus* mSendMessageReqStatus;
+
+	TRequestStatus* mReceiveMessageReqStatus;
+	TDes8* mReceiveMessageData;
+	TDes8* mReceiveMessageAttributes;
+
+	TRequestStatus* mNetworkReleaseReqStatus;
+	TDes8* mNetworkReleaseMessageData;
+	TDes8* mNetworkReleaseMessageAttributes;
+
+};
+
+
+
+/**
+ * test environment
+ */
+class TestEnv: public MPhSrvPhoneInterface
+{
+	public:
+
+		static void create();
+		static void destroy();
+		static TestEnv& env(); // the singleton
+
+		TestEnv();
+		void construct();
+		~TestEnv();
+
+		CPhSrvUssdManager& ussdManager() {return *m_ussdManager;}
+
+		void setTestMode(const TestMode& testMode) {m_testMode = testMode;}
+		const TestMode& testMode() {return m_testMode;}
+
+		EtelMsgLoop& etelMsgLoop() {return m_etelMsgLoop;}
+		
+		RMessage2& fakeMessage() {return *m_fakeMessage;}
+		
+	protected: // stubbed MPhSrvPhoneInterface
+
+		RTelServer& PhSrvETelServer();
+		RMobilePhone& PhSrvMobilePhone();
+		RMmCustomAPI& PhSrvCustomPhone();
+
+	private:
+		
+		// file manager. Never actually connected to
+		RFs m_fs;
+
+		// resource manager mock
+		CPhSrvResourceManager* m_resourceManager;
+
+		// ussd manager (server main ussd class)
+		CPhSrvUssdManager* m_ussdManager;
+
+		// test mode
+		TestMode m_testMode;
+
+		// etel msg loop
+		EtelMsgLoop m_etelMsgLoop;
+		
+		// temp message
+		RMessage2* m_fakeMessage;
+
+	    static TestEnv* m_singleton;
+
+};
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_ussd.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,555 @@
+
+
+#include <e32base.h>
+#include <exterror.h>
+#include <gsmerror.h>
+
+// phoneclientengine
+#include <cphcltussd.h> // USSD API
+#include "cphcltussdimp.h" // USSD INTERNAL API
+#include <cphcltussdsatclient.h> // USSD SAT API
+#include <etelsat.h>
+
+// qt stuff
+#include <QObject>
+#include <QtTest/QtTest>
+#include <QMetaType>
+
+// unit test
+#include "ut_testenv.h"
+#include "ut_ussd.h"
+
+// want to use TestMode class inside QVariant (using QFETCH)
+Q_DECLARE_METATYPE(TestMode)
+
+
+// ====================================================================
+// Test cases
+// ====================================================================
+
+
+void Ut_Ussd::testTestEnv()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+
+    TestEnv* env = &TestEnv::env();
+    QVERIFY2(env,"TestEnv null");
+    
+    CPhSrvUssdManager* m = &TestEnv::env().ussdManager();
+    QVERIFY2(m,"TestEnv::ussdManager null");
+    
+    TestMode tm1(TestMode::NoResp,KErrUnknown,123);
+    TestEnv::env().setTestMode(tm1);
+    QCOMPARE( (int)TestEnv::env().testMode().m_event, (int)TestMode::NoResp);
+    QCOMPARE( TestEnv::env().testMode().m_error, KErrUnknown);
+    QCOMPARE( TestEnv::env().testMode().m_timeout, 123);
+    TestMode tm2(KErrNotSupported,456);
+    TestEnv::env().setTestMode(tm2);
+    QCOMPARE( (int)TestEnv::env().testMode().m_event, (int)TestMode::Normal);
+    QCOMPARE( TestEnv::env().testMode().m_error, KErrNotSupported);
+    QCOMPARE( TestEnv::env().testMode().m_timeout, 456);
+    TestMode tm3(TestMode::Normal);
+    TestEnv::env().setTestMode(tm3);
+    QCOMPARE( (int)TestEnv::env().testMode().m_event, (int)TestMode::Normal);
+    QCOMPARE( TestEnv::env().testMode().m_error, KErrNone);
+    QCOMPARE( TestEnv::env().testMode().m_timeout, (int)TestMode::Immediate);
+    
+    TestEnv::destroy();
+    QTest::qSleep(200);
+}
+
+void Ut_Ussd::openAndCloseApi()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+    
+    createUssdApi(false);
+    
+    delete m_ussdApi;
+    m_ussdApi = 0;
+
+    TestEnv::destroy();
+    QTest::qSleep(200);
+}
+
+void Ut_Ussd::sendUssd16bit_data()
+{
+    QTest::addColumn<bool>("ui");
+    QTest::addColumn<QString>("message");
+    QTest::addColumn<TestMode>("testmode");
+
+    // without ui
+    QTest::newRow("1.1") << false << "123" << TestMode(KErrNone);
+    QTest::newRow("1.2") << false << "***" << TestMode(KErrNone,3000);
+    QTest::newRow("1.3") << false << "qwerty" << TestMode(KErrUnknown);
+    // show ui
+    QTest::newRow("2.1") << true << "#*555*" << TestMode(KErrNone,20);
+    QTest::newRow("2.2") << true << "#*555*" << TestMode(KErrCancel,500);
+    QTest::newRow("2.3") << true << "#*555*" << TestMode(KErrInUse,1000);
+    QTest::newRow("2.4") << true << "#*555*" << TestMode(KErrAccessDenied,90);
+    QTest::newRow("2.5") << true << "#*555*" << TestMode(KErrGsmSSCallBarred,190);
+    QTest::newRow("2.6") << true << "#*555*" << TestMode(KErrGsmSMSNoNetworkService,700);
+    QTest::newRow("2.7") << true << "#*555*" << TestMode(KErrGsmOfflineOpNotAllowed,1200);
+    QTest::newRow("2.8") << true << "#*555*" << TestMode(KErrSatControl,200);
+    QTest::newRow("2.9") << true << "#*555*" << TestMode(KErrUnknown,920);
+
+}
+
+void Ut_Ussd::sendUssd16bit()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+
+    QFETCH(bool, ui);
+    QFETCH(QString, message);
+    QFETCH(TestMode, testmode);
+    TestEnv::env().setTestMode(testmode);
+
+    // create api
+    createUssdApi(ui);
+
+    // send USSD
+    TBuf<100> buf16;
+    buf16.Copy( (const TUint16*)message.constData(), message.length() );
+    int result = m_ussdApi->SendUssd( buf16 );
+    QCOMPARE(result, testmode.m_error);
+    QTest::qSleep(100);
+
+    // close api
+    delete m_ussdApi;
+    m_ussdApi = NULL;
+    QTest::qSleep(100);
+
+    TestEnv::destroy();
+    QTest::qSleep(200);
+}
+
+void Ut_Ussd::sendCancel()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+
+    // create api
+    createUssdApi(false);
+
+    // send USSD
+    _LIT( KMsg, "#12345*" );
+    TestEnv::env().setTestMode(TestMode(KErrNone));
+    int result = m_ussdApi->SendUssd( KMsg );
+    QCOMPARE(result, KErrNone);
+    m_ussdApi->SendUssdCancel();
+
+    // close api
+    delete m_ussdApi;
+    m_ussdApi = NULL;
+    QTest::qSleep(100);
+
+    TestEnv::destroy();
+    QTest::qSleep(200);
+}
+
+
+void Ut_Ussd::sendUssd8bit_data()
+{
+    QTest::addColumn<bool>("ui");
+    QTest::addColumn<QString>("message");
+    QTest::addColumn<TestMode>("testmode");
+
+    // without ui
+    QTest::newRow("1.1") << false << "8" << TestMode(KErrNone);
+    QTest::newRow("1.2") << false << "#*888*" << TestMode(KErrUnknown,600);
+    QTest::newRow("1.3") << false << "illegal" << TestMode(KErrNotSupported);
+    // show ui
+    QTest::newRow("2.1") << true << "#*555*" << TestMode(KErrNone,20);
+    QTest::newRow("2.2") << true << "#*555*" << TestMode(KErrCancel,500);
+    QTest::newRow("2.3") << true << "#*555*" << TestMode(KErrInUse,1000);
+    QTest::newRow("2.4") << true << "#*555*" << TestMode(KErrAccessDenied,90);
+    QTest::newRow("2.5") << true << "#*555*" << TestMode(KErrGsmSSCallBarred,190);
+    QTest::newRow("2.6") << true << "#*555*" << TestMode(KErrGsmSMSNoNetworkService,700);
+    QTest::newRow("2.7") << true << "#*555*" << TestMode(KErrGsmOfflineOpNotAllowed,1200);
+    QTest::newRow("2.8") << true << "#*555*" << TestMode(KErrSatControl,200);
+    QTest::newRow("2.9") << true << "#*555*" << TestMode(KErrUnknown,920);
+}
+
+void Ut_Ussd::sendUssd8bit()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+
+    QFETCH(bool, ui);
+    QFETCH(QString, message);
+    QFETCH(TestMode, testmode);
+    TestEnv::env().setTestMode(testmode);
+
+    // create api
+    createUssdApi(ui);
+
+    // send USSD
+    TBuf<100> buf16;
+    buf16.Copy( (const TUint16*)message.constData(), message.length() );
+    TBuf8<100> buf8;
+    buf8.Copy( buf16 );
+    int result = m_ussdApi->SendUssd( buf8 );
+    QCOMPARE(result, testmode.m_error);
+    QTest::qSleep(100);
+
+    // close api
+    delete m_ussdApi;
+    m_ussdApi = 0;
+    QTest::qSleep(100);
+
+    TestEnv::destroy();
+    QTest::qSleep(200);
+}
+
+void Ut_Ussd::openAndCloseSatApi()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+    
+    m_ussdSatApi = NULL;
+    createUssdSatApi(m_ussdSatApi);
+    
+    delete m_ussdSatApi;
+    m_ussdSatApi = 0;
+
+    TestEnv::destroy();
+    QTest::qSleep(200);    
+}
+
+void Ut_Ussd::sendSatMessage_data()
+{
+    QTest::addColumn<bool>("ui");
+    QTest::addColumn<QString>("message");
+    QTest::addColumn<TestMode>("testmode");
+
+    // without ui
+    QTest::newRow("1.1") << false << "123456" << TestMode(KErrNone);
+    QTest::newRow("1.2") << false << "*100#" << TestMode(KErrNone,1000);
+    QTest::newRow("1.3") << false << "8" << TestMode(KErrNone,400);
+    //QTest::newRow("1.4") << false << "illegal" << TestMode(KErrNotSupported);
+
+}
+
+void Ut_Ussd::sendSatMessage()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+
+    QFETCH(bool, ui);
+    QFETCH(QString, message);
+    QFETCH(TestMode, testmode);
+    TestEnv::env().setTestMode(testmode);
+
+    // create api
+    createUssdSatApi(ui);
+
+    TBuf<RSat::KStringMaxSize> receiveMessage;
+    TBool sendCompletedFirst( EFalse );
+    TUint8 receiveDcs = 0;
+    TBuf<100> sendMessage;
+    sendMessage.Copy( (const TUint16*)message.constData(), 
+                       message.length() );
+
+    TInt ret = m_ussdSatApi->SendSatMessage(
+        sendMessage,
+        CPhCltUssdSatClient::EPhCltDcsUnknown,
+        receiveMessage,
+        sendCompletedFirst,
+        receiveDcs );
+    
+    qDebug("receive error=%d", ret);
+    qDebug("receive receive msg=%s", &receiveMessage);
+    qDebug("receive isCompleteFirst=%d", &sendCompletedFirst);
+    qDebug("receive receive Dcs=%d", &receiveDcs);
+    
+    QVERIFY2(ret == testmode.m_error , "testSendSatMessage failed ");
+    
+    // close api
+    delete m_ussdSatApi;
+    m_ussdSatApi = NULL;
+    QTest::qSleep(100);
+
+    TestEnv::destroy();
+    QTest::qSleep(200);    
+}
+
+void Ut_Ussd::sendReceive_data()
+{
+    QTest::addColumn<bool>("ui");
+    QTest::addColumn<QString>("msg1");
+    QTest::addColumn<QString>("msg2");
+    QTest::addColumn<TestMode>("testmode");
+
+    // without ui, empty resp
+    QTest::newRow("1.1") << false << "*100#" << "" << TestMode(KErrNone,1000);
+    QTest::newRow("1.2") << false << "*100#" << "" << TestMode(KErrNotSupported,400);
+    // without ui, text resp
+    QTest::newRow("2.1") << false << "*100#" << "12345" << TestMode(KErrNone,100);
+    QTest::newRow("2.2") << false << "*100#" << "12345" << TestMode(KErrUnknown,800);
+
+    // show ui, empty resp
+    QTest::newRow("3.1") << true << "*100#" << "" << TestMode(KErrNone,700);
+    QTest::newRow("3.2") << true << "*100#" << "" << TestMode(KErrNotFound,400);
+    // show ui, text resp
+    QTest::newRow("4.1") << true << "*100#" << "12345" << TestMode(KErrNone,2000);
+    QTest::newRow("4.2") << true << "*100#" << "12345" << TestMode(-800,800);
+
+}
+
+
+void Ut_Ussd::sendReceive()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+
+    QFETCH(bool, ui);
+    QFETCH(QString, msg1);
+    QFETCH(QString, msg2);
+    QFETCH(TestMode, testmode);
+
+    createUssdApi(ui);
+
+    TestEnv::env().setTestMode(TestMode(KErrNone));
+    send(msg1);
+    TestEnv::env().setTestMode(testmode);
+    receive(msg2, RMobileUssdMessaging::EUssdMTReply);
+    activeSleep(500);
+    networkRelease( KErrNone );
+    activeSleep(500);
+
+    // close api
+    delete m_ussdApi;
+    m_ussdApi = NULL;
+    QTest::qSleep(100);
+
+    TestEnv::destroy();
+    QTest::qSleep(200);
+}
+
+void Ut_Ussd::testMultipleIncomingMessages()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+
+    QString msg1 = "your favorite color?\n1=red\n2=blue";
+    QString msg2 = "your favorite food?\n1=rice\n2=potatoes";
+    QString msg3 = "thank you";
+    receive(msg1,RMobileUssdMessaging::EUssdMTRequest);
+    activeSleep(1000);
+    receive(msg2,RMobileUssdMessaging::EUssdMTRequest);
+    activeSleep(1000);
+    receive(msg3,RMobileUssdMessaging::EUssdMTNotify);
+    activeSleep(1000);
+
+    TestEnv::destroy();
+    QTest::qSleep(200);
+}
+
+void Ut_Ussd::testUssdInternalApi_data()
+{
+    QTest::addColumn<bool>("ui");
+    QTest::addColumn<QString>("msg1");
+    QTest::addColumn<QString>("msg2");
+    QTest::addColumn<TestMode>("testmode");
+
+    // without ui
+    QTest::newRow("1.1") << false << "1" << "" << TestMode(KErrNone,100);
+    QTest::newRow("1.2") << false << "1" << "23" << TestMode(KErrNone,200);
+    QTest::newRow("1.3") << false << "1" << "" << TestMode(KErrUnknown,300);
+    QTest::newRow("1.4") << false << "1" << "23" << TestMode(KErrNotFound,400);
+    // show ui
+    QTest::newRow("1.1") << true << "1" << "" << TestMode(KErrNone,100);
+    QTest::newRow("1.2") << true << "1" << "23" << TestMode(KErrNone,200);
+    QTest::newRow("1.3") << true << "1" << "" << TestMode(KErrUnknown,300);
+    QTest::newRow("1.4") << true << "1" << "23" << TestMode(KErrNotFound,400);
+}
+
+void Ut_Ussd::testUssdInternalApi()
+{
+    TestEnv::create();
+    QTest::qSleep(200);
+
+    QFETCH(bool, ui);
+    QFETCH(QString, msg1); // send
+    QFETCH(QString, msg2); // receive1
+    QFETCH(TestMode, testmode);
+
+	createUssdInternalApi(ui);
+
+	int err = m_ussdInternalApi->AppStarting();
+	QCOMPARE(err,KErrNone);
+    QTest::qSleep(100);
+
+	err = m_ussdInternalApi->AppToBackground();
+	QCOMPARE(err,KErrNone);
+    QTest::qSleep(100);
+
+	err = m_ussdInternalApi->AppToForeground();
+    QTest::qSleep(100);
+
+    err = m_ussdInternalApi->AppTerminating(EPhCltUserExit);
+	QCOMPARE(err,KErrNone);
+    QTest::qSleep(100);
+
+	err = m_ussdInternalApi->AppStarting();
+	QCOMPARE(err,KErrNone);
+    QTest::qSleep(100);
+
+    TBuf<200> reply_buf16;
+    reply_buf16.Copy( (const TUint16*)msg1.constData(), msg1.length() );
+    int result = m_ussdInternalApi->SendUssd( reply_buf16 );
+    QCOMPARE(result, TestEnv::env().testMode().m_error);
+    QTest::qSleep(100);
+
+    receive(msg2, RMobileUssdMessaging::EUssdMTNotify);
+    activeSleep(100);
+
+    err = m_ussdInternalApi->AppTerminating(EPhCltSendCompleted);
+	QCOMPARE(err,KErrNone);
+    QTest::qSleep(100);
+
+    // close internal api
+    delete m_ussdInternalApi;
+    m_ussdInternalApi = NULL;
+    QTest::qSleep(100);
+
+    TestEnv::destroy();
+    QTest::qSleep(200);
+}
+
+void Ut_Ussd::createUssdApi(bool ui)
+{
+    TRAPD(leave, m_ussdApi = CPhCltUssd::NewL(ui));
+    QTest::qSleep(200);
+    if (leave != KErrNone)
+        QFAIL("CPhCltUssd::NewL Leave");
+    if (NULL == m_ussdApi)
+        QFAIL("CPhCltUssd pointer null");
+    qDebug("m_ussdApi=%d", m_ussdApi);
+}
+
+void Ut_Ussd::createUssdInternalApi(bool ui)
+{
+    TRAPD(leave, m_ussdInternalApi = CPhCltUssdImp::NewL(ui));
+    QTest::qSleep(200);
+    if (leave != KErrNone)
+        QFAIL("CPhCltUssdInt::NewL Leave");
+    if (NULL == m_ussdInternalApi)
+        QFAIL("CPhCltUssdInt pointer null");
+    qDebug("m_ussdInternalApi=%d", m_ussdInternalApi);
+}
+
+void Ut_Ussd::createUssdSatApi(bool ui)
+{
+    TRAPD(leave, m_ussdSatApi = CPhCltUssdSatClient::NewL(ui));
+    QTest::qSleep(200);
+    if (leave != KErrNone)
+        QFAIL("CPhCltUssdSatClient::NewL Leave");
+    if (NULL == m_ussdSatApi)
+        QFAIL("CPhCltUssdSatClient pointer null");
+    qDebug("m_ussdSatApi=%d", m_ussdSatApi);
+}
+
+void Ut_Ussd::send(const QString& msg)
+{
+    qDebug("Ut_Ussd::send SendUssd in");
+    QVERIFY(m_ussdApi);
+    TBuf<200> send_buf16;
+    send_buf16.Copy( (const TUint16*)msg.constData(), msg.length() );
+    qDebug("Ut_Ussd::send SendUssd before");
+    int result = m_ussdApi->SendUssd( send_buf16 );
+    qDebug("Ut_Ussd::send SendUssd after");
+    QCOMPARE(result, TestEnv::env().testMode().m_error);
+    qDebug("Ut_Ussd::send SendUssd out");
+}
+
+// type = {
+// 	RMobileUssdMessaging::EUssdMTRequest
+// 	RMobileUssdMessaging::EUssdMTReply
+// 	RMobileUssdMessaging::EUssdMTNotify
+// }
+
+void Ut_Ussd::receive(const QString& msg, int type)
+{
+    qDebug("Ut_Ussd::send receive in");
+    QTest::qSleep(TestEnv::env().testMode().m_timeout);
+    TBuf<200> rcv_buf16;
+    rcv_buf16.Copy( (const TUint16*)msg.constData(), msg.length() );
+    TBuf8<200> rcv_buf8;
+    rcv_buf8.Copy( rcv_buf16 );
+	// prepare attributes
+    RMobileUssdMessaging::TMobileUssdAttributesV1 attr;
+    attr.iFlags = RMobileUssdMessaging::KUssdMessageType;
+    attr.iType = (RMobileUssdMessaging::TMobileUssdMessageType)type;
+    RMobileUssdMessaging::TMobileUssdAttributesV1Pckg attrpkg(attr);
+    
+    TestEnv::env().etelMsgLoop().receive( rcv_buf8, attrpkg );
+    qDebug("Ut_Ussd::send receive out");
+}
+
+void Ut_Ussd::networkRelease(int error)
+{
+    qDebug("Ut_Ussd::send networkRelease in");
+    RMobilePhone::TMobilePhoneSendSSRequestV3 attr;
+    attr.iOpCode = error;
+    RMobilePhone::TMobilePhoneSendSSRequestV3Pckg attrpkg(attr);
+    
+    TestEnv::env().etelMsgLoop().networkRelease( _L8(""), attrpkg );
+    qDebug("Ut_Ussd::send networkRelease out");
+}
+
+
+// global variables
+CPeriodic* activeSleepTimer = 0;
+
+TInt ActiveSleepTimerCallback(TAny* aPtr)
+{
+    if ( activeSleepTimer ) {
+        qDebug("Ut_Ussd::ActiveSleepTimerCallback Cancel");
+        activeSleepTimer->Cancel();
+     }
+    CActiveSchedulerWait* wait = (CActiveSchedulerWait*) aPtr;
+    if (wait) {
+        qDebug("Ut_Ussd::ActiveSleepTimerCallback AsyncStop");
+        wait->AsyncStop();
+    }
+    return 0;
+}
+
+// This is a special SLEEP method that allows active objects to run meanwhile.
+// Note: because of its active nature, this sleep method is very inaccurate.
+void Ut_Ussd::activeSleep(int ms)
+{
+    qDebug("Ut_Ussd::activeSleep in");
+
+    CActiveSchedulerWait* wait = new CActiveSchedulerWait;
+    activeSleepTimer = CPeriodic::NewL(CActive::EPriorityStandard+1);
+    TTimeIntervalMicroSeconds32 delay(1000*ms);
+    activeSleepTimer->Start(delay,delay,
+        TCallBack(ActiveSleepTimerCallback,(TAny*)wait));
+    if ( wait && wait->IsStarted() ) {
+        wait->AsyncStop();
+        delete activeSleepTimer;
+        activeSleepTimer = 0;
+        delete wait;
+        wait = NULL;
+        qDebug("Ut_Ussd::activeSleep out unnormal");
+        return;
+    }
+    
+    if (wait) {
+         qDebug("Ut_Ussd::activeSleep start snyc before");
+         wait->Start();
+         qDebug("Ut_Ussd::activeSleep start snyc after");
+    }
+    delete activeSleepTimer;
+    activeSleepTimer = 0;
+    delete wait;
+    wait = NULL;
+    qDebug("Ut_Ussd::activeSleep out");
+}
+
+//End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_ussd.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,60 @@
+
+
+// include files
+#include <QObject> // base class
+
+// forward declarations
+class CPhCltUssd;
+class CPhCltUssdImp;
+class CPhCltUssdSatClient;
+
+// class declaration
+class Ut_Ussd: public QObject
+{
+    Q_OBJECT
+
+private slots: // test cases
+    
+    // Test for CPhCltUssd
+    void testTestEnv();
+    void openAndCloseApi();
+    void sendUssd16bit_data();
+    void sendUssd16bit();
+    void sendUssd8bit_data();
+    void sendUssd8bit();
+    void sendCancel();
+
+    // Test for CPhCltUssdSatClient
+    void openAndCloseSatApi();
+    void sendSatMessage_data();
+    void sendSatMessage();
+
+    // receiving messages
+	void sendReceive_data();
+	void sendReceive();
+	void testMultipleIncomingMessages();
+
+    // cases for internal api
+	void testUssdInternalApi_data();
+	void testUssdInternalApi();
+
+private: // tet blocks
+
+    void createUssdApi(bool ui);
+    void createUssdInternalApi(bool ui);
+    void createUssdSatApi(bool ui);
+	void send(const QString& msg);
+	void receive(const QString& msg, int type);
+	void networkRelease(int error);
+	void activeSleep(int ms);
+
+
+private: // test-related members
+
+    // phone client
+    CPhCltUssd *m_ussdApi;
+    CPhCltUssdImp *m_ussdInternalApi;
+    CPhCltUssdSatClient *m_ussdSatApi;
+
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_ussd.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,119 @@
+#
+# 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: USSD unit test project file.
+# this project combines phone server client and server classes,
+# glues them in one single package with the test module and test
+# the class functionality all together.
+#
+
+TEMPLATE = app
+TARGET = ut_ussd
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+HEADERS += $$PUBLIC_HEADERS
+
+symbian {
+    TARGET.CAPABILITY = CAP_APPLICATION 
+    }
+
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+
+# =====================================================================
+# CODE SUBJECT TO TEST
+# Note that both ussd client and server code is compiled!
+# =====================================================================
+
+# server
+HEADERS += ../../../../../phoneserver/inc/ussd/cphsrvussdmanager.h
+HEADERS += ../../../../../phoneserver/inc/ussd/cphsrvussdnotifynwrelease.h
+HEADERS += ../../../../../phoneserver/inc/ussd/cphsrvussdreceivehandler.h
+HEADERS += ../../../../../phoneserver/inc/ussd/cphsrvussdreplytimer.h
+HEADERS += ../../../../../phoneserver/inc/ussd/cphsrvussdsendhandler.h
+HEADERS += ../../../../../phoneserver/inc/ussd/cphsrvussdsessioncancelwaiter.h
+HEADERS += ../../../../../phoneserver/inc/ussd/mphsrvussdmessagesentobserver.h
+HEADERS += ../../../../../phoneserver/inc/ussd/mphsrvussdnetworkobserver.h
+HEADERS += ../../../../../phoneserver/inc/ussd/mphsrvussdreplytimerobserver.h
+HEADERS += ../../../../../phoneserver/inc/Standard/mphsrvphoneinterface.h
+HEADERS += ../../../../../phoneserver/inc/Standard/cphsrvresourcemanager.h
+HEADERS += ../../../../../phoneserver/inc/Standard/phsrvutils.h
+HEADERS += ../../../../../phoneserver/inc/Standard/phsrvdebuginfo.h
+HEADERS += ../../../../../phoneserver/inc/Standard/phsrvconfigure.h
+
+SOURCES += ../../../../../phoneserver/src/ussd/cphsrvussdmanager.cpp
+SOURCES += ../../../../../phoneserver/src/ussd/cphsrvussdnotifynwrelease.cpp
+SOURCES += ../../../../../phoneserver/src/ussd/cphsrvussdreceivehandler.cpp
+SOURCES += ../../../../../phoneserver/src/ussd/cphsrvussdreplytimer.cpp
+SOURCES += ../../../../../phoneserver/src/ussd/cphsrvussdsendhandler.cpp
+SOURCES += ../../../../../phoneserver/src/standard/phsrvutils.cpp
+SOURCES += ../../../../../phoneserver/src/standard/phsrvdebuginfo.cpp
+
+# client/ussdwrapper
+HEADERS += ../../../../../phoneclient/inc/ussd/ussd_ext/rphcltussd.h
+HEADERS += ../../../../../phoneclient/inc/ussdwrapper/ussd_ext/cphcltussdimp.h
+HEADERS += ../../../../../phoneclient/inc/ussdwrapper/cphcltussdnotecontroller.h
+HEADERS += ../../../../../phoneclient/inc/ussdwrapper/cphcltussdrequesthandler.h
+HEADERS += ../../../../../phoneclient/inc/ussdwrapper/mphcltussdnotecontrollercallback.h
+HEADERS += ../../../../../phoneclient/inc/ussdwrapper/mphcltussdrequesthandler.h
+HEADERS += ../../../../../phoneclient/inc/SharedClientServer/phcltclientserver.h
+HEADERS += ../../../../../phoneclient/inc/ussdwrapper/cphcltussdcommonconstant.h
+
+SOURCES += ../../../../../phoneclient/src/ussdwrapper/cphcltussdext.cpp
+SOURCES += ../../../../../phoneclient/src/ussdwrapper/cphcltussdimp.cpp
+SOURCES += ../../../../../phoneclient/src/ussdwrapper/cphcltussdint.cpp
+SOURCES += ../../../../../phoneclient/src/ussdwrapper/cphcltussdnotecontroller.cpp
+SOURCES += ../../../../../phoneclient/src/ussdwrapper/cphcltussdrequesthandler.cpp
+SOURCES += ../../../../../phoneclient/src/ussdwrapper/cphcltussdsatclient.cpp
+
+
+# =====================================================================
+# TEST CODE
+# Explanation of the test/mock classes
+# * ut_ussd:
+#       QTestLib test cases
+# * ut_testenv:
+#       keep-up of the test environment, stubs and mocks etc.
+# * rphcltussd_glue:
+#       replaces RPhCltUssd implementation. Instead of connecting to
+#       phone server, directs commands directly to USSD manager and
+#       receives callbacks.
+# * etel_mock:
+#       Mocks ETEL, fakes different USSD send responses.
+# * phoneclientserver_stubs:
+#       Replaces the phoneserver resource reader with a dummy
+#       Replaces phoneserver client with a dummy
+# =====================================================================
+
+HEADERS += ut_ussd.h
+HEADERS += ut_testenv.h
+HEADERS += ut_cphcltussdnotecontroller.h
+
+SOURCES += main.cpp
+SOURCES += ut_ussd.cpp
+SOURCES += ut_testenv.cpp
+SOURCES += rphcltussd_glue.cpp
+SOURCES += etel_mock.cpp
+SOURCES += phoneclientserver_stubs.cpp
+SOURCES += ut_cphcltussdnotecontroller.cpp
+
+
+LIBS += -lefsrv
+LIBS += -lgsmu
+LIBS += -lflogger
+LIBS += -lCommonEngine
+LIBS += -laknnotify
+LIBS += -leiksrv
+LIBS += -lbafl
+
--- a/phoneclientserver/phoneserver/Group/PhoneServer.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Group/PhoneServer.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -25,7 +25,7 @@
 VENDORID VID_DEFAULT
 
 TARGET          phoneserver.exe
-EPOCSTACKSIZE	0x5000
+EPOCSTACKSIZE   0x5000
 
 TARGETPATH      /system/programs
 TARGETTYPE      EXE
@@ -33,87 +33,99 @@
 UID             0x1000008d 0x10000850
 
 SOURCEPATH     .
-START RESOURCE ../Src/Resources/PhoneServer.rss
+START RESOURCE ../src/resources/phoneserver.rss 
 HEADER
 TARGETPATH   RESOURCE_FILES_DIR
 LANGUAGE_IDS
 END  // RESOURCE
 
-SOURCEPATH      ../Src/Standard
-SOURCE          PhSrvStartUp.cpp
-SOURCE          PhSrvSubSessionFactory.cpp
-SOURCE          PhSrvUtils.cpp
+SOURCEPATH      ../src/standard 
+SOURCE          phsrvstartup.cpp 
+SOURCE          phsrvsubsessionfactory.cpp 
+SOURCE          phsrvutils.cpp 
 
-SOURCE          CPhSrvScheduler.cpp
-SOURCE          CPhSrvServer.cpp
-SOURCE          CPhSrvSession.cpp
-SOURCE          CPhSrvResourceManager.cpp
-SOURCE          CPhSrvPhoneController.cpp
-SOURCE          CPhSrvEmergencyNumberManager.cpp
+SOURCE          cphsrvscheduler.cpp 
+SOURCE          cphsrvserver.cpp 
+SOURCE          cphsrvsession.cpp 
+SOURCE          cphsrvresourcemanager.cpp 
+SOURCE          cphsrvphonecontroller.cpp 
+SOURCE          cphsrvemergencynumbermanager.cpp 
 
-SOURCE          CPhSrvSubSessionBase.cpp
-SOURCE          CPhSrvSubSessionUssd.cpp
+SOURCE          cphsrvsubsessionbase.cpp 
+SOURCE          cphsrvsubsessionussd.cpp 
 
-SOURCE          PhSrvDebugInfo.cpp
+SOURCE          phsrvdebuginfo.cpp 
 
-SOURCEPATH	../Src/Standard/Standard_Aiw
-SOURCE			CPhCltExtPhoneDialData.cpp
+SOURCEPATH  ../src/standard/standard_aiw 
+SOURCE          cphcltextphonedialdata.cpp 
 SOURCE          cphcltdialdata.cpp
-SOURCE          CPhSrvEmergencyRequestManager.cpp
-SOURCE          CPhSrvCallRequest.cpp
-SOURCE          CPhSrvCallRequestManager.cpp
-SOURCE          CPhSrvSubSessionNotifier.cpp
-SOURCE          CPhSrvSubSessionExtCall.cpp
-SOURCE          CPhSrvSubSessionEmergencyNum.cpp
+SOURCE          cphsrvemergencyrequestmanager.cpp 
+SOURCE          cphsrvcallrequest.cpp 
+SOURCE          cphsrvcallrequestmanager.cpp 
+SOURCE          cphsrvsubsessionnotifier.cpp 
+SOURCE          cphsrvsubsessionextcall.cpp 
+SOURCE          cphsrvsubsessionemergencynum.cpp 
 
-SOURCEPATH	../Src/ImageHandler
-SOURCE		CPhSrvSubSessionImageHandler.cpp
-SOURCE		cphsrvimagesaver.cpp
+SOURCEPATH  ../src/imagehandler 
+SOURCE      cphsrvsubsessionimagehandler.cpp 
+SOURCE      cphsrvimagesaver.cpp
 
-SOURCEPATH      ../Src/Ussd
-SOURCE          CPhSrvUssdReplyTimer.cpp
-SOURCE          CPhSrvUssdSendHandler.cpp
-SOURCE          CPhSrvUssdReceiveHandler.cpp
-SOURCE          CPhSrvUssdManager.cpp
-SOURCE 		CPhSrvUssdNotifyNWRelease.cpp
+SOURCEPATH      ../src/ussd 
+SOURCE          cphsrvussdreplytimer.cpp 
+SOURCE          cphsrvussdsendhandler.cpp 
+SOURCE          cphsrvussdreceivehandler.cpp 
+SOURCE          cphsrvussdmanager.cpp 
+SOURCE      cphsrvussdnotifynwrelease.cpp 
 
-SOURCEPATH      ../Src/CommandHandler
+SOURCEPATH      ../src/commandhandler 
 #if defined( __AT_HANDLER )
-SOURCE          CPhSrvSubSessionCommandHandler.cpp
-SOURCE          CPhSrvComHandRequest.cpp
+SOURCE          cphsrvsubsessioncommandhandler.cpp 
+SOURCE          cphsrvcomhandrequest.cpp 
 #else  // No __AT_HANDLER defined, so stub version is used.
-SOURCE          CPhSrvSubSessionCommandHandlerStub.cpp
-SOURCE          CPhSrvSubSessionCommandHandlerNotifyStub.cpp
+SOURCE          cphsrvsubsessioncommandhandlerstub.cpp 
+SOURCE          cphsrvsubsessioncommandhandlernotifystub.cpp 
 #endif // __AT_HANDLER
 
-SOURCEPATH      ../Src/CommandHandler/Commandhandler_Aiw
+SOURCEPATH      ../src/commandhandler/commandhandler_aiw 
 
 #if defined( __AT_HANDLER )
-SOURCE          CPhSrvComHandRequestManager.cpp
+SOURCE          cphsrvcomhandrequestmanager.cpp 
 #else  // No __AT_HANDLER defined, so stub version is used.
-SOURCE          CPhSrvComHandRequestManagerStub.cpp
+SOURCE          cphsrvcomhandrequestmanagerstub.cpp 
 #endif // __AT_HANDLER
 
-SOURCEPATH      ../Src/Messenger
-SOURCE          CPhSrvMessengerObject.cpp
-SOURCE          CPhSrvMessengerRequestManager.cpp
-SOURCE          CPhSrvSubSessionMessenger.cpp
+SOURCEPATH      ../src/messenger 
+#if defined( __CS_VIDEO_TELEPHONY )
+SOURCE          cphsrvmessengerobject.cpp 
+SOURCE          cphsrvmessengerrequestmanager.cpp 
+SOURCE          cphsrvsubsessionmessenger.cpp 
+#else  // No __CS_VIDEO_TELEPHONY defined, so stub version is used.
+SOURCE          cphsrvmessengerrequestmanagerstub.cpp 
+SOURCE          cphsrvsubsessionmessengerstub.cpp 
+#endif // __CS_VIDEO_TELEPHONY
 
-USERINCLUDE     ../Inc/Standard
-USERINCLUDE     ../Inc/Standard/Standard_Aiw
-USERINCLUDE     ../Inc/Ussd
-USERINCLUDE     ../Inc/CommandHandler
-USERINCLUDE     ../Inc/Messenger
-USERINCLUDE     ../Inc/ImageHandler
+USERINCLUDE     ../inc/standard 
+USERINCLUDE     ../inc/standard/standard_aiw 
+USERINCLUDE     ../inc/ussd 
+USERINCLUDE     ../inc/commandhandler 
+USERINCLUDE     ../inc/messenger 
+USERINCLUDE     ../inc/imagehandler 
 
-USERINCLUDE     ../../phoneclient/Inc/SharedClientServer
+USERINCLUDE     ../../phoneclient/inc/sharedclientserver 
 
-APP_LAYER_SYSTEMINCLUDE
+// <-- QT PHONE START-->
+MW_LAYER_SYSTEMINCLUDE
+// <-- QT PHONE END-->
+
 SYSTEMINCLUDE   ../../../inc
 SYSTEMINCLUDE    ../../inc // for RPhCltEmergencyCall.h, CPhCltExtPhoneDialData.h
 
 // TEMPORARY DEFINITION FOR TELEPHONY VARIATION HEADERS
-SYSTEMINCLUDE	../../../../../app/phone/inc
+SYSTEMINCLUDE   ../../../../../app/phone/inc
+
+// TEMPORARY DEFINITION FOR Orbit Device Dialog
+SYSTEMINCLUDE /epoc32/include/mw/hb/hbwidgets
+SYSTEMINCLUDE /epoc32/include/mw/hb/hbcore
 
 LIBRARY        efsrv.lib
 LIBRARY        apgrfx.lib
@@ -122,19 +134,18 @@
 LIBRARY        ws32.lib
 LIBRARY        etel.lib
 LIBRARY        bafl.lib
-LIBRARY        aknnotify.lib
 LIBRARY        gsmu.lib
-LIBRARY        avkon.lib
 LIBRARY        apparc.lib
 LIBRARY        customapi.lib
 LIBRARY        etelmm.lib 
 LIBRARY        commonengine.lib
 LIBRARY        featmgr.lib
 LIBRARY        fbscli.lib 
-LIBRARY		   estor.lib	
+LIBRARY        estor.lib    
 LIBRARY        centralrepository.lib
-LIBRARY        imageconversion.lib 	
+LIBRARY        imageconversion.lib  
 LIBRARY        bitmaptransforms.lib 
-LIBRARY        ecom.lib 
+LIBRARY        hbwidgets.lib
+LIBRARY        hbcore.lib
 
 //  End of File  
--- a/phoneclientserver/phoneserver/Group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -21,23 +21,20 @@
 DEFAULT
 
 PRJ_EXPORTS
-..\inc\ussd\ussdinterfaceconstants.hrh		MW_LAYER_PLATFORM_EXPORT_PATH(ussdinterfaceconstants.hrh)
-..\inc\ussd\CUssdExtensionInterface.h		MW_LAYER_PLATFORM_EXPORT_PATH(CUssdExtensionInterface.h)
-..\inc\ussd\CUssdExtensionInterface.inl 	MW_LAYER_PLATFORM_EXPORT_PATH(CUssdExtensionInterface.inl)
+
 
 backup_registration.xml  z:/private/10000850/backup_registration.xml
 
-Phoneserver_stub.SIS                /epoc32/data/z/system/install/phoneserver_stub.sis
+phoneserver_stub.sis                /epoc32/data/z/system/install/phoneserver_stub.sis
 
 // IBY files
-../rom/PhoneServer.iby              CORE_MW_LAYER_IBY_EXPORT_PATH(PhoneServer.iby)
+../rom/phoneserver.iby              CORE_MW_LAYER_IBY_EXPORT_PATH(phoneserver.iby)
 
 // LOC files
 ../loc/phoneserver.loc              MW_LAYER_LOC_EXPORT_PATH(phoneserver.loc)
 
 PRJ_MMPFILES
-../Group/PhoneServer.mmp
-
+../group/phoneserver.mmp
 
 PRJ_TESTMMPFILES
 // specify the .mmp files required for building any test programs here
--- a/phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvComHandRequest.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvComHandRequest.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
-#include <CPhCltCommandHandler.h>
+#include <phclttypes.h> 
+#include <cphcltcommandhandler.h> 
 
 // CONSTANTS
 
--- a/phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvComHandRequestManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvComHandRequestManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "MPhSrvComHandNegotiators.h"
-#include "MPhSrvComHandInitiators.h"
+#include "mphsrvcomhandnegotiators.h" 
+#include "mphsrvcomhandinitiators.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvSubSessionCommandHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvSubSessionCommandHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 
 
 // INCLUDES
-#include "CPhSrvSubSessionBase.h"
+#include "cphsrvsubsessionbase.h" 
 
 
 // CLASS DECLARATION
--- a/phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvSubSessionCommandHandlerNotify.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/CommandHandler/CPhSrvSubSessionCommandHandlerNotify.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 
 
 // INCLUDES
-#include "CPhSrvSubSessionBase.h"
-#include "MPhSrvComHandInitiators.h"
+#include "cphsrvsubsessionbase.h" 
+#include "mphsrvcomhandinitiators.h" 
 
 // CLASS DECLARATION
 
--- a/phoneclientserver/phoneserver/Inc/CommandHandler/MPhSrvComHandInitiators.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/CommandHandler/MPhSrvComHandInitiators.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "PhCltClientServer.h"
-#include <CPhCltCommandHandler.h>
+#include "phcltclientserver.h" 
+#include <cphcltcommandhandler.h> 
 // FORWARD DECLARATIONS
 
 
--- a/phoneclientserver/phoneserver/Inc/CommandHandler/MPhSrvComHandNegotiators.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/CommandHandler/MPhSrvComHandNegotiators.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <CPhCltCommandHandler.h>
+#include <cphcltcommandhandler.h> 
 
 // FORWARD DECLARATIONS
 class MPhSrvComHandInitiator;
--- a/phoneclientserver/phoneserver/Inc/ImageHandler/CPhSrvSubSessionImageHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/ImageHandler/CPhSrvSubSessionImageHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -19,14 +19,14 @@
 #define CPHSRVSUBSESSIONIMAGEHANDLER_H
 
 // INCLUDES
-#include    "CPhSrvSubSessionBase.h"
+#include    "cphsrvsubsessionbase.h" 
 #include    "cphsrvimagesaver.h"
 #include    "mphsrvimagesaverobserver.h"
-#include   <CPhCltBaseImageParams.h>
+#include   <cphcltbaseimageparams.h> 
 #include    <bautils.h>
 #include    <fbs.h>
-#include 	<PhoneClientServerDomainPStypes.h>
-#include    <PhoneClientServerDomainPSkeys.h>
+#include    <phoneclientserverdomainpstypes.h> 
+#include    <phoneclientserverdomainpskeys.h> 
 
 // CLASS DECLARATION
 
--- a/phoneclientserver/phoneserver/Inc/Messenger/CPhSrvMessengerObject.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Messenger/CPhSrvMessengerObject.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,8 +24,8 @@
 // INCLUDES
 #include <e32base.h>
 
-#include "PhSrvMessengerTypes.h"
-#include <CPhCltCommandHandler.h>
+#include "phsrvmessengertypes.h" 
+#include <cphcltcommandhandler.h> 
 
 // FORWARD DECLARATIONS
 class CPhSrvSubSessionBase;
--- a/phoneclientserver/phoneserver/Inc/Messenger/CPhSrvMessengerRequestManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Messenger/CPhSrvMessengerRequestManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "MPhSrvMessengerNegotiators.h"
-#include <CPhCltCommandHandler.h>
+#include "mphsrvmessengernegotiators.h" 
+#include <cphcltcommandhandler.h> 
 
 // FORWARD DECLARATIONS
 class CPhSrvMessengerObject;
--- a/phoneclientserver/phoneserver/Inc/Messenger/CPhSrvSubSessionMessenger.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Messenger/CPhSrvSubSessionMessenger.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 
 
 // INCLUDES
-#include "CPhSrvSubSessionBase.h"
-#include <CPhCltMessenger.h>
+#include "cphsrvsubsessionbase.h" 
+#include <cphcltmessenger.h> 
 
 // FORWARD DECLARATIONS
 class MPhSrvMessengerNegotiator;
--- a/phoneclientserver/phoneserver/Inc/Messenger/MPhSrvMessengerNegotiators.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Messenger/MPhSrvMessengerNegotiators.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "PhSrvMessengerTypes.h"
-#include <CPhCltMessenger.h>
+#include "phsrvmessengertypes.h" 
+#include <cphcltmessenger.h> 
 
 // FORWARD DECLARATIONS
 class CPhSrvSubSessionBase;
--- a/phoneclientserver/phoneserver/Inc/Messenger/PhSrvMessengerTypes.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Messenger/PhSrvMessengerTypes.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 
 // INCLUDES
-#include <CPhCltMessenger.h>
+#include <cphcltmessenger.h> 
 
 // DATA TYPES
 
--- a/phoneclientserver/phoneserver/Inc/Standard/CPhSrvEmergencyNumberManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/CPhSrvEmergencyNumberManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32base.h>                        // cbase
-#include "MPhSrvEmergencyNumberManager.h"   // interface
+#include "mphsrvemergencynumbermanager.h" // interface 
 
 // FORWARD DECLARATIONS
 class MPhSrvPhoneInterface;
@@ -74,7 +74,7 @@
         MPhSrvPhoneInterface&          iPhone;
       
         // Contains Emergency policy DLL interface.
-        RLibrary                       iEnPolicyLib;	
+        RLibrary                       iEnPolicyLib;    
 
         // Pointer to Emergency policy interface.
         CEmergencyNumberPolicy*        iEmergencyNumberPolicy;
--- a/phoneclientserver/phoneserver/Inc/Standard/CPhSrvPhoneController.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/CPhSrvPhoneController.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 // INCLUDES
 #include    <etelmm.h>            // ETel
 #include <rmmcustomapi.h>         // CustomAPI
-#include "MPhSrvPhoneInterface.h" // The interface class
+#include "mphsrvphoneinterface.h" // The interface class 
 
 
 // CLASS DECLARATION
--- a/phoneclientserver/phoneserver/Inc/Standard/CPhSrvServer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/CPhSrvServer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,9 +21,9 @@
 
 
 // INCLUDES
-#include "MPhSrvPhoneInterface.h"
-#include "PhCltClientServer.h"
-#include <RPhCltServer.h>
+#include "mphsrvphoneinterface.h" 
+#include "phcltclientserver.h" 
+#include <rphcltserver.h> 
 #include <fbs.h>
 #include <f32file.h>
 
--- a/phoneclientserver/phoneserver/Inc/Standard/CPhSrvSession.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/CPhSrvSession.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "PhCltClientServer.h"
+#include "phcltclientserver.h" 
 
 // FORWARD DECLARATIONS
 class CPhSrvServer;
--- a/phoneclientserver/phoneserver/Inc/Standard/CPhSrvSubSessionBase.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/CPhSrvSubSessionBase.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "MPhSrvMessageProcessor.h"
+#include "mphsrvmessageprocessor.h" 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneserver/Inc/Standard/CPhSrvSubSessionExtCall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/CPhSrvSubSessionExtCall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 
 
 // INCLUDES
-#include "CPhSrvSubSessionBase.h"
-#include <cphcltextphonedialdata.h>
+#include "cphsrvsubsessionbase.h" 
+#include <cphcltextphonedialdata.h> 
 
 // CLASS DECLARATION
 
--- a/phoneclientserver/phoneserver/Inc/Standard/CPhSrvSubSessionUssd.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/CPhSrvSubSessionUssd.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 
 
 // INCLUDES
-#include "CPhSrvSubSessionBase.h"
-#include "MPhSrvUssdMessageSentObserver.h"
+#include "cphsrvsubsessionbase.h" 
+#include "mphsrvussdmessagesentobserver.h" 
 
 
 // CLASS DECLARATION
--- a/phoneclientserver/phoneserver/Inc/Standard/PhSrvDebugInfo.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/PhSrvDebugInfo.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 // INCLUDES
 
 #include <e32base.h>            // TInt, cbase
-#include "KPhSrvConfigure.h"    // Debugging feature defines
+#include "kphsrvconfigure.h" // Debugging feature defines 
 
 // MACROS
 //----------------------------------------------------------------------------
--- a/phoneclientserver/phoneserver/Inc/Standard/PhSrvStartUp.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/PhSrvStartUp.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 
 // INCLUDES
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequest.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequest.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <cphcltextphonedialdata.h>
+#include <cphcltextphonedialdata.h> 
 
 // CONSTANTS
 
@@ -100,7 +100,7 @@
         * @return The call arguments.
         */
          CPhCltExtPhoneDialData& CallArguments() const;
-	
+    
         /**
         * Update Emergency call status
         * @param aMessage The outstanding client request which will be completed
@@ -146,7 +146,7 @@
         // The object responsible for processing external client call requests. 
         // This is essentially an interface to the phone app engine.
         
-		CPhCltExtPhoneDialData* iCallArguments;
+        CPhCltExtPhoneDialData* iCallArguments;
 
         // A handle to the subsession that initiated this request.
         TInt            iSubSessionHandle;
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequestManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequestManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,9 +22,9 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "MPhSrvObjectNegotiators.h"
-#include "MPhSrvObjectInitiators.h"
-#include <cphcltextphonedialdata.h>
+#include "mphsrvobjectnegotiators.h" 
+#include "mphsrvobjectinitiators.h" 
+#include <cphcltextphonedialdata.h> 
 
 // FORWARD DECLARATIONS
 class CPhSrvCallRequest;
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvEmergencyRequestManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvEmergencyRequestManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "MPhSrvEmergencyNegotiators.h"
-#include "MPhSrvEmergencyInitiators.h"
+#include "mphsrvemergencynegotiators.h" 
+#include "mphsrvemergencyinitiators.h" 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvSubSessionEmergencyNum.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvSubSessionEmergencyNum.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 
 
 // INCLUDES
-#include "CPhSrvSubSessionBase.h"
+#include "cphsrvsubsessionbase.h" 
 
 
 // CLASS DECLARATION
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvSubSessionNotifier.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvSubSessionNotifier.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,12 +22,12 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <cphcltextphonedialdata.h>
-#include <CPhCltEmergencyCall.h> // for TPhCltEmergencyNumber
-#include "CPhSrvSubSessionBase.h"
-#include "MPhSrvEmergencyInitiators.h"
-#include "MPhSrvObjectInitiators.h"
-#include "MPhSrvComHandInitiators.h"
+#include <cphcltextphonedialdata.h> 
+#include <cphcltemergencycall.h> // for TPhCltEmergencyNumber 
+#include "cphsrvsubsessionbase.h" 
+#include "mphsrvemergencyinitiators.h" 
+#include "mphsrvobjectinitiators.h" 
+#include "mphsrvcomhandinitiators.h" 
 
 // CLASS DECLARATION
 
@@ -82,9 +82,9 @@
         * be informed that it needs to make a call.
         *
         * @see MPhSrvInitiatorCall
-        */		
-		void InitiatorMakeAsynchronousCallL( CPhCltExtPhoneDialData& aArgs  );
-        /**								
+        */      
+        void InitiatorMakeAsynchronousCallL( CPhCltExtPhoneDialData& aArgs  );
+        /**                             
         * Does this subsession have a pending request?
         *
         * @see MPhSrvInitiatorCall
@@ -130,7 +130,7 @@
         
         void CmdSubSessionDialDataL ( const RMessage2& aMessage );
 
-		void CmdSubSessionNotifyEmergencyL ( const RMessage2& aMessage );
+        void CmdSubSessionNotifyEmergencyL ( const RMessage2& aMessage );
 
         void CmdSubSessionNotifyEmergencyCancel( const RMessage2& aMessage );
 
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvEmergencyNegotiators.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvEmergencyNegotiators.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvEmergencyNumberManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvEmergencyNumberManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define MPHSRVEMERGENCYNUMBERMANAGER_H
 
 // INCLUDES
-#include "PhCltClientServer.h"
-#include <rphcltemergencycall.h>
+#include "phcltclientserver.h" 
+#include <rphcltemergencycall.h> 
 
 // FORWARD DECLARATIONS
 
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvObjectInitiators.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvObjectInitiators.h	Tue Aug 31 15:45:17 2010 +0300
@@ -45,7 +45,7 @@
         * @param aArgs The call parameters.
         */
         virtual void InitiatorMakeAsynchronousCallL( 
-			CPhCltExtPhoneDialData& aArgs ) =0;
+            CPhCltExtPhoneDialData& aArgs ) =0;
         /**
         * Called by the call manager to find out if there is a registered
         * notification handler.
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvObjectNegotiators.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/MPhSrvObjectNegotiators.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
-#include <cphcltextphonedialdata.h>
+#include <phclttypes.h> 
+#include <cphcltextphonedialdata.h> 
 
 // FORWARD DECLARATIONS
 class MPhSrvInitiatorCall;
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvCallRequest.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvCallRequest.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 // CONSTANTS
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvCallRequestManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvCallRequestManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "MPhSrvObjectNegotiators.h"
-#include "MPhSrvObjectInitiators.h"
+#include "mphsrvobjectnegotiators.h" 
+#include "mphsrvobjectinitiators.h" 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvSubSessionEmergencyNum.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvSubSessionEmergencyNum.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 
 
 // INCLUDES
-#include "CPhSrvSubSessionBase.h"
+#include "cphsrvsubsessionbase.h" 
 
 
 // CLASS DECLARATION
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvSubSessionNotifier.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/CPhSrvSubSessionNotifier.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,10 +22,10 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "CPhSrvSubSessionBase.h"
-#include "MPhSrvObjectInitiators.h"
-#include "CPhSrvSubSessionNotifier.h"
-#include "MPhSrvComHandInitiators.h"
+#include "cphsrvsubsessionbase.h" 
+#include "mphsrvobjectinitiators.h" 
+#include "cphsrvsubsessionnotifier.h" 
+#include "mphsrvcomhandinitiators.h" 
 
 // CLASS DECLARATION
 
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/MPhSrvEmergencyNumberManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/MPhSrvEmergencyNumberManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 
 // INCLUDES
-#include  <RPhCltEmergencyNumber.h>
+#include  <rphcltemergencynumber.h> 
 
 // FORWARD DECLARATIONS
 
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/MPhSrvObjectNegotiators.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_NoAiw/MPhSrvObjectNegotiators.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 // FORWARD DECLARATIONS
--- a/phoneclientserver/phoneserver/Inc/Ussd/CPhSrvUssdManager.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Inc/Ussd/CPhSrvUssdManager.h	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -21,11 +21,11 @@
 
 // INCLUDES
 #include <etelmm.h>            // ETel
-#include "PhCltClientServer.h"
-#include "MPhSrvUssdNetworkObserver.h"
-#include "MPhSrvUssdReplyTimerObserver.h"
+#include "phcltclientserver.h" 
+#include "mphsrvussdnetworkobserver.h" 
+#include "mphsrvussdreplytimerobserver.h" 
 #include <badesca.h>
-
+#include <hbdevicemessageboxsymbian.h>
 
 // FORWARD DECLARATIONS
 class RFs;
@@ -35,11 +35,8 @@
 class CPhSrvUssdReplyTimer;
 class MPhSrvPhoneInterface;
 class MPhSrvUssdMessageSentObserver;
-class CAknGlobalMsgQuery;
 class CPhSrvUssdSessionCancelWaiter;
 class CPhSrvUssdNotifyNWRelease;
-// RM-RIM 417-66528
-class CUssdExtensionInterface;
 
 // CLASS DECLARATION
 
@@ -51,7 +48,8 @@
 class CPhSrvUssdManager : 
     public CActive, 
     public MPhSrvUssdNetworkObserver, 
-    public MPhSrvUssdReplyTimerObserver
+    public MPhSrvUssdReplyTimerObserver,
+    public MHbDeviceMessageBoxObserver
     {
     public:  // Constructors and destructor
 
@@ -163,6 +161,12 @@
         */
         void UssdReplyTimerObserverHandleExpiredL( TInt aError );
         
+        /**
+        * @see MHbDeviceMessageBoxObserver
+        */        
+        void MessageBoxClosed(const CHbDeviceMessageBoxSymbian* aMessageBox,
+            CHbDeviceMessageBoxSymbian::TButtonId aButton);
+        
         /*
         * @see CActive
         */
@@ -177,8 +181,6 @@
         * @see CActive
         */
         TInt RunError( TInt aError );
- 
-
 
     private: // New functions
         
@@ -216,18 +218,6 @@
             const TDes8& aMsgData, 
             const RMobileUssdMessaging::TMobileUssdAttributesV1& 
                   aMsgAttributes);
-
-        // RM-RIM 417-66528
-        /** Third stage handler for received messages meant for extension 
-        */
-        void PorcessReceivedMessageInExtesnionL(const TDes8& aMsgData, 
-                const RMobileUssdMessaging::TMobileUssdAttributesV1& 
-                      aMsgAttributes);
-        /** Third stage handler for received messages 
-        */
-        void ProcessReceivedMessageL(const TDes8& aMsgData, 
-                const RMobileUssdMessaging::TMobileUssdAttributesV1& 
-                      aMsgAttributes);
         // Restart the reply timer
         void RestartReplyTimerL();
         
@@ -237,11 +227,6 @@
         // Set timer and activate it if there are notifications available
         void SetActiveIfPendingNotificationsExist();
         
-        // RM-RIM 417-66528
-        // Create and Initialize the global message query
-        void CreateGlobalMessageQueryL( 
-                const RMobileUssdMessaging::TMobileUssdAttributesV1& 
-                      aMsgAttributes);
         // Launch the global message query (used from RunL)
         void LaunchGlobalMessageQueryL();
         
@@ -322,7 +307,7 @@
         * 
         * @since 3.1
         */
-        void UpdateNotifyMessage();
+        void UpdateNotifyMessageL();
         
         /**
         * Turn lights on
@@ -330,9 +315,15 @@
         * @since 3.1
         */
         void TurnLightsOn();
+        
+        /**
+        * Load default string by QT style localization
+        * @param aText default string id defined by _LIT
+        */        
+        const TPtrC LoadDefaultString( const TDesC& aText );
 
     private:     // Data
-
+        
         // The file session reference.
         RFs& iFsSession;
         
@@ -361,8 +352,8 @@
         TBuf< KPhCltUssdMax8BitCharacters > iReceivedMessage;
         
         // The message query for showing USSD operation queries.
-        CAknGlobalMsgQuery* iGlobalMsgQuery;
-        
+        CHbDeviceMessageBoxSymbian* iDeviceDialog;
+       
         // Is editor emptied.
         TBool iEmptyEditor;
         
@@ -393,9 +384,6 @@
         // Local Telephony variant read-only data.
         TInt iVariantReadOnlyValues;
 
-        // The message query header text.
-        HBufC* iMeQuHeaderText;
-
         // The buffer for received decoded message.
         TBuf< KPhCltUssdMax8BitCharacters > iDecodedMessage;
 
@@ -423,7 +411,7 @@
         // Show Done note
         TBool iShowDone;
 
-		// Checks if received message type is Reply
+        // Checks if received message type is Reply
         TBool iMsgTypeReply;
         
         // Has the transaction been closed or not
@@ -438,9 +426,8 @@
         // An asynchronous callback for sending MO ACK messages
         CAsyncCallBack* iMoAckCallback;
         
-        // RM-RIM 417-66528
-        // Pointer to the UssdExtension
-        CUssdExtensionInterface* iUssdExtnInterface;
+        HBufC* iTextBuffer;
+
     };
     
 #endif // CPHSRVUSSDMANAGER_H
--- a/phoneclientserver/phoneserver/Inc/Ussd/CUssdExtensionInterface.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +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:  Extends the ussd functionality.
- *
- */
-#ifndef __CUSSDEXTENSIONINTERFACE_H__
-#define __CUSSDEXTENSIONINTERFACE_H__
-
-// INCLUDES
-
-#include<ecom\ecom.h>
-#include<etelmm.h>
-#include<ussdinterfaceconstants.hrh>
-// FORWARD DECLARATIONS
-
-// CONSTANTS
-const TUid KUssdExtensionInterfaceUid =
-    {
-    KUssdExtensionInterfaceUidValue
-    };
-
-// CLASS DECLARATION
-
-/**
- *  Base class for Ussd Extension Plugin.
- *
- *  This API allows customizing the USSD sending feature of the S60 Telephony 
- *  applications at runtime.
- *
- *  The API defines two roles:
- *  1) Validates the USSD string while sending. if it is unauthorized 
- *  in the context shall terminate the request.
- *  2) Validates the USSD string while receiving, the extension will get the first chance to consume the reply if needed
- *
- *
- *  Note:
- *  The customizer needs only one plug-in implementation for a variant, and so supports only rom-only plug-in.
- */
-class CUssdExtensionInterface : public CBase
-    {
-public:
-    // Constructors and destructor
-    /**
-     * NewL
-     * Wraps ECom object instantitation. Will return the
-     * default interface implementation, which matches to
-     * given aOperationName.
-     */
-    static CUssdExtensionInterface* NewL();
-
-    /**
-     * NewL
-     * Wraps ECom object instantitation. Will search for
-     * interface implementation, which matches to given
-     * aOperationName.
-     * @param aOperationName name of requested implementation.
-     * Implementations advertise their "name" as specified
-     * in their resource file field
-     * IMPLEMENTATION_INFO::default_data.
-     */
-    static CUssdExtensionInterface* NewL(const TDesC8& aMatch);
-
-public:
-    // API to be implemented by ECOM plug-in
-
-    /**
-     * Validate/Authenticate the Ussd string Before Sending from
-     * the USSD Send handler
-     * When Ussd Extention plugin return true, then ussd manager will continue sending of the ussd
-     * Otherwise the transaction will be terminated with KErrAccessDenined 
-     *
-     * @param aMessageData  
-     * @param aMessageAttributes .
-     */
-    virtual TBool
-            ValidateUssdMsgSending(
-                    const TDesC8& aMessageData,
-                    const RMobileUssdMessaging::TMobileUssdAttributesV1& aMsgAttribute) = 0;
-    /**
-     * Validate/Authenticate the Ussd response received by the 
-     * USSD receive handler
-     *
-     * @param aMessageData  
-     * @return true implies that the ussd response is valid for the extension.
-     * otherwise pass it to the observer. .
-     */
-    virtual TBool ValidateUssdResponse(const TDesC8& aMessage) = 0;
-    /**
-     * if ValidateUssdResponse returns true, then the extension plugin is waiting for the response 
-     * so invoke the interface to deligate to the plugin.
-     * Example:
-     * ...
-     *  TBool isValidForExtension = iUssdExtnInterface->ValidateUssdResponse(aMsgData);
-     *  TInt errfromextension = KErrNone;
-     *  if (isValidForExtension)
-     *     {
-     *     TRAPD(err, iUssdExtnInterface->ProcessReceivedUssdL(iDecodedMessage, errfromextension));
-     *     ...
-     *     
-     * @param aMessageData  
-     * @return error code
-     * @leave On typical leave level problems. 
-     */
-    virtual void
-            ProcessReceivedUssdL(const TDesC& aMessageData, TInt aError) = 0;
-
-    /**
-     * Notify the any network error to the extension, so that it can handle the internal states if required
-     * @param aError 
-     */
-    virtual void NotifyNWError(TInt aError)=0;
-
-public:
-    /**
-     * ~CUssdExtensionInterface
-     *
-     * Cleans up resources, specifically notify ECOM server that this
-     * instance is being deleted.
-     */
-    virtual ~CUssdExtensionInterface();
-
-private:
-    TUid iDtor_ID_Key; // Identification on cleanup
-    };
-#include "CUssdExtensionInterface.inl"    
-#endif // __CUSSDEXTENSIONINTERFACE_H__
--- a/phoneclientserver/phoneserver/Inc/Ussd/CUssdExtensionInterface.inl	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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's (abstract base class's) static factory method implementation.
-*
-*/
-
-#include <e32def.h>
-#include <ecom\ecom.h>
-
-// ---------------------------------------------------------------------------
-// CUssdExtensionInterface::NewL
-// Interface's (abstract base class's) static factory method implementation.
-// Asks ECOM plugin framework to instantiate appropriate concret plugin
-// implementation.
-// ---------------------------------------------------------------------------
-//
-inline CUssdExtensionInterface* CUssdExtensionInterface::NewL()
-    {
-    TEComResolverParams resolutionParameters;
-    resolutionParameters.SetGenericMatch(ETrue);
-    TAny* interface = REComSession::CreateImplementationL (
-            KUssdExtensionInterfaceUid, _FOFF (CUssdExtensionInterface, iDtor_ID_Key), resolutionParameters, KRomOnlyResolverUid);
-
-    return reinterpret_cast <CUssdExtensionInterface*> (interface);
-    }
-
-// ---------------------------------------------------------------------------
-// CUssdExtensionInterface::NewL
-// Interface's (abstract base class's) static factory method implementation.
-// Asks ECOM plugin framework to instantiate appropriate concret plugin
-// implementation.
-// ---------------------------------------------------------------------------
-//
-inline CUssdExtensionInterface* CUssdExtensionInterface::NewL(const TDesC8& aOperationName)
-    {
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType (aOperationName);
-    resolverParams.SetWildcardMatch (ETrue);
-
-    TAny* interface = REComSession::CreateImplementationL (KUssdExtensionInterfaceUid,
-        _FOFF (CUssdExtensionInterface, iDtor_ID_Key), resolverParams, KRomOnlyResolverUid);
-
-    return reinterpret_cast <CUssdExtensionInterface*> (interface);
-    }
-
-// ---------------------------------------------------------------------------
-// CUssdExtensionInterface::~CUssdExtensionInterface
-// Interface's (abstract base class's) destructor
-// ---------------------------------------------------------------------------
-//
-inline CUssdExtensionInterface::~CUssdExtensionInterface()
-    {
-    REComSession::DestroyedImplementation (iDtor_ID_Key);
-    }
-
-
--- a/phoneclientserver/phoneserver/Inc/Ussd/ussdinterfaceconstants.hrh	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  common definitions of the ussd extension.
-*
-*/
-#ifndef T_USSDINTERFACECONSTANTS_HRH
-#define T_USSDINTERFACECONSTANTS_HRH
-
-
-const TInt KUssdExtensionInterfaceUidValue = 0x200315D0; 
-
-
-#endif // T_USSDINTERFACECONSTANTS_HRH
--- a/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvComHandRequest.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvComHandRequest.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 // INCLUDE FILES
 
-#include "CPhSrvComHandRequest.h"
-#include "PhSrvUtils.h"
+#include "cphsrvcomhandrequest.h" 
+#include "phsrvutils.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,11 +20,11 @@
 
 
 // INCLUDE FILES
-#include    "CPhSrvSubSessionCommandHandler.h"
-#include    "CPhSrvSession.h"
-#include    "CPhSrvServer.h"
-#include    <PhCltTypes.h>
-#include    "MPhSrvComHandNegotiators.h"
+#include    "cphsrvsubsessioncommandhandler.h" 
+#include    "cphsrvsession.h" 
+#include    "cphsrvserver.h" 
+#include    <phclttypes.h> 
+#include    "mphsrvcomhandnegotiators.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandlerNotify.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandlerNotify.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,11 +20,11 @@
 
 
 // INCLUDE FILES
-#include    "CPhSrvSubSessionCommandHandlerNotify.h"
-#include    "CPhSrvSession.h"
-#include    "CPhSrvServer.h"
-#include    <PhCltTypes.h>
-#include    "MPhSrvComHandNegotiators.h"
+#include    "cphsrvsubsessioncommandhandlernotify.h" 
+#include    "cphsrvsession.h" 
+#include    "cphsrvserver.h" 
+#include    <phclttypes.h> 
+#include    "mphsrvcomhandnegotiators.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandlerNotifyStub.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandlerNotifyStub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,12 +18,12 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvSubSessionBase.h"
-#include "CPhSrvSession.h"
-#include "CPhSrvServer.h"
-#include <PhCltTypes.h>
-#include "MPhSrvComHandNegotiators.h"
-#include "CPhSrvSubSessionCommandHandlerNotify.h"
+#include "cphsrvsubsessionbase.h" 
+#include "cphsrvsession.h" 
+#include "cphsrvserver.h" 
+#include <phclttypes.h> 
+#include "mphsrvcomhandnegotiators.h" 
+#include "cphsrvsubsessioncommandhandlernotify.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandlerStub.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/CommandHandler/CPhSrvSubSessionCommandHandlerStub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,12 +18,12 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvSubSessionBase.h"
-#include "CPhSrvSession.h"
-#include "CPhSrvServer.h"
-#include <PhCltTypes.h>
-#include "MPhSrvComHandNegotiators.h"
-#include "CPhSrvSubSessionCommandHandler.h"
+#include "cphsrvsubsessionbase.h" 
+#include "cphsrvsession.h" 
+#include "cphsrvserver.h" 
+#include <phclttypes.h> 
+#include "mphsrvcomhandnegotiators.h" 
+#include "cphsrvsubsessioncommandhandler.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Src/CommandHandler/CommandHandler_NoAiw/CPhSrvComHandRequestManager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/CommandHandler/CommandHandler_NoAiw/CPhSrvComHandRequestManager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,12 +18,12 @@
 
 
 // INCLUDES
-#include "CPhSrvComHandRequestManager.h"
-#include "CPhSrvComHandRequest.h"
-#include "CPhSrvSubSessionBase.h"
-#include "PhSrvUtils.h"
-#include "CPhSrvServer.h"
-#include "MPhSrvEmergencyNumberManager.h"
+#include "cphsrvcomhandrequestmanager.h" 
+#include "cphsrvcomhandrequest.h" 
+#include "cphsrvsubsessionbase.h" 
+#include "phsrvutils.h" 
+#include "cphsrvserver.h" 
+#include "mphsrvemergencynumbermanager.h" 
 
 
 // CONSTANTS
--- a/phoneclientserver/phoneserver/Src/CommandHandler/CommandHandler_NoAiw/CPhSrvComHandRequestManagerStub.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/CommandHandler/CommandHandler_NoAiw/CPhSrvComHandRequestManagerStub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 
 // INCLUDES
-#include "CPhSrvComHandRequestManager.h"
-#include "CPhSrvComHandRequest.h"
-#include "CPhSrvSubSessionBase.h"
-#include "PhSrvUtils.h"
+#include "cphsrvcomhandrequestmanager.h" 
+#include "cphsrvcomhandrequest.h" 
+#include "cphsrvsubsessionbase.h" 
+#include "phsrvutils.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Src/CommandHandler/Commandhandler_Aiw/CPhSrvComHandRequestManager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/CommandHandler/Commandhandler_Aiw/CPhSrvComHandRequestManager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,12 +18,12 @@
 
 
 // INCLUDES
-#include "CPhSrvComHandRequestManager.h"
-#include "CPhSrvComHandRequest.h"
-#include "CPhSrvSubSessionBase.h"
-#include "PhSrvUtils.h"
-#include "CPhSrvServer.h"
-#include "MPhSrvEmergencyNumberManager.h"
+#include "cphsrvcomhandrequestmanager.h" 
+#include "cphsrvcomhandrequest.h" 
+#include "cphsrvsubsessionbase.h" 
+#include "phsrvutils.h" 
+#include "cphsrvserver.h" 
+#include "mphsrvemergencynumbermanager.h" 
 
 
 // CONSTANTS
--- a/phoneclientserver/phoneserver/Src/CommandHandler/Commandhandler_Aiw/CPhSrvComHandRequestManagerStub.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/CommandHandler/Commandhandler_Aiw/CPhSrvComHandRequestManagerStub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 
 // INCLUDES
-#include "CPhSrvComHandRequestManager.h"
-#include "CPhSrvComHandRequest.h"
-#include "CPhSrvSubSessionBase.h"
-#include "PhSrvUtils.h"
+#include "cphsrvcomhandrequestmanager.h" 
+#include "cphsrvcomhandrequest.h" 
+#include "cphsrvsubsessionbase.h" 
+#include "phsrvutils.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Src/ImageHandler/CPhSrvSubSessionImageHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/ImageHandler/CPhSrvSubSessionImageHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,12 +19,12 @@
 
 
 // INCLUDE FILES
-#include    "CPhSrvSubSessionImageHandler.h"
-#include    "CPhSrvSession.h"
-#include    "CPhSrvServer.h"
+#include    "cphsrvsubsessionimagehandler.h" 
+#include    "cphsrvsession.h" 
+#include    "cphsrvserver.h" 
 #include    <e32property.h>
-#include    <PhCltTypes.h>
-#include    "PhSrvDebugInfo.h"  
+#include    <phclttypes.h> 
+#include    "phsrvdebuginfo.h" 
 
 // CONSTANTS
 _LIT( KPhSrvImageDriveRom, "z:" );
@@ -532,8 +532,8 @@
     // Load the images from file.
     const TBool loadDefaultImage = aImages.iType == EPhCltTypeVTDefault;    
     DoReadVTImagesL( loadDefaultImage );
-	
-	// Copy handles.
+    
+    // Copy handles.
     aImages.iImageCount = iVTBitMaps.Count();
     for ( TInt i = 0; i < aImages.iImageCount; i++ )
         {
@@ -562,7 +562,7 @@
         aDefaultImage, path );
 
 #ifdef __PHENG_DEBUG_INFO__
-		TPtr ptr = searchPath->Des();  // temp pointer to avoid lvalue compile warning
+        TPtr ptr = searchPath->Des();  // temp pointer to avoid lvalue compile warning
         RDebug::Print( _L( 
             "CPhSrvSubSessionImageHandler::ReadVT: %S"), ( &ptr ));
 #endif    
@@ -721,8 +721,9 @@
         bitMap );
     aImages.iImages[ EPhCltExtOperatorLogoIndex ] = bitMap->Handle();
     aImages.iImageCount = 1;
-    iOperatorLogos.Append( logoContainer );
-    
+    CleanupStack::PushL(logoContainer);
+    iOperatorLogos.AppendL( logoContainer );
+    CleanupStack::Pop(logoContainer);
     CleanupStack::Pop( bitMap );
     CleanupStack::PopAndDestroy( hbuf );
     
--- a/phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerObject.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerObject.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 // INCLUDE FILES
 
-#include "CPhSrvMessengerObject.h"
-#include "CPhSrvSubSessionBase.h"
-#include "CPhSrvSession.h" // Phone server session.
-#include "PhSrvDebugInfo.h"
+#include "cphsrvmessengerobject.h" 
+#include "cphsrvsubsessionbase.h" 
+#include "cphsrvsession.h" // Phone server session. 
+#include "phsrvdebuginfo.h" 
 
 
 // CONSTANTS
--- a/phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerRequestManager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerRequestManager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,12 +20,12 @@
 
 
 // INCLUDES
-#include "CPhSrvMessengerRequestManager.h"
-#include "CPhSrvMessengerObject.h"
-#include "CPhSrvSubSessionBase.h"
-#include "PhSrvUtils.h"
-#include "PhSrvMessengerTypes.h"
-#include "PhSrvDebugInfo.h"
+#include "cphsrvmessengerrequestmanager.h" 
+#include "cphsrvmessengerobject.h" 
+#include "cphsrvsubsessionbase.h" 
+#include "phsrvutils.h" 
+#include "phsrvmessengertypes.h" 
+#include "phsrvdebuginfo.h" 
 
 
 // CONSTANTS
@@ -481,7 +481,11 @@
                         // Reservation was successful, so use reserved buffer
                         // as a new default buffer. 
                         // But first delete the old buffer.
-                        delete iDefaultSizeBuffer;
+                        if( iDefaultSizeBuffer )
+                            {
+                            delete iDefaultSizeBuffer;
+                            iDefaultSizeBuffer = NULL;
+                            }
                         iDefaultSizeBuffer = variableSizeBuffer;
                         }
                     }
--- a/phoneclientserver/phoneserver/Src/Messenger/CPhSrvSubSessionMessenger.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Messenger/CPhSrvSubSessionMessenger.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,12 +20,12 @@
 
 
 // INCLUDE FILES
-#include    "CPhSrvSubSessionMessenger.h"
-#include    "CPhSrvSession.h"
-#include    "CPhSrvServer.h"
-#include    <PhCltTypes.h>
-#include    "MPhSrvMessengerNegotiators.h"
-#include    "PhSrvMessengerTypes.h"
+#include    "cphsrvsubsessionmessenger.h" 
+#include    "cphsrvsession.h" 
+#include    "cphsrvserver.h" 
+#include    <phclttypes.h> 
+#include    "mphsrvmessengernegotiators.h" 
+#include    "phsrvmessengertypes.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvEmergencyNumberManager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvEmergencyNumberManager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,14 +18,14 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvEmergencyNumberManager.h"
-#include "MPhSrvPhoneInterface.h"
-#include "PhSrvDebugInfo.h"
-#include <cemergencynumberpolicy.h>
+#include "cphsrvemergencynumbermanager.h" 
+#include "mphsrvphoneinterface.h" 
+#include "phsrvdebuginfo.h" 
+#include <cemergencynumberpolicy.h> 
 
 // CONSTANTS
-_LIT(KPhSrvDosEnPolicyLibName, "DosEnPolicy.dll");  // DOS emergency number policy
-_LIT(KPhSrvSosEnPolicyLibName, "SosEnPolicy.dll");  // SOS emergency number policy
+_LIT(KPhSrvDosEnPolicyLibName, "dosenpolicy.dll");  // DOS emergency number policy
+_LIT(KPhSrvSosEnPolicyLibName, "sosenpolicy.dll");  // SOS emergency number policy
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvPhoneController.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvPhoneController.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvPhoneController.h"
+#include "cphsrvphonecontroller.h" 
 #include <mmtsy_names.h>
 
 
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvResourceManager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvResourceManager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvResourceManager.h"
-#include "PhCltClientServer.h"
+#include "cphsrvresourcemanager.h" 
+#include "phcltclientserver.h" 
 #include <bautils.h>
 
 
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvScheduler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvScheduler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,8 +17,8 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvScheduler.h"
-#include "PhSrvUtils.h"
+#include "cphsrvscheduler.h" 
+#include "phsrvutils.h" 
 
 
 
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvServer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvServer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,24 +17,24 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvServer.h"
-#include "CPhSrvSession.h"
-#include "CPhSrvScheduler.h"
-#include "CPhSrvUssdManager.h"
-#include "CPhSrvResourceManager.h"
-#include "CPhSrvPhoneController.h"
-#include "CPhSrvCallRequestManager.h"
-#include "CPhSrvEmergencyRequestManager.h"
-#include "CPhSrvEmergencyNumberManager.h"
+#include "cphsrvserver.h" 
+#include "cphsrvsession.h" 
+#include "cphsrvscheduler.h" 
+#include "cphsrvussdmanager.h" 
+#include "cphsrvresourcemanager.h" 
+#include "cphsrvphonecontroller.h" 
+#include "cphsrvcallrequestmanager.h" 
+#include "cphsrvemergencyrequestmanager.h" 
+#include "cphsrvemergencynumbermanager.h" 
 
-#include "PhSrvUtils.h"
-#include "KPhSrvConfigure.h"            // debugprints ON/OFF
-#include "PhSrvDebugInfo.h"
+#include "phsrvutils.h" 
+#include "kphsrvconfigure.h" // debugprints ON/OFF 
+#include "phsrvdebuginfo.h" 
 
-#include "MPhSrvComHandNegotiators.h"
-#include "CPhSrvComHandRequestManager.h"
-#include "MPhSrvMessengerNegotiators.h"
-#include "CPhSrvMessengerRequestManager.h"
+#include "mphsrvcomhandnegotiators.h" 
+#include "cphsrvcomhandrequestmanager.h" 
+#include "mphsrvmessengernegotiators.h" 
+#include "cphsrvmessengerrequestmanager.h" 
 #include <featmgr.h>
 
 
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvSession.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvSession.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,11 +18,11 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvServer.h"
-#include "CPhSrvSession.h"
-#include "CPhSrvSubSessionBase.h"
-#include "PhSrvSubSessionFactory.h"
-#include "PhCltClientServer.h"
+#include "cphsrvserver.h" 
+#include "cphsrvsession.h" 
+#include "cphsrvsubsessionbase.h" 
+#include "phsrvsubsessionfactory.h" 
+#include "phcltclientserver.h" 
 
 // CONSTANTS
 
@@ -60,7 +60,6 @@
 // Destructor.
 // -----------------------------------------------------------------------------
 //
-
 CPhSrvSession::~CPhSrvSession()
     {
     if ( iServer )
@@ -69,10 +68,9 @@
         }
 
     delete iObjectIx;
-
-    if ( iContainer )
+   
+   if ( iContainer )
         {
-        //coverity[var_deref_model]
         iServer->RemoveContainer( iContainer );
         iContainer = NULL;
         }
@@ -183,18 +181,18 @@
         
         if ( subSession )
             {
-	        // Check that the subsession can handle this request
-	        if ( !subSession->PhSrvMessageDecoderCanProcessMessage( function ) )
-	            {
-	            PanicClient(
-	                aMessage,
-	                EPhCltServerInitiatedPanicInvalidHandle );
-	            }
-	        else
-	            {
-	            // Get it to process this request
-	            subSession->PhSrvMessageProcessorHandleMessageL( aMessage );
-	            }
+            // Check that the subsession can handle this request
+            if ( !subSession->PhSrvMessageDecoderCanProcessMessage( function ) )
+                {
+                PanicClient(
+                    aMessage,
+                    EPhCltServerInitiatedPanicInvalidHandle );
+                }
+            else
+                {
+                // Get it to process this request
+                subSession->PhSrvMessageProcessorHandleMessageL( aMessage );
+                }
             }            
         }
     }
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvSubSessionBase.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvSubSessionBase.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvSubSessionBase.h"
-#include "CPhSrvSession.h"
-#include "CPhSrvSubSessionNotifier.h"
+#include "cphsrvsubsessionbase.h" 
+#include "cphsrvsession.h" 
+#include "cphsrvsubsessionnotifier.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvSubSessionUssd.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvSubSessionUssd.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,17 +17,17 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvSubSessionUssd.h"
+#include "cphsrvsubsessionussd.h" 
 
 #include    <etelmm.h>            // ETel
 
-#include "PhSrvUtils.h"
-#include "CPhSrvSession.h"
-#include "CPhSrvServer.h"
+#include "phsrvutils.h" 
+#include "cphsrvsession.h" 
+#include "cphsrvserver.h" 
 
-#include "CPhSrvUssdManager.h"
+#include "cphsrvussdmanager.h" 
 
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/phoneserver/Src/Standard/PhSrvDebugInfo.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/PhSrvDebugInfo.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 #include    <e32svr.h>                  // rdebug
 #include    <f32file.h>                 // file and FS
 #include    <utf.h>                     // converter
-#include    "PhSrvDebugInfo.h"          // this
-#include    "KPhSrvConfigure.h"         // defines
+#include    "phsrvdebuginfo.h" // this 
+#include    "kphsrvconfigure.h" // defines 
 
 
 // Initialize
--- a/phoneclientserver/phoneserver/Src/Standard/PhSrvStartUp.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/PhSrvStartUp.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 
 // INCLUDE FILES
-#include "PhSrvStartUp.h"
-#include "CPhSrvScheduler.h"
-#include "CPhSrvServer.h"
-#include "PhSrvUtils.h"
+#include "phsrvstartup.h" 
+#include "cphsrvscheduler.h" 
+#include "cphsrvserver.h" 
+#include "phsrvutils.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
--- a/phoneclientserver/phoneserver/Src/Standard/PhSrvSubSessionFactory.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/PhSrvSubSessionFactory.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,16 +19,16 @@
 
 
 // INCLUDES
-#include "PhCltClientServer.h"
+#include "phcltclientserver.h" 
 
-#include "PhSrvSubSessionFactory.h"
-#include "CPhSrvSubSessionNotifier.h"
-#include "CPhSrvSubSessionExtCall.h"
-#include "CPhSrvSubSessionUssd.h"
-#include "CPhSrvSubSessionEmergencyNum.h"
-#include "CPhSrvSubSessionCommandHandler.h"
-#include "CPhSrvSubSessionMessenger.h"
-#include "CPhSrvSubSessionImageHandler.h"
+#include "phsrvsubsessionfactory.h" 
+#include "cphsrvsubsessionnotifier.h" 
+#include "cphsrvsubsessionextcall.h" 
+#include "cphsrvsubsessionussd.h" 
+#include "cphsrvsubsessionemergencynum.h" 
+#include "cphsrvsubsessioncommandhandler.h" 
+#include "cphsrvsubsessionmessenger.h" 
+#include "cphsrvsubsessionimagehandler.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -97,11 +97,11 @@
             subSession = 
                 CPhSrvSubSessionMessenger::NewL( aSession );
             break;
+
         case EPhoneServerImageHandlerSubSessionOpen:
             subSession = CPhSrvSubSessionImageHandler::NewL( aSession );
             break;
         default:
-            User::Leave( KErrArgument );
             break;
         }
 
@@ -132,10 +132,10 @@
         case EPhoneServerComHandNotifySubSessionOpen:
             if ( aSID == KPhoneSecureId.iUid 
 #if defined(__WINSCW__)
-							// To enable module testing using EUnit
-								|| aSID == KEunitExeRunnerId.iUid 
+                            // To enable module testing using EUnit
+                                || aSID == KEunitExeRunnerId.iUid 
 #endif // __WINSCW__
-								)
+                                )
                 {       
                 return ETrue;   
                 }
--- a/phoneclientserver/phoneserver/Src/Standard/PhSrvUtils.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/PhSrvUtils.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "PhSrvUtils.h"
+#include "phsrvutils.h" 
 
 
 // CONSTANTS
--- a/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhCltExtPhoneDialData.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhCltExtPhoneDialData.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include <cphcltextphonedialdata.h>
+#include <cphcltextphonedialdata.h> 
 #include <cphcltdialdata.h>
 
 
@@ -484,7 +484,7 @@
     packageSize+=sizeof( iRedialMaximumDuration.Int() );
     if ( iContactLink )
         {
-    	packageSize += CalculateDescriptorSize( *iContactLink );
+        packageSize += CalculateDescriptorSize( *iContactLink );
         }
     packageSize += CalculateDescriptorSize( iSubAddress );
     packageSize += sizeof( iShowNumber);
@@ -628,9 +628,9 @@
     stream.WriteInt32L( iRedial );
     stream.WriteInt32L( iRedialMaximumDuration.Int() );
     if ( iContactLink )
-    	{
-    	WriteDescriptorToStreamL( stream, *iContactLink );
-    	}
+        {
+        WriteDescriptorToStreamL( stream, *iContactLink );
+        }
     stream << iSubAddress;
     stream.WriteInt32L( iShowNumber );
     stream.WriteInt32L( iAllowMatch );
--- a/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvCallRequest.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvCallRequest.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 // INCLUDE FILES
 
-#include "CPhSrvCallRequest.h"
-#include "PhSrvUtils.h"
+#include "cphsrvcallrequest.h" 
+#include "phsrvutils.h" 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -35,7 +35,7 @@
     const RMessage2& aMessage, 
     CPhCltExtPhoneDialData& aArguments,
     TInt aSubSessionHandle )
-	: iPendingRequestPointer( aMessage ),      
+    : iPendingRequestPointer( aMessage ),      
     iSubSessionHandle( aSubSessionHandle )
     {
     iCallArguments = &aArguments;
@@ -153,7 +153,7 @@
     TInt aSubSessionHandle)
     {
   
-	__ASSERT_ALWAYS(  aArguments.TelephoneNumber() == KPhSrvUsedEmergencyCallNumber, 
+    __ASSERT_ALWAYS(  aArguments.TelephoneNumber() == KPhSrvUsedEmergencyCallNumber, 
         PhoneServerUtils::Panic( 
             EPhoneServerPanicEmergencyCallRequestFailure ) );
             
@@ -174,7 +174,7 @@
         {
         return;
         }
-	__ASSERT_ALWAYS(  
+    __ASSERT_ALWAYS(  
         iCallArguments->TelephoneNumber() == KPhSrvUsedEmergencyCallNumber, 
         PhoneServerUtils::Panic( 
             EPhoneServerPanicEmergencyCallRequestFailure ) );
--- a/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvCallRequestManager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvCallRequestManager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,10 +18,10 @@
 
 
 // INCLUDES
-#include "CPhSrvCallRequestManager.h"
-#include "CPhSrvCallRequest.h"
-#include "CPhSrvSubSessionBase.h"
-#include "PhSrvUtils.h"
+#include "cphsrvcallrequestmanager.h" 
+#include "cphsrvcallrequest.h" 
+#include "cphsrvsubsessionbase.h" 
+#include "phsrvutils.h" 
 
 
 // CONSTANTS
--- a/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvEmergencyRequestManager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvEmergencyRequestManager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDES
-#include "CPhSrvEmergencyRequestManager.h"
-#include "CPhSrvSubSessionBase.h"
-#include "PhSrvUtils.h"
+#include "cphsrvemergencyrequestmanager.h" 
+#include "cphsrvsubsessionbase.h" 
+#include "phsrvutils.h" 
 
 
 // CONSTANTS
@@ -127,10 +127,11 @@
 //
 void CPhSrvEmergencyRequestManager::EmergencyDialCancel()
     {
+    // Clear pending request status 
+    iIsRequestPending = EFalse;
+    
     if ( !iPendingRequestPointer.IsNull() )
         {
-        // Clear pending request status 
-        iIsRequestPending = EFalse;
         iPendingRequestPointer.Complete( KErrCancel );
         }
     }
--- a/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvSubSessionEmergencyNum.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvSubSessionEmergencyNum.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,15 +18,15 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvSubSessionEmergencyNum.h"
+#include "cphsrvsubsessionemergencynum.h" 
 #include <s32mem.h>
-#include <PhCltTypes.h>
-#include "CPhSrvSession.h"
-#include "CPhSrvServer.h"
-#include "MPhSrvPhoneInterface.h"
-#include "MPhSrvEmergencyNumberManager.h"
-#include "MPhSrvEmergencyNegotiators.h"
-#include "PhSrvDebugInfo.h"
+#include <phclttypes.h> 
+#include "cphsrvsession.h" 
+#include "cphsrvserver.h" 
+#include "mphsrvphoneinterface.h" 
+#include "mphsrvemergencynumbermanager.h" 
+#include "mphsrvemergencynegotiators.h" 
+#include "phsrvdebuginfo.h" 
 
 // CONSTANTS
 
--- a/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvSubSessionExtCall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvSubSessionExtCall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,10 +17,10 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvSubSessionExtCall.h"
-#include "CPhSrvSession.h"
-#include "CPhSrvServer.h"
-#include "MPhSrvObjectNegotiators.h"
+#include "cphsrvsubsessionextcall.h" 
+#include "cphsrvsession.h" 
+#include "cphsrvserver.h" 
+#include "mphsrvobjectnegotiators.h" 
 
 // Hash mark
 _LIT( KPhoneHash, "#" );
@@ -93,21 +93,21 @@
             break;
         case EPhoneServerExtCallSubSessionMakeCall:
             CreateCallArgsL( aMessage );
-			// Checks if telephone number contains dtmf string
-           	dtmfNumber = IsDtmfPhoneNumber( iCallArgs->TelephoneNumber());
-           	if ( !dtmfNumber )
-           	    {
-           	    // Checks if telephone number is USSD/SS string
-           	    isSSUssd = ( iCallArgs->TelephoneNumber().Right( KPhoneHash().Length() ) == KPhoneHash );
-           	    if ( isSSUssd )
-           	        { 
-           	        // Capabilities needed if USSD/SS string
+            // Checks if telephone number contains dtmf string
+            dtmfNumber = IsDtmfPhoneNumber( iCallArgs->TelephoneNumber());
+            if ( !dtmfNumber )
+                {
+                // Checks if telephone number is USSD/SS string
+                isSSUssd = ( iCallArgs->TelephoneNumber().Right( KPhoneHash().Length() ) == KPhoneHash );
+                if ( isSSUssd )
+                    { 
+                    // Capabilities needed if USSD/SS string
                     hasCapNetworkControlAndServices = aMessage.HasCapability( ECapabilityNetworkControl, 
                                                               ECapabilityNetworkServices );
                     hasCapWriteAndReadDeviceData = aMessage.HasCapability( ECapabilityReadDeviceData, ECapabilityWriteDeviceData );
                     hasUssdSSCaps =  hasCapNetworkControlAndServices && hasCapWriteAndReadDeviceData;
-           	        }   
-           	    }
+                    }   
+                }
            if ( ( hasCapNetworkServices && !isSSUssd ) ||  hasUssdSSCaps )
                 {
                 CmdSubSessionMakeCallL( aMessage );
@@ -160,7 +160,7 @@
 //
 void CPhSrvSubSessionExtCall::CmdSubSessionMakeCallL( 
     const RMessage2& aMessage )
-    {				
+    {               
 
     // Submit a new request to the call manager
     MPhSrvNegotiatorCall& callNegotiator = PhoneSession().PhoneServer(
@@ -194,14 +194,14 @@
 void CPhSrvSubSessionExtCall::CreateCallArgsL( const RMessage2& aMessage )
     {
     HBufC8* package = HBufC8::NewLC( aMessage.Int1() ); 
- 	TPtr8 calldata( package->Des() );
-	PhoneSession().Read(
+    TPtr8 calldata( package->Des() );
+    PhoneSession().Read(
             aMessage,
             0,
             calldata );
-             								 
-   	iCallArgs = CPhCltExtPhoneDialData::NewL( *package );
-   	CleanupStack::PopAndDestroy( package );
+                                             
+    iCallArgs = CPhCltExtPhoneDialData::NewL( *package );
+    CleanupStack::PopAndDestroy( package );
     }
     
 // -----------------------------------------------------------------------------
--- a/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvSubSessionNotifier.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/CPhSrvSubSessionNotifier.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,13 +18,13 @@
 
 
 // INCLUDE FILES
-#include <PhCltTypes.h>
-#include "CPhSrvSubSessionNotifier.h"
-#include "CPhSrvSession.h"
-#include "CPhSrvServer.h"
-#include "MPhSrvEmergencyNegotiators.h"
-#include "MPhSrvObjectNegotiators.h"
-#include "MPhSrvComHandNegotiators.h"
+#include <phclttypes.h> 
+#include "cphsrvsubsessionnotifier.h" 
+#include "cphsrvsession.h" 
+#include "cphsrvserver.h" 
+#include "mphsrvemergencynegotiators.h" 
+#include "mphsrvobjectnegotiators.h" 
+#include "mphsrvcomhandnegotiators.h" 
 
 // CONSTANTS
 // None.
@@ -211,7 +211,7 @@
         iPendingDialRequestPointer.Complete( KErrNone );
         }
     iHavePendingDialRequestPointer = EFalse;
-	
+    
     }
 
 
@@ -331,26 +331,26 @@
 //
 void CPhSrvSubSessionNotifier::CmdSubSessionCloneDialDataL(
  CPhCltExtPhoneDialData& aArgs )
-	{
-	iDialData = CPhCltExtPhoneDialData::NewL();
-	iDialData->SetTelephoneNumber( aArgs.TelephoneNumber() );
-	iDialData->SetCallType( aArgs.CallType() );
-	iDialData->SetNameL( aArgs.Name() );
-	iDialData->SetWindowGroup( aArgs.WindowGroup() );
-	iDialData->SetRedial( aArgs.Redial() );
-	iDialData->SetRedialMaximumDuration( aArgs.RedialMaximumDuration() );
-	iDialData->SetContactLinkL( aArgs.ContactLink() );
-	iDialData->SetSubAddressL( aArgs.SubAddress() );
-	iDialData->SetShowNumber( aArgs.ShowNumber() );
-	iDialData->SetAllowMatch( aArgs.AllowMatch() );
-	iDialData->SetSATCall( aArgs.SATCall() );
-	iDialData->SetEndOtherCalls( aArgs.EndOtherCalls() );
-	iDialData->SetBearerL( aArgs.Bearer() );
-	iDialData->SetSendKeyPressed( aArgs.SendKeyPressed() );
-	iDialData->SetInitiateCall( aArgs.InitiateCall() );
-	iDialData->SetServiceId( aArgs.ServiceId() );
-	iDialData->SetUUIL( aArgs.UUI() );
-	}
+    {
+    iDialData = CPhCltExtPhoneDialData::NewL();
+    iDialData->SetTelephoneNumber( aArgs.TelephoneNumber() );
+    iDialData->SetCallType( aArgs.CallType() );
+    iDialData->SetNameL( aArgs.Name() );
+    iDialData->SetWindowGroup( aArgs.WindowGroup() );
+    iDialData->SetRedial( aArgs.Redial() );
+    iDialData->SetRedialMaximumDuration( aArgs.RedialMaximumDuration() );
+    iDialData->SetContactLinkL( aArgs.ContactLink() );
+    iDialData->SetSubAddressL( aArgs.SubAddress() );
+    iDialData->SetShowNumber( aArgs.ShowNumber() );
+    iDialData->SetAllowMatch( aArgs.AllowMatch() );
+    iDialData->SetSATCall( aArgs.SATCall() );
+    iDialData->SetEndOtherCalls( aArgs.EndOtherCalls() );
+    iDialData->SetBearerL( aArgs.Bearer() );
+    iDialData->SetSendKeyPressed( aArgs.SendKeyPressed() );
+    iDialData->SetInitiateCall( aArgs.InitiateCall() );
+    iDialData->SetServiceId( aArgs.ServiceId() );
+    iDialData->SetUUIL( aArgs.UUI() );
+    }
     
 // -----------------------------------------------------------------------------
 // CPhSrvSubSessionNotifier::CmdSubSessionDialDataL
--- a/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/cphcltdialdata.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Standard/Standard_Aiw/cphcltdialdata.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include <cphcltdialdata.h>
-#include "cphcltextphonedialdata.h" // For correct default values
+#include "cphcltextphonedialdata.h" // For correct default values 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdManager.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdManager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -16,26 +16,20 @@
 */
 
 // INCLUDE FILES
-#include "CPhSrvUssdManager.h"
-#include "PhSrvUtils.h"
-#include "CPhSrvUssdSendHandler.h"
-#include "CPhSrvUssdReceiveHandler.h"
-#include "CPhSrvUssdNotifyNWRelease.h"
-#include "CPhSrvResourceManager.h"
-#include "CPhSrvUssdReplyTimer.h"
-#include "MPhSrvUssdMessageSentObserver.h"
-#include "MPhSrvPhoneInterface.h"
-#include "CPhSrvUssdSessionCancelWaiter.h"
+#include "cphsrvussdmanager.h" 
+#include "phsrvutils.h" 
+#include "cphsrvussdsendhandler.h" 
+#include "cphsrvussdreceivehandler.h" 
+#include "cphsrvussdnotifynwrelease.h" 
+#include "cphsrvresourcemanager.h" 
+#include "cphsrvussdreplytimer.h" 
+#include "mphsrvussdmessagesentobserver.h" 
+#include "mphsrvphoneinterface.h" 
+#include "cphsrvussdsessioncancelwaiter.h" 
 
-#include <AknGlobalNote.h>
-#include <aknnotedialog.h>
-#include <aknstaticnotedialog.h>
-#include <AknProgressDialog.h>
 #include <apacmdln.h>
 #include <apgtask.h>
 #include <bautils.h>
-#include <StringLoader.h>
-#include <AknGlobalMsgQuery.h>
 #include <textresolver.h>
 #include <charconv.h>
 #include <gsmuelem.h>
@@ -44,32 +38,26 @@
 
 #include <w32std.h>
 #include <apgcli.h>
-#include <CPhCltUssd.h>
-#include <avkon.rsg>
-#include <PhoneServer.rsg>
-#include <telservicesvariant.hrh>
-#include "PhSrvDebugInfo.h"
+#include <cphcltussd.h> 
+#include <hbtextresolversymbian.h>
+#include <phoneserver.rsg> 
+#include "phsrvdebuginfo.h" 
 #include <e32property.h>
-
-#include <NcnListInternalPSKeys.h>
 #include <centralrepository.h>
-#include <telservicesinternalcrkeys.h>
 #include <coreapplicationuisdomainpskeys.h>
 
-//RM-RIM 417-66528
-#include <CUssdExtensionInterface.h>
 
 // CONSTANTS
 const TInt KPhSrvDefaultValue = 0x00000000;
-// const TInt KPhSrvUssdNoTone = 0; // See SharedDataKeysVariant.h or NcnListInternalPSKeys.h
-const TInt KPhSrvUssdTone   = 2; // See SharedDataKeysVariant.h or NcnListInternalPSKeys.h
-
+// See SharedDataKeysVariant.h or NcnListInternalPSKeys.h
+// const TInt KPhSrvUssdNoTone = 0; 
 // const TInt KPhSrvUssdTimeOutObserverGranularity = 2;
 // const TInt KPhSrvUssdSentMessageObserverGranularity = 2;
-const TInt KPhSrvUssdAppUID = 0x10005955;
+// See KUssdSecureId in phcltclientserver.h
+//const TInt KPhSrvUssdAppUID = 0x10005955; 
 
 const TInt KPhSrvUssdMessageQueryInterval = 500000; // 0.5 sec
-const TInt KPhSrvUssdNoteExitPeriod = 500000; // 0.5 sec
+//const TInt KPhSrvUssdNoteExitPeriod = 500000; // 0.5 sec
 //
 const TUint KPhSrvUssdDefaultDCS = 0x0f;                        // 00001111
 
@@ -94,6 +82,24 @@
 const TUint KPhSrvUssdDcsMessageHandlingAlphabet8Bit = 0xf4;    // 1111x1xx
 const TInt KPhrUssdNotifyArraySize = 1;
 
+// Refers to HbPopup::NoDismiss = 0
+const TInt KPhSrvUssdPopupDismissPolicy = 0; 
+// The time out only for testing, from CPhSrvUssdReplyTimer.cpp
+const TUint KPhSrvUssdTimeout = 300000000;
+
+// Use QT style localization
+_LIT(KUssdLocFilename, "ussd_");
+_LIT(KCommonLocFilename, "common_");
+_LIT(KLocPath, "z:\\resource\\qt\\translations");
+_LIT(KUssdReply, "txt_ussd_button_reply"); // Reply
+_LIT(KUssdExit, "txt_ussd_button_exit"); // Exit
+_LIT(KUssdNext, "txt_ussd_button_next"); //Next
+_LIT(KUssdYes, "txt_common_button_yes"); // Yes
+_LIT(KUssdNo, "txt_common_button_no"); // No
+_LIT(KUssdTitle, "txt_ussd_title_message"); // Message
+_LIT(KUssdDone, "txt_ussd_dpopinfo_done"); // Done
+_LIT(KUssdConfirm, "txt_ussd_info_there_are_still_unread_notifications");
+
 // MACROS
 
 #define _DPRINT_FLAGS() \
@@ -381,9 +387,10 @@
     :CActive( EPriorityLow ),
      iFsSession( aFsSession ),
      iResourceManager( aResourceManager ),
+     iDeviceDialog( NULL ),
      iDCS ( KPhCltDcsUnknown ),
-     iReturnResultPckg ( iReturnResult )
-
+     iReturnResultPckg ( iReturnResult ),
+     iTextBuffer ( NULL )
     {
     CActiveScheduler::Add( this );
     }
@@ -398,7 +405,7 @@
 //
 CPhSrvUssdManager::~CPhSrvUssdManager()
     {
-    _DPRINT( 4, "PhSrv.~CPhSrvUssdManager.start" );       // debug print
+    _DPRINT( 4, "PhSrv.~CPhSrvUssdManager.start" );
 
 
     delete iUssdSendHandler;
@@ -413,9 +420,12 @@
     Cancel();
 
     iTimer.Close();
-
-    delete iGlobalMsgQuery;
-    iGlobalMsgQuery = NULL;
+    
+    delete iTextBuffer;
+    iTextBuffer = NULL;
+    
+    delete iDeviceDialog;
+    iDeviceDialog = NULL;
 
     if ( iNotifyArray )
         {
@@ -432,17 +442,10 @@
     iFsSession.Close();
 
     iMobileUssdMessaging.Close();
-
-    delete iMeQuHeaderText;
-    iMeQuHeaderText = NULL;
     
     delete iMoAckCallback;
 
-    // RM-RIM 417-66528
-    delete iUssdExtnInterface;
-    iUssdExtnInterface = NULL;
-        
-    _DPRINT( 4, "PhSrv.~CPhSrvUssdManager.end" );       // debug print
+    _DPRINT( 4, "PhSrv.~CPhSrvUssdManager.end" );
     }
 
 
@@ -455,7 +458,10 @@
 //
 void CPhSrvUssdManager::ConstructL( MPhSrvPhoneInterface& aPhoneInterface )
     {
-    _DPRINT( 4, "PhSrv.ConstructL.Start" );       // debug print
+    _DPRINT( 4, "PhSrv.ConstructL.Start" );
+    const TBool textResolver = HbTextResolverSymbian::Init( 
+        KUssdLocFilename, KLocPath );
+    _DDPRINT( 4, "PhSrv.ConstructL.ussd loc:", textResolver );
     User::LeaveIfError( iTimer.CreateLocal() );
 
     User::LeaveIfError( iMobileUssdMessaging.Open( aPhoneInterface.PhSrvMobilePhone() ) );
@@ -491,18 +497,10 @@
 
     User::LeaveIfError( GetTelephonyVariantData() );
 
-    iMeQuHeaderText = iResourceManager.ReadResourceLC(
-        R_PHSRV_USSD_MESQUERY_MESSAGE);
-    CleanupStack::Pop( iMeQuHeaderText );
-
-	_DDPRINT( 4, "PhSrv.ConstructL.iSatCanceled ", iSatCanceled );
+    _DDPRINT( 4, "PhSrv.ConstructL.iSatCanceled ", iSatCanceled );
     _DDPRINT( 4, "PhSrv.ConstructL.iShowDone ", iShowDone );
     iNotifyArray = new( ELeave ) CDesCArrayFlat( KPhrUssdNotifyArraySize );
-    
-    // RM-RIM 417-66528
-    TRAP_IGNORE(iUssdExtnInterface = CUssdExtensionInterface::NewL());
-    _DPRINT( 4, "PhSrv.ConstructL.iUssdExtnInterface Created");
-    _DPRINT( 4, "PhSrv.ConstructL.End" );       // debug print
+    _DPRINT( 4, "PhSrv.ConstructL.End" );
     }
 
 
@@ -517,20 +515,20 @@
     {
     // If SendHandler is not created, first check that MO Ussd
     // is supported by the TSY.
-    _DPRINT( 4, "PhSrv.SendHandlerL.Start" );       // debug print
+    _DPRINT( 4, "PhSrv.SendHandlerL.Start" );
     if ( iUssdSendHandler == NULL )
         {
-        _DPRINT( 4, "PhSrv.SendHandlerL.iUssdSendHandler.NULL" );       // debug print
+        _DPRINT( 4, "PhSrv.SendHandlerL.iUssdSendHandler.NULL" );
         RMobileUssdMessaging::TMobileUssdCapsV1 caps;
         RMobileUssdMessaging::TMobileUssdCapsV1Pckg pckgCaps( caps );
         User::LeaveIfError( iMobileUssdMessaging.GetCaps( pckgCaps ) );
-        _DPRINT( 4, "PhSrv.SendHandlerL.iMobileUssdMessaging.GetCaps" );       // debug print
+        _DPRINT( 4, "PhSrv.SendHandlerL.iMobileUssdMessaging.GetCaps" );
 
         if ( ( caps.iUssdTypes & RMobileUssdMessaging::KCapsMOUssd ) == 0 ||
             ( caps.iUssdFormat & RMobileUssdMessaging::KCapsPackedString )
             == 0 )
             {
-            _DPRINT( 4, "PhSrv.SendHandlerL.KErrNotSupported" );       // debug print
+            _DPRINT( 4, "PhSrv.SendHandlerL.KErrNotSupported" );
             User::Leave( KErrNotSupported );
             }
 
@@ -540,7 +538,7 @@
                 iMobileUssdMessaging,
                 *iPhoneInterface );
         }
-    _DPRINT( 4, "PhSrv.SendHandlerL.End" );       // debug print
+    _DPRINT( 4, "PhSrv.SendHandlerL.End" );
     return *iUssdSendHandler;
     }
 
@@ -557,25 +555,15 @@
     RMobileUssdMessaging::TMobileUssdAttributesV1& aMsgAttribute,
     MPhSrvUssdMessageSentObserver& aObserver )
     {
-    _DPRINT( 4, "PhSrv.SendUssdL.Start ######" );           // debug print
+    _DPRINT( 4, "PhSrv.SendUssdL.Start ######" );
     _DPRINT_FLAGS();
     
-    //417-66528
-    if (iUssdExtnInterface)
-        {
-        if(!iUssdExtnInterface->ValidateUssdMsgSending(aMsgData,aMsgAttribute))
-            {
-            // invalid attempt to send USSD message. Show the note 
-            User::Leave( KErrAccessDenied );
-            }
-        }
-    
     if ( iObserver && iNetworkReleased ) 
         {
         // Network has been released but the previous send request is still alive.
         // Cancel the pervious send operation, complete the old request with error
         // and clean up the pointer.
-        _DPRINT( 4, "PhSrv.SendUssdL.Error.Complete.Existing" );           // debug print
+        _DPRINT( 4, "PhSrv.SendUssdL.Error.Complete.Existing" );
         if ( iUssdSendHandler ) 
             {
             iUssdSendHandler->Cancel();
@@ -586,7 +574,7 @@
     
     if ( iObserver || iSendingAck )
         {
-        _DPRINT( 4, "PhSrv.SendUssdL.KErrInUse" );           // debug print
+        _DPRINT( 4, "PhSrv.SendUssdL.KErrInUse" );
         // Other client is using the service.
         User::Leave( KErrInUse );
         }
@@ -594,14 +582,14 @@
     // Check that message type is set
     if( ( aMsgAttribute.iFlags & RMobileUssdMessaging::KUssdMessageType )
         == 0 )
-        _DPRINT( 4, "PhSrv.SendUssdL.KUssdMessageType.0" );       // debug print
+        _DPRINT( 4, "PhSrv.SendUssdL.KUssdMessageType.0" );
         {
         // Mesasge type not set -> Set it.
         aMsgAttribute.iFlags |= RMobileUssdMessaging::KUssdMessageType;
         if ( NetworkWaitingForAnAnswer() )
             {
             // Network is waiting for an answer
-            _DPRINT( 4, "PhSrv.SendUssdL.EUssdMOReply" );	// debug print
+            _DPRINT( 4, "PhSrv.SendUssdL.EUssdMOReply" );   // debug print
             aMsgAttribute.iType = RMobileUssdMessaging::EUssdMOReply;
             }
         else
@@ -614,7 +602,7 @@
     RMobileUssdMessaging::TMobileUssdAttributesV1Pckg attribs( aMsgAttribute );
     iShowDone = ETrue;
     _DPRINT( 4, "PhSrv.SendUssdL.iShowDone.ETrue" );
-    _DPRINT( 4, "PhSrv.SendUssdL.Send" );           // debug print
+    _DPRINT( 4, "PhSrv.SendUssdL.Send" );
     SendHandlerL().SendUssdL( aMsgData , attribs );
     iObserver = &aObserver;
     // Not closing nor closed anymore
@@ -629,7 +617,7 @@
         _DPRINT( 4, "PhSrv.SendUssdCancel.TimerStop" );   // debug print
         iUssdReplyTimer->Stop();
         }
-    _DPRINT( 4, "PhSrv.SendUssdL.End" );           // debug print
+    _DPRINT( 4, "PhSrv.SendUssdL.End" );
     }
 
 // -----------------------------------------------------------------------------
@@ -649,7 +637,7 @@
 //
 void CPhSrvUssdManager::SendUssdCancel()
     {
-    _DPRINT( 4, "PhSrv.SendUssdCancel.Start #######" );           // debug print
+    _DPRINT( 4, "PhSrv.SendUssdCancel.Start #######" );
 
     // Ack sending should not be canceled unless it's about terminating
     // the whole session
@@ -668,7 +656,7 @@
     iObserver = NULL;
     
     SetActiveIfPendingNotificationsExist();
-    _DPRINT( 4, "PhSrv.SendUssdCancel.End" );           // debug print
+    _DPRINT( 4, "PhSrv.SendUssdCancel.End" );
     }
 
 // -----------------------------------------------------------------------------
@@ -707,14 +695,14 @@
     // complete SAT if needed
     if ( aError < KErrNone )
         {
-        // debug print
+ 
         _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleSendEventL.CompleteSat" );
         CompleteSatL( NULL, aError );
         }
 
     if ( iObserver )
         {
-        // debug print
+ 
         _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleSendEventL.Observer" );
 
         iObserver->UssdMessageSentObserverHandleResult( aError );
@@ -729,6 +717,7 @@
     _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleSendEventL.End" );
     }
 
+
 // -----------------------------------------------------------------------------
 // CPhSrvUssdManager::UssdAppTaskExists
 //
@@ -744,7 +733,7 @@
     _DPRINT( 4, "PhSrv.UssdAppTaskExists.wsSession.Connect" );
     CleanupClosePushL(wsSession);
     TApaTaskList tasklist(wsSession);
-    TApaTask task = tasklist.FindApp(TUid::Uid(KPhSrvUssdAppUID));
+    TApaTask task = tasklist.FindApp( KUssdSecureId );
     ret = task.Exists();
 
     CleanupStack::PopAndDestroy();
@@ -771,7 +760,7 @@
     if ( aError != KErrNone )
         {
         TurnLightsOn(); //Ensure lights on
-        // debug print
+ 
         _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleReceivedEventL.ShErNote" );
         ShowErrorNoteL( aError );
         }
@@ -788,9 +777,6 @@
 
 // -----------------------------------------------------------------------------
 // CPhSrvUssdManager::UssdHandleReceivedEventL
-//
-//
-//
 // -----------------------------------------------------------------------------
 //
 void CPhSrvUssdManager::UssdHandleReceivedEventL(
@@ -800,15 +786,15 @@
     // This always is either ongoing transaction or starting a new based
     // on incoming message, mark transaction to be open.
     iNetworkReleased = EFalse;
-		
+        
     // 2. Complete Send with some positive value.
-	if ( iObserver )
+    if ( iObserver )
         {
-        // debug print
+ 
         _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.Observer" );
         UssdNetworkObserverHandleSendEventL( 1 ); // some positive value
         }
-	
+    
     if ( aMsgAttributes.iFlags&RMobileUssdMessaging::KUssdMessageType &&
          aMsgAttributes.iType == RMobileUssdMessaging::EUssdMTRequest )
         {
@@ -830,14 +816,6 @@
         {
         iReceivedMessage = iDecodedMessage;
         }
-    // 4. Invoke UssdExtensionPlugin
-    // 417-66528
-    TBool isResponseValidated = EFalse;
-    if (iUssdExtnInterface)
-        {
-        _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.InvokeExtension" );
-        isResponseValidated = iUssdExtnInterface->ValidateUssdResponse(aMsgData);
-        }
     // 5. Show note.
     // debug print
     _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.Note" );
@@ -846,81 +824,77 @@
         {
         if ( !ShowNotesL() )
             {
-            // debug print
+     
             _DPRINT( 4,
                 "PhSrv.UssdHandleReceivedEventL.SAtReturn" );
             return;
             }
         }
-    //6. Check if the response is valid for the extension
-    //RM-RIM 417-66528
-    if (iUssdExtnInterface && isResponseValidated)
-        PorcessReceivedMessageInExtesnionL(aMsgData, aMsgAttributes);
-    else
-        ProcessReceivedMessageL(aMsgData, aMsgAttributes);
-        
-    _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.Editor" );
-    if (aMsgAttributes.iType == RMobileUssdMessaging::EUssdMTRequest
-            && UssdAppTaskExistsL())
-        {
-        iEmptyEditor = ETrue;
-        } _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.End" );
-    }
-// -----------------------------------------------------------------------------
-// CPhSrvUssdManager::ProcessReceivedMessageL
-//
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CPhSrvUssdManager::ProcessReceivedMessageL(const TDes8& /*aMsgData*/,
-        const RMobileUssdMessaging::TMobileUssdAttributesV1& aMsgAttributes)
-    {
+
     // empty string is handled as ok message
-    if (!iDecodedMessage.Length())
+    if ( !iDecodedMessage.Length() )
         {
         TurnLightsOn(); //Ensure lights on
-
-        // debug print
+ 
         _DPRINT( 4,
-                "PhSrv.UssdHandleReceivedEventL.EmptyString" );
+            "PhSrv.UssdHandleReceivedEventL.EmptyString" );
+        
         ShowDoneNoteL();
-        // debug print
+
+ 
         _DPRINT( 4,
-                "PhSrv.UssdHandleReceivedEventL.EmptyString.OK" );
+            "PhSrv.UssdHandleReceivedEventL.EmptyString.OK" );
         }
     else
         {
         _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.String" );
-        iNotifyMessage = (aMsgAttributes.iType
-                == RMobileUssdMessaging::EUssdMTNotify);
-        _DDPRINT( 4, "PhSrv.UssdHandleReceivedEventL.iNotifyMessage: ", iNotifyMessage ); 
+        iNotifyMessage = ( aMsgAttributes.iType == RMobileUssdMessaging::EUssdMTNotify );
+        _DDPRINT( 4, "PhSrv.UssdHandleReceivedEventL.iNotifyMessage: ", iNotifyMessage );
         _DDPRINT( 4, "PhSrv.UssdNOHREventL.iNotifyMessage: ", iNotifyMessage );
-        iMsgTypeReply = (aMsgAttributes.iType
-                == RMobileUssdMessaging::EUssdMTReply);
+        iMsgTypeReply = ( aMsgAttributes.iType == RMobileUssdMessaging::EUssdMTReply );
         _DDPRINT( 4, "PhSrv.UssdHandleReceivedEventL.iMsgTypeReply: ", iMsgTypeReply );
-
-        if (iNotifyMessage)
+        
+        if ( iNotifyMessage ) 
             {
             // need to send an MO ack
-            iAcksToBeSent++;
+            iAcksToBeSent ++;
             }
-
-        if (iNotifyMessage || iMsgTypeReply)
+        
+        if ( !iDeviceDialog  ){
+            iDeviceDialog = CHbDeviceMessageBoxSymbian::NewL(
+                CHbDeviceMessageBoxSymbian::EInformation );
+            iDeviceDialog->SetObserver( this );
+            iDeviceDialog->SetTimeout( KPhSrvUssdTimeout );
+            iDeviceDialog->SetDismissPolicy ( KPhSrvUssdPopupDismissPolicy );
+            iDeviceDialog->SetIconVisible(EFalse);
+            
+            // Show left key with empty string accoring to ui concept
+            iDeviceDialog->SetButton( 
+                CHbDeviceMessageBoxSymbian::EAcceptButton, EFalse );
+            // Show Exit Key always
+            iDeviceDialog->SetButton( 
+                CHbDeviceMessageBoxSymbian::ERejectButton, ETrue );
+            iDeviceDialog->SetButtonTextL(
+                CHbDeviceMessageBoxSymbian::ERejectButton, 
+                LoadDefaultString( KUssdExit ) );
+            _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.Exit" );             
+        }
+      
+        if ( iNotifyMessage || iMsgTypeReply )
             {
             //This is for reply message in notifyarray
             iNotifyMessage = ETrue;
             _DDPRINT( 4, "PhSrv.UssdHandleReceivedEventL.iNotifyMessage: ", iNotifyMessage );
 
             //Notify added to array
-            iNotifyArray->AppendL(iReceivedMessage);
+            iNotifyArray->AppendL( iReceivedMessage );
 
-            _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.AppendL" ); // debug print
-            UpdateNotifyMessage();
+            _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.AppendL" );
+            UpdateNotifyMessageL();
 
-            if (!iSendRelease && NotifyCount() <= 1)
+            if ( !iSendRelease && NotifyCount() <= 1 )
                 {
-                _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.!SendRelease.Cancel" ); // debug print
+                _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.!SendRelease.Cancel" );
                 Cancel();
                 }
             }
@@ -928,80 +902,62 @@
             {
             // New message deletes old message, i.e. Cancel existing query.
             Cancel();
-            _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.NewAnswerable" ); // debug print
+            _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.NewAnswerable" );
+            }
+
+        // Remove Reply key
+        if( !( aMsgAttributes.iFlags & RMobileUssdMessaging::KUssdMessageType )
+             || aMsgAttributes.iType != RMobileUssdMessaging::EUssdMTRequest )
+            {
+            // Remove Answer key
+            iDeviceDialog->SetButton( 
+                CHbDeviceMessageBoxSymbian::EAcceptButton, EFalse );
+            _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.NoAnswer" ); 
+            }
+        // Show Reply key
+        else
+            {
+            iDeviceDialog->SetButton( 
+                CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue );              
+            iDeviceDialog->SetButtonTextL(
+                CHbDeviceMessageBoxSymbian::EAcceptButton, 
+                LoadDefaultString( KUssdReply ) ); 
+            _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.WithAnswer" ); 
             }
-        CreateGlobalMessageQueryL(aMsgAttributes);
+
+ 
+        _DPRINT( 4,
+            "PhSrv.UssdHandleReceivedEventL.String.Middle" );
+
+        // Play the USSD tone if needed. Logically should be in RunL, but here
+        // to give better balancing with voice and visible message.
+        // <-- QT PHONE START-->
+        /*
+        if ( IsTelephonyFeatureSupported( KTelephonyLVFlagUssdTone ) )
+            {
+            _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.PlayTone" );
+            PlayUssdTone();
+            }
+        */
+            // <-- QT PHONE END-->
+        // Launch the new message query
+        if ( !IsActive() )
+            {
+            iLaunchGMQ = ETrue;
+            iTimer.After( iStatus , KPhSrvUssdMessageQueryInterval );
+            SetActive();
+            }
         AsyncProcessMoAcks();
-        } 
-    _DPRINT( 4, "PhSrv.ProcesdReceivedMessageL.End" );
+        }
+    _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.Editor" );
+    if( aMsgAttributes.iType == RMobileUssdMessaging::EUssdMTRequest && UssdAppTaskExistsL() )
+        {
+        iEmptyEditor = ETrue;
+        }
+    _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.End" );
     }
 
 // -----------------------------------------------------------------------------
-// CPhSrvUssdManager::PorcessReceivedMessageInExtesnionL
-//
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CPhSrvUssdManager::PorcessReceivedMessageInExtesnionL(
-        const TDes8& /*aMsgData*/,
-        const RMobileUssdMessaging::TMobileUssdAttributesV1& aMsgAttributes)
-    {
-    TInt errfromextension = KErrNone;
-    // empty string is handled as ok message
-    if (!iDecodedMessage.Length())
-        {
-        // debug print
-        _DPRINT( 4,
-                "PhSrv.UssdHandleReceivedEventL.EmptyString" );
-        //RM-RIM 417-66528
-        TRAP_IGNORE(iUssdExtnInterface->ProcessReceivedUssdL(iDecodedMessage, errfromextension));
-        // debug print
-        _DPRINT( 4,
-                "PhSrv.UssdHandleReceivedEventL.EmptyString.OK" );
-        }
-    else
-        {
-        _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.String" );
-        iNotifyMessage = (aMsgAttributes.iType
-                == RMobileUssdMessaging::EUssdMTNotify);
-        _DDPRINT( 4, "PhSrv.UssdHandleReceivedEventL.iNotifyMessage: ", iNotifyMessage ); 
-        _DDPRINT( 4, "PhSrv.UssdNOHREventL.iNotifyMessage: ", iNotifyMessage );
-        iMsgTypeReply = (aMsgAttributes.iType
-                == RMobileUssdMessaging::EUssdMTReply);
-        _DDPRINT( 4, "PhSrv.UssdHandleReceivedEventL.iMsgTypeReply: ", iMsgTypeReply );
-
-        if (iNotifyMessage)
-            {
-            // need to send an MO ack
-            iAcksToBeSent++;
-            }
-
-        if (iNotifyMessage || iMsgTypeReply)
-            {
-            //This is for reply message in notifyarray
-            iNotifyMessage = ETrue;
-            _DDPRINT( 4, "PhSrv.UssdHandleReceivedEventL.iNotifyMessage: ", iNotifyMessage );
-            if (!iSendRelease && NotifyCount() <= 1)
-                {
-                _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.!SendRelease.Cancel" ); // debug print
-                Cancel();
-                }
-            }
-        else
-            {
-            // New message deletes old message, i.e. Cancel existing query.
-            Cancel();
-            _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.NewAnswerable" ); // debug print
-            }
-        TInt errfromextension = KErrNone;
-        ProcessMoAcksL();
-        iLaunchGMQ = EFalse;
-        TRAP_IGNORE(iUssdExtnInterface->ProcessReceivedUssdL(iDecodedMessage, errfromextension)); 
-        _DDPRINT( 4, "PhSrv.UssdHandleReceivedEventL.Extn.ProcessReceivedUssdL.ErrCode", errfromextension);
-        }
-    }
-// -----------------------------------------------------------------------------
 // CPhSrvUssdManager::RestartReplyTimerL
 //
 //
@@ -1036,31 +992,31 @@
 void CPhSrvUssdManager::UssdNetworkObserverHandleNotifyNWReleaseL(
 const RMobilePhone::TMobilePhoneSendSSRequestV3 & aReturnResult,
 TInt aError )
-	{
- 	_DDPRINT( 4, "PhSrv.UssdNotifyNWRelease ##### ", aError ); // debug print
+    {
+    _DDPRINT( 4, "PhSrv.UssdNotifyNWRelease ##### ", aError ); // debug print
     _DPRINT_FLAGS();
- 	TBool showNotes = ShowNotesL();
- 	iNetworkReleased = ETrue;
- 	iSendingAck = EFalse;
+    TBool showNotes = ShowNotesL();
+    iNetworkReleased = ETrue;
+    iSendingAck = EFalse;
     iSendRelease = EFalse;
- 	iAcksToBeSent = 0;
- 	
- 	if ( iHavePendingSatMessagePointer )
- 		{
- 		iReturnResult = aReturnResult;
- 		if ( !iSatCanceled )
- 			{
- 			CompleteSatL(&iReceivedMessage, aError );
-			_DPRINT( 4, "PhSrv.UssdNetworkObserverHandleNotifyNWReleaseL.CompleteSat" );       // debug print
- 			}
- 		}
- 	if ( iUssdReplyTimer && iUssdReplyTimer->IsTimerActive() )
-    	{
-    	_DPRINT( 4, "PhSrv.UssdNetworkObserverHandleNotifyNWReleaseL.Timer.Stop" );
-    	iUssdReplyTimer->Stop();
-    	Cancel();
-    	CheckArray();
-    	}
+    iAcksToBeSent = 0;
+    
+    if ( iHavePendingSatMessagePointer )
+        {
+        iReturnResult = aReturnResult;
+        if ( !iSatCanceled )
+            {
+            CompleteSatL(&iReceivedMessage, aError );
+            _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleNotifyNWReleaseL.CompleteSat" );
+            }
+        }
+    if ( iUssdReplyTimer && iUssdReplyTimer->IsTimerActive() )
+        {
+        _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleNotifyNWReleaseL.Timer.Stop" );
+        iUssdReplyTimer->Stop();
+        Cancel();
+        CheckArray();
+        }
     if ( showNotes && iShowDone )
         {
         ShowDoneNoteL();
@@ -1070,19 +1026,14 @@
         // if we are sending ack, it can be canceled.
         iUssdSendHandler->Cancel();
         }
-    //417-66528
-    //Notify Extension on NWRelease
-    if(iUssdExtnInterface)
-        {
-        iUssdExtnInterface->NotifyNWError(aError);
-        }
+    
     iSatCanceled = EFalse;
     _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleNotifyNWReleaseL.iSatCanceled.EFalse" );
     iShowDone = EFalse;
     _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleNotifyNWReleaseL.Ending" );
     _DPRINT_FLAGS();
     _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleNotifyNWReleaseL.End" );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhSrvUssdManager::ShowDoneNoteL
@@ -1093,11 +1044,8 @@
     {
     _DDPRINT( 4, "PhSrv.ShowDoneNoteL.iShowDone", iShowDone );
     // Show global confirmation note "Done"
-    HBufC* noteText = iResourceManager.ReadResourceLC( R_PHSRV_TEXT_DONE );
-    CAknGlobalNote* note = CAknGlobalNote::NewLC();
-    note->ShowNoteL( EAknGlobalConfirmationNote, *noteText );
-    CleanupStack::PopAndDestroy( note );
-    CleanupStack::PopAndDestroy( noteText );
+    CHbDeviceMessageBoxSymbian::InformationL(
+        LoadDefaultString( KUssdDone ) );
     iShowDone = EFalse;
     }
 
@@ -1115,14 +1063,16 @@
         return;
         }
 
+    // Show specific error message
     CTextResolver* textResolver = CTextResolver::NewLC();
-
     HBufC* buffer = textResolver->ResolveErrorString( aError ).AllocLC();
 
-    CAknGlobalNote* note = CAknGlobalNote::NewLC();
-    note->ShowNoteL( EAknGlobalErrorNote, *buffer );
+    CHbDeviceMessageBoxSymbian::InformationL( buffer ->Des() );
 
-    CleanupStack::PopAndDestroy( 3 ); // note, buffer, textResolver
+    CleanupStack::PopAndDestroy( buffer ); 
+    CleanupStack::PopAndDestroy( textResolver ); 
+    
+    
     _DPRINT( 4, "PhSrv.ShowErrorNoteL.End" );
     return;
     }
@@ -1315,7 +1265,7 @@
 
     if ( aError == KErrNone &&
          IsActive() &&
-         iGlobalMsgQuery )
+         iDeviceDialog ) 
         {
         Cancel();
         // Terminates USSD session.
@@ -1331,12 +1281,88 @@
 
 
 // -----------------------------------------------------------------------------
+// CPhSrvUssdManager::MessageBoxClosed
+// -----------------------------------------------------------------------------
+//       
+void CPhSrvUssdManager::MessageBoxClosed(
+    const CHbDeviceMessageBoxSymbian* aMessageBox,
+    CHbDeviceMessageBoxSymbian::TButtonId aButton)
+    {
+    _DPRINT( 4, "PhSrv.MsgClose.Start" );
+    // ussd device dialog observer callback function
+    TPtrC leftBtn = aMessageBox->ButtonText( 
+        CHbDeviceMessageBoxSymbian::EAcceptButton );
+    TPtrC rightBtn = aMessageBox->ButtonText( 
+        CHbDeviceMessageBoxSymbian::ERejectButton );    
+
+    TInt err = KErrNone;
+    // Click Yes on Confirmation note (Yes, No) 
+    if ( !leftBtn.Compare( 
+          LoadDefaultString( KUssdYes ) ) && 
+          ( CHbDeviceMessageBoxSymbian::EAcceptButton == aButton ) )
+        {
+        _DPRINT( 4, "PhSrv.MsgClose.SK.Yes" );
+        iClearArray = EFalse;
+        iNotifyArray->Reset();
+        TryCloseSession();
+        }
+    // Click "No" on Confirmation note (Yes, No) 
+    else if ( !rightBtn.Compare( 
+               LoadDefaultString( KUssdNo ) ) && 
+              ( CHbDeviceMessageBoxSymbian::ERejectButton == aButton ) )
+        {
+        _DPRINT( 4, "PhSrv.MsgClose.SK.No" );
+        iClearArray = EFalse;
+        iNotifyMessage = ETrue; // for removing the yes/no query
+        CheckArray();
+        TryCloseSession();
+        }
+    // Click "Next" on Notification note (Next, Exit) 
+    else if ( !leftBtn.Compare( 
+               LoadDefaultString( KUssdNext ) ) && 
+               ( CHbDeviceMessageBoxSymbian::EAcceptButton == aButton ) )
+        {
+        _DPRINT( 4, "PhSrv.MsgClose.SK.Next" ); 
+        CheckArray();
+        TryCloseSession();
+        }
+    // Click "Exit" on Notification note (Next, Exit or only Exit) 
+    else if ( !rightBtn.Compare( 
+               LoadDefaultString( KUssdExit ) ) && 
+               ( CHbDeviceMessageBoxSymbian::ERejectButton == aButton ) )
+        {
+        TRAP( err, ClearArrayL() );
+        _DDPRINT( 4, "PhSrv.MsgClose.SK.Clear.%d", err );
+        TryCloseSession();
+        _DPRINT( 4, "PhSrv.MsgClose.SK.Exit" ); 
+        }
+    // Click "Reply" on Message note (Reply, Exit) 
+    else if ( !leftBtn.Compare( 
+               LoadDefaultString( KUssdReply ) ) && 
+               ( CHbDeviceMessageBoxSymbian::EAcceptButton == aButton ) )
+        {
+        // Answer
+        iStartEditor = ETrue;
+        iShowDone = EFalse;
+        // Start the USSD editor now.
+        TRAP( err, RequestStartEditingL() );
+        _DDPRINT( 4, "PhSrv.MsgClose.RequestStartEditingL.%d", err );
+        }    
+    else 
+        {
+        _DPRINT( 4, "PhSrv.MsgClose.SK.Default" ); 
+        }
+  
+    _DPRINT( 4, "PhSrv.MsgClose.End" ); 
+    }
+
+// -----------------------------------------------------------------------------
 // CPhSrvUssdManager::RunL
 // -----------------------------------------------------------------------------
 //
 void CPhSrvUssdManager::RunL()
     {
-    _DPRINT( 4, "PhSrv.RunL.Start" );           // debug print
+    _DPRINT( 4, "PhSrv.RunL.Start" );    
 
     ProcessMoAcksL();
     
@@ -1350,122 +1376,11 @@
     else
         {
         iStartEditor = EFalse;
-        
-        TInt key = iStatus.Int();
-        if ( key == EEikBidOk ) // OK key
-            {
-            if ( NetworkWaitingForAnAnswer() )
-                {
-                key = EAknSoftkeyShow;
-                }
-            else
-                {
-                key = EAknSoftkeyExit;
-                }
-            }
-
-        switch( key )
-            {
-            case EAknSoftkeyShow:
-                {
-                // Answer
-                iStartEditor = ETrue;
-                iShowDone = EFalse;
-                // Start the USSD editor now.
-                _DPRINT( 4, "PhSrv.RunL.RequestStartEditingL" ); // debug print
-                RequestStartEditingL();
-                break;
-                }
-            case EAknSoftkeyYes:
-                {
-                _DPRINT( 4, "PhSrv.RunL.SK.Yes" );
-                iClearArray = EFalse;
-                iNotifyArray->Reset();
-                TryCloseSession();
-                break;
-                }
-            case EAknSoftkeyCancel:
-                _DPRINT( 4, "PhSrv.RunL.SK.Cancel" ); 
-                if ( iHavePendingSatMessagePointer )
-                    {
-                    iSatCanceled = ETrue;
-                    CompleteSatL( &iReceivedMessage, KErrCancel );
-                    _DPRINT( 4, "PhSrv.RunL.CompleteSatL" );
-                    }
-                // fall through.
-            case EAknSoftkeyExit:
-                _DPRINT( 4, "PhSrv.RunL.SK.Exit" ); 
-                ClearArrayL();
-                TryCloseSession();
-                break;
-            case EAknSoftkeyBack:
-                _DPRINT( 4, "PhSrv.RunL.SK.Back" ); 
-                ClearArrayL();
-                TryCloseSession();
-                break;
-            case EAknSoftkeyNo:
-                _DPRINT( 4, "PhSrv.RunL.SK.No" );
-                iClearArray = EFalse;
-                iNotifyMessage = ETrue; // for removing the yes/no query
-                // fall through.
-            case EAknSoftkeyNext:
-                _DPRINT( 4, "PhSrv.RunL.SK.Next" ); 
-                CheckArray();
-                TryCloseSession();
-                break;
-            default:
-                _DPRINT( 4, "PhSrv.RunL.SK.Default" ); 
-                break;
-            }
+        // update device dialog
         _DPRINT( 4, "PhSrv.RunL.End" );     // debug print
         }
     }
-// RM-RIM 417-66528
-// -----------------------------------------------------------------------------
-// CPhSrvUssdManager::CreateGlobalMessageQueryL
-// -----------------------------------------------------------------------------
-//
-void CPhSrvUssdManager::CreateGlobalMessageQueryL(
-        const RMobileUssdMessaging::TMobileUssdAttributesV1& aMsgAttributes)
-    {
-    if (!iGlobalMsgQuery)
-        {
-        iGlobalMsgQuery = CAknGlobalMsgQuery::NewL();
-        }
 
-    // Delay after message query so that application execution order will
-    // be correct.
-    iGlobalMsgQuery->SetExitDelay(KPhSrvUssdNoteExitPeriod);
-
-    TInt softkeys = R_AVKON_SOFTKEYS_USSD_ANSWER_EXIT__ANSWER;
-    if (!(aMsgAttributes.iFlags & RMobileUssdMessaging::KUssdMessageType)
-            || aMsgAttributes.iType != RMobileUssdMessaging::EUssdMTRequest)
-        {
-        softkeys = R_AVKON_SOFTKEYS_EXIT;
-        }
-
-    // Set timer that lauches Global MessageQuery after time interval.
-    iSoftkeys = softkeys;
-
-    // debug print
-    _DPRINT( 4,
-            "PhSrv.UssdHandleReceivedEventL.String.Middle" );
-
-    // Play the USSD tone if needed. Logically should be in RunL, but here
-    // to give better balancing with voice and visible message.
-    if (IsTelephonyFeatureSupported(KTelSrvLVFlagUssdTone))
-        {
-        _DPRINT( 4, "PhSrv.UssdHandleReceivedEventL.PlayTone" );
-        PlayUssdTone();
-        }
-    // Launch the new message query
-    if (!IsActive())
-        {
-        iLaunchGMQ = ETrue;
-        iTimer.After(iStatus, KPhSrvUssdMessageQueryInterval);
-        SetActive();
-        }
-    }
 // -----------------------------------------------------------------------------
 // CPhSrvUssdManager::LaunchGlobalMessageQueryL
 // -----------------------------------------------------------------------------
@@ -1474,22 +1389,58 @@
     {
     _DPRINT( 4, "PhSrv.LGMQ.start" );
     _DPRINT_FLAGS();
+
     if ( iNotifyMessage )
         {
         _DDPRINT( 4, "PhSrv.LGMQ.NotifyMessage", iNotifyMessage );
         iNotifyMessage = ETrue;
         TInt count = NotifyCount();
+        //check softkey in avkon.rss 
         if ( count > 1 )
             {
-            iSoftkeys = R_AVKON_SOFTKEYS_NEXT_EXIT__NEXT;
+            // Next, Exit
+            iDeviceDialog->SetButton(
+                CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue );            
+            iDeviceDialog->SetButtonTextL(
+                CHbDeviceMessageBoxSymbian::EAcceptButton, 
+                LoadDefaultString( KUssdNext ) );
+            iDeviceDialog->SetButton(
+                CHbDeviceMessageBoxSymbian::ERejectButton, ETrue );    
+            iDeviceDialog->SetButtonTextL(
+                CHbDeviceMessageBoxSymbian::ERejectButton, 
+                LoadDefaultString( KUssdExit ) );  
+            _DPRINT( 4, "PhSrv.LGMQ.Next&Exit" );
             }
         else
             {
-            iSoftkeys = R_AVKON_SOFTKEYS_EXIT;
+            // Only Exit
+            iDeviceDialog->SetButton(
+                CHbDeviceMessageBoxSymbian::EAcceptButton, EFalse ); 
+            iDeviceDialog->SetButton(
+                CHbDeviceMessageBoxSymbian::ERejectButton, ETrue );               
+            iDeviceDialog->SetButtonTextL(
+                CHbDeviceMessageBoxSymbian::ERejectButton, 
+                LoadDefaultString( KUssdExit ) );   
+            _DPRINT( 4, "PhSrv.LGMQ.onlyExit" );
             }
         if ( iClearArray )
             {
-            iSoftkeys = R_AVKON_SOFTKEYS_YES_NO;
+            HbTextResolverSymbian::Init( KCommonLocFilename, KLocPath );
+            _DPRINT( 4, "PhSrv.LGMQ.use common loc file" );
+            // Yes, No
+            iDeviceDialog->SetButton(
+                CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue );               
+            iDeviceDialog->SetButtonTextL(
+                CHbDeviceMessageBoxSymbian::EAcceptButton, 
+                LoadDefaultString( KUssdYes ) );
+            iDeviceDialog->SetButton(
+                CHbDeviceMessageBoxSymbian::ERejectButton, ETrue );              
+            iDeviceDialog->SetButtonTextL(
+                CHbDeviceMessageBoxSymbian::ERejectButton, 
+                LoadDefaultString( KUssdNo ) );  
+            _DPRINT( 4, "PhSrv.LGMQ.Yes&No" );
+            HbTextResolverSymbian::Init( KUssdLocFilename, KLocPath );
+            _DPRINT( 4, "PhSrv.LGMQ.back up to use ussd loc file" );
             }
         iReceivedMessage.Zero();
         iReceivedMessage = (*iNotifyArray)[0];
@@ -1498,11 +1449,27 @@
 
     _DPRINT( 4, "PhSrv.LGMQ.ShMsgQuery" ); // debug print
     // Launch Global MessageQuery as requested.
-    iGlobalMsgQuery->ShowMsgQueryL(iStatus, iReceivedMessage, iSoftkeys,
-            *iMeQuHeaderText, KNullDesC);
-    _DPRINT( 4, "PhSrv.LGMQ.SetActive" );
-    SetActive();
+    // Dialog not support header text, this code is only 
+    // for testing, not final solution.
+    TInt receiveLength = iReceivedMessage.Length();
+    _DDPRINT( 4, "PhSrv.LGMQ.ShMsgQuery.MsgLength", receiveLength ); 
+    
+    TInt titleLength = LoadDefaultString( KUssdTitle ).Length();
+    _DDPRINT( 4, "PhSrv.LGMQ.ShMsgQuery.TilteLength", titleLength );
+    
+    TInt length = receiveLength + titleLength;
+    _DDPRINT( 4, "PhSrv.LGMQ.ShMsgQuery.TotalLength", length );    
+        
+    HBufC* titleAndText = HBufC::NewLC( length );
+    titleAndText->Des().Append( LoadDefaultString( KUssdTitle ) );
+    titleAndText->Des().Append( iReceivedMessage );
+    iDeviceDialog->SetTextL( titleAndText->Des() );
+    CleanupStack::Pop( titleAndText );
+    
+    iDeviceDialog->Close();
+    iDeviceDialog->ShowL();
     iShowDone = EFalse;
+   
     // Do nothing else in RunL this time.
     _DPRINT( 4, "PhSrv.LGMQ.ShMsgQuery.ret" ); // debug print
     }
@@ -1606,105 +1573,112 @@
 // -----------------------------------------------------------------------------
 //
 void CPhSrvUssdManager::CheckArray()
-	{
-	_DPRINT( 4, "PhSrv.CheckArray.Start" );     // debug print
- 	if (iNotifyArray  && NotifyCount() > 0)
-		{
-		if 	( !iNotifyMessage && !iClearArray )
-			{
-			iLaunchGMQ = ETrue;
-			iNotifyMessage = ETrue;
-			_DPRINT( 4, "PhSrv.CheckArray.iNotifyMessage.ETrue" );
-			iTimer.After( iStatus , KPhSrvUssdMessageQueryInterval );
-			_DDPRINT( 4, "PhSrv.CheckArray.SetActive.NoNotifyMessage ", iStatus.Int() );
-			SetActive();
-			}
-		else if( NotifyCount() > 1 )
-			{
-			( iNotifyArray )->Delete( 0 );
-			( iNotifyArray )->Compress();
-			iLaunchGMQ = ETrue;
-			iNotifyMessage = ETrue;
-			_DPRINT( 4, "PhSrv.CheckArray.iNotifyMessage.ETrue" );
-			iTimer.After( iStatus , KPhSrvUssdMessageQueryInterval );
-			_DDPRINT( 4, "PhSrv.CheckArray.SetActive.NotifyCount>1 ", iStatus.Int() );
-			SetActive();
-			}
- 		else
-     		{
-			iNotifyArray->Reset();
-     		iNotifyMessage = EFalse;
-     		_DPRINT( 4, "PhSrv.CheckArray.iNotifyMessage.EFalse" );
-     		}
-  		}
+    {
+    _DPRINT( 4, "PhSrv.CheckArray.Start" );     // debug print
+    if (iNotifyArray  && NotifyCount() > 0)
+        {
+        if  ( !iNotifyMessage && !iClearArray )
+            {
+            iLaunchGMQ = ETrue;
+            iNotifyMessage = ETrue;
+            _DPRINT( 4, "PhSrv.CheckArray.iNotifyMessage.ETrue" );
+            iTimer.After( iStatus , KPhSrvUssdMessageQueryInterval );
+            _DDPRINT( 4, "PhSrv.CheckArray.SetActive.NoNotifyMessage ", iStatus.Int() );
+            SetActive();
+            }
+        else if( NotifyCount() > 1 )
+            {
+            ( iNotifyArray )->Delete( 0 );
+            ( iNotifyArray )->Compress();
+            iLaunchGMQ = ETrue;
+            iNotifyMessage = ETrue;
+            _DPRINT( 4, "PhSrv.CheckArray.iNotifyMessage.ETrue" );
+            iTimer.After( iStatus , KPhSrvUssdMessageQueryInterval );
+            _DDPRINT( 4, "PhSrv.CheckArray.SetActive.NotifyCount>1 ", iStatus.Int() );
+            SetActive();
+            }
+        else
+            {
+            iNotifyArray->Reset();
+            iNotifyMessage = EFalse;
+            _DPRINT( 4, "PhSrv.CheckArray.iNotifyMessage.EFalse" );
+            }
+        }
     _DPRINT_FLAGS();
-  	_DPRINT( 4, "PhSrv.CheckArray.End" );     // debug print
- 	}
+    _DPRINT( 4, "PhSrv.CheckArray.End" );     // debug print
+    }
 
 // -----------------------------------------------------------------------------
 // CPhSrvUssdManager::ClearArray()
 // -----------------------------------------------------------------------------
 //
   void CPhSrvUssdManager::ClearArrayL()
-  	{
-  	_DPRINT( 4, "PhSrv.ClearArrayL.Start" );     // debug print
-  	if (iNotifyArray && NotifyCount() > 0)
-	  	{
-	  	if (iNotifyMessage && NotifyCount()== 1 )
-	  		{
-	  		iNotifyArray->Reset();
-	  		}
-	  	else
-	  		{
-	  		iReceivedMessage.Zero();
-	  		HBufC* unreadText = iResourceManager.ReadResourceLC( R_PHSRV_TEXT_UNREAD );
-	  		TPtr pMessage( unreadText->Des() );
-	  		iReceivedMessage.Append( pMessage );
-	  		iNotifyArray->InsertL( 0, iReceivedMessage );
-	        CleanupStack::PopAndDestroy( unreadText );
-	  		iLaunchGMQ = ETrue;
-	  		iNotifyMessage = ETrue;
-	  		_DPRINT( 4, "PhSrv.ClearArrayL.iNotifyMessage.ETrue" );
-	  		iClearArray = ETrue;
-	  		iTimer.After( iStatus , KPhSrvUssdMessageQueryInterval );
-	  		_DDPRINT( 4, "PhSrv.ClearArrayL.iTimer ", iStatus.Int() );
-			SetActive();
-	  		}
-	  	}
+    {
+    _DPRINT( 4, "PhSrv.ClearArrayL.Start" );     // debug print
+    if (iNotifyArray && NotifyCount() > 0)
+        {
+        if (iNotifyMessage && NotifyCount()== 1 )
+            {
+            iNotifyArray->Reset();
+            }
+        else
+            {
+            iReceivedMessage.Zero();
+            iReceivedMessage.Append( 
+                LoadDefaultString( KUssdConfirm ) );
+            iNotifyArray->InsertL( 0, iReceivedMessage );
+            iLaunchGMQ = ETrue;
+            iNotifyMessage = ETrue;
+            _DPRINT( 4, "PhSrv.ClearArrayL.iNotifyMessage.ETrue" );
+            iClearArray = ETrue;
+            iTimer.After( iStatus , KPhSrvUssdMessageQueryInterval );
+            _DDPRINT( 4, "PhSrv.ClearArrayL.iTimer ", iStatus.Int() );
+            SetActive();
+            }
+        }
     _DPRINT_FLAGS();
-	_DPRINT( 4, "PhSrv.ClearArrayL.End" );     // debug print
-  	}
+    _DPRINT( 4, "PhSrv.ClearArrayL.End" );     // debug print
+    }
 
 // -----------------------------------------------------------------------------
 // CPhSrvUssdManager::NotifyCount()
 // -----------------------------------------------------------------------------
 //
-  TInt CPhSrvUssdManager::NotifyCount()
-  {
-  if( iNotifyArray )
-      {
-      return iNotifyArray->Count();
-      }
-  else
-      {
-      return 0;
-      }
-  }
+TInt CPhSrvUssdManager:: NotifyCount()
+{
+    TInt count = iNotifyArray->Count();
+    _DDPRINT( 4, "PhSrv.NotifyCount:", count );     // debug print
+    return count;
+}
 
-  // -----------------------------------------------------------------------------
-// CPhSrvUssdManager::UpdateNotifyMessage()
+// -----------------------------------------------------------------------------
+// CPhSrvUssdManager::UpdateNotifyMessageL()
 // -----------------------------------------------------------------------------
 //
-  void CPhSrvUssdManager::UpdateNotifyMessage()
-  	{
-  	_DDPRINT( 4, "PhSrv.UpdateNotifyMessage.Start, clear: ", iClearArray );     // debug print
-  	if (NotifyCount() > 1 && !iClearArray )
-  		{
-  		_DPRINT( 4, "PhSrv.UpdateNotifyMessage" );     // debug print
-  		iGlobalMsgQuery->UpdateMsgQuery( R_AVKON_SOFTKEYS_NEXT_EXIT__NEXT );
-  		}
-  	_DPRINT( 4, "PhSrv.UpdateNotifyMessage.End" );     // debug print
-  	}
+  void CPhSrvUssdManager:: UpdateNotifyMessageL()
+    {
+    _DDPRINT( 4, "PhSrv.UpdateNotifyMessageL.Start, clear: ", iClearArray );     // debug print
+
+    // Show left softkey - "Next"
+    if (NotifyCount() > 1 && !iClearArray )
+        {
+        _DPRINT( 4, "PhSrv.UpdateNotifyMessageL" );     // debug print
+        iDeviceDialog->SetButton( 
+            CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue ); 
+        iDeviceDialog->SetButtonTextL(
+            CHbDeviceMessageBoxSymbian::EAcceptButton, 
+            LoadDefaultString( KUssdNext ) );
+        }
+    // Remove left softkey
+    else
+        {
+        iDeviceDialog->SetButton( 
+                    CHbDeviceMessageBoxSymbian::EAcceptButton, EFalse );         
+        }
+    iDeviceDialog->UpdateL();        
+    
+    _DPRINT( 4, "PhSrv.UpdateNotifyMessageL.End" );     // debug print
+    }
 
 // -----------------------------------------------------------------------------
 // CPhSrvUssdManager::DoCancel
@@ -1715,11 +1689,12 @@
     _DPRINT( 4, "PhSrv.DoCancel.Start" ); // debug print
     iTimer.Cancel();
     iLaunchGMQ = EFalse;
-
-    if ( iGlobalMsgQuery )
+    if ( iDeviceDialog )
         {
         _DPRINT( 4, "PhSrv.DoCancel" ); // debug print
-        iGlobalMsgQuery->CancelMsgQuery();
+        iDeviceDialog->Close();
+        delete iDeviceDialog;
+        iDeviceDialog = NULL;
         }
     _DPRINT( 4, "PhSrv.DoCancel.End" ); // debug print
     }
@@ -1752,7 +1727,7 @@
 
     // Find the task with name
     TApaTaskList tasklist( wsSession );
-    TApaTask task = tasklist.FindApp( TUid::Uid( KPhSrvUssdAppUID ) );
+    TApaTask task = tasklist.FindApp( KUssdSecureId );
 
     // If task exists, bring it to foreground
     if ( task.Exists() )
@@ -1769,13 +1744,12 @@
         CleanupClosePushL( apaLsSession );
 
         TApaAppInfo appInfo;
-        TInt err = apaLsSession.GetAppInfo(
-            appInfo,
-            TUid::Uid( KPhSrvUssdAppUID )  );
+        
+        TInt err = apaLsSession.GetAppInfo( appInfo, KUssdSecureId );
+        _DDPRINT( 4, "PhSrv.RequestStartEditingL.GetAppInfo ", err );     // debug print
+        
         if ( err == KErrNone )
             {
-            _DDPRINT( 4, "PhSrv.RequestStartEditingL.GetAppInfo ", err );     // debug print
-
         #ifndef SYMBIAN_SUPPORT_UI_FRAMEWORKS_V1
             CApaCommandLine* apaCommandLine = CApaCommandLine::NewLC();
             apaCommandLine->SetExecutableNameL( appInfo.iFullName );
@@ -1784,10 +1758,22 @@
                 CApaCommandLine::NewLC( appInfo.iFullName );
         #endif // SYMBIAN_SUPPORT_UI_FRAMEWORKS_V1
 
-            err = apaLsSession.StartApp( *apaCommandLine );
+            TThreadId id( static_cast<TInt64>( 0 ) );
+            err = apaLsSession.StartApp( *apaCommandLine, id );
+            _DDPRINT( 4, "PhSrv.RequestStartEditingL.ThreadId ", id ); 
             CleanupStack::PopAndDestroy( apaCommandLine );
             }
-        CleanupStack::PopAndDestroy(); // apaLsSession
+        CleanupStack::PopAndDestroy( &apaLsSession ); // apaLsSession
+        
+        // bring the ussd editor to foreground, only for testing
+        TApaTaskList tasklist( wsSession );
+        TApaTask task = tasklist.FindApp( KUssdSecureId );
+        if ( task.Exists() )
+            {
+            _DPRINT( 4, "PhSrv.UssdM.RequestStartEditingL.task.BringToForeground" );
+            task.BringToForeground();
+            }
+        // bring the ussd editor to foreground, only for testing
         }
     CleanupStack::PopAndDestroy(); // wsSession
 
@@ -1826,7 +1812,7 @@
         {
         if ( iUssdReplyTimer->IsTimerActive() )
             {
-            // debug print
+     
             _DPRINT( 4, "PhSrv.UssdM.InfUssdAppTerminatingL.timer" );
 
             // Read the information what is the reason
@@ -1837,14 +1823,14 @@
                 0,
                 exitReasonPckg );
 
-            // debug print
+     
             _DPRINT( 4, "PhSrv.UssdM.InfUssdAppTerminatingL.timer2" );
 
             // If reason was the completion of send operation, the USSD
             // session is not canceled, otherwise it is canceled.
             if ( exitReason != EPhCltSendCompleted )
                 {
-                // debug print
+         
                 _DPRINT( 4, "PhSrv.UssdM.InfUssdAppTerminatingL.SendRelease" );
                 CloseSession();
                 }
@@ -1912,7 +1898,7 @@
         }
     else
         {
-        _DPRINT( 4, "PhSrv.InformStartSAT.Set" );           // debug print
+        _DPRINT( 4, "PhSrv.InformStartSAT.Set" );    
 
         // There was not pending SAT message
         iHavePendingSatMessagePointer = ETrue;
@@ -1930,7 +1916,7 @@
 //
 void CPhSrvUssdManager::InformStopSAT()
     {
-    _DPRINT( 4, "PhSrv.InformStopSAT.Start" );               // debug print
+    _DPRINT( 4, "PhSrv.InformStopSAT.Start" );        
 
     // Do the actions only if there is pending SAT message.
     if ( iHavePendingSatMessagePointer )
@@ -1943,7 +1929,7 @@
             }
         iHavePendingSatMessagePointer = EFalse;
         }
-    _DPRINT( 4, "PhSrv.InformStopSAT.End" );                 // debug print
+    _DPRINT( 4, "PhSrv.InformStopSAT.End" );          
     }
 
 // -----------------------------------------------------------------------------
@@ -1995,7 +1981,7 @@
     TDesC* aReceiveString,
     TInt aError )
     {
-    _DPRINT( 4, "PhSrv.CompleteSatL.Start" );                // debug print
+    _DPRINT( 4, "PhSrv.CompleteSatL.Start" );         
     if ( aReceiveString )
         {
         if ( aReceiveString->Length() )
@@ -2004,7 +1990,7 @@
             // copy the received string to client side.
             if ( iPendingSatMessagePointer.Int1() < aReceiveString->Length() )
                 {
-                // debug print
+         
                 _DPRINT( 4, "PhSrv.CompleteSatL.recString.LengthError" );
                 if ( !iPendingSatMessagePointer.IsNull() )
                     {
@@ -2013,8 +1999,8 @@
                     }
                 iHavePendingSatMessagePointer = EFalse;
                 }
-			else
-				{
+            else
+                {
             _DPRINT( 4, "PhSrv.CompleteSatL.recString.Write" );  // debug print
             iPendingSatMessagePointer.WriteL(
                 2,
@@ -2028,7 +2014,7 @@
             }
         }
         }
-    _DPRINT( 4, "PhSrv.CompleteSatL.Middle" );           // debug print
+    _DPRINT( 4, "PhSrv.CompleteSatL.Middle" );    
     if ( !iPendingSatMessagePointer.IsNull() )
         {
         if ( aReceiveString && !iSatCanceled )
@@ -2045,7 +2031,7 @@
 
     iHavePendingSatMessagePointer = EFalse;
 
-    _DPRINT( 4, "PhSrv.CompleteSatL.End" );           // debug print
+    _DPRINT( 4, "PhSrv.CompleteSatL.End" );    
     }
 
 
@@ -2057,7 +2043,7 @@
 TBool CPhSrvUssdManager::IsTelephonyFeatureSupported(
     const TInt aFeatureId )
     {
-	return ( aFeatureId & iVariantReadOnlyValues );
+    return ( aFeatureId & iVariantReadOnlyValues );
     }
 
 
@@ -2068,12 +2054,13 @@
 //
 TInt CPhSrvUssdManager::PlayUssdTone()
     {
-    _DPRINT( 4, "PhSrv.UssdM.PlayTone.start" );           // debug print
+    _DPRINT( 4, "PhSrv.UssdM.PlayTone.start" );    
 
     TInt err = KErrNone;
-
-    RProperty::Define( KPSUidNcnList, KNcnPlayAlertTone, RProperty::EInt, ECapability_None , ECapabilityWriteDeviceData );
-    RProperty::Set( KPSUidNcnList, KNcnPlayAlertTone, KPhSrvUssdTone );
+// <-- QT PHONE  START-->
+//    RProperty::Define( KPSUidNcnList, KNcnPlayAlertTone, RProperty::EInt, ECapability_None , ECapabilityWriteDeviceData );
+//    RProperty::Set( KPSUidNcnList, KNcnPlayAlertTone, KPhSrvUssdTone );
+// <-- QT PHONE END-->
 
     // debug print
     _DDPRINT(
@@ -2092,7 +2079,8 @@
     {
     _DPRINT( 4, "PhSrv.UssdM.GetTelephonyVariantData.Start" );
     TInt err = KErrNone;
-
+// <-- QT PHONE START-->
+/*
     // Variation data should be unchangable during run-time,
     // therefore, if once succesfully read, later reads are
     // not allowed.
@@ -2100,10 +2088,10 @@
         {
         CRepository* cenRepSession = NULL;
         TRAP ( err ,
-               cenRepSession = CRepository::NewL( KCRUidTelSrvVariation ) );
+               cenRepSession = CRepository::NewL( KCRUidTelVariation ) );
         if ( err == KErrNone )
             {
-            err = cenRepSession->Get( KTelSrvVariationFlags,
+            err = cenRepSession->Get( KTelVariationFlags,
                                    iVariantReadOnlyValues );
             }
         delete cenRepSession;
@@ -2111,6 +2099,8 @@
 
     _DDPRINT( 4, "PhSrv.UssdM.variant", iVariantReadOnlyValues ); // debug print
     _DPRINT( 4, "PhSrv.UssdM.GetTelephonyVariantData.End" );
+    */
+// <-- QT PHONE END-->
     return err;
     }
 
@@ -2122,7 +2112,7 @@
 //
 void CPhSrvUssdManager::SendMoAcknowledgementL()
     {
-    _DPRINT( 4, "PhSrv.SendMoAckL.Start" );           // debug print
+    _DPRINT( 4, "PhSrv.SendMoAckL.Start" );    
 
     // Acknowledge MT USSD message.
     RMobileUssdMessaging::TMobileUssdAttributesV1 msgAttribs;
@@ -2140,7 +2130,7 @@
     RMobileUssdMessaging::TMobileUssdAttributesV1Pckg attribs = msgAttribs;
     SendHandlerL().SendUssdL( KNullDesC8() , attribs );
 
-    _DPRINT( 4, "PhSrv.SendMoAckL.End" );           // debug print
+    _DPRINT( 4, "PhSrv.SendMoAckL.End" );    
     }
 
 // -----------------------------------------------------------------------------
@@ -2150,20 +2140,51 @@
 //
 void CPhSrvUssdManager::TurnLightsOn()
     {
-     _DPRINT( 4, "PhSrv.TurnLightsOn Start" );           // debug print
+    _DPRINT( 4, "PhSrv.TurnLightsOn.Start" );    
 
 
-         // Change the bit on and off. SysAp will detect that
+     // Change the bit on and off. SysAp will detect that
      // the lights should be switched on for the specified time.
      //
-         RProperty::Set(KPSUidCoreApplicationUIs, KLightsControl, ELightsOn);
-         TInt err = RProperty::Set(KPSUidCoreApplicationUIs, KLightsControl, ELightsOff);
+     RProperty::Set(KPSUidCoreApplicationUIs, KLightsControl, ELightsOn);
+     TInt err = RProperty::Set(KPSUidCoreApplicationUIs, KLightsControl, ELightsOff);
+
+     if ( err != KErrNone )
+         {
+         _DDPRINT( 4,"PhSrv.TurnLightsOn.Error: ",err );// debug print
+         }
+
+    _DPRINT( 4, "PhSrv.TurnLightsOn.End" );    
+    }
 
-         if ( err != KErrNone )
-                 {
-                 _DDPRINT( 4,"PhSrv.TurnLightsOn.Error: ",err );// debug print
-                 }
+// -----------------------------------------------------------------------------
+// CPhSrvUssdManager::LoadDefaultString
+// -----------------------------------------------------------------------------
+//
+const TPtrC CPhSrvUssdManager::LoadDefaultString( const TDesC& aText )
+    {
+    _DPRINT( 4, "PhSrv.LoadDefaultString.Start" );
+    
+    if ( iTextBuffer )
+        {
+        delete iTextBuffer;
+        iTextBuffer = NULL;
+        _DPRINT( 4, "PhSrv.LoadDefaultString.Clear" );
+        }
+    TInt err = KErrNone;
+    TPtrC ptr( aText );
+    if ( ptr.Length() )
+        {
+        TRAP( err, iTextBuffer = HbTextResolverSymbian::LoadL( ptr ) );
+        _DDPRINT( 4, "PhSrv.LoadDefaultString.LoadL.%d", err );
+        if ( iTextBuffer )
+            {
+            ptr.Set( iTextBuffer->Des() );   
+            _DPRINT( 4, "PhSrv.LoadDefaultString.Set" );
+            }
+        }    
+    _DPRINT( 4, "PhSrv.LoadDefaultString.End" );
+    return ptr;
+    }
 
-     _DPRINT( 4, "PhSrv.TurnLightsOn.End" );           // debug print
-    }
 // End of File
--- a/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdNotifyNWRelease.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdNotifyNWRelease.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvUssdNotifyNWRelease.h"
-#include "MPhSrvUssdNetworkObserver.h"
-#include "PhSrvDebugInfo.h"
+#include "cphsrvussdnotifynwrelease.h" 
+#include "mphsrvussdnetworkobserver.h" 
+#include "phsrvdebuginfo.h" 
 
 // CONSTANTS
 const TInt KPhSrvUssdReceiverPriority = CActive::EPriorityLow + 2;
--- a/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdReceiveHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdReceiveHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvUssdReceiveHandler.h"
-#include "MPhSrvUssdNetworkObserver.h"
+#include "cphsrvussdreceivehandler.h" 
+#include "mphsrvussdnetworkobserver.h" 
 
 
 // CONSTANTS
--- a/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdReplyTimer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdReplyTimer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvUssdReplyTimer.h"
-#include "MPhSrvUssdReplyTimerObserver.h"
+#include "cphsrvussdreplytimer.h" 
+#include "mphsrvussdreplytimerobserver.h" 
 
 
 // CONSTANTS
--- a/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdSendHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdSendHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,11 +17,11 @@
 
 
 // INCLUDE FILES
-#include "CPhSrvUssdSendHandler.h"
-#include "MPhSrvUssdNetworkObserver.h"
-#include "MPhSrvPhoneInterface.h"
-#include "CPhSrvUssdSessionCancelWaiter.h"
-#include "PhSrvDebugInfo.h" //debug prints
+#include "cphsrvussdsendhandler.h" 
+#include "mphsrvussdnetworkobserver.h" 
+#include "mphsrvphoneinterface.h" 
+#include "cphsrvussdsessioncancelwaiter.h" 
+#include "phsrvdebuginfo.h" //debug prints 
 
 #include <gsmuelem.h>
 #include <f32file.h>
@@ -188,19 +188,19 @@
 // -----------------------------------------------------------------------------
 //
 void CPhSrvUssdSendHandler::SendReleaseSession()
-	{
-	_DPRINT( 4, "PhSrv.Sendhandler.SendReleaseSession.Start" );         // debug print
-	if ( !iSessionCancelWaiter->IsActive() )
-		{
-		_DPRINT( 4, "PhSrv.Sendhandler.SendReleaseSession" );           // debug print
-		iUssdMessaging.SendRelease(
+    {
+    _DPRINT( 4, "PhSrv.Sendhandler.SendReleaseSession.Start" );         // debug print
+    if ( !iSessionCancelWaiter->IsActive() )
+        {
+        _DPRINT( 4, "PhSrv.Sendhandler.SendReleaseSession" );           // debug print
+        iUssdMessaging.SendRelease(
             iSessionCancelWaiter->iStatus,
             iSessionCancelWaiter->iSSRequestPckg );
-		_DPRINT( 4, "PhSrv.Sendhandler.SendReleaseSession2" ); 
+        _DPRINT( 4, "PhSrv.Sendhandler.SendReleaseSession2" ); 
         iSessionCancelWaiter->SetActive();
         _DDPRINT( 4, "PhSrv.Sendhandler.SRS.iUssdMessaging", iStatus.Int() );
-		}
-	_DPRINT( 4, "PhSrv.Sendhandler.SendReleaseSession.End" );           // debug print
-	}
+        }
+    _DPRINT( 4, "PhSrv.Sendhandler.SendReleaseSession.End" );           // debug print
+    }
 
 //  End of File
--- a/phoneclientserver/phoneserver/rom/PhoneServer.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/phoneclientserver/phoneserver/rom/PhoneServer.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -25,6 +25,6 @@
   define DATAZ_ EPOCROOT##epoc32\data\Z
 #endif
 
-  data = ZPRIVATE\10000850\backup_registration.xml	PRIVATE\10000850\backup_registration.xml
+  data = ZPRIVATE\10000850\backup_registration.xml  PRIVATE\10000850\backup_registration.xml
 
 #endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneserver/src/messenger/cphsrvmessengerrequestmanagerstub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,121 @@
+/*
+* 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:  Stub version of CPhSrvMessengerRequestManager.cpp
+*
+*/
+
+
+
+// INCLUDES
+#include "cphsrvmessengerrequestmanager.h" 
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhSrvMessengerRequestManager::CPhSrvMessengerRequestManager
+// 
+// Constructor.
+// -----------------------------------------------------------------------------
+//
+CPhSrvMessengerRequestManager::CPhSrvMessengerRequestManager( 
+    CPhSrvServer& aServer )
+:   iServer( aServer )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvMessengerRequestManager::~CPhSrvMessengerRequestManager
+// 
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CPhSrvMessengerRequestManager::~CPhSrvMessengerRequestManager()
+    {
+    // Stub.
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvMessengerRequestManager::ConstructL
+// 
+// Complete construction.
+// -----------------------------------------------------------------------------
+//
+void CPhSrvMessengerRequestManager::ConstructL()
+    {
+    // Stub.
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvMessengerRequestManager::NegotiatorRequest
+// 
+// Initiate a messenger request - called by the external messenger interface.
+// -----------------------------------------------------------------------------
+//
+void CPhSrvMessengerRequestManager::NegotiatorRequest( 
+    CPhSrvSubSessionBase& /*aSubSession*/,
+    const TPhCltMessengerParameters& /*aParameters*/,
+    const RMessage2& /*aMessage*/ )
+    {
+    // Stub.
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvMessengerRequestManager::NegotiatorRequestCancel
+// 
+// Cancel a messenger request handling.
+// -----------------------------------------------------------------------------
+//
+void CPhSrvMessengerRequestManager::NegotiatorRequestCancel( 
+    CPhSrvSubSessionBase& /*aSubSession*/,
+    const TPhCltMessengerCommand /*aRequestType*/ )
+    {
+    // Stub.
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvMessengerRequestManager::NegotiatorRequestConstructL
+// 
+// Reserve all space needed for the subsession given as parameter.
+// -----------------------------------------------------------------------------
+//
+void CPhSrvMessengerRequestManager::NegotiatorRequestConstructL( 
+    CPhSrvSubSessionBase& /*aSubSession*/,
+    const TPhCltMessengerParameters& /*aParameters*/,
+    const RMessage2& /*aMessage*/ )
+    {
+    // Stub.
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvMessengerRequestManager::NegotiatorRequestDelete
+// 
+// Delete all space reserved for the subsession given as parameter.
+// -----------------------------------------------------------------------------
+//
+void CPhSrvMessengerRequestManager::NegotiatorRequestDelete( 
+    CPhSrvSubSessionBase& /*aSubSession*/ )
+    {
+    // Stub.
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/phoneserver/src/messenger/cphsrvsubsessionmessengerstub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* 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:  Sub Session Messenger.
+*                The stub version of CPhSrvSubSessionMessenger.cpp
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "cphsrvsubsessionmessenger.h" 
+#include "phcltclientserver.h" 
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhSrvSubSessionMessenger::CPhSrvSubSessionMessenger
+// 
+// Constructor.
+// -----------------------------------------------------------------------------
+//
+CPhSrvSubSessionMessenger::CPhSrvSubSessionMessenger( 
+    CPhSrvSession& aSession )
+:   CPhSrvSubSessionBase( aSession, EPhSrvSubSessionTypeMessenger )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvSubSessionMessenger::~CPhSrvSubSessionMessenger
+// 
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CPhSrvSubSessionMessenger::~CPhSrvSubSessionMessenger()
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvSubSessionMessenger::NewL
+// 
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CPhSrvSubSessionBase* CPhSrvSubSessionMessenger::NewL(
+    CPhSrvSession& /*aSession*/ )
+    {
+    // Stub version, so not supported.
+    User::Leave( KErrNotSupported );
+
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvSubSessionMessenger::PhSrvMessageDecoderCanProcessMessage
+// 
+// Framework function. Returns ETrue for the op codes that
+// this subsession can handle.
+// -----------------------------------------------------------------------------
+//
+TBool CPhSrvSubSessionMessenger::PhSrvMessageDecoderCanProcessMessage( 
+    TInt aFunction )
+    {
+    switch( aFunction )
+        {
+        case EPhoneServerMessengerSubSessionOpen:
+        case EPhoneServerMessengerSubSessionClose:
+        case EPhoneServerMessengerSubSessionConstruct:
+        case EPhoneServerMessengerSubSessionReceive:
+        case EPhoneServerMessengerSubSessionSend:
+        case EPhoneServerMessengerSubSessionSkip:
+        case EPhoneServerMessengerSubSessionCancel:
+            return ETrue;
+            
+        default:
+            return EFalse;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhSrvSubSessionMessenger::PhSrvMessageProcessorHandleMessageL
+// 
+// Framework function. Handle any op-codes here.
+// -----------------------------------------------------------------------------
+//
+void CPhSrvSubSessionMessenger::PhSrvMessageProcessorHandleMessageL( 
+    const RMessage2& /*aMessage*/ )
+    {
+    // Stub implementation, i.e. functionality not supported.
+    User::Leave( KErrNotSupported );
+    }
+
+
+// End of File
--- a/phonecmdhandler/phonecmdhnlr/eabi/phonecmdhandleru.def	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/eabi/phonecmdhandleru.def	Tue Aug 31 15:45:17 2010 +0300
@@ -4,6 +4,4 @@
 	_ZN13CPhoneHandlerD0Ev @ 3 NONAME
 	_ZN13CPhoneHandlerD1Ev @ 4 NONAME
 	_ZN13CPhoneHandlerD2Ev @ 5 NONAME
-	_ZTI22CPhoneHandlerCallArray @ 6 NONAME
-	_ZTV22CPhoneHandlerCallArray @ 7 NONAME
 
--- a/phonecmdhandler/phonecmdhnlr/group/PhoneCmdHandler.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/group/PhoneCmdHandler.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -23,37 +23,37 @@
 UID             0x1000008d 0x10205046
 
 CAPABILITY      CAP_GENERAL_DLL
-VENDORID		VID_DEFAULT
+VENDORID        VID_DEFAULT
 
 SOURCEPATH      ../src
 
-SOURCE		PhoneHandler.cpp
-SOURCE		PhoneHandlerControl.cpp
-SOURCE		PhoneHandlerActive.cpp
-SOURCE		PhoneHandlerCallBase.cpp
-SOURCE		PhoneHandlerAnswerCall.cpp
-SOURCE		PhoneHandlerEndCall.cpp
-SOURCE		PhoneHandlerDialCall.cpp
-SOURCE		PhoneHandlerVoiceDial.cpp
-SOURCE		PhoneHandlerRedial.cpp
-SOURCE		PhoneHandlerMultipartyCall.cpp
-SOURCE		PhoneHandlerDTMF.cpp
-SOURCE		PhoneHandlerResponse.cpp
-SOURCE		PhoneHandlerCallState.cpp
-SOURCE          PhoneHandlerCallArray.cpp
+SOURCE      phonehandler.cpp 
+SOURCE      phonehandlercontrol.cpp 
+SOURCE      phonehandleractive.cpp 
+SOURCE      phonehandlercallbase.cpp 
+SOURCE      phonehandleranswercall.cpp 
+SOURCE      phonehandlerendcall.cpp 
+SOURCE      phonehandlerdialcall.cpp 
+SOURCE      phonehandlervoicedial.cpp 
+SOURCE      phonehandlerredial.cpp 
+SOURCE      phonehandlermultipartycall.cpp 
+SOURCE      phonehandlerdtmf.cpp 
+SOURCE      phonehandlerresponse.cpp 
+SOURCE      phonehandlercallstate.cpp 
 
 USERINCLUDE     ../inc 
 
 APP_LAYER_SYSTEMINCLUDE
 
-LIBRARY		euser.lib
-LIBRARY		remconinterfacebase.lib
-LIBRARY		remconextensionapi.lib
-LIBRARY		phoneclient.lib
-LIBRARY 	logcli.lib
-LIBRARY		efsrv.lib
-LIBRARY		pbkeng.lib
-LIBRARY         telephonyservice.lib
+LIBRARY     euser.lib
+LIBRARY     remconinterfacebase.lib
+LIBRARY     remconextensionapi.lib
+LIBRARY     phoneclient.lib
+LIBRARY     logcli.lib
+LIBRARY     efsrv.lib
+// <-- QT PHONE START -->
+//LIBRARY       pbkeng.lib
+// <-- QT PHONE END -->
 
 MACRO       API_TRACE_FLAG
 MACRO       COMPONENT_TRACE_FLAG
--- a/phonecmdhandler/phonecmdhnlr/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  Receives and executes call handling related key presses 
-*				 (e.g. answer call, end call) from accessories.
+*                (e.g. answer call, end call) from accessories.
 *
 *
 */
@@ -26,7 +26,7 @@
 ../rom/phonecmdhandler.iby CORE_MW_LAYER_IBY_EXPORT_PATH(phonecmdhandler.iby)
 
 PRJ_MMPFILES
-PhoneCmdHandler.mmp
+phonecmdhandler.mmp
 
 //  End of File  
 
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerActive.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerActive.h	Tue Aug 31 15:45:17 2010 +0300
@@ -42,79 +42,79 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerActive ) : public CActive
-	{
-	public:	// Constructors and destructor
-	
-		/**
+    {
+    public: // Constructors and destructor
+    
+        /**
         * Two-phased constructor.
         */
-		static CPhoneHandlerActive* NewL( MPhoneHandlerObserver& aObserver );
-	
-		/**
+        static CPhoneHandlerActive* NewL( MPhoneHandlerObserver& aObserver );
+    
+        /**
         * Destructor.
         */
-		~CPhoneHandlerActive();
-	
-	public: // New functions
-	
-		/**
+        ~CPhoneHandlerActive();
+    
+    public: // New functions
+    
+        /**
         * From CActive. Indicates that the active object has issued a request 
         * and that it is now outstanding.  
         * @since S60 3.1
         * @return 
         */
-		void SetActive();
-		
-	public: // Functions from base classes
-		
-	protected:  // New functions
+        void SetActive();
+        
+    public: // Functions from base classes
+        
+    protected:  // New functions
     
     protected:  // Functions from base classes
     
-    	/**
+        /**
         * From CActive. Handles an active object’s request completion event.
         */
-    	void RunL();
-	
-		/**
+        void RunL();
+    
+        /**
         * From CActive. Implements cancellation of an outstanding request.
         */
-		void DoCancel();
-	
-		/**
+        void DoCancel();
+    
+        /**
         * From CActive. Handles a leave occurring in the request completion 
         * event handler RunL().
         */
-		TInt RunError( TInt aError );
+        TInt RunError( TInt aError );
 
-	private:
-		
-		/**
+    private:
+        
+        /**
         * C++ default constructor.
         */
-		CPhoneHandlerActive( MPhoneHandlerObserver& aObserver );
-	
-		/**
+        CPhoneHandlerActive( MPhoneHandlerObserver& aObserver );
+    
+        /**
         * By default Symbian 2nd phase constructor is private.
         */
-		void ConstructL();
-	
-	public:     // Data
+        void ConstructL();
+    
+    public:     // Data
     
     protected:  // Data
     
     private:    // Data
-		
-		// Notifies caller of an asynchronous request when request has been 
-		// completed.  
-		MPhoneHandlerObserver& iObserver;
-		
-	public:     // Friend classes
+        
+        // Notifies caller of an asynchronous request when request has been 
+        // completed.  
+        MPhoneHandlerObserver& iObserver;
+        
+    public:     // Friend classes
 
     protected:  // Friend classes
 
     private:    // Friend classes
-	};
+    };
 
 #endif // CPHONEHANDLERACTIVE_H
 
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerAnswerCall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerAnswerCall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define CPHONEHANDLERANSWERCALL_H
 
 //  INCLUDES
-#include "PhoneHandlerCallBase.h"
-#include <RemConExtensionApi.h>
+#include "phonehandlercallbase.h" 
+#include <RemConExtensionApi.h> 
 
 // CONSTANTS
 
@@ -43,7 +43,7 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerAnswerCall ) : public CPhoneHandlerCallBase
-											   
+                                               
     {
     public:  // Constructors and destructor
         
@@ -51,9 +51,9 @@
         * Two-phased constructor.
         */
         static CPhoneHandlerAnswerCall* NewL( 
-        		CPhoneHandlerControl& aControl,
-        		TRemConExtCallHandlingApiOperationId aOperation
-        			= ERemConExtAnswerCall );
+                CPhoneHandlerControl& aControl,
+                TRemConExtCallHandlingApiOperationId aOperation
+                    = ERemConExtAnswerCall );
         
         /**
         * Destructor.
@@ -97,8 +97,8 @@
         * C++ default constructor.
         */
         CPhoneHandlerAnswerCall( 
-        		CPhoneHandlerControl& aControl, 
-        		TRemConExtCallHandlingApiOperationId aOperation );
+                CPhoneHandlerControl& aControl, 
+                TRemConExtCallHandlingApiOperationId aOperation );
 
         /**
         * By default Symbian 2nd phase constructor is private.
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerCallArray.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +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:  Declarations for class CPhoneHandlerCallArray
-*
-*/
-
-
-#ifndef CPHONEHANDLERCALLARRAY_H
-#define CPHONEHANDLERCALLARRAY_H
-
-#include <e32base.h>
-
-class TCallInfo;
-class MCall;
-
-/**
-* Handles call adding 
-*
-*  @lib phonecmdhandler.dll
-*/
-class CPhoneHandlerCallArray: public CBase
-    {
-    
-    public: //Constructors and descructor    
-    
-        /**
-        * Two-phased constructing for the array.
-        *
-        */
-        static CPhoneHandlerCallArray* NewL( );
-
-        /**
-        * C++ default destructor
-        */
-        ~CPhoneHandlerCallArray( );
-
-        /**
-         * Add call to array
-         * @param aCall call to be added
-         * @return result of appending
-         */        
-        void AddL( const MCall* aCall );
-        
-        /**
-         * Remove call from array
-         * @param aCall call to be removed
-         * @return result of removal
-         */
-        TInt Remove( TCallInfo* aCall );
-        
-        /**
-         * Get call count.
-         */
-        TInt CallCount( );
-                
-        /**
-		 * Get call by state.
-		 */
-        TCallInfo* CallByState( TInt state );
-        
-        /**
-        * Finds call pointer specified by call index.
-        * @param aCallIndex
-        * @return corresponding call pointer or NULL if not found.
-        */
-        TCallInfo* FindCall( TInt aCallIndex );
-    
-        /**
-		* Get connected call count.
-		*/
-		TInt ConnectedCallCount( );
-		
-		/**
-		* Get existing call count.
-		*/
-		TInt ExistingCallCount();
-		              
-    private:
-        /**
-        * C++ default constructor
-        */
-        CPhoneHandlerCallArray( );
-                                          
-    private: // data
-        
-        /**
-        * Pointer array of call objects.     
-        */
-    	RPointerArray<TCallInfo> iCallArray;
-        
-    };
-
-#endif // CPHONEHANDLERCALLARRAY_H
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerCallBase.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerCallBase.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,10 +20,10 @@
 #define CPHONEHANDLERCALLBASE
 
 //  INCLUDES
-#include "PhoneHandlerService.h"
-#include "PhoneHandlerObserver.h"
+#include "phonehandlerservice.h" 
+#include "phonehandlerobserver.h" 
 #include <e32base.h>
-#include <RPhCltServer.h>
+#include <rphcltserver.h> 
 
 // CONSTANTS
 
@@ -46,8 +46,8 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerCallBase ) : public CBase,
-											 public MPhoneHandlerService, 
-											 public MPhoneHandlerObserver
+                                             public MPhoneHandlerService, 
+                                             public MPhoneHandlerObserver
     {
     protected:  // Constructors and destructor
         
@@ -65,7 +65,7 @@
     
     public: // Functions from base classes
     
-    	/**
+        /**
         * From MPhoneHandlerService. Starts to process an asynchronous request.
         * @since Series 60 3.1
         * @param 
@@ -81,7 +81,7 @@
         */
         virtual void Delete() = 0;
     
-    	/**
+        /**
         * From MPhoneHandlerObserver. Notifies when asynchronous request has
         * been completed.
         * @since S60 3.1
@@ -89,7 +89,7 @@
         * @return void
         */
         virtual void RequestCompleted( const TInt aError ) = 0;
-	        
+            
     protected:  // New functions
         
         /**
@@ -107,31 +107,31 @@
         * @return void
         */
         void NextState();
-		
-		/**
+        
+        /**
         * Called when service isn't running (e.g. when it's completed).
         * @since S60 3.1
         * @param void
         * @return void
         */
-		void IdleState();
-		
-		/**
+        void IdleState();
+        
+        /**
         * Returns an active object's TRequestStatus for asynchronous calls.
         * @since S60 3.1
         * @param void
         * @return void
         */
-		TRequestStatus& GetStatus();
-		
-		/**
+        TRequestStatus& GetStatus();
+        
+        /**
         * Activates an active object for asynchronous calls.
         * @since S60 3.1
         * @param void
         * @return void
         */
-		void Activate(); 	
-		
+        void Activate();    
+        
     protected:  // Functions from base classes
     
     private:
@@ -140,20 +140,20 @@
            
     protected:  // Data
        
-       	// call handling service states 
+        // call handling service states 
         enum TPhoneHandlerServiceState
-		{
-    	EPhoneHandlerStateIdle		= 0,
-    	EPhoneHandlerState1			= 1,		   
-    	EPhoneHandlerState2			= 2,
-    	EPhoneHandlerState3			= 3
-     	};
-    	
-    	// stores service state
-    	TPhoneHandlerServiceState iState;
-    	
-    	// pointer to API providing call handling services
-    	CPhCltCommandHandler* iCommandHandler; // owned
+        {
+        EPhoneHandlerStateIdle      = 0,
+        EPhoneHandlerState1         = 1,           
+        EPhoneHandlerState2         = 2,
+        EPhoneHandlerState3         = 3
+        };
+        
+        // stores service state
+        TPhoneHandlerServiceState iState;
+        
+        // pointer to API providing call handling services
+        CPhCltCommandHandler* iCommandHandler; // owned
 
     private:    // Data
                         
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerCallState.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerCallState.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,8 +23,6 @@
 // INCLUDES
 #include <e32base.h>
 #include <e32property.h>
-#include <ccallinformation.h>
-#include <mcallinformationobserver.h>
 
 // CONSTANTS
 
@@ -45,65 +43,74 @@
 *  @lib RemConAsy
 *  @since S60 3.1
 */
-NONSHARABLE_CLASS( CPhoneHandlerCallState ) : public CBase, public MCallInformationObserver
-	{
-	public:	// Constructors and destructor
-	
-		/**
+NONSHARABLE_CLASS( CPhoneHandlerCallState ) : public CActive
+    {
+    public: // Constructors and destructor
+    
+        /**
         * Two-phased constructor.
         */
-		static CPhoneHandlerCallState* NewL( CPhoneHandlerControl& aControl );
-	
-		/**
+        static CPhoneHandlerCallState* NewL( CPhoneHandlerControl& aControl );
+    
+        /**
         * Destructor.
         */
-		~CPhoneHandlerCallState();
-	
-	private:
-		
-		/**
+        ~CPhoneHandlerCallState();
+    
+    public: // New functions
+                
+    public: // Functions from base classes
+        
+    protected:  // New functions
+    
+    protected:  // Functions from base classes
+    
+        /**
+        * From CActive. Handles S60 start up state change event.
+        */
+        void RunL();
+    
+        /**
+        * From CActive. Implements cancellation of an outstanding Subscibe() 
+        * request.
+        */
+        void DoCancel();
+    
+    private:
+        
+        /**
         * C++ default constructor.
         */
-		CPhoneHandlerCallState( CPhoneHandlerControl& aControl );
-	
-		/**
+        CPhoneHandlerCallState( CPhoneHandlerControl& aControl );
+    
+        /**
         * By default Symbian 2nd phase constructor is private.
         */
-		void ConstructL();
-
-		/**
-		* Signals that there are changes in ongoing calls.
-		*    
-		* @return void
-		*/
-		void CallInformationChangedL();
-     	
-		// From MCallInformationObserver
-		
-		/**
-		* Signals that there are changes in ongoing calls.
-		*    
-		* @return void
-		*/
-		void CallInformationChanged();
-	
-	public:     // Data
+        void ConstructL();
+        
+        /**
+        * Starts to listen change in S60 start up state.
+        **/
+        void Subscribe();
+    
+    public:     // Data
     
     protected:  // Data
     
     private:    // Data
     
-    	CCallInformation* iInfo;
-
-		// reference to control
+        // Publish and Subscribe handle used to listen changes in call states 
+        RProperty iProperty;
+                        
+        // reference to control
         CPhoneHandlerControl& iControl;
-		
-	public:     // Friend classes
+        
+    public:     // Friend classes
 
     protected:  // Friend classes
 
     private:    // Friend classes
-	};
+    };
 
 #endif // CPHONEHANDLERCALLSTATE_H
 
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerControl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerControl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,13 +20,12 @@
 #define CPHONEHANDLERCONTROL_H
 
 //  INCLUDES
-#include "PhoneHandlerService.h"
-#include <RemConExtensionApi.h>
-#include <RemConCallHandlingTargetObserver.h>
+#include "phonehandlerservice.h" 
+#include <RemConExtensionApi.h> 
+#include <RemConCallHandlingTargetObserver.h> 
 #include <e32base.h>
-#include <PhCltTypes.h>	
+#include <phclttypes.h> 
 #include <e32property.h> 
-#include <ccpdefs.h>
 
 // CONSTANTS
 
@@ -43,8 +42,6 @@
 class CRemConCallHandlingTarget;
 class CPhoneHandlerResponse;
 class CPhoneHandlerCallState;
-class CPhoneHandlerCallArray;
-class MCall;
 
 /**
 * Receives call handling related key presses from accessories and executes 
@@ -54,15 +51,15 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerControl ) : public CBase,
-											public MRemConCallHandlingTargetObserver
-	{
+                                            public MRemConCallHandlingTargetObserver
+    {
     public:  // Constructors and destructor
     
         /**
         * Two-phased constructor.
         */
         static CPhoneHandlerControl* NewL( 
-        	CRemConInterfaceSelector* aIfSelector = NULL );
+            CRemConInterfaceSelector* aIfSelector = NULL );
 
         /**
         * Destructor.
@@ -71,7 +68,7 @@
 
     public: // New functions
     
-    	/**
+        /**
         * Returns phone number for dial or speed dial.
         * @since S60 3.1
         * @param void
@@ -110,36 +107,36 @@
         * @return TChar DTMF tone
         */
         const TChar& Tone() const;
-    	
-    	/**
+        
+        /**
         * Returns reference to API used to communicate with accessory who 
         * initiated key press.
         * @since S60 3.1
         * @param void
         * @return CRemConCallHandlingTarget& reference to API
-        */	
-		CRemConCallHandlingTarget& CommandInitiator() const;
-		
-		/**
+        */  
+        CRemConCallHandlingTarget& CommandInitiator() const;
+        
+        /**
         * Informs the latest call state.
-        * @since S60 9.2
-        * @param aCall Call from MCallInformationObserver
-          * @return void
+        * @since S60 3.1
+        * @param aState Call state from KTelephonyCallState P&S key
+        * @return void
         */
-		void NotifyCallStateL( const MCall* aCall );
+        void NotifyCallState( const TInt aState );
 
-		/**
+        /**
         * Get iSwitchCall flag, if this flag is ETrue, it means
         * "Send" key in remote target is pressed in multiparty call,
         * otherwise EFalse
         * @since S60 3.1
         * @return TBool
         */
-		TBool SwitchCall();
+        TBool SwitchCall();
 
-	    	        
+                    
     public: // Functions from base classes
-    	        
+                
     protected:  // New functions
         
     protected:  // Functions from base classes
@@ -155,93 +152,79 @@
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL( CRemConInterfaceSelector* aIfSelector = NULL );
-				
-		/**
-		* From MRemConCallHandlingTargetObserver. Answer an incoming phone call.
-		*/
-		virtual void AnswerCall();
+                
+        /**
+        * From MRemConCallHandlingTargetObserver. Answer an incoming phone call.
+        */
+        virtual void AnswerCall();
 
-		/**
-		* From MRemConCallHandlingTargetObserver. End an incoming/ongoing 
-		* phone call.
-		*/
-		virtual void EndCall();
-	
-		/**
-		* From MRemConCallHandlingTargetObserver. Answer an incoming phone call, 
-		* or end an ongoing call according to call status. 
-		*/
-		virtual void AnswerEndCall();
-		
-		/**
-		* From MRemConCallHandlingTargetObserver. Make a voice call.
-		*/
-		virtual void VoiceDial( const TBool aActivate );
-	
-		/**
-		* From MRemConCallHandlingTargetObserver. Redial last phone call.
-		*/
-		virtual void LastNumberRedial();
-	
-		/**
-		* From MRemConCallHandlingTargetObserver. Dial a phone call.
-		*/
-		virtual void DialCall( const TDesC8& aTelNumber );
-	
-		/**
-		* From MRemConCallHandlingTargetObserver. Make multiparty call.
-		*/
-		virtual void MultipartyCalling( const TDesC8& aData );
-	
-		/**
-		* Generates DTMF signal.
-		*/
-		virtual void GenerateDTMF( const TChar aChar );
-	
-		/**
-		* From MRemConCallHandlingTargetObserver. Make a speed dial call.
-		*/
-		virtual void SpeedDial( const TInt aIndex );
-		
-		/**
-		* Starts processing service corresponding to key press.
-		*/
-		void StartProcessing( 
-			const TRemConExtCallHandlingApiOperationId aOperation );
-		
-		/**
-		* Creates service.
-		*/
-		MPhoneHandlerService* CreateServiceL( 
-			const TRemConExtCallHandlingApiOperationId aOperation );
-		
-		/**
-		* Initializes speed dial.
-		*/
-		void InitializeSpeedDialL();
-		
-		/**
-		* Returns call status.
-		*/
-		void CallStatusL( RPhone::TLineInfo& aLineInfo );
-		
-		/**
-        * Returns autolock status
+        /**
+        * From MRemConCallHandlingTargetObserver. End an incoming/ongoing 
+        * phone call.
+        */
+        virtual void EndCall();
+    
+        /**
+        * From MRemConCallHandlingTargetObserver. Answer an incoming phone call, 
+        * or end an ongoing call according to call status. 
+        */
+        virtual void AnswerEndCall();
+        
+        /**
+        * From MRemConCallHandlingTargetObserver. Make a voice call.
+        */
+        virtual void VoiceDial( const TBool aActivate );
+    
+        /**
+        * From MRemConCallHandlingTargetObserver. Redial last phone call.
+        */
+        virtual void LastNumberRedial();
+    
+        /**
+        * From MRemConCallHandlingTargetObserver. Dial a phone call.
+        */
+        virtual void DialCall( const TDesC8& aTelNumber );
+    
+        /**
+        * From MRemConCallHandlingTargetObserver. Make multiparty call.
         */
-		TBool IsAutoLockOn() const;
-		
-		/**
-        * Returns BT accessory command status
+        virtual void MultipartyCalling( const TDesC8& aData );
+    
+        /**
+        * Generates DTMF signal.
+        */
+        virtual void GenerateDTMF( const TChar aChar );
+    
+        /**
+        * From MRemConCallHandlingTargetObserver. Make a speed dial call.
+        */
+        virtual void SpeedDial( const TInt aIndex );
+        
+        /**
+        * Starts processing service corresponding to key press.
         */
-		TBool IsBTAccessoryCmd() const;
-		
+        void StartProcessing( 
+            const TRemConExtCallHandlingApiOperationId aOperation );
+        
+        /**
+        * Creates service.
+        */
+        MPhoneHandlerService* CreateServiceL( 
+            const TRemConExtCallHandlingApiOperationId aOperation );
+        
+        /**
+        * Returns call status.
+        */
+        void CallStatusL( RPhone::TLineInfo& aLineInfo );
+        
+                
     private:    // Data
         
         // Provides e.g. service to listen accessory key presses.
-        CRemConInterfaceSelector* iInterfaceSelector;	// owned
+        CRemConInterfaceSelector* iInterfaceSelector;   // owned
         
         //  API notifying PhoneCmdHandler about call handling key presses.
-        CRemConCallHandlingTarget* iTarget;	// owned
+        CRemConCallHandlingTarget* iTarget; // owned
                 
         // Phone number for dial call/speed dial.
         TPhCltTelephoneNumber iTelNumber;
@@ -270,13 +253,16 @@
         // Previous call state
         TInt iPrevState;
         
+        // Number of active calls
+        // Used to determine whether there's a multicall case when call state
+        TInt iActiveCalls;
+        
         // switch phonecall by press "Send" key
         TBool iSwitchCall;
         
         // Listens to phone call state changes.
         CPhoneHandlerCallState* iCallStateObserver;
         
-        CPhoneHandlerCallArray* iCallArray;
                     
     public:     // Friend classes
     
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerDTMF.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerDTMF.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 #define CPHONEHANDLERDTMF_H
 
 //  INCLUDES
-#include "PhoneHandlerCallBase.h"
-#include <RemConExtensionApi.h>
+#include "phonehandlercallbase.h" 
+#include <RemConExtensionApi.h> 
 
 // CONSTANTS
 
@@ -44,7 +44,7 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerDTMF ) : public CPhoneHandlerCallBase
-						  				 
+                                         
     {
     public:  // Constructors and destructor
         
@@ -52,10 +52,10 @@
         * Two-phased constructor.
         */
         static CPhoneHandlerDTMF* NewL(  
-        	CPhoneHandlerControl& aControl,
-        	TRemConExtCallHandlingApiOperationId aOperation 
-            	= ERemConExtGenerateDTMF
-        	);
+            CPhoneHandlerControl& aControl,
+            TRemConExtCallHandlingApiOperationId aOperation 
+                = ERemConExtGenerateDTMF
+            );
         
         /**
         * Destructor.
@@ -99,7 +99,7 @@
         * C++ default constructor.
         */
         CPhoneHandlerDTMF( CPhoneHandlerControl& aControl,
-        				   TRemConExtCallHandlingApiOperationId aOperation );
+                           TRemConExtCallHandlingApiOperationId aOperation );
 
         /**
         * By default Symbian 2nd phase constructor is private.
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerDialCall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerDialCall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 #define CPHONEHANDLERDIALCALL_H
 
 //  INCLUDES
-#include "PhoneHandlerCallBase.h"
-#include <RemConExtensionApi.h>
+#include "phonehandlercallbase.h" 
+#include <RemConExtensionApi.h> 
 
 // CONSTANTS
 
@@ -44,7 +44,7 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerDialCall ) : public CPhoneHandlerCallBase
-											 
+                                             
     {
     public:  // Constructors and destructor
         
@@ -52,9 +52,9 @@
         * Two-phased constructor.
         */
         static CPhoneHandlerDialCall* NewL(
-        		CPhoneHandlerControl& aControl, 
-           		TRemConExtCallHandlingApiOperationId aOperation
-        			= ERemConExtDialCall );
+                CPhoneHandlerControl& aControl, 
+                TRemConExtCallHandlingApiOperationId aOperation
+                    = ERemConExtDialCall );
         
         /**
         * Destructor.
@@ -62,7 +62,7 @@
         virtual ~CPhoneHandlerDialCall();
 
     public: // New functions
-   	
+    
     public: // Functions from base classes
 
          /**
@@ -97,15 +97,15 @@
         /**
         * C++ default constructor.
         */
-        CPhoneHandlerDialCall(     	
-        	CPhoneHandlerControl& aControl, 
-        	TRemConExtCallHandlingApiOperationId aOperation );
+        CPhoneHandlerDialCall(      
+            CPhoneHandlerControl& aControl, 
+            TRemConExtCallHandlingApiOperationId aOperation );
        
         /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL();
-	
+    
     public:     // Data
     
     protected:  // Data
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerEndCall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerEndCall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define CPHONEHANDLERENDCALL_H
 
 //  INCLUDES
-#include "PhoneHandlerCallBase.h"
-#include <RemConExtensionApi.h>
+#include "phonehandlercallbase.h" 
+#include <RemConExtensionApi.h> 
 
 // CONSTANTS
 
@@ -43,7 +43,7 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerEndCall ) : public CPhoneHandlerCallBase
-							 				
+                                            
     {
     public:  // Constructors and destructor
         
@@ -51,9 +51,9 @@
         * Two-phased constructor.
         */
         static CPhoneHandlerEndCall* NewL( 
-        				CPhoneHandlerControl& aControl,
-        				TRemConExtCallHandlingApiOperationId aOperation
-        					= ERemConExtEndCall );
+                        CPhoneHandlerControl& aControl,
+                        TRemConExtCallHandlingApiOperationId aOperation
+                            = ERemConExtEndCall );
         
         /**
         * Destructor.
@@ -97,14 +97,14 @@
         * C++ default constructor.
         */
         CPhoneHandlerEndCall( 
-        		CPhoneHandlerControl& aControl, 
-        		TRemConExtCallHandlingApiOperationId aOperation );
+                CPhoneHandlerControl& aControl, 
+                TRemConExtCallHandlingApiOperationId aOperation );
         
         /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL();
-		
+        
     public:     // Data
           
     protected:  // Data
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerMultipartyCall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerMultipartyCall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define CPHONEHANDLERMULTIPARTYCALL_H
 
 //  INCLUDES
-#include "PhoneHandlerCallBase.h"
-#include <RemConExtensionApi.h>
+#include "phonehandlercallbase.h" 
+#include <RemConExtensionApi.h> 
 
 // CONSTANTS
 
@@ -43,7 +43,7 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerMultipartyCall ) : public CPhoneHandlerCallBase
-												   
+                                                   
     {
     public:  // Constructors and destructor
         
@@ -51,10 +51,10 @@
         * Two-phased constructor.
         */
         static CPhoneHandlerMultipartyCall* NewL( 
-        	CPhoneHandlerControl& aControl,
-        	TRemConExtCallHandlingApiOperationId aOperation 
-            	= ERemConExt3WaysCalling
-        	);
+            CPhoneHandlerControl& aControl,
+            TRemConExtCallHandlingApiOperationId aOperation 
+                = ERemConExt3WaysCalling
+            );
         
         /**
         * Destructor.
@@ -98,8 +98,8 @@
         * C++ default constructor.
         */
         CPhoneHandlerMultipartyCall( 
-        		CPhoneHandlerControl& aControl,
-        		TRemConExtCallHandlingApiOperationId aOperation );
+                CPhoneHandlerControl& aControl,
+                TRemConExtCallHandlingApiOperationId aOperation );
 
         /**
         * By default Symbian 2nd phase constructor is private.
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerRedial.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerRedial.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 #define CPHONEHANDLERLASTNUMBERREDIAL_H
 
 //  INCLUDES
-#include "PhoneHandlerCallBase.h"
-#include <RemConExtensionApi.h>
+#include "phonehandlercallbase.h" 
+#include <RemConExtensionApi.h> 
 #include <f32file.h>        
 #include <logcli.h>
 #include <logview.h>
@@ -47,19 +47,19 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerLastNumberRedial ) : public CPhoneHandlerCallBase
-									  				 
+                                                     
     {
-    public:	// Constructors and destructor         
+    public: // Constructors and destructor         
     
         /**
         * Two-phased constructor.
         */
         static CPhoneHandlerLastNumberRedial* 
-        	NewL( CPhoneHandlerControl& aControl,
-        		  TRemConExtCallHandlingApiOperationId aOperation 
-        		  	= ERemConExtLastNumberRedial );
+            NewL( CPhoneHandlerControl& aControl,
+                  TRemConExtCallHandlingApiOperationId aOperation 
+                    = ERemConExtLastNumberRedial );
         
-	    /**
+        /**
         * Destructor.
         */
         virtual ~CPhoneHandlerLastNumberRedial();
@@ -68,7 +68,7 @@
     
     public: // Functions from base classes
     
-     	/**
+        /**
         * From MPhoneHandlerService. Starts processing service.
         * @since S60 3.1
         * @return void
@@ -97,41 +97,41 @@
 
     private:
     
-	    /**
+        /**
         * C++ default constructor.
         */
         CPhoneHandlerLastNumberRedial( 
-        	CPhoneHandlerControl& aControl,
-        	TRemConExtCallHandlingApiOperationId aOperation );
+            CPhoneHandlerControl& aControl,
+            TRemConExtCallHandlingApiOperationId aOperation );
 
-	    /**
+        /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL();
-	
-	public:     // Data
+    
+    public:     // Data
     
     protected:  // Data
     
     private:    // Data
             
-		// A handle to a file server session.
+        // A handle to a file server session.
         RFs iFsSession;
 
         // Log Engine implementation
-		CLogClient* iLogClientPtr; // owned
+        CLogClient* iLogClientPtr; // owned
 
         // A view on a recent event list.
-		CLogViewRecent* iLogViewRecentPtr; // owned
-				
-		// reference to control
-		CPhoneHandlerControl& iControl;
-		
-		// iOperation is used to give response to exact RemConExtensionApi
+        CLogViewRecent* iLogViewRecentPtr; // owned
+                
+        // reference to control
+        CPhoneHandlerControl& iControl;
+        
+        // iOperation is used to give response to exact RemConExtensionApi
         // command
         TRemConExtCallHandlingApiOperationId iOperation;
-		
-	public:     // Friend classes
+        
+    public:     // Friend classes
     
     protected:  // Friend classes
     
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerResponse.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerResponse.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,9 +20,9 @@
 #define CPHONEHANDLERRESPONSE_H
 
 //  INCLUDES
-#include "PhoneHandlerService.h"
-#include "PhoneHandlerObserver.h"
-#include <RemConExtensionApi.h>
+#include "phonehandlerservice.h" 
+#include "phonehandlerobserver.h" 
+#include <RemConExtensionApi.h> 
 
 // CONSTANTS
 
@@ -45,9 +45,9 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerResponse ) : public CBase,
-											 public MPhoneHandlerService,
-											 public MPhoneHandlerObserver
-											   
+                                             public MPhoneHandlerService,
+                                             public MPhoneHandlerObserver
+                                               
     {
     public:  // Constructors and destructor
         
@@ -63,7 +63,7 @@
 
     public: // New functions
     
-    	/**
+        /**
         * Sets response message. This method has to be called before Process() 
         * is called.
         * @since S60 3.1
@@ -72,8 +72,8 @@
         * @return void
         */
         void SetResponse( TRemConExtCallHandlingApiOperationId aOperation, 
-    					  TInt aError );
-	            
+                          TInt aError );
+                
     public: // Functions from base classes
         
         /**
--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerVoiceDial.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerVoiceDial.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define CPHONEHANDLERVOICEDIAL_H
 
 //  INCLUDES
-#include "PhoneHandlerCallBase.h"
-#include <RemConExtensionApi.h>
+#include "phonehandlercallbase.h" 
+#include <RemConExtensionApi.h> 
 
 // CONSTANTS
 
@@ -43,7 +43,7 @@
 *  @since S60 3.1
 */
 NONSHARABLE_CLASS( CPhoneHandlerVoiceDial ) : public CPhoneHandlerCallBase
-											  
+                                              
     {
     public:  // Constructors and destructor
         
@@ -51,9 +51,9 @@
         * Two-phased constructor.
         */
         static CPhoneHandlerVoiceDial* NewL( 
-        					CPhoneHandlerControl& aControl,
-        					TRemConExtCallHandlingApiOperationId aOperation = 
-        						ERemConExtVoiceDial );
+                            CPhoneHandlerControl& aControl,
+                            TRemConExtCallHandlingApiOperationId aOperation = 
+                                ERemConExtVoiceDial );
         
         /**
         * Destructor.
@@ -98,14 +98,14 @@
         * C++ default constructor.
         */
         CPhoneHandlerVoiceDial( 
-        					CPhoneHandlerControl& aControl,
-        					TRemConExtCallHandlingApiOperationId aOperation );
+                            CPhoneHandlerControl& aControl,
+                            TRemConExtCallHandlingApiOperationId aOperation );
 
         /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL();
-	
+    
     public:     // Data
     
     protected:  // Data
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include "PhoneHandlerControl.h"
-#include "PhoneHandlerDebug.h"
-#include "PhoneHandler.h"
+#include "phonehandlercontrol.h" 
+#include "phonehandlerdebug.h" 
+#include "PhoneHandler.h" 
 
 // EXTERNAL DATA STRUCTURES
 
@@ -60,9 +60,9 @@
 void CPhoneHandler::ConstructL( CRemConInterfaceSelector* aIfSelector )
     {
     COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandler::ConstructL() *aIfSelector=%d", aIfSelector );
-	    
+        
     iControl = CPhoneHandlerControl::NewL( aIfSelector );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandler::NewL
@@ -86,9 +86,9 @@
 // -----------------------------------------------------------------------------
 //    
 EXPORT_C CPhoneHandler* CPhoneHandler::NewL( 
-							CRemConInterfaceSelector& aIfSelector )
-	{
-	CPhoneHandler* self = new ( ELeave ) CPhoneHandler();
+                            CRemConInterfaceSelector& aIfSelector )
+    {
+    CPhoneHandler* self = new ( ELeave ) CPhoneHandler();
     
     CleanupStack::PushL( self );
     self->ConstructL( &aIfSelector );
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerActive.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerActive.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include "PhoneHandlerActive.h"
-#include "PhoneHandlerObserver.h"
-#include "PhoneHandlerDebug.h"
+#include "phonehandleractive.h" 
+#include "phonehandlerobserver.h" 
+#include "phonehandlerdebug.h" 
 
 // EXTERNAL DATA STRUCTURES
 
@@ -43,28 +43,28 @@
 // ============================ MEMBER FUNCTIONS ===============================
  
 CPhoneHandlerActive* CPhoneHandlerActive::NewL( MPhoneHandlerObserver& aObserver )
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::NewL() start" );
-	CPhoneHandlerActive* self = new(ELeave) CPhoneHandlerActive( aObserver );
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::NewL() end" );
-	return self;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::NewL() start" );
+    CPhoneHandlerActive* self = new(ELeave) CPhoneHandlerActive( aObserver );
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::NewL() end" );
+    return self;
+    }
 
 CPhoneHandlerActive::~CPhoneHandlerActive()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::~CPhoneHandlerActive() start" );
-	
-	Cancel();
-	
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::~CPhoneHandlerActive() end" );
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::~CPhoneHandlerActive() start" );
+    
+    Cancel();
+    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::~CPhoneHandlerActive() end" );
+    }
 
 CPhoneHandlerActive::CPhoneHandlerActive( MPhoneHandlerObserver& aObserver )
-:	CActive(CActive::EPriorityStandard),
-	iObserver(aObserver)
-	{
-	CActiveScheduler::Add(this);
-	}
+:   CActive(CActive::EPriorityStandard),
+    iObserver(aObserver)
+    {
+    CActiveScheduler::Add(this);
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerActive::SetActive()
@@ -72,9 +72,9 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerActive::SetActive()
-	{
-	CActive::SetActive();
-	}
+    {
+    CActive::SetActive();
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerActive::RunL()
@@ -83,13 +83,13 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerActive::RunL()
-	{
-	COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerActive::RunL() iStatus.Int()=%d", iStatus.Int() );
-	
-	TInt error( iStatus.Int() );
-	iStatus =  KErrNone;
-	iObserver.RequestCompleted( error );
-	}
+    {
+    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerActive::RunL() iStatus.Int()=%d", iStatus.Int() );
+    
+    TInt error( iStatus.Int() );
+    iStatus =  KErrNone;
+    iObserver.RequestCompleted( error );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerActive::RunError
@@ -104,7 +104,7 @@
     aError = KErrNone;
 
     COM_TRACE_( "[AccFW:PHONECMDHANDLER] CPhoneHandlerActive::RunError() - return KErrNone" );
-		    
+            
     return aError; 
     }
 
@@ -115,11 +115,11 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerActive::DoCancel()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::DoCancel() start" );
-		
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::DoCancel() end" );
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::DoCancel() start" );
+        
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerActive::DoCancel() end" );
+    }
 
 //
 // End of file
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerAnswerCall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerAnswerCall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,12 +17,12 @@
 
 
 // INCLUDE FILES
-#include    "PhoneHandlerAnswerCall.h"
-#include 	"PhoneHandlerControl.h"
-#include 	"PhoneHandlerDebug.h"
-#include 	<RemConCallHandlingTarget.h>
+#include    "phonehandleranswercall.h" 
+#include    "phonehandlercontrol.h" 
+#include    "phonehandlerdebug.h" 
+#include    <RemConCallHandlingTarget.h> 
 
-#include	<CPhCltCommandHandler.h>
+#include    <cphcltcommandhandler.h> 
 
 // EXTERNAL DATA STRUCTURES
 
@@ -51,8 +51,8 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerAnswerCall::CPhoneHandlerAnswerCall( 
-							CPhoneHandlerControl& aControl, 
-        					TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl, 
+                            TRemConExtCallHandlingApiOperationId aOperation )
 : iControl( aControl ),
   iOperation( aOperation )
     {
@@ -66,11 +66,11 @@
 void CPhoneHandlerAnswerCall::ConstructL()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::ConstructL() start" );
-	    
+        
     LoadServiceL();
     
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::ConstructL() end" );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerAnswerCall::NewL
@@ -78,21 +78,21 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerAnswerCall* CPhoneHandlerAnswerCall::NewL( 
-							CPhoneHandlerControl& aControl, 
-        					TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl, 
+                            TRemConExtCallHandlingApiOperationId aOperation )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::NewL() start" );
-	    
+        
     CPhoneHandlerAnswerCall* self = new( ELeave ) CPhoneHandlerAnswerCall( 
-    												aControl, 
-    												aOperation );
+                                                    aControl, 
+                                                    aOperation );
     
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop( self );
 
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::NewL() end" );
-	
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::NewL() end" );
+    
     return self;
     }
 
@@ -100,7 +100,7 @@
 CPhoneHandlerAnswerCall::~CPhoneHandlerAnswerCall()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::~CPhoneHandlerAnswerCall()" );
-	
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -110,12 +110,12 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerAnswerCall::Process()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::Process()" );
-		
-	iCommandHandler->Ata( GetStatus() );
-	Activate(); 	
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::Process()" );
+        
+    iCommandHandler->Ata( GetStatus() );
+    Activate();     
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerAnswerCall::Delete
@@ -123,11 +123,11 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerAnswerCall::Delete()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::Delete()" );
-		
-	delete this;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::Delete()" );
+        
+    delete this;
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerAnswerCall::RequestCompleted
@@ -138,33 +138,33 @@
 void CPhoneHandlerAnswerCall::RequestCompleted( const TInt aError )
     {
     COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::RequestCompleted() aError=%d, iState=%d", aError, iState );
-	    
-	switch( iState )
-		{
-		case EPhoneHandlerState1:
-			{
-			NextState();
-			iControl.CommandInitiator().SendResponse( GetStatus(), 
-													  iOperation,
-													  aError );
-			Activate();
-			break;
-			}
-			
-		case EPhoneHandlerState2:
-			{
-			IdleState();
-			delete this; 
-			break;
-			}
-			
-		default:
-			{
-			COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::RequestCompleted() Unspecified state" );
-			break;
-			}
-		};
-	}
+        
+    switch( iState )
+        {
+        case EPhoneHandlerState1:
+            {
+            NextState();
+            iControl.CommandInitiator().SendResponse( GetStatus(), 
+                                                      iOperation,
+                                                      aError );
+            Activate();
+            break;
+            }
+            
+        case EPhoneHandlerState2:
+            {
+            IdleState();
+            delete this; 
+            break;
+            }
+            
+        default:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerAnswerCall::RequestCompleted() Unspecified state" );
+            break;
+            }
+        };
+    }
     
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerCallArray.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +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:  Implements the class CPhoneHandlerCallArray
-*
-*/
-
-#include <callinformation.h>
-#include "PhoneHandlerCallArray.h"
-
-// ---------------------------------------------------------------------------
-// CPhoneHandlerCallArray::NewL.
-// ---------------------------------------------------------------------------
-//
-CPhoneHandlerCallArray* CPhoneHandlerCallArray::NewL( )
-    {
-    CPhoneHandlerCallArray* self = new ( ELeave ) CPhoneHandlerCallArray(  );
-    return self;    
-    }
-
-// ---------------------------------------------------------------------------
-// Destructs the array including remaining calls.
-// ---------------------------------------------------------------------------
-//
-CPhoneHandlerCallArray::~CPhoneHandlerCallArray( )
-    {
-     TInt callCount = iCallArray.Count();
-    
-    for (TInt callIndex = 0; callIndex < callCount; callIndex++)
-        {
-        TCallInfo* call = iCallArray[ callIndex ];
-        delete call;
-        }
-        
-    iCallArray.Reset();
-    iCallArray.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// Iterates through call objects finding the call matching the given call index.
-// ---------------------------------------------------------------------------
-//    
-TCallInfo* CPhoneHandlerCallArray::FindCall( TInt aCallIndex )
-    {
-    TInt callCount = iCallArray.Count();
-    for (TInt callIndex = 0; callIndex < callCount; callIndex++)
-        {
-        TCallInfo* call = iCallArray[ callIndex ];        
-        if ( call )
-            {
-            if ( call->CallIndex() == aCallIndex )
-                {
-                return call;
-                }
-            }
-        }
-
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneHandlerCallArray::Add
-// ---------------------------------------------------------------------------
-//    
-void CPhoneHandlerCallArray::AddL( const MCall* aCall )
-    {
-    //take heap based copy and add it to the array
-    TCallInfo* call = new( ELeave )TCallInfo;    
-	
-    call->iIndex = aCall->CallIndex();
-	call->iState = aCall->CallState();
-	call->iType = aCall->CallType();
-	call->iDirection = aCall->CallDirection();
-	call->iEmergencyCall = aCall->IsEmergency();
-	call->iServiceId = aCall->ServiceId();    
-
-	CleanupStack::PushL( call );
-	iCallArray.AppendL( call );    
-	CleanupStack::Pop( call );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneHandlerCallArray::Remove
-// ---------------------------------------------------------------------------
-//    
-TInt CPhoneHandlerCallArray::Remove( TCallInfo* aCall ) 
-    {
-    TInt index = iCallArray.Find( aCall );
-    if ( index != KErrNotFound )
-        {
-        TCallInfo* call = iCallArray[ index ];
-        delete call;
-        iCallArray.Remove( index );
-        return KErrNone;
-        }
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneHandlerCallArray::CallCount
-// ---------------------------------------------------------------------------
-//    
-TInt CPhoneHandlerCallArray::CallCount( )
-    {
-    return iCallArray.Count();
-    }
-
-//---------------------------------------------------------------------------
-// CPhoneHandlerCallArray::CallByState
-// ---------------------------------------------------------------------------
-//    
-TCallInfo* CPhoneHandlerCallArray::CallByState( TInt aState )
-    {
-    TCallInfo* call;
-    TInt callCount = iCallArray.Count();
-    for (TInt callIndex = 0; callIndex < callCount; callIndex++)
-        {
-        call = iCallArray[ callIndex ];      
-        
-        if( call->CallState() == aState)
-        	{
-        	return call;
-            }
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructs the monitor.
-// ---------------------------------------------------------------------------
-//
-CPhoneHandlerCallArray::CPhoneHandlerCallArray()
-    {
-    }
-	
-//---------------------------------------------------------------------------
-// CPhoneHandlerCallArray::ConnectedCallCount
-// ---------------------------------------------------------------------------
-//    
-TInt CPhoneHandlerCallArray::ConnectedCallCount()
-    {
-    TInt callCount = iCallArray.Count();
-	TInt connectedCalls = 0;
-    for ( TInt callIndex = 0; callIndex < callCount; callIndex++ )
-        {
-        MCall* call = iCallArray[ callIndex ];        
-        if ( CCPCall::EStateConnected == call->CallState() )
-            {
-            connectedCalls++;
-            }
-        }
-    return connectedCalls;
-    }
-
-//---------------------------------------------------------------------------
-// CPhoneHandlerCallArray::ExistingCallCount
-// ---------------------------------------------------------------------------
-//    
-TInt CPhoneHandlerCallArray::ExistingCallCount()
-    {
-    TInt callCount = iCallArray.Count();
-	TInt existingCalls = 0;
-    for ( TInt callIndex = 0; callIndex < callCount; callIndex++ )
-        {
-        TCallInfo* call = iCallArray[ callIndex ];      
-        CCPCall::TCallState callState = call->CallState();
-        
-        if( CCPCall::EStateIdle != callState  
-			&& CCPCall::EStateDisconnecting != callState )
-			{
-			existingCalls++;
-            }
-        }
-    return existingCalls;
-    }
-
-// End of File
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerCallBase.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerCallBase.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,11 +18,11 @@
 
 
 // INCLUDE FILES
-#include "PhoneHandlerCallBase.h"
-#include "PhoneHandlerActive.h"
-#include "PhoneHandlerDebug.h"
+#include "phonehandlercallbase.h" 
+#include "phonehandleractive.h" 
+#include "phonehandlerdebug.h" 
 
-#include <CPhCltCommandHandler.h>
+#include <cphcltcommandhandler.h> 
 
 // EXTERNAL DATA STRUCTURES
 
@@ -51,7 +51,7 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerCallBase::CPhoneHandlerCallBase()
-	: iState( EPhoneHandlerState1 )
+    : iState( EPhoneHandlerState1 )
     {
     }
 
@@ -59,7 +59,7 @@
 CPhoneHandlerCallBase::~CPhoneHandlerCallBase()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::~CPhoneHandlerCallBase()" );
-	    	
+            
     iServer.Close();
     delete iCommandHandler;
     delete iActive;
@@ -85,7 +85,7 @@
     iActive = CPhoneHandlerActive::NewL( *this );
     
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::LoadServiceL() end" );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerCallBase::NextState
@@ -94,16 +94,16 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerCallBase::NextState()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::NextState() start" );
-		
-	TInt temp = static_cast<TInt>( iState );
-	++temp;
-	iState = static_cast<TPhoneHandlerServiceState>( temp );
-	
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::NextState() end" );
-	}
-	
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::NextState() start" );
+        
+    TInt temp = static_cast<TInt>( iState );
+    ++temp;
+    iState = static_cast<TPhoneHandlerServiceState>( temp );
+    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::NextState() end" );
+    }
+    
 // -----------------------------------------------------------------------------
 // CPhoneHandlerCallBase::IdleState
 // Sets a specific state when service has been completed.
@@ -111,13 +111,13 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerCallBase::IdleState()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::IdleState() start" );
-	
-	iState = EPhoneHandlerStateIdle;
-	
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::IdleState() end" );
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::IdleState() start" );
+    
+    iState = EPhoneHandlerStateIdle;
+    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::IdleState() end" );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerCallBase::GetStatus
@@ -126,26 +126,26 @@
 // -----------------------------------------------------------------------------
 //
 TRequestStatus& CPhoneHandlerCallBase::GetStatus()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::GetStatus() start" );
-	
-	return iActive->iStatus;
-	}
-	
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::GetStatus() start" );
+    
+    return iActive->iStatus;
+    }
+    
 // -----------------------------------------------------------------------------
 // CPhoneHandlerCallBase::Activate
 // Activates an active object for asynchronous calls.
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
-//	
+//  
 void CPhoneHandlerCallBase::Activate()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::Activate() start" );
-	
-	iActive->SetActive();						
-		
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::Activate() end" );
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::Activate() start" );
+    
+    iActive->SetActive();                       
+        
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallBase::Activate() end" );
+    }
 
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerCallState.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerCallState.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,16 +17,11 @@
 
 
 // INCLUDE FILES
-#include "PhoneHandlerCallState.h"
-#include "PhoneHandlerControl.h"
-#include "PhoneHandlerDebug.h"
+#include "phonehandlercallstate.h" 
+#include "phonehandlercontrol.h" 
+#include "phonehandlerdebug.h" 
 #include <ctsydomainpskeys.h>
 
-#include <ccallinformation.h>
-#include <mcall.h>
-#include <ccallinfoiter.h>
-
-
 // EXTERNAL DATA STRUCTURES
 
 // EXTERNAL FUNCTION PROTOTYPES  
@@ -55,9 +50,11 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerCallState::CPhoneHandlerCallState( CPhoneHandlerControl& aControl )
-:	iControl( aControl )
-	{
-	} 
+:   CActive(CActive::EPriorityStandard),
+    iControl( aControl )
+    {
+    CActiveScheduler::Add(this);
+    } 
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerCallState::ConstructL
@@ -65,70 +62,94 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerCallState::ConstructL()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::ConstructL() start" );
-	
-	// Allows CPhoneHandlerCallState to start to listen call states.
-	iInfo = CCallInformation::NewL();
-	iInfo->NotifyCallInformationChanges(*this);
-	
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::ConstructL() end" );
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::ConstructL() start" );
+    
+    // Allows CPhoneHandlerCallState to start to listen S60 call states.
+    User::LeaveIfError( 
+        iProperty.Attach( KPSUidCtsyCallInformation, KCTsyCallState ) );
+        
+    Subscribe();
+    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::ConstructL() end" );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerCallState::NewL
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
 CPhoneHandlerCallState* CPhoneHandlerCallState::NewL( CPhoneHandlerControl& aControl )
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::NewL()" );
-	
-	CPhoneHandlerCallState* self = new(ELeave) CPhoneHandlerCallState( aControl );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	
-	return self;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::NewL()" );
+    
+    CPhoneHandlerCallState* self = new(ELeave) CPhoneHandlerCallState( aControl );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    
+    return self;
+    }
 
 // Destructor
 CPhoneHandlerCallState::~CPhoneHandlerCallState()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::~CPhoneHandlerCallState() start" );
-	    
-    if ( iInfo )
-    	{
-    	iInfo->CancelNotification();
-    	delete iInfo;
-    	}    
-
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::~CPhoneHandlerCallState() end" );
-	}
-
-// -----------------------------------------------------------------------------
-// CPhoneHandlerCallState::CallInformationChanged
-// -----------------------------------------------------------------------------
-//
-void CPhoneHandlerCallState::CallInformationChanged()
-	{
-    TRAP_IGNORE( CallInformationChangedL() );
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::~CPhoneHandlerCallState() start" );
+    
+    Cancel();
+    iProperty.Cancel();
+    iProperty.Close();
+    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::~CPhoneHandlerCallState() end" );
     }
 
 // -----------------------------------------------------------------------------
-// CPhoneHandlerCallState::CallInformationChangedL
+// CPhoneHandlerCallState::RunL()
+// Informs caller of an asynchronous request that it has been completed.
+// (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void CPhoneHandlerCallState::CallInformationChangedL()
+void CPhoneHandlerCallState::RunL()
     {
-     CCallInfoIter& iter = iInfo->GetCallsL();    
-     for( iter.First(); !iter.IsDone(); iter.Next() )
-         {
-         const MCall* call ( &iter.Current() );
-         if ( call )
-        	 {
-        	 iControl.NotifyCallStateL( call );
-        	 }
-         }
+    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerCallState::RunL() - return code = %d", iStatus.Int() );
+        
+    TInt state( 0 );
+    iProperty.Get( state );
+    
+    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerCallState - KTelephonyCallState = %d", state );
+        
+    if( iStatus.Int() == KErrNone )
+        {
+        iControl.NotifyCallState( state );
+        }
+        
+    Subscribe();
     }
 
+// -----------------------------------------------------------------------------
+// CPhoneHandlerCallState::DoCancel
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPhoneHandlerCallState::DoCancel()
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::DoCancel()" );
+    
+    iProperty.Cancel();
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneHandlerCallState::Subscribe
+// Start to listen changes in call state.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPhoneHandlerCallState::Subscribe()
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerCallState::Subscribe()" );
+    
+    iProperty.Subscribe( iStatus );
+    SetActive();
+    }
+
+//
 // End of file
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -12,34 +12,35 @@
 * Contributors:
 *
 * Description:  Receives call handling related key presses from accessories and 
-*				 executes them. 
+*                executes them. 
 *
 */
 
 
 
 // INCLUDE FILES
-#include "PhoneHandlerControl.h"
-#include "PhoneHandlerService.h"
-#include "PhoneHandlerAnswerCall.h"
-#include "PhoneHandlerEndCall.h"
-#include "PhoneHandlerDialCall.h"
-#include "PhoneHandlerVoiceDial.h"
-#include "PhoneHandlerRedial.h"
-#include "PhoneHandlerMultipartyCall.h"
-#include "PhoneHandlerDTMF.h"
-#include "PhoneHandlerActive.h"
-#include "PhoneHandlerResponse.h"
-#include "PhoneHandlerCallState.h"
-#include "PhoneHandlerDebug.h"
+#include "phonehandlercontrol.h" 
+#include "phonehandlerservice.h" 
+#include "phonehandleranswercall.h" 
+#include "phonehandlerendcall.h" 
+#include "phonehandlerdialcall.h" 
+#include "phonehandlervoicedial.h" 
+#include "phonehandlerredial.h" 
+#include "phonehandlermultipartycall.h" 
+#include "phonehandlerdtmf.h" 
+#include "phonehandleractive.h" 
+#include "phonehandlerresponse.h" 
+#include "phonehandlercallstate.h" 
+#include "phonehandlerdebug.h" 
 #include <remconinterfaceselector.h>
-#include <RemConCallHandlingTarget.h>
-#include <CPbkContactEngine.h>
+#include <RemConCallHandlingTarget.h> 
 #include <ctsydomainpskeys.h>
+
+#if 0
+#include <voiceuidomainpskeys.h> 
+#endif
+
 #include <connect/sbdefs.h>
-#include <coreapplicationuisdomainpskeys.h>
-#include "PhoneHandlerCallArray.h"
-#include <callinformation.h>
 
 // EXTERNAL DATA STRUCTURES
 
@@ -71,7 +72,7 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerControl::CPhoneHandlerControl()
-	: iPrevState( EPSCTsyCallStateNone )
+    : iPrevState( EPSCTsyCallStateNone )
     {
     }
 
@@ -83,30 +84,29 @@
 void CPhoneHandlerControl::ConstructL( CRemConInterfaceSelector* aIfSelector )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() start" );
-		
+        
     if( !aIfSelector )
-    	{
-    	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() Create connection to RemCon." );
-	    	
-    	// Target connection to RemCon FW hasn't been done.
-    	iInterfaceSelector = CRemConInterfaceSelector::NewL();
-	   	iTarget = CRemConCallHandlingTarget::NewL( *iInterfaceSelector, *this );
-		iInterfaceSelector->OpenTargetL();
-		}
-	else
-		{
-		COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() Don't create connection to RemCon." );
-	    		
-		// Connection to RemCon FW as target has already been done in a process.
-		iTarget = CRemConCallHandlingTarget::NewL( *aIfSelector, *this );
-		}
-    	
-	iResponse = CPhoneHandlerResponse::NewL( *this );
-	iCallStateObserver = CPhoneHandlerCallState::NewL( *this );
-    iCallArray = CPhoneHandlerCallArray::NewL();
-    
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() end" );
-	}
+        {
+        COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() Create connection to RemCon." );
+            
+        // Target connection to RemCon FW hasn't been done.
+        iInterfaceSelector = CRemConInterfaceSelector::NewL();
+        iTarget = CRemConCallHandlingTarget::NewL( *iInterfaceSelector, *this );
+        iInterfaceSelector->OpenTargetL();
+        }
+    else
+        {
+        COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() Don't create connection to RemCon." );
+                
+        // Connection to RemCon FW as target has already been done in a process.
+        iTarget = CRemConCallHandlingTarget::NewL( *aIfSelector, *this );
+        }
+        
+    iResponse = CPhoneHandlerResponse::NewL( *this );
+    iCallStateObserver = CPhoneHandlerCallState::NewL( *this );
+            
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() end" );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::NewL
@@ -114,7 +114,7 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerControl* CPhoneHandlerControl::NewL( 
-									CRemConInterfaceSelector* aIfSelector )
+                                    CRemConInterfaceSelector* aIfSelector )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NewL() start" );
     
@@ -135,22 +135,20 @@
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::~CPhoneHandlerControl() start" );
     
     if( iInterfaceSelector )
-    	{
-    	delete iInterfaceSelector;
-       	}
+        {
+        delete iInterfaceSelector;
+        }
     
     if( iResponse )
-    	{
-    	iResponse->Delete();
-       	}
-       	
+        {
+        iResponse->Delete();
+        }
+        
     if( iCallStateObserver )
-    	{
-    	delete iCallStateObserver;
-    	}
-    
-    delete iCallArray;
-    
+        {
+        delete iCallStateObserver;
+        }
+            
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::~CPhoneHandlerControl() end" );
     }
 
@@ -231,37 +229,32 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void CPhoneHandlerControl::NotifyCallStateL( const MCall* aCall )
+void CPhoneHandlerControl::NotifyCallState( const TInt aState )
     {
-    COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState() aCall.CallIndex:%d, aCall.CallState:%d",
-				aCall->CallIndex(), aCall->CallState() );
+    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState() aState=%d", aState );
     
-    TCallInfo* call = iCallArray->FindCall( aCall->CallIndex() );
-   
-    if ( call )
-    	{
-    	// If the call is in idle or disconnecting state it can be removed from the array
-    	if ( CCPCall::EStateIdle == aCall->CallState() 
-    			|| CCPCall::EStateDisconnecting == aCall->CallState() )
-    		{
-    		COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): remove call" );
-        	iCallArray->Remove( call );
-    		}
-    	else
-    		{
-    		COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): update existing call" );
-    		iCallArray->Remove( call );
-    		iCallArray->AddL( aCall );
-    		}
-    	}
-    else
-    	{
-    	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): new call" );
-    	iCallArray->AddL( aCall );
-    	}
-	COM_TRACE_3( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState() connected:%d existing:%d total:%d", 
-			iCallArray->ConnectedCallCount(), iCallArray->ExistingCallCount(), iCallArray->CallCount() );
-	}
+    if( aState == EPSCTsyCallStateConnected && iPrevState != EPSCTsyCallStateHold )
+        {
+        COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): iActiveCalls++" );
+        
+        iActiveCalls++;
+        }
+    else if( aState == EPSCTsyCallStateDisconnecting && 
+            ( iPrevState == EPSCTsyCallStateConnected || iPrevState == EPSCTsyCallStateHold ))
+        {
+        COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): iActiveCalls--" );
+        
+        iActiveCalls--;
+        }
+    else if( aState == EPSCTsyCallStateNone )
+        {
+        COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): iActiveCalls = 0" );
+        iActiveCalls = 0;
+        }
+        
+    iPrevState = aState;
+    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState() iActiveCalls=%d", iActiveCalls );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::AnswerCall
@@ -269,26 +262,26 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerControl::AnswerCall()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerCall() start" );
-	
-	StartProcessing( ERemConExtAnswerCall );
-	
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerCall() end" );
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerCall() start" );
+    
+    StartProcessing( ERemConExtAnswerCall );
+    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerCall() end" );
     }
-	
+    
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::EndCall
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerControl::EndCall()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::EndCall() start" );
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::EndCall() start" );
     
     StartProcessing( ERemConExtEndCall );
-    	    
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::EndCall() end" );
+            
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::EndCall() end" );
     }
     
 // -----------------------------------------------------------------------------
@@ -297,50 +290,80 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerControl::AnswerEndCall()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerEndCall() start" );
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerEndCall() start" );
     
     StartProcessing( ERemConExtAnswerEnd );
-    	   
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerEndCall() end" );
+           
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerEndCall() end" );
     }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::VoiceDial
-// Dummy implementation. Operation implemented in SIND 
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
+#if 0 // SCB CR EHSA-7APJWF: SIND subscribes to RemCon directly 
+void CPhoneHandlerControl::VoiceDial( const TBool aActivate )
+    {
+    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() aActivate=%d", aActivate );
+
+    TInt callState( EPSCTsyCallStateUninitialized );
+    iProperty.Get( KPSUidCtsyCallInformation, KCTsyCallState, callState ); 
+
+    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() call state = %d", callState );
+
+    if( callState == EPSCTsyCallStateUninitialized ||
+        callState == EPSCTsyCallStateNone )
+        {
+        TInt voiceUiState( KVoiceUiIsClose );
+        iProperty.Get( KPSUidVoiceUiAccMonitor, KVoiceUiOpenKey, voiceUiState ); 
+
+        if( voiceUiState == KVoiceUiIsOpen )
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() voice UI is open!" );
+            iProperty.Set( KPSUidVoiceUiAccMonitor , KVoiceUiAccessoryEvent, ERemConExtVoiceDial );
+            iResponse->SetResponse( ERemConExtVoiceDial, KErrNone );
+            iResponse->Process();
+            }
+        else
+            {
+            iActivate = aActivate;
+            StartProcessing( ERemConExtVoiceDial );
+            }
+        }
+    else
+        {
+        iResponse->SetResponse( ERemConExtVoiceDial, KErrNone );
+        iResponse->Process();
+        }
+
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() end" );
+    }
+#else   
 void CPhoneHandlerControl::VoiceDial( const TBool /*aActivate*/ )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial()" );
- 
+
     iResponse->SetResponse( ERemConExtVoiceDial, KErrNone );
     iResponse->Process();
 
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() end" );
     }
- 
+#endif
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::LastNumberRedial
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerControl::LastNumberRedial( )
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::LastNumberRedial() start" );
-	
-	if ( IsAutoLockOn() && !IsBTAccessoryCmd() )
-        {
-        iResponse->SetResponse( ERemConExtLastNumberRedial, KErrAccessDenied );
-        iResponse->Process();
-        return;
-        }
-
-	StartProcessing( ERemConExtLastNumberRedial );
-	
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::LastNumberRedial() end" );
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::LastNumberRedial() start" );
+    
+    StartProcessing( ERemConExtLastNumberRedial );
+    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::LastNumberRedial() end" );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::DialCall
@@ -348,31 +371,24 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerControl::DialCall( const TDesC8& aTelNumber )
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() start" );
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() start" );
     
-	if ( IsAutoLockOn() && !IsBTAccessoryCmd() )
-	        {
- 	        iResponse->SetResponse( ERemConExtDialCall, KErrAccessDenied );
-	        iResponse->Process();
-	        return;
-	        }
- 	
     // Check aTelNumber range    
-   	if( KPhCltTelephoneNumberLength < aTelNumber.Length() )
-   		{
-  		COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() number value=%d too long", aTelNumber.Size() );
-  		iResponse->SetResponse( ERemConExtDialCall, KErrArgument );
-  		iResponse->Process();
-  		return; 
-  		}
-  	
-  	iTelNumber.Copy( aTelNumber );
-  	      	  	    
+    if( KPhCltTelephoneNumberLength < aTelNumber.Length() )
+        {
+        COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() number value=%d too long", aTelNumber.Size() );
+        iResponse->SetResponse( ERemConExtDialCall, KErrArgument );
+        iResponse->Process();
+        return; 
+        }
+    
+    iTelNumber.Copy( aTelNumber );
+                    
     StartProcessing( ERemConExtDialCall );
     
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() end" );
-	}
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() end" );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::MultipartyCalling
@@ -400,85 +416,79 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerControl::MultipartyCalling( const TDesC8& aData )
-	{
-	TBool error( EFalse );
-	iChldCommand = 0;
-	iChldCallNumber = 0;
-	TBuf8< KRemConExtParamMaxLength > buf( aData );
-	buf.Trim();
-	TInt length = buf.Length();
-	
-	// Check invalid number of characters
-	if ( length < KMultipartyCallMinParam || length > KMultipartyCallMaxParam )
-	    {
-	    error = ETrue;
-	    }
-	else
-	    {
-	    TLex8 param;
-	    // Set command	
-		param.Assign( buf.Mid( 0, 1 ) );
-		if( param.Val( iChldCommand ) != KErrNone )
-			{
-			error = ETrue;
-			}
-		else if ( length == KMultipartyCallMaxParam )
-	    	{
-			// Set call number
-			param.Assign( buf.Mid(1) );
-			if( param.Val( iChldCallNumber ) != KErrNone )
-				{
-				error = ETrue;
-				}
-	    	}
-	    }
+    {
+    TBool error( EFalse );
+    iChldCommand = 0;
+    iChldCallNumber = 0;
+    TBuf8< KRemConExtParamMaxLength > buf( aData );
+    buf.Trim();
+    TInt length = buf.Length();
+    
+    // Check invalid number of characters
+    if ( length < KMultipartyCallMinParam || length > KMultipartyCallMaxParam )
+        {
+        error = ETrue;
+        }
+    else
+        {
+        TLex8 param;
+        // Set command  
+        param.Assign( buf.Mid( 0, 1 ) );
+        if( param.Val( iChldCommand ) != KErrNone )
+            {
+            error = ETrue;
+            }
+        else if ( length == KMultipartyCallMaxParam )
+            {
+            // Set call number
+            param.Assign( buf.Mid(1) );
+            if( param.Val( iChldCallNumber ) != KErrNone )
+                {
+                error = ETrue;
+                }
+            }
+        }
 
-	if( error )
-		{
-		// Invalid command 
-		iResponse->SetResponse( ERemConExt3WaysCalling, KErrArgument );
-  		iResponse->Process();
-  		return;	
-		}
-		
-	COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerControl::MultipartyCalling() iChldCommand=%d, iChldCallNumber=%d", iChldCommand, iChldCallNumber );
-		
-	StartProcessing( ERemConExt3WaysCalling );
-	
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::MultipartyCalling() end" );
-	}
-	
+    if( error )
+        {
+        // Invalid command 
+        iResponse->SetResponse( ERemConExt3WaysCalling, KErrArgument );
+        iResponse->Process();
+        return; 
+        }
+        
+    COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerControl::MultipartyCalling() iChldCommand=%d, iChldCallNumber=%d", iChldCommand, iChldCallNumber );
+        
+    StartProcessing( ERemConExt3WaysCalling );
+    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::MultipartyCalling() end" );
+    }
+    
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::GenerateDTMF
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerControl::GenerateDTMF( const TChar aChar )
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::GenerateDTMF() start" );
-	
-	iChar = aChar;
-	
-	StartProcessing( ERemConExtGenerateDTMF );
-	
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::GenerateDTMF() end" );
-	}
-	
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::GenerateDTMF() start" );
+    
+    iChar = aChar;
+    
+    StartProcessing( ERemConExtGenerateDTMF );
+    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::GenerateDTMF() end" );
+    }
+    
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::SpeedDial
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void CPhoneHandlerControl::SpeedDial( const TInt aIndex )
-	{
-	COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::SpeedDial() aIndex=%d", aIndex );
-
-	iIndex = aIndex;
-	
-	StartProcessing( ERemConExtSpeedDial );
-	
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::SpeedDial() end" );
-	}
+void CPhoneHandlerControl::SpeedDial( const TInt /*aIndex*/ )
+    {    
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::SpeedDial() - Not Supported" );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerControl::StartProcessing
@@ -487,41 +497,41 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void CPhoneHandlerControl::StartProcessing(	
-	const TRemConExtCallHandlingApiOperationId aOperation )
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing() start" );
-    		
-	// Create a service
-	MPhoneHandlerService* service = NULL;
-	TInt error( KErrNone );
-	TRAP( error, service = CreateServiceL( aOperation ) ); 
-		
-	COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() returned %d", error );
-		
-	if( error )
-		{
-		COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing(): service wasn't created succesfully." );
-		
-		// An error happened. Delete service, if it exists.
-		if( service )
-			{
-			service->Delete();
-			service = NULL;
-			}
-		
-		iResponse->SetResponse( aOperation, error );
-  		iResponse->Process();
-  		return;
-		}
-	else
-		{
-		// start service
-		service->Process();	
-		iSwitchCall = EFalse;
-		}
-			
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing() end" );
+void CPhoneHandlerControl::StartProcessing( 
+    const TRemConExtCallHandlingApiOperationId aOperation )
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing() start" );
+            
+    // Create a service
+    MPhoneHandlerService* service = NULL;
+    TInt error( KErrNone );
+    TRAP( error, service = CreateServiceL( aOperation ) ); 
+        
+    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() returned %d", error );
+        
+    if( error )
+        {
+        COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing(): service wasn't created succesfully." );
+        
+        // An error happened. Delete service, if it exists.
+        if( service )
+            {
+            service->Delete();
+            service = NULL;
+            }
+        
+        iResponse->SetResponse( aOperation, error );
+        iResponse->Process();
+        return;
+        }
+    else
+        {
+        // start service
+        service->Process(); 
+        iSwitchCall = EFalse;
+        }
+            
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing() end" );
     }
     
 // -----------------------------------------------------------------------------
@@ -530,7 +540,7 @@
 // -----------------------------------------------------------------------------
 //
 MPhoneHandlerService* CPhoneHandlerControl::
-	CreateServiceL( const TRemConExtCallHandlingApiOperationId aOperation )
+    CreateServiceL( const TRemConExtCallHandlingApiOperationId aOperation )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() start" );
       
@@ -539,152 +549,152 @@
     switch( aOperation )
         {
         case ERemConExtAnswerCall:
-		    {
-		    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtAnswerCall command" );
-		    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - iCallArray->ExistingCallCount() is %d", iCallArray->ExistingCallCount() );
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtAnswerCall command" );
+            COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - iActiveCalls is %d", iActiveCalls );
 
-			/*    	    
-    	    if( iActiveCalls > 0 )
-    	    	{
-    	    	// Multiparty call
-    	    	iSwitchCall = ETrue;
-    	    	pService = CPhoneHandlerMultipartyCall::NewL( *this );
-    	    	}
-    	    else
-    	    	{
-    	    	// non-multiparty call
-    	    	pService = CPhoneHandlerAnswerCall::NewL( *this );
-    	    	}
-    	    */
-    	    pService = CPhoneHandlerAnswerCall::NewL( *this );
+            /*          
+            if( iActiveCalls > 0 )
+                {
+                // Multiparty call
+                iSwitchCall = ETrue;
+                pService = CPhoneHandlerMultipartyCall::NewL( *this );
+                }
+            else
+                {
+                // non-multiparty call
+                pService = CPhoneHandlerAnswerCall::NewL( *this );
+                }
+            */
+            pService = CPhoneHandlerAnswerCall::NewL( *this );
 
-            break;	
-		    }
-		    
+            break;  
+            }
+            
         case ERemConExtEndCall:
-		    {
-		    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtEndCall command" );
-    	    
-		    pService = CPhoneHandlerEndCall::NewL( *this );
-		    
-		    break;	
-		    }
-		    
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtEndCall command" );
+            
+            pService = CPhoneHandlerEndCall::NewL( *this );
+            
+            break;  
+            }
+            
         case ERemConExtAnswerEnd:
-        	{
-        	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtAnswerEnd command" );
-    	       
-        	if( iCallArray->ExistingCallCount() )
-          		{
-          		COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - call(s) exist" );
-          		// If only one call exists and it's state is CCPCall::EStateQueued,
-          		// it is actually in ringing state and should be answered.
-          		if ( NULL == iCallArray->CallByState( CCPCall::EStateRinging ) 
-						&& ( iCallArray->ExistingCallCount() == 1 
-							&& NULL == iCallArray->CallByState( CCPCall::EStateQueued ) ) )
-						{
-						COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - no ringing calls" );
-						pService = CPhoneHandlerEndCall::NewL( *this, 
-														   aOperation );
-						}
-				// Ringing call(s) exist
-				else
-					{
-					if( iCallArray->ExistingCallCount() > 1 )
-						{
-						COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - several ringing calls" );
-						// multicall case : End call that has existed longer.
-						// (From UI viewpoint ringing call is in waiting state.)
-						pService = CPhoneHandlerEndCall::NewL( *this, 
-													   aOperation );
-						}
-					else
-						{
-						COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - single ringing call" );
-						pService = CPhoneHandlerAnswerCall::NewL( 
-										*this, 
-										aOperation );
-						}
-					}
-		    	}
-		    else
-		    	{
-		    	// Send / end button was pressed when there were not 
-		    	// any calls active. Response has to be sent back to accessory
-		    	// at least for following reasons:
-		    	
-		    	// 1. RemCon FW releases message related memory only when response
-		    	// is sent back to accessory.
-		    	
-		    	// 2. BT accessory key press producing ERemConExtAnswerEnd 
-		    	// operation has some other meaning than answer/end call 
-		    	// and it's processed by proper client. However, there 
-		    	// might be a situation where proper client isn't active 
-		    	// and can't process command. In any case RemCon/BT accessory
-		    	// requires response to command. That's why PhoneCmdHandler 
-		    	// sends reponse to command. 
-								
-				iResponse->SetResponse( aOperation, KErrNone );
-				pService = iResponse;
-				}
-        	break;
-        	} 
-		    
-		case ERemConExtDialCall:
-		    {
-		    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtDialCall command" );
-    	    		    
-		   	pService = CPhoneHandlerDialCall::NewL( *this );
-            break;	
-		    }
-		    
-		case ERemConExtVoiceDial:
-        	{
-		    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtVoiceDial command" );
-    	    		    
-		    pService = CPhoneHandlerVoiceDial::NewL( *this );
-            break;	
-		    }
-		    
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtAnswerEnd command" );
+                        
+            TInt callState( EPSCTsyCallStateUninitialized );
+            iProperty.Get( KPSUidCtsyCallInformation, KCTsyCallState, callState ); 
+            
+            COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() call state = %d", callState );
+               
+            if( callState != EPSCTsyCallStateUninitialized &&
+                callState != EPSCTsyCallStateNone && 
+                callState != EPSCTsyCallStateDisconnecting )
+                {
+                if( callState == EPSCTsyCallStateAlerting ||
+                    callState == EPSCTsyCallStateDialling ||
+                    callState == EPSCTsyCallStateAnswering ||
+                    callState == EPSCTsyCallStateConnected ||
+                    callState == EPSCTsyCallStateHold )
+                    {
+                    pService = CPhoneHandlerEndCall::NewL( *this, 
+                                                       aOperation );
+                    }
+                // callState == EPSTelephonyCallStateRinging
+                else
+                    {
+                    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() iActiveCalls = %d", iActiveCalls );
+                    if( iActiveCalls > 0 )
+                        {
+                        // multicall case : End call that has existed longer.
+                        // (From UI viewpoint ringing call is in waiting state.)
+                        pService = CPhoneHandlerEndCall::NewL( *this, 
+                                                       aOperation );
+                        if( callState == EPSCTsyCallStateRinging )
+                            {
+                            // In multiparty case the telephony key is not
+                            // updated. The call amount is updated manually.
+                            iActiveCalls--;
+                            }
+                        }
+                    else
+                        {
+                        pService = CPhoneHandlerAnswerCall::NewL( 
+                                        *this, 
+                                        aOperation );
+                        }
+                    }
+                }
+            else
+                {
+                // Send / end button was pressed when there were not 
+                // any calls active. Response has to be sent back to accessory
+                // at least for following reasons:
+                
+                // 1. RemCon FW releases message related memory only when response
+                // is sent back to accessory.
+                
+                // 2. BT accessory key press producing ERemConExtAnswerEnd 
+                // operation has some other meaning than answer/end call 
+                // and it's processed by proper client. However, there 
+                // might be a situation where proper client isn't active 
+                // and can't process command. In any case RemCon/BT accessory
+                // requires response to command. That's why PhoneCmdHandler 
+                // sends reponse to command. 
+                                
+                iResponse->SetResponse( aOperation, KErrNone );
+                pService = iResponse;
+                }
+            break;
+            } 
+            
+        case ERemConExtDialCall:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtDialCall command" );
+                        
+            pService = CPhoneHandlerDialCall::NewL( *this );
+            break;  
+            }
+            
+        case ERemConExtVoiceDial:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtVoiceDial command" );
+                        
+            pService = CPhoneHandlerVoiceDial::NewL( *this );
+            break;  
+            }
+            
         case ERemConExtLastNumberRedial:
-        	{
-		    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtLastNumberRedial command" );
-    	    		    
-		    pService = CPhoneHandlerLastNumberRedial::NewL( *this );
-            break;	
-		    }
-		    
-		case ERemConExt3WaysCalling:
-        	{
-		    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExt3WaysCalling command" );
-    	    		    
-		    pService = CPhoneHandlerMultipartyCall::NewL( *this );
-            break;	
-		    }
-		    
-		case ERemConExtGenerateDTMF:
-        	{
-		    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtGenerateDTMF command" );
-    	    		    
-		    pService = CPhoneHandlerDTMF::NewL( *this );
-            break;	
-		    }
-		    
-        case ERemConExtSpeedDial:
-        	{
-        	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtSpeedDial command" );
-    	            	
-        	InitializeSpeedDialL();
-        	pService = CPhoneHandlerDialCall::NewL( *this, 
-        											aOperation );
-            break;	
-		    } 
-				    
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtLastNumberRedial command" );
+                        
+            pService = CPhoneHandlerLastNumberRedial::NewL( *this );
+            break;  
+            }
+            
+        case ERemConExt3WaysCalling:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExt3WaysCalling command" );
+                        
+            pService = CPhoneHandlerMultipartyCall::NewL( *this );
+            break;  
+            }
+            
+        case ERemConExtGenerateDTMF:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtGenerateDTMF command" );
+                        
+            pService = CPhoneHandlerDTMF::NewL( *this );
+            break;  
+            }
+                    
         default:
-        	{
-        	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() Unspecified state" );
-			break;
-	       	}
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() Unspecified state" );
+            break;
+            }
         };
         
     COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() end, %d", pService );
@@ -692,41 +702,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPhoneHandlerControl::InitializeSpeedDialL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneHandlerControl::InitializeSpeedDialL()
-    {
-    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() start" );
-    
-    // first check contack engine is not in busy
-  TInt cntEngState( 0 );
-	TInt err = iProperty.Get( KUidSystemCategory, conn::KUidBackupRestoreKey, cntEngState ); 
-  
-	if( err == KErrNotFound || cntEngState == 0 || 
-			cntEngState & conn::KBURPartTypeMask == conn::EBURNormal || 
-			cntEngState & conn::KBackupIncTypeMask == conn::ENoBackup )
-		{
-	    // Get phone number from phonebook by index	
-		CPbkContactEngine* ptr = CPbkContactEngine::NewL();
-    CleanupStack::PushL( ptr );       
-		TRACE_ASSERT( ptr != NULL );
-		ptr->GetSpeedDialFieldL( iIndex, iTelNumber );
-		COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() speed dial number is %S", &iTelNumber );
-		CleanupStack::PopAndDestroy( ptr );
-		}
-	else
-		{
-		// contact engine is in busy
-		COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() contact engine is in backup/restore" );
-		User::Leave( KErrInUse );
-		}
-		
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() end" );
-	}
-
-// -----------------------------------------------------------------------------
 // CPhoneHandlerControl::SwitchCall
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
@@ -734,52 +709,7 @@
 TBool CPhoneHandlerControl::SwitchCall()
     {
     return iSwitchCall;
-	}
-
-// ---------------------------------------------------------
-// CPhoneHandlerControl::IsAutoLockOn
-// ---------------------------------------------------------
-//
-TBool CPhoneHandlerControl::IsAutoLockOn() const
-    {
-    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::IsAutoLockOn() start " );
-    TInt err( KErrNone );
-    TInt value( EAutolockStatusUninitialized );
-
-    err = RProperty::Get( KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, value );
-    if ( err != KErrNone )
-        {
-        value = err;
-        }
-    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::IsAutoLockOn() autolock value = %d", value );
-    
-    return value > EAutolockOff ? ETrue : EFalse;
-      
-    }
-// ---------------------------------------------------------
-// CPhoneHandlerControl::IsBTAccessoryCmd
-// ---------------------------------------------------------
-//
-TBool CPhoneHandlerControl::IsBTAccessoryCmd() const
-    {
-    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::IsBTAccessoryCmd() start " );
-    TBool retval( EFalse );
-    
-    TRemConExtCmdSource source;             
-    iTarget->GetCommandSourceInfo( source );
-    if ( source == ERemConExtCmdSourceBluetooth )
-        {       
-        retval = ETrue;
-        }
-    
-    COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::IsBTAccessoryCmd() GetCommandSourceInfo = %d", source );
-       
-    return retval;
-    }
-
- 
-
- 
+    }   
 // ======================== OTHER EXPORTED FUNCTIONS ===========================
 
 // End of File
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerDTMF.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerDTMF.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,12 +17,12 @@
 
 
 // INCLUDE FILES
-#include    "PhoneHandlerDTMF.h"
-#include 	"PhoneHandlerControl.h"
-#include 	"PhoneHandlerDebug.h"
-#include 	<RemConCallHandlingTarget.h>
+#include    "phonehandlerdtmf.h" 
+#include    "phonehandlercontrol.h" 
+#include    "phonehandlerdebug.h" 
+#include    <RemConCallHandlingTarget.h> 
 
-#include	<CPhCltCommandHandler.h>
+#include    <cphcltcommandhandler.h> 
 
 
 // EXTERNAL DATA STRUCTURES
@@ -52,8 +52,8 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerDTMF::CPhoneHandlerDTMF( 
-							CPhoneHandlerControl& aControl,
-							TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl,
+                            TRemConExtCallHandlingApiOperationId aOperation )
 : iControl( aControl ), 
   iOperation( aOperation )
     {
@@ -67,11 +67,11 @@
 void CPhoneHandlerDTMF::ConstructL()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::ConstructL() start" );
-	    
+        
     LoadServiceL();
     
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::ConstructL() end" );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerDTMF::NewL
@@ -79,13 +79,13 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerDTMF* CPhoneHandlerDTMF::NewL(  
-			CPhoneHandlerControl& aControl,
-			TRemConExtCallHandlingApiOperationId aOperation )
+            CPhoneHandlerControl& aControl,
+            TRemConExtCallHandlingApiOperationId aOperation )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::NewL()" );
-	    
+        
     CPhoneHandlerDTMF* self = new( ELeave ) CPhoneHandlerDTMF( aControl, 
-    														   aOperation );
+                                                               aOperation );
     
     CleanupStack::PushL( self );
     self->ConstructL();
@@ -99,7 +99,7 @@
 CPhoneHandlerDTMF::~CPhoneHandlerDTMF()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::~CPhoneHandlerDTMF()" );
-	
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -109,14 +109,14 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerDTMF::Process()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::Process()" );
-		
-	iCommandHandler->Vts( GetStatus(), 
-						  iControl.Tone(), 
-						  EPhCltDtmfNotUsed );
-	Activate();	
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::Process()" );
+        
+    iCommandHandler->Vts( GetStatus(), 
+                          iControl.Tone(), 
+                          EPhCltDtmfNotUsed );
+    Activate(); 
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerDTMF::Delete
@@ -124,11 +124,11 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerDTMF::Delete()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::Delete()" );
-		
-	delete this;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::Delete()" );
+        
+    delete this;
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerDTMF::RequestCompleted
@@ -139,33 +139,33 @@
 void CPhoneHandlerDTMF::RequestCompleted( const TInt aError )
     {
     COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerDTMF::RequestCompleted() aError=%d, iState=%d", aError, iState );
-	    
-	switch( iState )
-		{
-		case EPhoneHandlerState1:
-			{
-			NextState();
-			iControl.CommandInitiator().SendResponse( GetStatus(), 
-													  iOperation,
-													  aError );
-			Activate();
-			break;
-			}
-			
-		case EPhoneHandlerState2:
-			{
-			IdleState();
-			delete this;
-			break;
-			}
-			
-		default:
-			{
-			COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::RequestCompleted() Unspecified state" );
-			break;
-			}
-		};
-	}
+        
+    switch( iState )
+        {
+        case EPhoneHandlerState1:
+            {
+            NextState();
+            iControl.CommandInitiator().SendResponse( GetStatus(), 
+                                                      iOperation,
+                                                      aError );
+            Activate();
+            break;
+            }
+            
+        case EPhoneHandlerState2:
+            {
+            IdleState();
+            delete this;
+            break;
+            }
+            
+        default:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDTMF::RequestCompleted() Unspecified state" );
+            break;
+            }
+        };
+    }
     
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerDialCall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerDialCall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,13 +17,13 @@
 
 
 // INCLUDE FILES
-#include    "PhoneHandlerDialCall.h"
-#include 	"PhoneHandlerControl.h"
-#include 	"PhoneHandlerDebug.h"
+#include    "phonehandlerdialcall.h" 
+#include    "phonehandlercontrol.h" 
+#include    "phonehandlerdebug.h" 
 
-#include	<CPhCltCommandHandler.h>
-#include	<PhCltTypes.h>
-#include	<RemConCallHandlingTarget.h>
+#include    <cphcltcommandhandler.h> 
+#include    <phclttypes.h> 
+#include    <RemConCallHandlingTarget.h> 
 
 // EXTERNAL DATA STRUCTURES
 
@@ -52,8 +52,8 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerDialCall::CPhoneHandlerDialCall( 
-							CPhoneHandlerControl& aControl,
-							TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl,
+                            TRemConExtCallHandlingApiOperationId aOperation )
 : iControl( aControl ),
   iOperation( aOperation )
     {
@@ -67,11 +67,11 @@
 void CPhoneHandlerDialCall::ConstructL()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::ConstructL() start" );
-	    
+        
     LoadServiceL();
     
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::ConstructL() end" );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerDialCall::NewL
@@ -79,14 +79,14 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerDialCall* CPhoneHandlerDialCall::NewL( 
-							CPhoneHandlerControl& aControl,
-							TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl,
+                            TRemConExtCallHandlingApiOperationId aOperation )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::NewL()" );
-	    
+        
     CPhoneHandlerDialCall* self = new( ELeave ) CPhoneHandlerDialCall( 
-    												aControl, 
-    												aOperation );
+                                                    aControl, 
+                                                    aOperation );
     
     CleanupStack::PushL( self );
     self->ConstructL();
@@ -100,7 +100,7 @@
 CPhoneHandlerDialCall::~CPhoneHandlerDialCall()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::~CPhoneHandlerDialCall()" );
-	
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -110,14 +110,14 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerDialCall::Process()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::Process()" );
-	
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::Process()" );
+    
     COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerDialCall::Process() telephone number is %S", &(iControl.TelephoneNumber() ) );
-	iCommandHandler->Atd( GetStatus(), iControl.TelephoneNumber() ); 
-			
-	Activate();							
-	}
+    iCommandHandler->Atd( GetStatus(), iControl.TelephoneNumber() ); 
+            
+    Activate();                         
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerDialCall::Delete
@@ -125,11 +125,11 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerDialCall::Delete()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::Delete()" );
-		
-	delete this;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::Delete()" );
+        
+    delete this;
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerDialCall::RequestCompleted
@@ -140,33 +140,33 @@
 void CPhoneHandlerDialCall::RequestCompleted( const TInt aError )
     {
     COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerDialCall::RequestCompleted() aError=%d, iState=%d", aError, iState );
-	    
-	switch( iState )
-		{
-		case EPhoneHandlerState1:
-			{
-			NextState();
-			iControl.CommandInitiator().SendResponse( GetStatus(), 
-													  iOperation,
-													  aError );
-			Activate();
-			break;
-			}
-			
-		case EPhoneHandlerState2:
-			{
-			IdleState();
-			delete this; 
-			break;
-			}
-			
-		default:
-			{
-			COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::AsynchronousRequestCompleted() Unspecified state" );
-			break;
-			}
-		};
-	}
+        
+    switch( iState )
+        {
+        case EPhoneHandlerState1:
+            {
+            NextState();
+            iControl.CommandInitiator().SendResponse( GetStatus(), 
+                                                      iOperation,
+                                                      aError );
+            Activate();
+            break;
+            }
+            
+        case EPhoneHandlerState2:
+            {
+            IdleState();
+            delete this; 
+            break;
+            }
+            
+        default:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerDialCall::AsynchronousRequestCompleted() Unspecified state" );
+            break;
+            }
+        };
+    }
     
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerEndCall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerEndCall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,12 +17,12 @@
 
 
 // INCLUDE FILES
-#include    "PhoneHandlerEndCall.h"
-#include	"PhoneHandlerControl.h"
-#include 	"PhoneHandlerDebug.h"
-#include 	<RemConCallHandlingTarget.h>
+#include    "phonehandlerendcall.h" 
+#include    "phonehandlercontrol.h" 
+#include    "phonehandlerdebug.h" 
+#include    <RemConCallHandlingTarget.h> 
 
-#include	<CPhCltCommandHandler.h>
+#include    <cphcltcommandhandler.h> 
 
 // EXTERNAL DATA STRUCTURES
 
@@ -51,8 +51,8 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerEndCall::CPhoneHandlerEndCall(  
-							CPhoneHandlerControl& aControl, 
-        					TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl, 
+                            TRemConExtCallHandlingApiOperationId aOperation )
 : iControl( aControl ),
   iOperation( aOperation )
     {
@@ -66,11 +66,11 @@
 void CPhoneHandlerEndCall::ConstructL()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::ConstructL() start" );
-	    
+        
     LoadServiceL();
     
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::ConstructL() end" );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerEndCall::NewL
@@ -78,14 +78,14 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerEndCall* CPhoneHandlerEndCall::NewL( 
-						CPhoneHandlerControl& aControl,
-						TRemConExtCallHandlingApiOperationId aOperation )
+                        CPhoneHandlerControl& aControl,
+                        TRemConExtCallHandlingApiOperationId aOperation )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::NewL()" );
-	    
+        
     CPhoneHandlerEndCall* self = new( ELeave ) CPhoneHandlerEndCall( 
-    												aControl,
-    												aOperation );
+                                                    aControl,
+                                                    aOperation );
     
     CleanupStack::PushL( self );
     self->ConstructL();
@@ -99,7 +99,7 @@
 CPhoneHandlerEndCall::~CPhoneHandlerEndCall()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::~CPhoneHandlerEndCall()" );
-	
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -109,12 +109,12 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerEndCall::Process()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::Process()" );
-	
-	iCommandHandler->Chup( GetStatus() ); 	 
-	Activate();					     	
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::Process()" );
+    
+    iCommandHandler->Chup( GetStatus() );    
+    Activate();                         
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerEndCall::Delete
@@ -122,11 +122,11 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerEndCall::Delete()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::Delete()" );
-		
-	delete this;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::Delete()" );
+        
+    delete this;
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerEndCall::RequestCompleted
@@ -137,33 +137,33 @@
 void CPhoneHandlerEndCall::RequestCompleted( const TInt aError )
     {
     COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerEndCall::RequestCompleted() aError=%d, iState=%d", aError, iState );
-	    
-	switch( iState )
-		{
-		case EPhoneHandlerState1:
-			{
-			NextState();
-			iControl.CommandInitiator().SendResponse( GetStatus(), 
-													  iOperation,
-													  aError );
-			Activate();
-			break;
-			}
-			
-		case EPhoneHandlerState2:
-			{
-			IdleState();
-			delete this;  
-			break;
-			}
-			
-		default:
-			{
-			COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::RequestCompleted() Unspecified state" );
-			break;
-			}
-		};
-	}
+        
+    switch( iState )
+        {
+        case EPhoneHandlerState1:
+            {
+            NextState();
+            iControl.CommandInitiator().SendResponse( GetStatus(), 
+                                                      iOperation,
+                                                      aError );
+            Activate();
+            break;
+            }
+            
+        case EPhoneHandlerState2:
+            {
+            IdleState();
+            delete this;  
+            break;
+            }
+            
+        default:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerEndCall::RequestCompleted() Unspecified state" );
+            break;
+            }
+        };
+    }
     
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerMultipartyCall.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerMultipartyCall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,11 +17,11 @@
 
 
 // INCLUDE FILES
-#include    "PhoneHandlerMultipartyCall.h"
-#include 	"PhoneHandlerControl.h"
-#include 	"PhoneHandlerDebug.h"
-#include 	<RemConCallHandlingTarget.h>
-#include	<CPhCltCommandHandler.h>
+#include    "phonehandlermultipartycall.h" 
+#include    "phonehandlercontrol.h" 
+#include    "phonehandlerdebug.h" 
+#include    <RemConCallHandlingTarget.h> 
+#include    <cphcltcommandhandler.h> 
 
 // EXTERNAL DATA STRUCTURES
 
@@ -50,8 +50,8 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerMultipartyCall::CPhoneHandlerMultipartyCall(
-							CPhoneHandlerControl& aControl,
-							TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl,
+                            TRemConExtCallHandlingApiOperationId aOperation )
 : iControl( aControl ), 
   iOperation( aOperation )
     {
@@ -65,11 +65,11 @@
 void CPhoneHandlerMultipartyCall::ConstructL()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::ConstructL() start" );
-	    
+        
     LoadServiceL();
     
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::ConstructL() end" );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerMultipartyCall::NewL
@@ -77,13 +77,13 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerMultipartyCall* CPhoneHandlerMultipartyCall::NewL( 
-			CPhoneHandlerControl& aControl,
-			TRemConExtCallHandlingApiOperationId aOperation )
+            CPhoneHandlerControl& aControl,
+            TRemConExtCallHandlingApiOperationId aOperation )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::NewL()" );
-	    
+        
     CPhoneHandlerMultipartyCall* self = 
-    	new( ELeave ) CPhoneHandlerMultipartyCall( aControl, aOperation );
+        new( ELeave ) CPhoneHandlerMultipartyCall( aControl, aOperation );
     
     CleanupStack::PushL( self );
     self->ConstructL();
@@ -97,7 +97,7 @@
 CPhoneHandlerMultipartyCall::~CPhoneHandlerMultipartyCall()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::~CPhoneHandlerMultipartyCall()" );
-	
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -107,29 +107,29 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerMultipartyCall::Process()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::Process()" );
-	
-	/*
-	if( iControl.SwitchCall() )
-		{
-		iCommandHandler->Chld( GetStatus(), EPhCltChldTwo, 0 ); 
-		}
-	else
-		{ */
-		// get command
-		TInt command = const_cast<TInt&>( iControl.ChldCommand() );
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::Process()" );
+    
+    /*
+    if( iControl.SwitchCall() )
+        {
+        iCommandHandler->Chld( GetStatus(), EPhCltChldTwo, 0 ); 
+        }
+    else
+        { */
+        // get command
+        TInt command = const_cast<TInt&>( iControl.ChldCommand() );
 
-		// get number
-		TInt number = const_cast<TInt&>( iControl.ChldCallNumber() );
-		
-		iCommandHandler->Chld( GetStatus(),
-							   static_cast<TPhCltChldCommand>( command ),
-							   number ); 
-		//}
-		
-	Activate();		
-	}
+        // get number
+        TInt number = const_cast<TInt&>( iControl.ChldCallNumber() );
+        
+        iCommandHandler->Chld( GetStatus(),
+                               static_cast<TPhCltChldCommand>( command ),
+                               number ); 
+        //}
+        
+    Activate();     
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerMultipartyCall::Delete
@@ -137,11 +137,11 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerMultipartyCall::Delete()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::Delete()" );
-		
-	delete this;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::Delete()" );
+        
+    delete this;
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerMultipartyCall::RequestCompleted
@@ -152,33 +152,33 @@
 void CPhoneHandlerMultipartyCall::RequestCompleted( const TInt aError )
     {
     COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::RequestCompleted() aError=%d, iState=%d", aError, iState );
-	    
-	switch( iState )
-		{
-		case EPhoneHandlerState1:
-			{
-			NextState();
-			iControl.CommandInitiator().SendResponse( GetStatus(), 
-													  iOperation,
-													  aError );
-			Activate();
-			break;
-			}
-			
-		case EPhoneHandlerState2:
-			{
-			IdleState();
-			delete this;
-			break;
-			}
-			
-		default:
-			{
-			COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::RequestCompleted() Unspecified state" );
-			break;
-			}
-		};
-	}
+        
+    switch( iState )
+        {
+        case EPhoneHandlerState1:
+            {
+            NextState();
+            iControl.CommandInitiator().SendResponse( GetStatus(), 
+                                                      iOperation,
+                                                      aError );
+            Activate();
+            break;
+            }
+            
+        case EPhoneHandlerState2:
+            {
+            IdleState();
+            delete this;
+            break;
+            }
+            
+        default:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerMultipartyCall::RequestCompleted() Unspecified state" );
+            break;
+            }
+        };
+    }
     
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerRedial.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerRedial.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,12 +18,12 @@
 
 // INCLUDE FILES
 
-#include "PhoneHandlerRedial.h"
-#include "PhoneHandlerControl.h"
-#include "PhoneHandlerDebug.h"
-#include <RemConCallHandlingTarget.h>
-#include <CPhCltCommandHandler.h>
-#include <PhCltTypes.h>
+#include "phonehandlerredial.h" 
+#include "phonehandlercontrol.h" 
+#include "phonehandlerdebug.h" 
+#include <RemConCallHandlingTarget.h> 
+#include <cphcltcommandhandler.h> 
+#include <phclttypes.h> 
 
 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
 #include <logfilterandeventconstants.hrh>
@@ -36,8 +36,8 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerLastNumberRedial::CPhoneHandlerLastNumberRedial(
-							CPhoneHandlerControl& aControl,
-							TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl,
+                            TRemConExtCallHandlingApiOperationId aOperation )
 : iControl( aControl ), 
   iOperation( aOperation )
     {
@@ -67,11 +67,11 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerLastNumberRedial* CPhoneHandlerLastNumberRedial::NewL( 
-	CPhoneHandlerControl& aControl,
-	TRemConExtCallHandlingApiOperationId aOperation )
+    CPhoneHandlerControl& aControl,
+    TRemConExtCallHandlingApiOperationId aOperation )
     {
     CPhoneHandlerLastNumberRedial* self = 
-    	new (ELeave) CPhoneHandlerLastNumberRedial( aControl, aOperation );
+        new (ELeave) CPhoneHandlerLastNumberRedial( aControl, aOperation );
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop( self );
@@ -87,7 +87,7 @@
     delete iLogClientPtr;
     iFsSession.Close();
     
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::CPhoneHandlerLastNumberRedial() end" );
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::CPhoneHandlerLastNumberRedial() end" );
     }
 
 // -----------------------------------------------------------------------------
@@ -97,13 +97,13 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerLastNumberRedial::Process()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() start" );
-	
-	TBool ret = EFalse;
-	    
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() start" );
+    
+    TBool ret = EFalse;
+        
     TRAPD( err, ret = iLogViewRecentPtr->
-		SetRecentListL( KLogRecentOutgoingCalls, GetStatus() ) ); 
+        SetRecentListL( KLogRecentOutgoingCalls, GetStatus() ) ); 
     if( KErrNone == err && ret )
         {
         COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() There is last redial number" );
@@ -112,15 +112,15 @@
     else
         {
         if( err != KErrNone )
-        	{
-	        COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() failed err=%d", err );
-		    RequestCompleted( err ); 
-        	}
+            {
+            COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() failed err=%d", err );
+            RequestCompleted( err ); 
+            }
         else
-        	{
-        	COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() failed err=%d", KErrNotFound );
-        	RequestCompleted( KErrNotFound ); 
-        	}
+            {
+            COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() failed err=%d", KErrNotFound );
+            RequestCompleted( KErrNotFound ); 
+            }
         }
         
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Process() end" );
@@ -132,11 +132,11 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerLastNumberRedial::Delete()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Delete()" );
-		
-	delete this;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::Delete()" );
+        
+    delete this;
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerLastNumberRedial::RequestCompleted
@@ -146,54 +146,54 @@
 //
 void CPhoneHandlerLastNumberRedial::RequestCompleted( const TInt aError )
     {
-   	COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() aError=%d, iState=%d", aError, iState );
-	
-	if( KErrNone != aError )
-		{
-		// cancel process and return an error code
-		iState = EPhoneHandlerState2;
-		}
-	
-	switch( iState )
-		{
-		case EPhoneHandlerState1:
-			{
-			NextState();
-			
-			const TDesC& number = iLogViewRecentPtr->Event().Number();
-    		COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() phone number is %S", &number );
-			// make a call with last dialed phone number
-			iCommandHandler->Atd( GetStatus(), number );
+    COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() aError=%d, iState=%d", aError, iState );
+    
+    if( KErrNone != aError )
+        {
+        // cancel process and return an error code
+        iState = EPhoneHandlerState2;
+        }
+    
+    switch( iState )
+        {
+        case EPhoneHandlerState1:
+            {
+            NextState();
+            
+            const TDesC& number = iLogViewRecentPtr->Event().Number();
+            COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() phone number is %S", &number );
+            // make a call with last dialed phone number
+            iCommandHandler->Atd( GetStatus(), number );
 
-			Activate(); 
-			break;
-			}
-		
-		case EPhoneHandlerState2:
-			{
-			NextState();
-			iControl.CommandInitiator().SendResponse( GetStatus(), 
-													  iOperation,
-													  aError );
-			Activate();
-			break;
-			}
-			
-		case EPhoneHandlerState3:
-			{
-			IdleState();
-			delete this; 
-			break;
-			}
-				
-		default:
-			{
-			COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() Unspecified state" );
-			break;
-			}
-		};
-		
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() end" );
+            Activate(); 
+            break;
+            }
+        
+        case EPhoneHandlerState2:
+            {
+            NextState();
+            iControl.CommandInitiator().SendResponse( GetStatus(), 
+                                                      iOperation,
+                                                      aError );
+            Activate();
+            break;
+            }
+            
+        case EPhoneHandlerState3:
+            {
+            IdleState();
+            delete this; 
+            break;
+            }
+                
+        default:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() Unspecified state" );
+            break;
+            }
+        };
+        
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerLastNumberRedial::RequestCompleted() end" );
     }
 
 // ========================== OTHER EXPORTED FUNCTIONS =========================
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerResponse.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerResponse.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,11 +17,11 @@
 
 
 // INCLUDE FILES
-#include    "PhoneHandlerResponse.h"
-#include 	"PhoneHandlerControl.h"
-#include 	"PhoneHandlerActive.h"
-#include 	"PhoneHandlerDebug.h"
-#include 	<RemConCallHandlingTarget.h>
+#include    "phonehandlerresponse.h" 
+#include    "phonehandlercontrol.h" 
+#include    "phonehandleractive.h" 
+#include    "phonehandlerdebug.h" 
+#include    <RemConCallHandlingTarget.h> 
 
 // EXTERNAL DATA STRUCTURES
 
@@ -62,11 +62,11 @@
 void CPhoneHandlerResponse::ConstructL()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::ConstructL() start" );
-	    
+        
     iActive = CPhoneHandlerActive::NewL( *this );
     
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::ConstructL() end" );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerResponse::NewL
@@ -74,19 +74,19 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerResponse* CPhoneHandlerResponse::NewL( 
-		CPhoneHandlerControl& aControl )
+        CPhoneHandlerControl& aControl )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::NewL() start" );
-	    
+        
     CPhoneHandlerResponse* self = 
-    	new( ELeave ) CPhoneHandlerResponse( aControl );
+        new( ELeave ) CPhoneHandlerResponse( aControl );
     
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop( self );
 
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::NewL() end" );
-	
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::NewL() end" );
+    
     return self;
     }
 
@@ -94,7 +94,7 @@
 CPhoneHandlerResponse::~CPhoneHandlerResponse()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::~CPhoneHandlerResponse()" );
-	
+    
     delete iActive;
     }
 
@@ -105,14 +105,14 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerResponse::SetResponse( 
-			TRemConExtCallHandlingApiOperationId aOperation, TInt aError )
-	{
-	COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerResponse::Process(aOperation=%d,aError=%d)",aOperation, aError );
-	
-	iOperation = aOperation;
-	iError = aError;
-	}
-	    
+            TRemConExtCallHandlingApiOperationId aOperation, TInt aError )
+    {
+    COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerResponse::Process(aOperation=%d,aError=%d)",aOperation, aError );
+    
+    iOperation = aOperation;
+    iError = aError;
+    }
+        
 // -----------------------------------------------------------------------------
 // CPhoneHandlerResponse::SendResponse
 // Sends response to RemCon FW.
@@ -120,14 +120,14 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerResponse::Process()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::Process()" );
-	
-	iControl.CommandInitiator().SendResponse( iActive->iStatus, 
-											  iOperation,
-											  iError );
-	iActive->SetActive();						
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::Process()" );
+    
+    iControl.CommandInitiator().SendResponse( iActive->iStatus, 
+                                              iOperation,
+                                              iError );
+    iActive->SetActive();                       
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerLastNumberRedial::Delete
@@ -135,11 +135,11 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerResponse::Delete()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::Delete()" );
-		
-	delete this;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerResponse::Delete()" );
+        
+    delete this;
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerResponse::RequestCompleted
@@ -150,14 +150,14 @@
 void CPhoneHandlerResponse::RequestCompleted( const TInt aError )
     {
     COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerResponse::RequestCompleted() aError=%d", aError );
-	
-	(void)aError; // avoid warning in WINSCW urel build
-	
-	// Think about adding value to TRemConExtCallHandlingApiOperationId 
-	// in RemConExtensionApi.h like "ERemConExtNoCallHandlingOperation".
-	// In this method iOperation should be set to that value.
-	iError = KErrNone;
-	}
+    
+    (void)aError; // avoid warning in WINSCW urel build
+    
+    // Think about adding value to TRemConExtCallHandlingApiOperationId 
+    // in RemConExtensionApi.h like "ERemConExtNoCallHandlingOperation".
+    // In this method iOperation should be set to that value.
+    iError = KErrNone;
+    }
     
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerVoiceDial.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerVoiceDial.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,11 +17,11 @@
 
 
 // INCLUDE FILES
-#include    "PhoneHandlerVoiceDial.h"
-#include 	"PhoneHandlerControl.h"
-#include 	"PhoneHandlerDebug.h"
-#include 	<RemConCallHandlingTarget.h>
-#include	<CPhCltCommandHandler.h>
+#include    "phonehandlervoicedial.h" 
+#include    "phonehandlercontrol.h" 
+#include    "phonehandlerdebug.h" 
+#include    <RemConCallHandlingTarget.h> 
+#include    <cphcltcommandhandler.h> 
 
 // EXTERNAL DATA STRUCTURES
 
@@ -50,8 +50,8 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerVoiceDial::CPhoneHandlerVoiceDial( 
-							CPhoneHandlerControl& aControl,
-							TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl,
+                            TRemConExtCallHandlingApiOperationId aOperation )
 : iControl( aControl ), 
   iOperation( aOperation )
     {
@@ -65,11 +65,11 @@
 void CPhoneHandlerVoiceDial::ConstructL()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::ConstructL() start" );
-	    
+        
     LoadServiceL();
     
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::ConstructL() end" );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerVoiceDial::NewL
@@ -77,21 +77,21 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneHandlerVoiceDial* CPhoneHandlerVoiceDial::NewL( 
-							CPhoneHandlerControl& aControl, 
-							TRemConExtCallHandlingApiOperationId aOperation )
+                            CPhoneHandlerControl& aControl, 
+                            TRemConExtCallHandlingApiOperationId aOperation )
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::NewL() start" );
-	    
+        
     CPhoneHandlerVoiceDial* self = new( ELeave ) CPhoneHandlerVoiceDial( 
-    												aControl, 
-    												aOperation );
+                                                    aControl, 
+                                                    aOperation );
     
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop( self );
 
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::NewL() end" );
-		
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::NewL() end" );
+        
     return self;
     }
 
@@ -100,7 +100,7 @@
 CPhoneHandlerVoiceDial::~CPhoneHandlerVoiceDial()
     {
     COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::~CPhoneHandlerVoiceDial()" );
-	
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -110,14 +110,14 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerVoiceDial::Process()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::Process()" );
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::Process()" );
 
-#if 0 // removed due to SCB CR PMEO-7JRFAX		
-	iCommandHandler->Bvra( GetStatus(), iControl.VoiceDialStatus() ); 
-#endif // #if 0 	
-	Activate();	
-	}
+#if 0 // removed due to SCB CR PMEO-7JRFAX      
+    iCommandHandler->Bvra( GetStatus(), iControl.VoiceDialStatus() ); 
+#endif // #if 0     
+    Activate(); 
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerVoiceDial::Delete
@@ -125,11 +125,11 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneHandlerVoiceDial::Delete()
-	{
-	COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::Delete()" );
-		
-	delete this;
-	}
+    {
+    COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::Delete()" );
+        
+    delete this;
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneHandlerVoiceDial::RequestCompleted
@@ -140,33 +140,33 @@
 void CPhoneHandlerVoiceDial::RequestCompleted( const TInt aError )
     {
     COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::RequestCompleted() aError=%d, iState=%d", aError, iState );
-	    
-	switch( iState )
-		{
-		case EPhoneHandlerState1:
-			{
-			NextState();
-			iControl.CommandInitiator().SendResponse( GetStatus(), 
-													  iOperation,
-													  aError );
-			Activate();
-			break;
-			}
-			
-		case EPhoneHandlerState2:
-			{
-			IdleState();
-			delete this; 
-			break;
-			}
-			
-		default:
-			{
-			COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::RequestCompleted() Unspecified state" );
-			break;
-			}
-		};
-	}
+        
+    switch( iState )
+        {
+        case EPhoneHandlerState1:
+            {
+            NextState();
+            iControl.CommandInitiator().SendResponse( GetStatus(), 
+                                                      iOperation,
+                                                      aError );
+            Activate();
+            break;
+            }
+            
+        case EPhoneHandlerState2:
+            {
+            IdleState();
+            delete this; 
+            break;
+            }
+            
+        default:
+            {
+            COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerVoiceDial::RequestCompleted() Unspecified state" );
+            break;
+            }
+        };
+    }
     
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,32 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building phonesrv components 
+#
+#
+
+TEMPLATE = subdirs
+CONFIG += ordered
+
+symbian: {
+:BLD_INF_RULES.prj_mmpfiles += $$LITERAL_HASH"include \"group/bld.inf\""
+SUBDIRS += telutils/xqtelephonyservice
+SUBDIRS += telutils/dialpad
+SUBDIRS += telutils/keysequencerecognitionservice
+SUBDIRS += vmbx/vmbxcpplugin
+SUBDIRS += vmbx/vmbxengine
+SUBDIRS += cellular/sssettings/xqbindings/sssettingswrapper
+SUBDIRS += cellular/telephonysettings/xqbindings/psetwrapper
+SUBDIRS += satui/satapp
+SUBDIRS += cellular/psuinotes
+}
--- a/phonesrv_plat/call_information_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_information_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  File that exports the files belonging to
-								 Call Information API	
+                                 Call Information API   
 *
 */
 
@@ -23,7 +23,8 @@
 DEFAULT
 
 PRJ_EXPORTS
-../inc/mcall.h                   				MW_LAYER_PLATFORM_EXPORT_PATH(mcall.h)
+../inc/mcall.h                          MW_LAYER_PLATFORM_EXPORT_PATH(mcall.h)
 ../inc/mcallinformationobserver.h       MW_LAYER_PLATFORM_EXPORT_PATH(mcallinformationobserver.h)
 ../inc/ccallinformation.h               MW_LAYER_PLATFORM_EXPORT_PATH(ccallinformation.h)
-../inc/ccallinfoiter.h                  MW_LAYER_PLATFORM_EXPORT_PATH(ccallinfoiter.h)
\ No newline at end of file
+../inc/ccallinfoiter.h                  MW_LAYER_PLATFORM_EXPORT_PATH(ccallinfoiter.h)
+../inc/xqcallinfo.h                     MW_LAYER_PLATFORM_EXPORT_PATH(xqcallinfo.h)
\ No newline at end of file
--- a/phonesrv_plat/call_information_api/inc/ccallinformation.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_information_api/inc/ccallinformation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -106,8 +106,8 @@
 
 private: // data    
     
-	CCallInformationImpl* iImpl;	
-	
+    CCallInformationImpl* iImpl;    
+    
     };
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/call_information_api/inc/xqcallinfo.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Provides information about ongoing calls.
+*
+*/
+
+#ifndef XQCALLINFO_H
+#define XQCALLINFO_H
+
+#include <QObject>
+#include <QString>
+#include <ccpdefs.h>
+
+
+// forward declarations 
+class XQCallInfoImpl;
+
+/*!
+    CallInfo
+    Holds calls information.
+*/
+NONSHARABLE_CLASS( CallInfo )
+    {
+public:
+    int callIndex() const { return  m_Index; }
+    CCPCall::TCallType callType() const { return  m_Type; }
+    CCPCall::TCallState callState() const { return  m_State; }
+    unsigned int serviceId() const { return  m_ServiceId; }
+    CCPCall::TCallDirection callDirection() const { return  m_Direction; }
+    
+    CCPCall::TCallState m_State;
+    CCPCall::TCallType  m_Type;
+    CCPCall::TCallDirection  m_Direction;
+    int  m_Index;
+    unsigned int  m_ServiceId;
+    };
+
+
+#ifdef BUILD_XQCALLINFO
+#define XQCALLINFO_EXPORT Q_DECL_EXPORT
+#else
+#define XQCALLINFO_EXPORT Q_DECL_IMPORT
+#endif
+/*!
+    XQCallInfo
+    Class to be used for receiving information about ongoing calls. 
+
+    @code
+    XQCallInfo *callInfo = XQCallInfo::create(); 
+    @endcode
+    
+*/
+class XQCALLINFO_EXPORT XQCallInfo: public QObject
+{
+    Q_OBJECT
+    
+public:
+    
+    /*!
+        \fn XQCallInfo *create
+        
+        Creates XQCallInfo instance.
+    */
+    static XQCallInfo *create();
+    
+    /*!
+        \fn void getCallsL(QList<CallInfo> &calls)
+        
+        Gets the snapshot of ongoing calls.
+    */
+    virtual void getCalls(QList<CallInfo> &calls) = 0;
+    
+    /*!
+        \fn bool isCallInState( CCPCall::TCallState state ) const
+        
+        Returns information whether call in given state exist.
+    */
+    virtual bool isCallInState(CCPCall::TCallState state) const = 0;
+
+signals:
+    
+    /*!
+        \fn void CallInformationChanged()
+        
+        Signals that there are changes in ongoing calls. Client should fetch 
+        the call infomations after receiving the notification.
+    */
+    void callInformationChanged();
+    
+protected:
+    
+    /*!
+        \fn void sendSignal()
+        
+        Sends signal call info changed signal to client's.
+    */
+    void sendCallInfoChangedSignal();
+    
+    /*!
+       Constructor
+    */
+    XQCallInfo();
+};
+
+#endif // XQCALLINFO_H
--- a/phonesrv_plat/call_information_api/tsrc/group/MT_CallInformation.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_information_api/tsrc/group/MT_CallInformation.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -15,9 +15,7 @@
 *
 */
 /*
------------------------------------------------------------------------------
-This file has been generated with EUnit Pro
------------------------------------------------------------------------------
+
 */
 #include <platform_paths.hrh>
 TARGET          MT_CallInformation.dll
@@ -41,16 +39,15 @@
 USERINCLUDE             ../src
 
 MW_LAYER_SYSTEMINCLUDE
-APP_LAYER_SYSTEMINCLUDE // cntdef.h
-SYSTEMINCLUDE           /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE           /epoc32/include/platform/digia/eunit
 #if defined(WINSCW)
 SYSTEMINCLUDE           ../../../../../../app/phone/inc
 SYSTEMINCLUDE           ../../../../../../app/phone/phoneengine/inc
 SYSTEMINCLUDE           ../../../../../../app/phone/phoneengine/audiohandling/inc
 #endif
 
-LIBRARY                 EUnit.lib
-LIBRARY                 EUnitUtil.lib
+LIBRARY                 eunit.lib
+LIBRARY                 eunitutil.lib
 LIBRARY                 euser.lib
 LIBRARY                 telephonyservice.lib
 LIBRARY                 etel.lib
@@ -58,6 +55,6 @@
 LIBRARY                 phoneclient.lib
 
 #if defined(WINSCW)
-LIBRARY                 PhoneEngine.lib
-LIBRARY                 AudioHandling.lib
+LIBRARY                 phoneengine.lib
+LIBRARY                 audiohandling.lib
 #endif
\ No newline at end of file
--- a/phonesrv_plat/call_information_api/tsrc/run_auto_tests.bat	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_information_api/tsrc/run_auto_tests.bat	Tue Aug 31 15:45:17 2010 +0300
@@ -54,7 +54,7 @@
 set INSTRUMENT=TRUE
 set REMOVEINSTRUMENT=TRUE
 set DOMODULESTESTS=TRUE
-set SBS_CALL=sbs --config winscw_udeb.test --keepgoing build
+set SBS_CALL=sbs --config winscw_udeb.test --keepgoing BUILD
 set PATH_TO_DLL=\epoc32\release\winscw\udeb
 set PATH_TO_MOVE_DLL=\epoc32\release\winscw\udeb\z\sys\bin
 set PATH_TO_COVERAGE_DATA=\coverage_data
@@ -145,10 +145,9 @@
 
 pushd .
 call cd %1\group
-call sbs --config winscw_udeb.test --keepgoing clean
-call sbs --config winscw_udeb.test --keepgoing reallyclean
+call sbs --config winscw_udeb.test --keepgoing CLEAN
 if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
+call ctcwrap -2comp -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
 ) else (
 call %SBS_CALL%
 )
@@ -188,7 +187,7 @@
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :CALCULATECOVERAGE
 echo Calculating coverage
-ctcpost -p - %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
 call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
 goto end
 
--- a/phonesrv_plat/call_information_api/tsrc/src/CPEMessageWaiter.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_information_api/tsrc/src/CPEMessageWaiter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -16,7 +16,7 @@
 */
 #include "CPEMessageWaiter.h"
 
-#include <EUnitMacros.h>
+#include <eunitmacros.h>
 
 #include "talogger.h"
 #include "CActiveWait.h"
--- a/phonesrv_plat/call_information_api/tsrc/src/CPhoneEngineCreator.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_information_api/tsrc/src/CPhoneEngineCreator.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,8 +17,7 @@
 #include "CPhoneEngineCreator.h"
 
 #include <TelephonyAudioRoutingManager.h>
-#include <activeidle2domainpskeys.h>
-#include <CPEPhoneModelIf.h>
+#include <cpephonemodelif.h>
 #include "CPEMessageWaiter.h"
 
 
@@ -59,16 +58,7 @@
                 MEngineMonitor::EPEMessagePEConstructionReady,
                 40 );
         }    
-    
-    // No error checking here because this will succeed only once when this is called. The RProperty::Set will
-    // fail, if this call is not successfull at all.
-    RProperty::Define( 
-        KPSUidAiInformation,
-        KActiveIdleState,
-        RProperty::EInt );
-                            
-    User::LeaveIfError( RProperty::Set( KPSUidAiInformation, KActiveIdleState, EPSAiForeground ) ); 
-    
+
     return pEif;
     }
 
--- a/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -22,17 +22,17 @@
 #include "CPEMessageWaiter.h"
 #endif
 
-#include <EUnitMacros.h>
-#include <EUnitDecorators.h>
+#include <eunitmacros.h>
+#include <eunitdecorators.h>
 
 #include <etelmm.h>
 
 #include <mmtsy_names.h>
-#include <MCall.h>
+#include <mcall.h>
 #include <ccallinfoiter.h>
-#include <CPhCltEmergencyCall.h>
-#include <MPhCltEmergencyCallObserver.h>
-#include <CPhCltCommandHandler.h>
+#include <cphcltemergencycall.h>
+#include <mphcltemergencycallobserver.h>
+#include <cphcltcommandhandler.h>
 
 //Speaking clock number when calling from NTN network.
 _LIT (KNumber, "99901");     
--- a/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -19,8 +19,8 @@
 #define __MT_CALLINFORMATION_H__
 
 // INCLUDES
-#include <CEUnitTestSuiteClass.h>
-#include <EUnitDecorators.h>
+#include <ceunittestsuiteclass.h>
+#include <eunitdecorators.h>
 
 #include <etel.h>
 #include <CCallInformation.h>
--- a/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation_DllMain.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation_DllMain.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 #include "MT_CallInformation.h"
-#include <CEUnitTestSuite.h>
+#include <ceunittestsuite.h>
 
 EXPORT_C MEUnitTest* CreateTestSuiteL()
     {
--- a/phonesrv_plat/call_remote_party_information_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_remote_party_information_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  File that exports the files belonging to
-*				Call Remote Party Information API	
+*               Call Remote Party Information API   
 *
 */
 
--- a/phonesrv_plat/call_remote_party_information_api/inc/ccallremotepartyinformation.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_remote_party_information_api/inc/ccallremotepartyinformation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -88,8 +88,8 @@
 
 private: // data    
     
-    CCallRemotePartyInformationImpl* iImpl;	
-	
+    CCallRemotePartyInformationImpl* iImpl; 
+    
     };
 
 #endif // CCALLREMOTEPARTYINFORMATION_H
--- a/phonesrv_plat/call_remote_party_information_api/tsrc/src/cdialer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_remote_party_information_api/tsrc/src/cdialer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -18,9 +18,9 @@
 #include "cdialer.h"
 
 #include <mmtsy_names.h>
-#include <CPhCltEmergencyCall.h>
-#include <MPhCltEmergencyCallObserver.h>
-#include <CPhCltCommandHandler.h>
+#include <cphcltemergencycall.h>
+#include <mphcltemergencycallobserver.h>
+#include <cphcltcommandhandler.h>
 
 //Speaking clock number when calling from NTN network.
 _LIT (KNumber, "99901");
--- a/phonesrv_plat/call_remote_party_information_api/tsrc/src/cdialer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/call_remote_party_information_api/tsrc/src/cdialer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 #define CDIALER_H_
 
 #include <etelmm.h>
-#include <MPhCltEmergencyCallObserver.h>
+#include <mphcltemergencycallobserver.h>
 
 class CPhCltEmergencyCall;
 class CPhCltCommandHandler;
--- a/phonesrv_plat/cbs_mcn_client_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cbs_mcn_client_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  File that exports the files belonging to 
-:                CBS MCN Client API
+*               CBS MCN Client API
 *
 */
 
@@ -24,11 +24,12 @@
 
 PRJ_EXPORTS
 
-../inc/CCbsMcnListener.h     MW_LAYER_PLATFORM_EXPORT_PATH(CCbsMcnListener.h)
-../inc/CbsMcnPanic.h     MW_LAYER_PLATFORM_EXPORT_PATH(CbsMcnPanic.h)
-../inc/CbsMcnCommon.h     MW_LAYER_PLATFORM_EXPORT_PATH(CbsMcnCommon.h)
-../inc/CMcnTopicArray.h     MW_LAYER_PLATFORM_EXPORT_PATH(CMcnTopicArray.h)
-../inc/RCbsMcnSession.h     MW_LAYER_PLATFORM_EXPORT_PATH(RCbsMcnSession.h)
-../inc/CMcn.h     MW_LAYER_PLATFORM_EXPORT_PATH(CMcn.h)
-../inc/RMcnSubSession.h     MW_LAYER_PLATFORM_EXPORT_PATH(RMcnSubSession.h)
-../inc/MCbsMcnObserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(MCbsMcnObserver.h)
+../inc/ccbsmcnlistener.h    MW_LAYER_PLATFORM_EXPORT_PATH(ccbsmcnlistener.h)
+../inc/cbsmcnpanic.h        MW_LAYER_PLATFORM_EXPORT_PATH(cbsmcnpanic.h)
+../inc/cbsmcncommon.h       MW_LAYER_PLATFORM_EXPORT_PATH(cbsmcncommon.h)
+../inc/cmcntopicarray.h     MW_LAYER_PLATFORM_EXPORT_PATH(cmcntopicarray.h)
+../inc/rcbsmcnsession.h     MW_LAYER_PLATFORM_EXPORT_PATH(rcbsmcnsession.h)
+../inc/cmcn.h               MW_LAYER_PLATFORM_EXPORT_PATH(cmcn.h)
+../inc/rmcnsubsession.h     MW_LAYER_PLATFORM_EXPORT_PATH(rmcnsubsession.h)
+../inc/mcbsmcnobserver.h    MW_LAYER_PLATFORM_EXPORT_PATH(mcbsmcnobserver.h)
+
--- a/phonesrv_plat/cbs_mcn_client_api/inc/CCbsMcnListener.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cbs_mcn_client_api/inc/CCbsMcnListener.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include <e32base.h>    // CActive
-#include "CbsMcnCommon.h"
+#include <cbsmcncommon.h>
 
 //  FORWARD DECLARATIONS
 class CMcn;
--- a/phonesrv_plat/cbs_mcn_client_api/inc/CMcn.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cbs_mcn_client_api/inc/CMcn.h	Tue Aug 31 15:45:17 2010 +0300
@@ -27,7 +27,7 @@
 
 // INCLUDES
 #include "e32base.h"
-#include "RCbsMcnSession.h"
+#include <rcbsmcnsession.h>
 
 // CONSTANTS
 // Maximum length of a MCN message.
--- a/phonesrv_plat/cbs_mcn_client_api/inc/RCbsMcnSession.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cbs_mcn_client_api/inc/RCbsMcnSession.h	Tue Aug 31 15:45:17 2010 +0300
@@ -34,7 +34,7 @@
 
 #include <e32std.h>
 #include <e32base.h>    // CArrayPtrFlat
-#include "RMcnSubSession.h"
+#include <rmcnsubsession.h>
 
 //  FORWARD DECLARATIONS
 
--- a/phonesrv_plat/cbs_mcn_client_api/inc/RMcnSubSession.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cbs_mcn_client_api/inc/RMcnSubSession.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 #define RMCNSUBSESSION_H
 
 // INCLUDES
-#include "CbsMcnCommon.h"
+#include "cbsmcncommon.h"
 
 //  FORWARD DECLARATIONS
 class CMcnTopicArray;
--- a/phonesrv_plat/cbs_message_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cbs_message_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,5 +24,5 @@
 
 PRJ_EXPORTS
 
-../inc/ccbsmessageclient.h     MW_LAYER_PLATFORM_EXPORT_PATH(CCbsMessageClient.h)
-../inc/cbscommontypes.h     MW_LAYER_PLATFORM_EXPORT_PATH(CbsCommonTypes.h)
+../inc/ccbsmessageclient.h     MW_LAYER_PLATFORM_EXPORT_PATH(ccbsmessageclient.h)
+../inc/cbscommontypes.h     MW_LAYER_PLATFORM_EXPORT_PATH(cbscommontypes.h)
--- a/phonesrv_plat/cbs_message_api/inc/ccbsmessageclient.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cbs_message_api/inc/ccbsmessageclient.h	Tue Aug 31 15:45:17 2010 +0300
@@ -26,7 +26,7 @@
 #define     CCBSMESSAGECLIENT_H
 
 // INCLUDES
-#include "CbsCommonTypes.h"
+#include "cbscommontypes.h"
 
 //  CLASS DECLARATION
 
--- a/phonesrv_plat/cenrep_database_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cenrep_database_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,5 +24,5 @@
 
 PRJ_EXPORTS
 
-../inc/cenrepdatabaseproperty.h	MW_LAYER_PLATFORM_EXPORT_PATH( cenrepdatabaseproperty.h )
-../inc/cenrepdatabaseutil.h	MW_LAYER_PLATFORM_EXPORT_PATH( cenrepdatabaseutil.h )
+../inc/cenrepdatabaseproperty.h MW_LAYER_PLATFORM_EXPORT_PATH( cenrepdatabaseproperty.h )
+../inc/cenrepdatabaseutil.h MW_LAYER_PLATFORM_EXPORT_PATH( cenrepdatabaseutil.h )
--- a/phonesrv_plat/cenrep_database_api/inc/cenrepdatabaseproperty.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cenrep_database_api/inc/cenrepdatabaseproperty.h	Tue Aug 31 15:45:17 2010 +0300
@@ -31,111 +31,111 @@
  */
 NONSHARABLE_CLASS( CCenRepDatabaseProperty ): public CBase
     {
-	public: // Constructor and destructor
+    public: // Constructor and destructor
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CCenRepDatabaseProperty* NewL();
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CCenRepDatabaseProperty* NewL();
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CCenRepDatabaseProperty* NewLC();
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CCenRepDatabaseProperty* NewLC();
 
-	    /**
-	    * Destructors.
-	    */
-	    IMPORT_C virtual ~CCenRepDatabaseProperty();
+        /**
+        * Destructors.
+        */
+        IMPORT_C virtual ~CCenRepDatabaseProperty();
 
-	public: // member functions
-	    /**
-	     * Returns the name of this property
-	     *
-	     * @since S60 V3.2
-	     * @return Name of property
-	     */
-	    IMPORT_C TUint32 GetName() const;
+    public: // member functions
+        /**
+         * Returns the name of this property
+         *
+         * @since S60 V3.2
+         * @return Name of property
+         */
+        IMPORT_C TUint32 GetName() const;
 
-	    /**
-	     * Sets the name for this property
-	     *
-	     * @since S60 V3.2
-	     * @param aPropertyname new property name
-	     */
-	    IMPORT_C void SetName( TUint32 aPropertyname );
+        /**
+         * Sets the name for this property
+         *
+         * @since S60 V3.2
+         * @param aPropertyname new property name
+         */
+        IMPORT_C void SetName( TUint32 aPropertyname );
 
-	    /**
-	     * Returns value of property
-	     *
-	     * @since S60 V3.2
-	     * @param aValue on return, TInt value
-	     * @return Error code
-	     */
-	    IMPORT_C TInt GetValue( TInt& aValue ) const;
+        /**
+         * Returns value of property
+         *
+         * @since S60 V3.2
+         * @param aValue on return, TInt value
+         * @return Error code
+         */
+        IMPORT_C TInt GetValue( TInt& aValue ) const;
 
-	    /**
-	     * Sets value of property. Value must match to datatype.
-	     *
-	     * @since S60 V3.2
-	     * @param aValue new TInt value to be set
-	     * @return Error code
-	     */
-	    IMPORT_C TInt SetValue( TInt aValue );
+        /**
+         * Sets value of property. Value must match to datatype.
+         *
+         * @since S60 V3.2
+         * @param aValue new TInt value to be set
+         * @return Error code
+         */
+        IMPORT_C TInt SetValue( TInt aValue );
 
-	    /**
-	     * Returns value of property
-	     *
-	     * @since S60 V3.2
-	     * @param aValue on return, descriptor value
-	     * @return Error code
-	     */
-	    IMPORT_C const TDesC& GetDesValue() const;
+        /**
+         * Returns value of property
+         *
+         * @since S60 V3.2
+         * @param aValue on return, descriptor value
+         * @return Error code
+         */
+        IMPORT_C const TDesC& GetDesValue() const;
 
-	    /**
-	     * Sets the value of property. Value must match to datatype.
-	     *
-	     * @since S60 V3.2
-	     * @param aValue new descriptor
-	     * @return Error code
-	     */
-	    IMPORT_C TInt SetValue( const TDesC& aValue );
+        /**
+         * Sets the value of property. Value must match to datatype.
+         *
+         * @since S60 V3.2
+         * @param aValue new descriptor
+         * @return Error code
+         */
+        IMPORT_C TInt SetValue( const TDesC& aValue );
 
 
-	    /**
-	     * Compares data of this property to another.
-	     *
-	     * @since S60 V3.2
-	     * @param aProperty property to be compared
-	     * @return ETrue if properties have same data
-	     */
-	    IMPORT_C TBool CCenRepDatabaseProperty::operator==( 
-	                const CCenRepDatabaseProperty& aProperty ) const;
+        /**
+         * Compares data of this property to another.
+         *
+         * @since S60 V3.2
+         * @param aProperty property to be compared
+         * @return ETrue if properties have same data
+         */
+        IMPORT_C TBool CCenRepDatabaseProperty::operator==( 
+                    const CCenRepDatabaseProperty& aProperty ) const;
 
-	private:
+    private:
 
-	    /**
-	    * C++ default constructor.
-	    */
-	    CCenRepDatabaseProperty();
-	    
-	    /**
-	    * By default Symbian 2nd phase constructor is private.
-	    */
-	    void ConstructL();
+        /**
+        * C++ default constructor.
+        */
+        CCenRepDatabaseProperty();
+        
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
 
-	private: // data
+    private: // data
 
-	    /**
-	     * Descriptor of property value
-	     * Own.
-	     */
-	    RBuf iPropertyValue;
+        /**
+         * Descriptor of property value
+         * Own.
+         */
+        RBuf iPropertyValue;
 
-	    /**
-	     * Name of property
-	     */
-	    TUint32 iPropertyName;
+        /**
+         * Name of property
+         */
+        TUint32 iPropertyName;
 
 
     private: // For testing
--- a/phonesrv_plat/cenrep_database_api/inc/cenrepdatabaseutil.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/cenrep_database_api/inc/cenrepdatabaseutil.h	Tue Aug 31 15:45:17 2010 +0300
@@ -81,134 +81,134 @@
         IMPORT_C virtual ~CCenRepDatabaseUtil();
         
     public: 
-	    /**
-	     * Start transaction in repository. 
-	     * Note. Function leaves two cleanup items to cleanupstack and those
-	     * are freed when CommitTransaction or RollbackTransaction is called.
-	     *
-	     * @since S60 v3.2
-	     */
-	    IMPORT_C void BeginTransactionL();
+        /**
+         * Start transaction in repository. 
+         * Note. Function leaves two cleanup items to cleanupstack and those
+         * are freed when CommitTransaction or RollbackTransaction is called.
+         *
+         * @since S60 v3.2
+         */
+        IMPORT_C void BeginTransactionL();
 
-	    /**
-	     * Commit changes in repository
-	     *
-	     * @since S60 v3.2
-	     * @return An error code
-	     */
-	    IMPORT_C TInt CommitTransaction();
-	    
-	    /**
-	     * Rollback changes in repository
-	     *
-	     * @since S60 v3.2
-	     */
-	    IMPORT_C void RollbackTransaction();
-	    
-	    /**
-	     * Store new entry to table.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId Contains new ID when returns.
-	     * @param aArray Container for properties of this entry.
-	     */
-	    IMPORT_C void AddEntryL(  TInt& aEntryId, const RIpAppPropArray& aArray );
+        /**
+         * Commit changes in repository
+         *
+         * @since S60 v3.2
+         * @return An error code
+         */
+        IMPORT_C TInt CommitTransaction();
+        
+        /**
+         * Rollback changes in repository
+         *
+         * @since S60 v3.2
+         */
+        IMPORT_C void RollbackTransaction();
+        
+        /**
+         * Store new entry to table.
+         *
+         * @since S60 v3.2
+         * @param aEntryId Contains new ID when returns.
+         * @param aArray Container for properties of this entry.
+         */
+        IMPORT_C void AddEntryL(  TInt& aEntryId, const RIpAppPropArray& aArray );
 
-	    /**
-	     * Search entry by entry ID. 
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId Id of requested entry
-	     * @param aArray on return, property array.
-	     * @return error code, KErrNotFound if unknown entry.
-	     */
-	    IMPORT_C TInt FindEntryL( TInt aEntryId, RIpAppPropArray& aArray );
+        /**
+         * Search entry by entry ID. 
+         *
+         * @since S60 v3.2
+         * @param aEntryId Id of requested entry
+         * @param aArray on return, property array.
+         * @return error code, KErrNotFound if unknown entry.
+         */
+        IMPORT_C TInt FindEntryL( TInt aEntryId, RIpAppPropArray& aArray );
 
-	    /**
-	     * Updates entry to central repository
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId Id of requested entry
-	     * @param aArray Updated properties of entry
-	     * @return error code, KErrNotFound if unknown entry.
-	     */
-	    IMPORT_C TInt UpdateEntryL( TInt aEntryId, 
-	                                const RIpAppPropArray& aArray );
+        /**
+         * Updates entry to central repository
+         *
+         * @since S60 v3.2
+         * @param aEntryId Id of requested entry
+         * @param aArray Updated properties of entry
+         * @return error code, KErrNotFound if unknown entry.
+         */
+        IMPORT_C TInt UpdateEntryL( TInt aEntryId, 
+                                    const RIpAppPropArray& aArray );
 
-	    /**
-	     * Deletes settings entry from storage by entry ID.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId Id of entry which is going to be deleted
-	     * @return error code, KErrNone if delete succeeded, otherwise system wide error code
-	     */
-	    IMPORT_C TInt DeleteEntryL( TInt aEntryId );
+        /**
+         * Deletes settings entry from storage by entry ID.
+         *
+         * @since S60 v3.2
+         * @param aEntryId Id of entry which is going to be deleted
+         * @return error code, KErrNone if delete succeeded, otherwise system wide error code
+         */
+        IMPORT_C TInt DeleteEntryL( TInt aEntryId );
 
-	    /**
-	     * Search property of entry from storage.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId The entry ID of requested entry
-	     * @param aPropertyName property name to be found
-	     * @param aProperty on return, requested property
-	     * @return error code, KErrNone if succeeded, otherwise system wide error code
-	     */
-	    IMPORT_C TInt FindPropertyL( TInt aEntryId, 
-         	                         TUint32 aPropertyName,
-	                                 CCenRepDatabaseProperty& aProperty );
+        /**
+         * Search property of entry from storage.
+         *
+         * @since S60 v3.2
+         * @param aEntryId The entry ID of requested entry
+         * @param aPropertyName property name to be found
+         * @param aProperty on return, requested property
+         * @return error code, KErrNone if succeeded, otherwise system wide error code
+         */
+        IMPORT_C TInt FindPropertyL( TInt aEntryId, 
+                                     TUint32 aPropertyName,
+                                     CCenRepDatabaseProperty& aProperty );
 
-	    /**
-	     * Add or update properties of entry in table.
-	     * Values of existing properties are overwritten.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId The ID of updated entry
-	     * @param aArray new properties to be added or updated
+        /**
+         * Add or update properties of entry in table.
+         * Values of existing properties are overwritten.
+         *
+         * @since S60 v3.2
+         * @param aEntryId The ID of updated entry
+         * @param aArray new properties to be added or updated
          * @return error code, KErrNotFound if unknown entry.
-	     */
-	    IMPORT_C TInt AddOrUpdatePropertiesL( TInt aEntryId, 
-	                                          const RIpAppPropArray& aArray );
+         */
+        IMPORT_C TInt AddOrUpdatePropertiesL( TInt aEntryId, 
+                                              const RIpAppPropArray& aArray );
 
 
-	    /**
-	     * Delete properties of entry in table.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId The entry ID of requested entry
-	     * @param aNameArray name of properties to be deleted
-	     * @return error code, KErrNotFound if unknown entry.
-	     */
-	    IMPORT_C TInt DeletePropertiesL( TInt aEntryId,
-	                                     const RArray<TUint32>& aNameArray );
+        /**
+         * Delete properties of entry in table.
+         *
+         * @since S60 v3.2
+         * @param aEntryId The entry ID of requested entry
+         * @param aNameArray name of properties to be deleted
+         * @return error code, KErrNotFound if unknown entry.
+         */
+        IMPORT_C TInt DeletePropertiesL( TInt aEntryId,
+                                         const RArray<TUint32>& aNameArray );
 
-	    /**
-	     * Return count of entries in table.
-	     *
-	     * @since S60 v3.2
-	     * @return Count of stored settings.
-	     */
-	    IMPORT_C TInt EntryCountL( TInt& aCount );
+        /**
+         * Return count of entries in table.
+         *
+         * @since S60 v3.2
+         * @return Count of stored settings.
+         */
+        IMPORT_C TInt EntryCountL( TInt& aCount );
 
-	    /**
-	     * Search all entry IDs from storage
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryIds An array containing returned entry IDs
-	     * @return error code
-	     */
-	    IMPORT_C TInt FindEntryIdsL( RArray<TInt>& aEntryIds );
+        /**
+         * Search all entry IDs from storage
+         *
+         * @since S60 v3.2
+         * @param aEntryIds An array containing returned entry IDs
+         * @return error code
+         */
+        IMPORT_C TInt FindEntryIdsL( RArray<TInt>& aEntryIds );
                                    
-	    /**
-	     * Find entry IDs with same properties
-	     *
-	     * @since S60 v3.2
-	     * @param aPropertyArray property array
-	     * @param aEntryIds on return, entry Ids with same properties
-	     * @return error code
-	     */
-	    IMPORT_C TInt FindEntryIdsFromPropertiesL( const RIpAppPropArray& aPropertyArray, 
-	                                               RArray<TInt>& aEntryIds );
-	    
+        /**
+         * Find entry IDs with same properties
+         *
+         * @since S60 v3.2
+         * @param aPropertyArray property array
+         * @param aEntryIds on return, entry Ids with same properties
+         * @return error code
+         */
+        IMPORT_C TInt FindEntryIdsFromPropertiesL( const RIpAppPropArray& aPropertyArray, 
+                                                   RArray<TInt>& aEntryIds );
+        
         
     private:
 
@@ -226,113 +226,113 @@
          */
         void ConstructL( TUid aUid );
 
-	    /**
-	     * Release semaphore, this function is used in custom cleanup
-	     * 
-	     * @since S60 v3.2
-	     * @param aPtr Pointer to an object which is the target of the cleanup operation
-	     */
+        /**
+         * Release semaphore, this function is used in custom cleanup
+         * 
+         * @since S60 v3.2
+         * @param aPtr Pointer to an object which is the target of the cleanup operation
+         */
         static void ReleaseSemaphore( TAny* aPtr );
 
-	    /**
-	     * Release semaphore
-	     * 
-	     * @since S60 v3.2
-	     */
+        /**
+         * Release semaphore
+         * 
+         * @since S60 v3.2
+         */
         void DoReleaseSemaphore();
 
-	    /**
-	     * Set new value for given key. Creates the key if it doesn't exists.
-	     *
-	     * @since S60 v3.2
-	     * @param aKey
-	     * @param aValue
-	     */
+        /**
+         * Set new value for given key. Creates the key if it doesn't exists.
+         *
+         * @since S60 v3.2
+         * @param aKey
+         * @param aValue
+         */
         template<class T> void SetOrCreateKeyL( TUint32 aKey, 
                                                 const T& aValue );
                                                 
-	    /**
-	     * Create new ID for entry.
-	     *
-	     * @since S60 v3.2
-	     * @param aNewId Contains new ID when return.
-	     */
+        /**
+         * Create new ID for entry.
+         *
+         * @since S60 v3.2
+         * @param aNewId Contains new ID when return.
+         */
         void CreateEntryIdL( TInt& aNewId );
         
-	    /**
-	     * Defines next available key for ID.
-	     *
-	     * @since S60 v3.2
-	     * @return New key for ID
-	     */
+        /**
+         * Defines next available key for ID.
+         *
+         * @since S60 v3.2
+         * @return New key for ID
+         */
         TUint32 GetNewIdKeyL( );
         
-	    /**
-	     * Update given properties of entry.
-	     *
-	     * @since S60 v3.2
-	     * @param aIdKey
-	     * @param Array Contains updated properties and values
-	     */
+        /**
+         * Update given properties of entry.
+         *
+         * @since S60 v3.2
+         * @param aIdKey
+         * @param Array Contains updated properties and values
+         */
         void UpdatePropertiesL( TUint32 aIdKey, const RIpAppPropArray& aArray );
         
-	    /**
-	     * Check if entry has given properties.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId Id of entry.
-	     * @param aPropertyArray Properties to be checked.
+        /**
+         * Check if entry has given properties.
+         *
+         * @since S60 v3.2
+         * @param aEntryId Id of entry.
+         * @param aPropertyArray Properties to be checked.
              * @param aOk Result
-	     */
+         */
         void CheckEntryHasPropertiesL( TInt aEntryId, const RIpAppPropArray& aPropertyArray, TBool& aOk );
         
-	    /**
-	     * Custom cleanup for array.
-	     *
-	     * @since S60 v3.2
-	     * @param aPointer
-	     */
+        /**
+         * Custom cleanup for array.
+         *
+         * @since S60 v3.2
+         * @param aPointer
+         */
         static void CleanupPointerArray( TAny* aPointer );
         
         
     private: // data
     
-	    /**
-	     * Central Repository object.
-	     * Own.
-	     */
-	    CRepository* iRepository;
-	    
-	    /**
-	     * RSemaphore object.
-	     * Own.
-	     */
-	    RSemaphore iSemaphore;
-	    
-	    /**
-	     * Start key in first column( Id column )
-	     */
-	    TUint32 iStartKey;
+        /**
+         * Central Repository object.
+         * Own.
+         */
+        CRepository* iRepository;
+        
+        /**
+         * RSemaphore object.
+         * Own.
+         */
+        RSemaphore iSemaphore;
+        
+        /**
+         * Start key in first column( Id column )
+         */
+        TUint32 iStartKey;
 
-	    /**
-	     * Column increment
-	     */
-	    TUint32 iColIncrement;
+        /**
+         * Column increment
+         */
+        TUint32 iColIncrement;
 
-	    /**
-	     * Column mask
-	     */
-	    TUint32 iColMask;
-	    
-	    /**
-	     * Id counter key
-	     */
-	    TUint32 iIdCounterKey;
-	    
-	    /**
-	     * Column count
-	     */
-	    TInt iColCount;
+        /**
+         * Column mask
+         */
+        TUint32 iColMask;
+        
+        /**
+         * Id counter key
+         */
+        TUint32 iIdCounterKey;
+        
+        /**
+         * Column count
+         */
+        TInt iColCount;
 
     private: // For testing
         #ifdef TEST_EUNIT
--- a/phonesrv_plat/converged_call_engine_api/inc/ccce.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/ccce.h	Tue Aug 31 15:45:17 2010 +0300
@@ -58,7 +58,7 @@
 #ifndef RMMCUSTOMAPI_H 
 /** defenition for OG, most likely will be deprecated later on */
 ///_LIT(KTerminateAllCalls,"ALL_CALLS");
-#include <rmmcustomapi.h> // Add reference there, cs classes need that too
+#include <rmmcustomapi.h> // Add reference there, cs classes need that too 
 #endif
 
 /**
@@ -130,7 +130,7 @@
     * @return none
     */
     IMPORT_C void SetObserver( MCCEObserver& aObserver,
-    						   MCCESsObserver& aSsObserver );
+                               MCCESsObserver& aSsObserver );
 
     /**
     * Opens new call. 
@@ -246,24 +246,24 @@
     */
    IMPORT_C MCCEExtensionInterface& ExtensionInterfaceL( const MCCEExtensionObserver& 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.
-	* Forwarded to CS plugin.
-	* @since S60 3.2
-	* @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, 
+    * from the manufacturing date until the call to this method. Calling this method 
+    * does not reset any data.
+    * Forwarded to CS plugin.
+    * @since S60 3.2
+    * @param aLifeTimeInfo Life time information
+    * @return Get succeeded or not.
+    */
    IMPORT_C TBool GetLifeTime( TDes8& aLifeTimeInfo );
 
-	/**
-	* This method gets cs specific information from cs-plugin. This is used only CS, 
-	* @since S60 3.2
-	* @param aCSInfo CS specific information from cs-plugin.
-	* @return Get succeeded or not.
-	*/
+    /**
+    * This method gets cs specific information from cs-plugin. This is used only CS, 
+    * @since S60 3.2
+    * @param aCSInfo CS specific information from cs-plugin.
+    * @return Get succeeded or not.
+    */
    IMPORT_C TBool GetCSInfo( CSInfo& aCSInfo );
 
 private:
--- a/phonesrv_plat/converged_call_engine_api/inc/cccecallparameters.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/cccecallparameters.h	Tue Aug 31 15:45:17 2010 +0300
@@ -87,7 +87,11 @@
         /** Gets the origin of the call. */
         virtual TCCECallOrigin Origin() const;
 
-
+        /** Sets the SAT alpha id identifying the text to be shown instead of number in         
+            call bubble */
+        virtual void SetAlphaId(TBuf<KCCPAlphaIdMaxSize> aAlphaId);
+        /** Gets the SAT alpha id of the call. */
+        virtual TBuf<KCCPAlphaIdMaxSize> AlphaId() const;
     
     protected:
        CCCECallParameters();
@@ -102,11 +106,13 @@
         TBuf<KCCPUUSIdSize> iUUSId;
         /** Capability configuration parameters for the first bearer. */
         TBuf8<KCCEBearerMaxSize> iBearer;
-    	/** A buffer to hold the sub-address of a telephone number.  */
-    	TBuf<KCCESubAddressMaxSize> iSubAddress;
-    	/** Call origin.  */
-    	TCCECallOrigin iOrigin;
-	
+        /** A buffer to hold the sub-address of a telephone number.  */
+        TBuf<KCCESubAddressMaxSize> iSubAddress;
+        /** Call origin.  */
+        TCCECallOrigin iOrigin;
+        /** Alpha id.  */
+        TBuf<KCCPAlphaIdMaxSize> iAlphaId;
+    
     };
 
 #endif
\ No newline at end of file
--- a/phonesrv_plat/converged_call_engine_api/inc/mccecall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mccecall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -52,7 +52,7 @@
 
 
 
-	/**
+    /**
     * Set new MCCECallObserver observer to MCCECall object.
     * Called in case of incoming call. In that case call has no observer yet when it 
     * is created. In MO case observer is set when call is created. Repleces current observer 
@@ -273,24 +273,24 @@
     virtual const TDesC& DialledParty() const = 0;
 
     /**
-	* Set call parameters.
-	* @since S60 3.2
-	* @param aNewParams New call paramater information.
-	* @return none
-	*/
+    * Set call parameters.
+    * @since S60 3.2
+    * @param aNewParams New call paramater information.
+    * @return none
+    */
     virtual void SetParameters( const CCCECallParameters& aNewParams ) = 0;
 
     /**
-	* Get call parameters.
-	* @since S60 3.2
-	* @param None
-	* @return Current call paramater information.
-	*/
+    * Get call parameters.
+    * @since S60 3.2
+    * @param None
+    * @return Current call paramater information.
+    */
     virtual const CCCPCallParameters& Parameters() const = 0;
 
     /**
     * Returns the inband tone associated to an error condition or a state transition of a call.
-	* See defenition for TCCPTone.
+    * See defenition for TCCPTone.
     * @since S60 3.2
     * @param None.
     * @return TCCPTone Used tone.
@@ -298,13 +298,13 @@
     virtual TCCPTone Tone() const = 0;
 
    /**
-	* Get call information. NOTE: will be removed shortly. Stop using this call use relevant getters instead!
-	* TODO this needs to be rechecked if params are to be defined in CCE as a struct for example and to return that!
-	* @since S60 3.2
-	* @param aCallInfo TMobileCallInfoV3 - TODO check this
-	* @return none
-	*/
-	virtual void GetMobileCallInfo( TDes8& aCallInfo ) const = 0;
+    * Get call information. NOTE: will be removed shortly. Stop using this call use relevant getters instead!
+    * TODO this needs to be rechecked if params are to be defined in CCE as a struct for example and to return that!
+    * @since S60 3.2
+    * @param aCallInfo TMobileCallInfoV3 - TODO check this
+    * @return none
+    */
+    virtual void GetMobileCallInfo( TDes8& aCallInfo ) const = 0;
  
 /************************************************************************/
 /*                             Emergency call                           */
--- a/phonesrv_plat/converged_call_engine_api/inc/mccecallobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mccecallobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -35,17 +35,17 @@
     /** Tone to play enumeration. Used in MCCECallObserver::PlayInbandTone*/
     enum TCCETone
         {
-	    ECCENoTone,
-	    ECCEUserBusy,
-	    ECCERadioPathNotAvailable,
-	    ECCECongestion,
-	    ECCESpecialInformation,
-	    ECCEReorder,
-	    ECCERemoteAlerting,
-	    ECCEDataCallTone,
-	    ECCENoSoundSequence,
-	    ECCEBeepSequence, /** ENoSoundSequence handled the same way */
-	    ECCECallWaiting
+        ECCENoTone,
+        ECCEUserBusy,
+        ECCERadioPathNotAvailable,
+        ECCECongestion,
+        ECCESpecialInformation,
+        ECCEReorder,
+        ECCERemoteAlerting,
+        ECCEDataCallTone,
+        ECCENoSoundSequence,
+        ECCEBeepSequence, /** ENoSoundSequence handled the same way */
+        ECCECallWaiting
         };
    
  
@@ -53,7 +53,7 @@
     /** MCCE call events*/
     enum TCCECallEvent
         {
-        /** The call has been placed on hold as a result of a local action. 	*/
+        /** The call has been placed on hold as a result of a local action.     */
         ELocalHold,
         /** The call has been placed on hold by the remote connected party. */
         ERemoteHold,
@@ -77,7 +77,7 @@
         ERemoteTerminated,
 
         /** The call has been joined by the remote connected party to other call(s) to create/add 
-         * to a conference call. */ 	
+         * to a conference call. */     
         /* Call has been added to remote conference call at remote end */
         ERemoteConferenceCreate,
 
@@ -85,7 +85,7 @@
         ERemoteBarred,
         /** The call is being forwarded by the remote party. */
         ERemoteForwarding,
-		/** Call is waiting at the remote end. Obsolote, use supplementary service ESsCallWaiting */
+        /** Call is waiting at the remote end. Obsolote, use supplementary service ESsCallWaiting */
         ERemoteWaiting,
         /** The outgoing call has been barred by the local party. */
         ELocalBarred,
@@ -107,19 +107,19 @@
         // CS call specific events
         ///////////////////////////        
        
-        /** Call has been deflected to another remote party as a result of a local action.	*/
+        /** Call has been deflected to another remote party as a result of a local action.  */
         ECCECSLocalDeflectCall,
         /** CS call specific event */
-	    ECCECSDataPortLoaned, 
+        ECCECSDataPortLoaned, 
         /** CS call specific event */
-   		ECCECSDataPortRecovered,
+        ECCECSDataPortRecovered,
 
-		/** One or more of following information has been changed
+        /** One or more of following information has been changed
          *  - Remote party name
          *  - Remote party number/address
          *  - Call parameters ( ie. service id )
-		 */	
-		ECCENotifyRemotePartyInfoChange,
+         */ 
+        ECCENotifyRemotePartyInfoChange,
 
         /** Call secure status cannot be determined */
         ECCESecureNotSpecified
@@ -145,7 +145,7 @@
         /** The Loan Data Port request is currently a valid action. */
         ECCECapsLoanDataPort   =   0x00000080,
         /** The Recover Data Port request is currently a valid action. */
-        ECCECapsRecoverDataPort=   0x00000100,	
+        ECCECapsRecoverDataPort=   0x00000100,  
         /** Indicates that this call can be put on hold. This implies that the call is currently 
         active and that there is no other held call. */
         ECCECapsHold           =   0x00000200,
@@ -157,11 +157,11 @@
         in the opposite state and if this is the case then both calls will be simultaneously 
         swapped to their opposite state. */
         ECCECapsSwap           =   0x00000800,
-        /** Indicates that this incoming call can be deflected to another destination.*/ 	
+        /** Indicates that this incoming call can be deflected to another destination.*/    
         ECCECapsDeflect        =   0x00001000,
         /** Indicates that this call can be transferred to the remote party of another call. 
         For this capability to be set there must be one active call and one held or 
-        dialing call.*/	
+        dialing call.*/ 
         ECCECapsTransfer       =   0x00002000,
         /** Indicates that this call can be joined either to another single call to form 
         a conference call or to an existing conference call.*/
@@ -169,7 +169,7 @@
         /** Indicates that this call (within a conference call) can go into One to One mode. 
         This action would put the rest of the conference call on hold. */
         ECCECapsOneToOne       =   0x00008000,
-        /** Indicates that the user can activate a CCBS request on this failed call set-up.*/ 	
+        /** Indicates that the user can activate a CCBS request on this failed call set-up.*/   
         ECCECapsActivateCCBS   =   0x00010000,
         /** Indicates that this call is part of an alternating call and the client can call 
         SwitchAlternatingCall() on this call in order to switch it to its other mode.*/
@@ -195,7 +195,7 @@
     * @param aError Occurred error as integer,
     * return none
     */
-	virtual void ErrorOccurred( const TCCPError aError ) = 0;
+    virtual void ErrorOccurred( const TCCPError aError ) = 0;
     
     /**
     * Call state notificfation. 
--- a/phonesrv_plat/converged_call_engine_api/inc/mcceconferencecall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mcceconferencecall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -56,39 +56,39 @@
     */
     virtual TInt Release() = 0;
 
-	/**
-	* Adds new call to conference call.
-	* @since S60 3.2
-	* @param aCall Call to be added to conference.
-	* @return none 
-	* @leave In case of an error system wide error code
-	* @leave KErrAlreadyExists call is already part of conference.
-	* @leave KErrNotReady In case conference is not on hold or idle.
-	* @pre Conference call state is MCCEConferenceCallObserver::ECCEConferenceHold or 
-	* MCCEConferenceCallObserver::ECCEConferenceIdle. 
-	* @post Added call is notified calling MCCEConferenceCallObserver::CallEventOccurred.
-	* @post If conference becomes active regarding its internal plug-in based logic state is 
-	* MCCEConferenceCallObserver::ECCEConferenceActive.
-	*/
+    /**
+    * Adds new call to conference call.
+    * @since S60 3.2
+    * @param aCall Call to be added to conference.
+    * @return none 
+    * @leave In case of an error system wide error code
+    * @leave KErrAlreadyExists call is already part of conference.
+    * @leave KErrNotReady In case conference is not on hold or idle.
+    * @pre Conference call state is MCCEConferenceCallObserver::ECCEConferenceHold or 
+    * MCCEConferenceCallObserver::ECCEConferenceIdle. 
+    * @post Added call is notified calling MCCEConferenceCallObserver::CallEventOccurred.
+    * @post If conference becomes active regarding its internal plug-in based logic state is 
+    * MCCEConferenceCallObserver::ECCEConferenceActive.
+    */
     virtual void AddCallL( MCCECall& aCall ) = 0;
      
-	/**
-	* Removes call from conference call. 
-	* @since S60 3.2
-	* @param aCall Call to be removed from conference
-	* @return none
-	* @leave In case of an error system wide error code
-	* @leave KErrNotFound call was not part of conference
-	* @leave KErrNotReady In case conference is not connected 
-	* (MCCEConferenceCallObserver::ECCEConferenceActive) state.
-	* @pre Conference call state is MCCEConferenceCallObserver::ECCEConferenceActive or 
-	* MCCEConferenceCallObserver::ECCEConferenceIdle. 
-	* @post Removed call is notified calling MCCEConferenceCallObserver::CallEventOccurred.
-	* @post If conference becomes idle regarding its internal plug-in based logic state is 
-	* MCCEConferenceCallObserver::ECCEConferenceIdle. 
-	* 
-	*/
-	virtual void RemoveCallL( MCCECall& aCall ) = 0;
+    /**
+    * Removes call from conference call. 
+    * @since S60 3.2
+    * @param aCall Call to be removed from conference
+    * @return none
+    * @leave In case of an error system wide error code
+    * @leave KErrNotFound call was not part of conference
+    * @leave KErrNotReady In case conference is not connected 
+    * (MCCEConferenceCallObserver::ECCEConferenceActive) state.
+    * @pre Conference call state is MCCEConferenceCallObserver::ECCEConferenceActive or 
+    * MCCEConferenceCallObserver::ECCEConferenceIdle. 
+    * @post Removed call is notified calling MCCEConferenceCallObserver::CallEventOccurred.
+    * @post If conference becomes idle regarding its internal plug-in based logic state is 
+    * MCCEConferenceCallObserver::ECCEConferenceIdle. 
+    * 
+    */
+    virtual void RemoveCallL( MCCECall& aCall ) = 0;
 
     /**
     * Returns call count of the conference call. 
@@ -136,15 +136,15 @@
      
     /**
     * Private call with one call from conference call.
-	* @since S60 3.2
-	* @param aCall
+    * @since S60 3.2
+    * @param aCall
     * @return none
-	* @leave In case of an error system wide error code
-	* @leave KErrNotFound call was not part of conference
-	* @post After successful actions conference call state is MCCEConferenceCallObserver::ECCEConferenceHold 
-	* (if idle state will not be applied as call count decreases) and private call will become active one. 
-	*/
-	virtual void GoOneToOneL( MCCECall& aCall ) = 0;
+    * @leave In case of an error system wide error code
+    * @leave KErrNotFound call was not part of conference
+    * @post After successful actions conference call state is MCCEConferenceCallObserver::ECCEConferenceHold 
+    * (if idle state will not be applied as call count decreases) and private call will become active one. 
+    */
+    virtual void GoOneToOneL( MCCECall& aCall ) = 0;
 
     /**
     * Gets conference participants
@@ -165,15 +165,15 @@
     */
     virtual void SetObserver( const MCCEConferenceCallObserver& aObserver ) = 0;
 
-	/**
-	* Returns duration of a conference call. 
-	* CCE will count duration from connected state to idle state.
-	*
-	* @since S60 v3.2
-	* @param none
-	* @return On return contains the call duration in seconds.
-	*/
-	virtual TTimeIntervalSeconds CallDuration() const = 0;
+    /**
+    * Returns duration of a conference call. 
+    * CCE will count duration from connected state to idle state.
+    *
+    * @since S60 v3.2
+    * @param none
+    * @return On return contains the call duration in seconds.
+    */
+    virtual TTimeIntervalSeconds CallDuration() const = 0;
     };
 
 
--- a/phonesrv_plat/converged_call_engine_api/inc/mcceconferencecallobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mcceconferencecallobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -40,15 +40,15 @@
       /** A call has been removed from the conference. */
       ECCEConferenceCallRemoved, 
       /** Names of the two calls used to build the conference call returned in aCallName. */
-      ECCEConferenceBuilt,	   
+      ECCEConferenceBuilt,     
       /** No name provided */
       ECCEConferenceTerminated,  
       /** No name provided. */
-      ECCEConferenceSwapped,	   
+      ECCEConferenceSwapped,       
       /** Name of the call being seperated. */
-      ECCEConferenceSplit		   
+      ECCEConferenceSplit          
       };
-		
+        
     /** Conference call State. */
     enum TCCEConferenceCallState
       {
@@ -59,7 +59,7 @@
       /** The conference call is in the held, connected state. */
       ECCEConferenceHold
       };
-		
+        
     /** Conference call capabilities. */
     enum TCCEConferenceCallCaps
       {
@@ -117,15 +117,15 @@
     */
     virtual void ErrorOccurred( TCCPConferenceCallError aError  ) = 0;
 
-	/**
-	* Notifies observer the change in call duration.
-	*
-	* @since S60 v3.2
-	* @param aDuration Duration of the call in seconds
-	* return none
-	*/
-	virtual void CallDurationChanged( const TTimeIntervalSeconds aDuration ) = 0;
-	};
+    /**
+    * Notifies observer the change in call duration.
+    *
+    * @since S60 v3.2
+    * @param aDuration Duration of the call in seconds
+    * return none
+    */
+    virtual void CallDurationChanged( const TTimeIntervalSeconds aDuration ) = 0;
+    };
 
 
 
--- a/phonesrv_plat/converged_call_engine_api/inc/mccecscall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mccecscall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 #include <mccecall.h>
 
 // creates dependency ....
-// commented 3105 will be removed later #include <RMmCustomAPI.h>
+// commented 3105 will be removed later #include <rmmcustomapi.h> 
 
 /**
 * Methods used only with CS Call.
@@ -32,37 +32,37 @@
 *  @since S60 3.2
 */
 class MCCECSCall
-	{
+    {
 public:
 
-	/**
-	* Switch in the alternating call mode of an alternating call
-	* @since S60 3.2
+    /**
+    * Switch in the alternating call mode of an alternating call
+    * @since S60 3.2
     * @param none
-    * @return none	
-	*/
-	virtual TInt SwitchAlternatingCall() = 0;
+    * @return none  
+    */
+    virtual TInt SwitchAlternatingCall() = 0;
 
-	/**
-	* Gets the calls data call capabilities
-	* @since S60 3.2
-	* @param aCaps TMobileCallDataCapsV1
-	* @return KErrNone if the function member was successful, 
-	* @return KErrNotSupported if call does not support circuit switched data, 
-	* @return KErrNotFound if this call is not a data call
-	*/
-	virtual TInt GetMobileDataCallCaps( TDes8& aCaps ) const = 0;
-	
-	/**
-	* Instruct to do no FDN checking when dialling.
-	* Needs to be called before every dial for each call separately.
-	* If this method is not called at all default is to use FDN. 
-	* Value will be reset to default when call goes back to disconnected state.
-	* @since S60 v3.2
-	* @param none
-	* @return none
-	*/
-	virtual void NoFDNCheck() = 0;
+    /**
+    * Gets the calls data call capabilities
+    * @since S60 3.2
+    * @param aCaps TMobileCallDataCapsV1
+    * @return KErrNone if the function member was successful, 
+    * @return KErrNotSupported if call does not support circuit switched data, 
+    * @return KErrNotFound if this call is not a data call
+    */
+    virtual TInt GetMobileDataCallCaps( TDes8& aCaps ) const = 0;
+    
+    /**
+    * Instruct to do no FDN checking when dialling.
+    * Needs to be called before every dial for each call separately.
+    * If this method is not called at all default is to use FDN. 
+    * Value will be reset to default when call goes back to disconnected state.
+    * @since S60 v3.2
+    * @param none
+    * @return none
+    */
+    virtual void NoFDNCheck() = 0;
 
     /**
     * Log dialed  number. SAT related, check if dialed number is to be logged or not.
@@ -71,8 +71,8 @@
     * @return Log dialed number or not.
     */
     virtual TBool LogDialedNumber() const = 0;
-	
-	};
+    
+    };
 
 
 #endif //CCECSCALL_H
--- a/phonesrv_plat/converged_call_engine_api/inc/mcceextensioninterface.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mcceextensioninterface.h	Tue Aug 31 15:45:17 2010 +0300
@@ -34,14 +34,14 @@
 *  @since S60 3.2
 */
 class MCCEExtensionInterface
-	{
+    {
 protected:
     /** 
     * Protected destructor. Object cannot be deleted from client.
     * @since S60 3.2
     */
     virtual ~MCCEExtensionInterface() {};
-	
+    
 public:
 
     /**
@@ -62,7 +62,7 @@
     * @return Other system wide error code.
     */
     virtual TInt RequestCommand( TUint32 iServiceId,
-								 TInt aRequestId, 
+                                 TInt aRequestId, 
                                  TDesC8& aData ) = 0;
     /**
     * Cancels request. See MCCEExtensionInterface::RequestCommand for explanation of service-id 
@@ -76,8 +76,8 @@
     * @return Other system wide error code.
     */
     virtual TInt CancelRequest( TUint32 iServiceId,
-    							TInt aRequestId ) = 0;
-	};
+                                TInt aRequestId ) = 0;
+    };
 
 
 #endif // MCCEEXTENSIONINTERFACE_H
--- a/phonesrv_plat/converged_call_engine_api/inc/mcceextensionobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mcceextensionobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -48,7 +48,7 @@
     * @return none
     */
     virtual void HandleExtensionEvents( TUint32 aServiceId,
-										TInt aEvent,
+                                        TInt aEvent,
                                         TInt aStatus ) = 0;
     };
 
--- a/phonesrv_plat/converged_call_engine_api/inc/mcceforwardinterface.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mcceforwardinterface.h	Tue Aug 31 15:45:17 2010 +0300
@@ -30,7 +30,7 @@
 *  @since S60 3.2
 */
 class MCCEForwardInterface
-	{
+    {
  protected: // Constructors and destructor
 
     /** 
@@ -38,35 +38,35 @@
     * @since S60 3.2
     */
     virtual ~MCCEForwardInterface() {};
-	
+    
  public:
-	/**
-	* Returns reference to array containing addresses of forward address choices.
-	* Index starts from zero.
-	* @since Series 60 3.2
-	* @param none
-	* @return array containing forward address choices
+    /**
+    * Returns reference to array containing addresses of forward address choices.
+    * Index starts from zero.
+    * @since Series 60 3.2
+    * @param none
+    * @return array containing forward address choices
     * @leave KErrNotReady Call is not in forwarding state
     * @leave KErrNotSupported If call is not mobile originated
     * @leave system error code 
     * @pre Call state is MCCECallObserver::ECCEStateForwarding and call type is MO
     * @pre Call MCCECallObserver::EVoIPEventMultipleChoices event is received
-	*/
-	virtual const CDesC8Array& GetForwardAddressChoicesL() = 0;
+    */
+    virtual const CDesC8Array& GetForwardAddressChoicesL() = 0;
 
-	/**
-	* Forward call to selected address at given index in array received from GetForwardAddressChoicesL
-	* @since Series 60 3.2
-	* @param aIndex index in the address where the call is to be forwarded. 
-	* Index starts from zero.
-	* @return none 
-	* @leave KErrArgument Index is not in array
+    /**
+    * Forward call to selected address at given index in array received from GetForwardAddressChoicesL
+    * @since Series 60 3.2
+    * @param aIndex index in the address where the call is to be forwarded. 
+    * Index starts from zero.
+    * @return none 
+    * @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 MCCECallObserver::ECCEStateForwarding and call type is MO
-	*/
-	virtual void ForwardToAddressL( const TInt aIndex ) = 0;
-	};
+    */
+    virtual void ForwardToAddressL( const TInt aIndex ) = 0;
+    };
 
 
 #endif // MCCEFORWARDINTERFACE_H
--- a/phonesrv_plat/converged_call_engine_api/inc/mcceobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mcceobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -60,7 +60,7 @@
     * @param aConferenceCall Created conference
     * @return none
     */
-	virtual void ConferenceCallCreated( MCCEConferenceCall& aConferenceCall ) = 0;
+    virtual void ConferenceCallCreated( MCCEConferenceCall& aConferenceCall ) = 0;
 
     /**
     * Notify data port information for video telephony. Information comes via CS only.
@@ -68,7 +68,7 @@
     * @param Dataport information.
     * @return none
     */
-	virtual void DataPortName( TName& aPortName ) = 0;
+    virtual void DataPortName( TName& aPortName ) = 0;
     };
 
 #endif // MCCEOBSERVER_H
--- a/phonesrv_plat/converged_call_engine_api/inc/mccessobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mccessobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -40,43 +40,43 @@
     enum TCCESsBarringEvent
         {
         /** Incoming call is barred. (DoCoMo) */
-		ECCESsIncomingCallBarred,	
-		/** Anonymous call barring. */
-		ECCESsAnonymousCallBarred,	
-		/** Outgoing call barring */
-		ECCESsOutgoingCallBarred,
-		/** Barring active notification. */
-		ECCESsActiveBarrings 	
-		};
+        ECCESsIncomingCallBarred,   
+        /** Anonymous call barring. */
+        ECCESsAnonymousCallBarred,  
+        /** Outgoing call barring */
+        ECCESsOutgoingCallBarred,
+        /** Barring active notification. */
+        ECCESsActiveBarrings    
+        };
 
     /** CLI (Call Line Information) related event. */
     enum TCCESsCLIEvent
         {
         /** Temporary CLIR suppression was unsuccessful */
-        ECCESsTempClirSuppressUnsuccessful,		
+        ECCESsTempClirSuppressUnsuccessful,     
         /** Temporary CLIR activation was unsuccessful*/
-        ECCESsTempClirActivationUnsuccessful	
+        ECCESsTempClirActivationUnsuccessful    
         };
 
     /** Call forward related events that are not call related to an existing call. */
     enum TCCESsCallForwardEvent
         {
         /** Incoming call is forwarded */
-		ECCESsIncCallIsForw, 	
-		/** Incoming call was forwarded because of user own settings. */
-        ECCESsIncCallForwToC,	
+        ECCESsIncCallIsForw,    
+        /** Incoming call was forwarded because of user own settings. */
+        ECCESsIncCallForwToC,   
         /** Outgoing call was forwarded because of user own settings. */
-        ECCESsOutCallForwToC,	
+        ECCESsOutCallForwToC,   
         /** Forward unconditional mode active */
-		ECCESsForwardUnconditionalModeActive,  	
-		/** Forward unconditional mode deactive */
-		ECCESsForwardUnconditionalModeNotActive,
-		/** Forward conditional mode active */
-		ECCESsForwardConditionallyModeActive,	
-		/** Forward conditional mode deactive */
-		ECCESsForwardConditionallyModeNotActive,
-		/** Remote call waiting. TODO rename TCCESsCallForwardEvent to TCCESsCallEvent*/
-		ESsCallWaiting
+        ECCESsForwardUnconditionalModeActive,   
+        /** Forward unconditional mode deactive */
+        ECCESsForwardUnconditionalModeNotActive,
+        /** Forward conditional mode active */
+        ECCESsForwardConditionallyModeActive,   
+        /** Forward conditional mode deactive */
+        ECCESsForwardConditionallyModeNotActive,
+        /** Remote call waiting. TODO rename TCCESsCallForwardEvent to TCCESsCallEvent*/
+        ESsCallWaiting
         };
 
     /** Closed user group (Cug) */
@@ -94,27 +94,27 @@
     * @return none
     * @since S60 v3.2
     */
-	virtual void BarringEventOccurred( const MCCESsObserver::TCCESsBarringEvent aBarringEvent ) = 0;
-								  
+    virtual void BarringEventOccurred( const MCCESsObserver::TCCESsBarringEvent aBarringEvent ) = 0;
+                                  
     /**
     * Supplementary service call line identification event occurred.
     * @param aCallLineEvent Event that occurred.
     * @return none
     * @since S60 v3.2
     */
-	virtual void CLIEventOccurred( const MCCESsObserver::TCCESsCLIEvent aCallLineEvent ) = 0;
-								  
+    virtual void CLIEventOccurred( const MCCESsObserver::TCCESsCLIEvent aCallLineEvent ) = 0;
+                                  
 
     /**
     * Supplementary service related call forward event occurred.
     * @param aForwardMode Forward mode
-	* @param aRemoteAddress Remote address.
+    * @param aRemoteAddress Remote address.
     * @return none
     * @since S60 v3.2
     */
-	virtual void CallForwardEventOccurred( 
-						const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
-						const TDesC& aRemoteAddress ) = 0;
+    virtual void CallForwardEventOccurred( 
+                        const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
+                        const TDesC& aRemoteAddress ) = 0;
 
     /**
     * Supplementary service related active closed user group indications.
@@ -122,16 +122,16 @@
     * @return none
     * @since S60 v3.2
     */
-	virtual void CallCugEventOccurred( const MCCESsObserver::TCCESsCugEvent aCugEvent ) = 0;
+    virtual void CallCugEventOccurred( const MCCESsObserver::TCCESsCugEvent aCugEvent ) = 0;
 
     /**
     * Notifies active ALS line. CS plugin will notify this every time line changes 
-	* and at startup.
+    * and at startup.
     * @param aLine Used ALS line.
     * @return none
     * @since S60 v3.2
     */
-	virtual void NotifyCurrentActiveALSLine( TInt aLine ) = 0;
+    virtual void NotifyCurrentActiveALSLine( TInt aLine ) = 0;
 
     };
 
--- a/phonesrv_plat/converged_call_engine_api/inc/mccetransferinterface.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_engine_api/inc/mccetransferinterface.h	Tue Aug 31 15:45:17 2010 +0300
@@ -29,72 +29,72 @@
 *  @since S60 3.2
 */
 class MCCETransferInterface
-	{
+    {
 protected:
 
-	/** 
-	* Protected destructor. Object cannot be deleted from client.
-	* @since S60 3.2
-	*/
-	virtual ~MCCETransferInterface() {};
-	
+    /** 
+    * Protected destructor. Object cannot be deleted from client.
+    * @since S60 3.2
+    */
+    virtual ~MCCETransferInterface() {};
+    
 public:
 
-	/**
-	* Attended transfer to given address. 
-	* Actual result like status, events and errors come via MCCECallObserver class.
-	* Afterwards both calls will be disconnected from CCE side.
-	* @param aTransferTarget Transfer target address. Always takes active call, address is not used
-	* at the moment!
-	* @return KErrArgument transfer address was illegal.
-	* @return KErrNotFound existing active call was not found with given address. 
-	* @return KErrNotReady if this call is not on-hold state and the other in connected state
-	* @return KErrNotSupported Current plug-in does not support transfer functionality.
-	* @pre Two calls exist. This call is in state MCCECallObserver::ECCEStateHold and the other in 
-	* MCCECallObserver::ECCEStateConnected
-	* @since S60 3.2
-	*/
-	virtual TInt AttendedTransfer( const TDesC& aTransferTarget ) = 0;
+    /**
+    * Attended transfer to given address. 
+    * Actual result like status, events and errors come via MCCECallObserver class.
+    * Afterwards both calls will be disconnected from CCE side.
+    * @param aTransferTarget Transfer target address. Always takes active call, address is not used
+    * at the moment!
+    * @return KErrArgument transfer address was illegal.
+    * @return KErrNotFound existing active call was not found with given address. 
+    * @return KErrNotReady if this call is not on-hold state and the other in connected state
+    * @return KErrNotSupported Current plug-in does not support transfer functionality.
+    * @pre Two calls exist. This call is in state MCCECallObserver::ECCEStateHold and the other in 
+    * MCCECallObserver::ECCEStateConnected
+    * @since S60 3.2
+    */
+    virtual TInt AttendedTransfer( const TDesC& aTransferTarget ) = 0;
 
-	/**
-	* Unattended transfer to given address. Call is requested to be transferred to given address.
-	* Afterwards call will be disconnected from CCE side. If transfer fails a new incoming call 
-	* will be received to reconnect to recipient. Reconnected call is initiated from recipient end.
-	* Actual result like status, events and errors come via MCCECallObserver class.
-	* This is not used for CS.
-	* @since S60 3.2
-	* @param aTransferTarget Address of the target
+    /**
+    * Unattended transfer to given address. Call is requested to be transferred to given address.
+    * Afterwards call will be disconnected from CCE side. If transfer fails a new incoming call 
+    * will be received to reconnect to recipient. Reconnected call is initiated from recipient end.
+    * Actual result like status, events and errors come via MCCECallObserver class.
+    * This is not used for CS.
+    * @since S60 3.2
+    * @param aTransferTarget Address of the target
     * @return KErrNone if request was started succesfully. 
     * @return KErrNotSupported Current plug-in does not support transfer functionality.
     * @return KErrNotReady if call is not in connected or on-hold state.
     * @return KErrArgument transfer address was illegal.
     * @pre Call state is MCCECallObserver::ECCPStateConnected or MCCECallObserver::ECCEStateHold
-	*/
-	virtual TInt UnattendedTransfer( const TDesC& aTransferTarget ) = 0;
+    */
+    virtual TInt UnattendedTransfer( const TDesC& aTransferTarget ) = 0;
 
-	/**
-	* Accept incoming unattended transfer request from the call remote party.
-	* @since Series 60 3.2
-	* @param aAccept Boolean value is transfer accepted or not.
+    /**
+    * Accept incoming unattended transfer request from the call remote party.
+    * @since Series 60 3.2
+    * @param aAccept Boolean value is transfer accepted or not.
     * @return KErrNotSupported Current plug-in does not support transfer functionality.
     * @return KErrNone if request was started succesfully. 
     * @return KErrNotReady if call is not in transferring state.
     * @pre Call state is MCCECallObserver::ECCEStateTransferring
-	*/
-	virtual TInt AcceptTransfer( const TBool aAccept ) = 0;
-	  
-	/**
+    */
+    virtual TInt AcceptTransfer( const TBool aAccept ) = 0;
+      
+    /**
     * NOTE: Will be removed! MCCECallObserver::HandleTransfer contains remote party already.
     * CCE will map the recipient in openNewCallL to pre-existing one
     * CCECallCall::EventOccurred(ECCERemoteTransferring).
     * The new recipient of the call can be fetched via this method.
-	* @since Series 60 3.2
-	* @param none
-	* @return New recipient for the call after transfer
-	*/
-	virtual const TDesC& TransferTarget() const = 0;
-	  
-	};
+    * @since Series 60 3.2
+    * @param none
+    * @return New recipient for the call after transfer
+    */
+    virtual const TDesC& TransferTarget() const = 0;
+      
+    };
 
 #endif // MCCETRANSFERINTERFACE_H
 
--- a/phonesrv_plat/converged_call_provider_api/inc/cconvergedcallprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/cconvergedcallprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -103,7 +103,7 @@
     */
     virtual void InitializeL( const TUint32 aServiceId,
                               const MCCPObserver& aObserver, 
-    						  const MCCPSsObserver& aSsObserver );
+                              const MCCPSsObserver& aSsObserver );
 
     /**
     * Initialize CConvergedCallProvider after it is created with NewL.
@@ -113,7 +113,7 @@
     * @leave KErrAlreadyExists If this method has already been called.
     */
     virtual void InitializeL( const MCCPObserver& aObserver, 
-    						  const MCCPSsObserver& aSsObserver ) = 0;
+                              const MCCPSsObserver& aSsObserver ) = 0;
 
     /**
     * Creates a new call.
@@ -133,8 +133,8 @@
     * @pre Initialize has been called.
     */ 
     virtual MCCPCall* NewCallL( const CCCPCallParameters& aParameters,
-								const TDesC& aRecipient,
-								const MCCPCallObserver& aObserver ) = 0;
+                                const TDesC& aRecipient,
+                                const MCCPCallObserver& aObserver ) = 0;
     /**
     * Releases all bindings to call and deletes it. 
     * This will be called by CCE to free all the resources reserved for the call.
@@ -161,8 +161,8 @@
     * Can be KNullDesC. Plug-in will use the given address and/or use its own information.
     * @param aObserver Observer for the emergency call.
     * @return MCCPEmergencyCall Created emergency call.
-	* @leave plug-in does not support emergency calls.
-	* @leave In case of failure system error code.
+    * @leave plug-in does not support emergency calls.
+    * @leave In case of failure system error code.
     * @pre Emergency call object is created.
     */
     virtual MCCPEmergencyCall* NewEmergencyCallL( const TUint32 aServiceId, 
@@ -196,11 +196,11 @@
     * @leave KErrNotReady Temporarily not able to create the requested conference.
     * @leave KErrNoMemory Memory error.
     * @leave KErrArgument Invalid service id.
-	* @leave plug-in does not support conference calls.
+    * @leave plug-in does not support conference calls.
     * @pre Initialize has been called.
     */
     virtual MCCPConferenceCall* NewConferenceL( const TUint32 aServiceId,
-								                const MCCPConferenceCallObserver& aObserver ) = 0;
+                                                const MCCPConferenceCallObserver& aObserver ) = 0;
 
     /**
     * Releases all bindings to conference call. CCE will call this after receiving 
@@ -233,50 +233,50 @@
     virtual TUint32 Caps() const = 0;
 
     /**
-	* Request DTMF provider for dtmf functionality extension. Only one instance exist. Must return the 
-	* already created object if called again after initial creation.
+    * Request DTMF provider for dtmf functionality extension. Only one instance exist. Must return the 
+    * already created object if called again after initial creation.
     * @since Series 60 3.2
     * @param aObserver Observer for DTMF events.
-	* @return Pointer to MCCPDTMFProvider if plug-in support dtmf, returns NULL if not supported.
-	* In not supported return NULL but do not leave.
+    * @return Pointer to MCCPDTMFProvider if plug-in support dtmf, returns NULL if not supported.
+    * In not supported return NULL but do not leave.
     * @pre Initialize has been called.
     * @leave KErrNoMemory Memory allocation error.
     * @leave Other general system error.
-	*/
-	virtual MCCPDTMFProvider* DTMFProviderL( const MCCPDTMFObserver& aObserver ) = 0;
+    */
+    virtual MCCPDTMFProvider* DTMFProviderL( const MCCPDTMFObserver& aObserver ) = 0;
 
-	/**
-	* Request extension provider for custom command handling features. Must return the 
-	* already created object if called again after initial creation.
-	* @since Series 60 3.2
+    /**
+    * Request extension provider for custom command handling features. Must return the 
+    * already created object if called again after initial creation.
+    * @since Series 60 3.2
     * @param aObserver observer for extension(custom) events.
-	* @return Pointer to MCCPExtensionProvider if plug-in support extensions, returns NULL if not supported.
-	* In not supported return NULL but do not leave.
+    * @return Pointer to MCCPExtensionProvider if plug-in support extensions, returns NULL if not supported.
+    * In not supported return NULL but do not leave.
     * @pre Initialize has been called.
     * @leave KErrNoMemory Memory allocation error.
     * @leave Other general system error.
-	*/
-	virtual MCCPExtensionProvider* ExtensionProviderL( const MCCPExtensionObserver& aObserver ) = 0;
+    */
+    virtual MCCPExtensionProvider* ExtensionProviderL( const MCCPExtensionObserver& aObserver ) = 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, 
-	* 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 Get succeeded or not.  Default if not implemeted return false. 
-	*/
-	virtual TBool GetLifeTime( TDes8& /*aLifeTimeInfo*/ ) { return EFalse; };
+    /**
+    * 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 Get succeeded or not.  Default if not implemeted return false. 
+    */
+    virtual TBool GetLifeTime( TDes8& /*aLifeTimeInfo*/ ) { return EFalse; };
 
-	/**
-	* This method gets cs specific information from cs-plugin. This is used only CS, 
-	* other plug-ins may ignore this method.
-	* @since S60 3.2
-	* @param aCSInfo CS specific information from cs-plugin.
-	* @return Get succeeded or not. Default if not implemeted return false.
-	*/
-	virtual TBool GetCSInfo( CSInfo& /*aCSInfo*/ )  {  return EFalse; };
+    /**
+    * This method gets cs specific information from cs-plugin. This is used only CS, 
+    * other plug-ins may ignore this method.
+    * @since S60 3.2
+    * @param aCSInfo CS specific information from cs-plugin.
+    * @return Get succeeded or not. Default if not implemeted return false.
+    */
+    virtual TBool GetCSInfo( CSInfo& /*aCSInfo*/ )  {  return EFalse; };
 
 private: // Data
 
--- a/phonesrv_plat/converged_call_provider_api/inc/cconvergedcallprovider.inl	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/cconvergedcallprovider.inl	Tue Aug 31 15:45:17 2010 +0300
@@ -75,9 +75,9 @@
 // -----------------------------------------------------------------------------
 //
 inline void CConvergedCallProvider::ListImplementationsL( RImplInfoPtrArray& aImplArray )
-	{
+    {
     REComSession::ListImplementationsL( KConvergedCallProviderUid, aImplArray );
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CCCPInterface::InitializeL
@@ -86,7 +86,7 @@
 //
 inline void CConvergedCallProvider::InitializeL( const TUint32 /*aServiceId*/,
                               const MCCPObserver& aObserver, 
-    						  const MCCPSsObserver& aSsObserver )
+                              const MCCPSsObserver& aSsObserver )
     {
     InitializeL( aObserver, aSsObserver );
     }
--- a/phonesrv_plat/converged_call_provider_api/inc/ccpdefs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/ccpdefs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -36,8 +36,9 @@
 const TUint KCCPPhoneSerialNumberSize = 50;        // 
 const TUint KCCPSysUtilVersionTextLength = 64;     // from sysutil.h
 const TUint KCCPPhoneModelIdSize = 50;             // from RMobilePhone::KPhoneModelIdSize
-const TUint KCCPPhoneManufacturerIdSize = 50;    // fromRMobilePhone::KPhoneManufacturerIdSize
+const TUint KCCPPhoneManufacturerIdSize = 50;      // fromRMobilePhone::KPhoneManufacturerIdSize
 const TUint KCCPUUSIdSize                = 129;    // etelmm.h, as KMaxUUISize
+const TUint KCCPAlphaIdMaxSize = 254;              // etelmm.h, as KAlphaIdMaxSize
 
 
 /**
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpcallobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpcallobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -33,28 +33,28 @@
 class MCCPCallObserver
     {
 public:
-	/** Call states */
-	enum TCCPCallState
-		{
-		/** Indicates initial call state after call creation. Basic state. */
-		ECCPStateIdle,
-		/** Indicates that the MT call is ringing but not answered yet by the local user. Basic state.*/
-		ECCPStateRinging,
-		/** MO Call: the network notifies to the MS that the remote party is now ringing. Basic state.*/
-		ECCPStateConnecting,
-		/** Indicates that call is connected and active. Basic state.*/
-		ECCPStateConnected,
-		/** Indicates that call is disconnecting. Basic state.*/
-		ECCPStateDisconnecting,
-		/** Indicates that the call is connected but on hold. Basic state.*/
-		ECCPStateHold,
+    /** Call states */
+    enum TCCPCallState
+        {
+        /** Indicates initial call state after call creation. Basic state. */
+        ECCPStateIdle,
+        /** Indicates that the MT call is ringing but not answered yet by the local user. Basic state.*/
+        ECCPStateRinging,
+        /** MO Call: the network notifies to the MS that the remote party is now ringing. Basic state.*/
+        ECCPStateConnecting,
+        /** Indicates that call is connected and active. Basic state.*/
+        ECCPStateConnected,
+        /** Indicates that call is disconnecting. Basic state.*/
+        ECCPStateDisconnecting,
+        /** Indicates that the call is connected but on hold. Basic state.*/
+        ECCPStateHold,
 
-		/** Call is transfering. Optional state.*/
-		ECCPStateTransferring,
-		/** MO call is being forwarded at receiver end. Optional state. */
-		ECCPStateForwarding,
-		/** Call is queued locally. Optional state. */
-		ECCPStateQueued,
+        /** Call is transfering. Optional state.*/
+        ECCPStateTransferring,
+        /** MO call is being forwarded at receiver end. Optional state. */
+        ECCPStateForwarding,
+        /** Call is queued locally. Optional state. */
+        ECCPStateQueued,
 
         /** Indicates that the local user has answered the MT call but the network has not
         acknowledged the call connection yet.  Must be sent after MCCPCall::Answer method has been completed. */
@@ -62,189 +62,189 @@
    
         /** Indicates that the call is dialing. Must be sent after MCCPCall::Dial method has been completed. */
         ECCPStateDialling,
-		
-		};
+        
+        };
 
-	/** Describes the possible call events. */
-	enum TCCPCallEvent
-		{
-		/** Call has been placed on hold as a result of a local action. */
-		ECCPLocalHold,
-		/** Call has been placed on hold by the remote connected party. */
-		ECCPRemoteHold,
-		/** Call has been resumed as a result of a local action.	*/
-		ECCPLocalResume,
-		/** Call has been resumed by the remote connected party. */
-		ECCPRemoteResume,
-		/** Outgoing call has been barred by the local party. */
-		ECCPLocalBarred,
-		/** Outgoing call has been barred by the remote party. */
-		ECCPRemoteBarred,
-		/** Call is waiting at the remote end. Obsolote, use supplementary service ESsCallWaiting */
-		ECCPRemoteWaiting,
-		/** Call has been terminated by the remote party. */
-		ECCPRemoteTerminated,
-		/** Call is in queue */
-		ECCPQueued,
+    /** Describes the possible call events. */
+    enum TCCPCallEvent
+        {
+        /** Call has been placed on hold as a result of a local action. */
+        ECCPLocalHold,
+        /** Call has been placed on hold by the remote connected party. */
+        ECCPRemoteHold,
+        /** Call has been resumed as a result of a local action.    */
+        ECCPLocalResume,
+        /** Call has been resumed by the remote connected party. */
+        ECCPRemoteResume,
+        /** Outgoing call has been barred by the local party. */
+        ECCPLocalBarred,
+        /** Outgoing call has been barred by the remote party. */
+        ECCPRemoteBarred,
+        /** Call is waiting at the remote end. Obsolote, use supplementary service ESsCallWaiting */
+        ECCPRemoteWaiting,
+        /** Call has been terminated by the remote party. */
+        ECCPRemoteTerminated,
+        /** Call is in queue */
+        ECCPQueued,
 
-		/** VoIP specific */
-		ECCCSPEarlyMediaStarted,
+        /** VoIP specific */
+        ECCCSPEarlyMediaStarted,
 
-		/** Call is secure */
-		ECCPSecureCall,
-		/** Call is not secure */
-		ECCPNotSecureCall,
-		
-		/** VoIP specific
-		User has called with address containing "SIPS:" prefix. This event notifies that
-		secure call signaling is not possible. **/
-		ECCPNotSecureSessionWithSips,
+        /** Call is secure */
+        ECCPSecureCall,
+        /** Call is not secure */
+        ECCPNotSecureCall,
+        
+        /** VoIP specific
+        User has called with address containing "SIPS:" prefix. This event notifies that
+        secure call signaling is not possible. **/
+        ECCPNotSecureSessionWithSips,
        
-		/** Call has been added to remote conference call at remote end */
-		ECCPRemoteConferenceCreate,
-	   
-		////////////////////////////
-		// CS call specific events
-		///////////////////////////        
-	   
-		/** CS call specific event */
-		ECCPCSDataPortLoaned,
-		/** CS call specific event */
-		ECCPCSDataPortRecovered,
+        /** Call has been added to remote conference call at remote end */
+        ECCPRemoteConferenceCreate,
+       
+        ////////////////////////////
+        // CS call specific events
+        ///////////////////////////        
+       
+        /** CS call specific event */
+        ECCPCSDataPortLoaned,
+        /** CS call specific event */
+        ECCPCSDataPortRecovered,
 
-		/** One or more of following information has been changed
+        /** One or more of following information has been changed
          *  - Remote party name
          *  - Remote party number/address
          *  - Call parameters ( ie. service id )
-		 */		
-		ECCPNotifyRemotePartyInfoChange,
+         */     
+        ECCPNotifyRemotePartyInfoChange,
 
         /** Call secure status cannot be determined */
         ECCPSecureNotSpecified
-		};
+        };
 
 
-	/** Flags indicating all the possible call control capabilities. */
-	enum TCCPCallControlCaps
-		{
-		/** Call supports data calls. */
-		ECCPCapsData           =   0x00000001,
-		/** Call supports fax calls. */
-		ECCPCapsFax            =   0x00000002,
-		/** Call supports voice calls. */
-		ECCPCapsVoice          =   0x00000004,
-		/** The Dial request is currently a valid action. */
-		ECCPCapsDial           =   0x00000008,
-		/** The Connect request is currently a valid action. */
-		ECCPCapsConnect        =   0x00000010,
-		/** The Hang Up request is currently a valid action. */
-		ECCPCapsHangUp         =   0x00000020,
-		/** The Answer request is currently a valid action. */
-		ECCPCapsAnswer         =   0x00000040,
-		/** The Loan Data Port request is currently a valid action. */
-		ECCPCapsLoanDataPort   =   0x00000080,
-		/** The Recover Data Port request is currently a valid action. */
-		ECCPCapsRecoverDataPort=   0x00000100,
-		/** Indicates that this call can be put on hold. This implies that the call is currently
-		active and that there is no other held call. */
-		ECCPCapsHold           =   0x00000200,
-		/** Indicates that this call can be resumed. This implies that the call is currently
-		on hold and that there is no other active call. */
-		ECCPCapsResume         =   0x00000400,
-		/** Indicates that this call's state can be swapped to the opposite state. This
-		implies that this call is either active or held. There may be another call
-		in the opposite state and if this is the case then both calls will be simultaneously
-		swapped to their opposite state. */
-		ECCPCapsSwap           =   0x00000800,
-		/** Indicates that this incoming call can be deflected to another destination.*/
-		ECCPCapsDeflect        =   0x00001000,
-		/** Indicates that this call can be transferred to the remote party of another call.
-		For this capability to be set there must be one active call and one held or
-		dialing call.*/
-		ECCPCapsTransfer       =   0x00002000,
-		/** Indicates that this call can be joined either to another single call to form
-		a conference call or to an existing conference call.*/
-		ECCPCapsJoin           =   0x00004000,
-		/** Indicates that this call (within a conference call) can go into One to One mode.
-		This action would put the rest of the conference call on hold. */
-		ECCPCapsOneToOne       =   0x00008000,
-		/** Indicates that the user can activate a CCBS request on this failed call set-up.*/
-		ECCPCapsActivateCCBS   =   0x00010000,
-		/** Indicates that this call is part of an alternating call and the client can call
-		SwitchAlternatingCall() on this call in order to switch it to its other mode.*/
-		ECCPCapsSwitchAlternatingCall = 0x00020000,
-		/** Indicates that this call can use/create a new bearer. This means that multiple
-		calls (multicall) can be active at the same time using no more that 7 bearers
-		simultaneously. The other option is to swap with an active call, therefore
-		it becomes held and shares the same bearer.*/
-		ECCPCapsMulticall      =   0x00040000,
-		/** Indicates that this call is an packet switched call */
-		ECCPCapsPSCall       =   0x00080000,
-		/** Indicates that this call supports unattended transfer method and that this call
-		is currently active */
-		ECCPCapsUnattendedTransfer = 0x00100000,
-		/** Indicates that a conference call can be created. */
-		KCCPCapsCreate = 0x00200000
-		};
+    /** Flags indicating all the possible call control capabilities. */
+    enum TCCPCallControlCaps
+        {
+        /** Call supports data calls. */
+        ECCPCapsData           =   0x00000001,
+        /** Call supports fax calls. */
+        ECCPCapsFax            =   0x00000002,
+        /** Call supports voice calls. */
+        ECCPCapsVoice          =   0x00000004,
+        /** The Dial request is currently a valid action. */
+        ECCPCapsDial           =   0x00000008,
+        /** The Connect request is currently a valid action. */
+        ECCPCapsConnect        =   0x00000010,
+        /** The Hang Up request is currently a valid action. */
+        ECCPCapsHangUp         =   0x00000020,
+        /** The Answer request is currently a valid action. */
+        ECCPCapsAnswer         =   0x00000040,
+        /** The Loan Data Port request is currently a valid action. */
+        ECCPCapsLoanDataPort   =   0x00000080,
+        /** The Recover Data Port request is currently a valid action. */
+        ECCPCapsRecoverDataPort=   0x00000100,
+        /** Indicates that this call can be put on hold. This implies that the call is currently
+        active and that there is no other held call. */
+        ECCPCapsHold           =   0x00000200,
+        /** Indicates that this call can be resumed. This implies that the call is currently
+        on hold and that there is no other active call. */
+        ECCPCapsResume         =   0x00000400,
+        /** Indicates that this call's state can be swapped to the opposite state. This
+        implies that this call is either active or held. There may be another call
+        in the opposite state and if this is the case then both calls will be simultaneously
+        swapped to their opposite state. */
+        ECCPCapsSwap           =   0x00000800,
+        /** Indicates that this incoming call can be deflected to another destination.*/
+        ECCPCapsDeflect        =   0x00001000,
+        /** Indicates that this call can be transferred to the remote party of another call.
+        For this capability to be set there must be one active call and one held or
+        dialing call.*/
+        ECCPCapsTransfer       =   0x00002000,
+        /** Indicates that this call can be joined either to another single call to form
+        a conference call or to an existing conference call.*/
+        ECCPCapsJoin           =   0x00004000,
+        /** Indicates that this call (within a conference call) can go into One to One mode.
+        This action would put the rest of the conference call on hold. */
+        ECCPCapsOneToOne       =   0x00008000,
+        /** Indicates that the user can activate a CCBS request on this failed call set-up.*/
+        ECCPCapsActivateCCBS   =   0x00010000,
+        /** Indicates that this call is part of an alternating call and the client can call
+        SwitchAlternatingCall() on this call in order to switch it to its other mode.*/
+        ECCPCapsSwitchAlternatingCall = 0x00020000,
+        /** Indicates that this call can use/create a new bearer. This means that multiple
+        calls (multicall) can be active at the same time using no more that 7 bearers
+        simultaneously. The other option is to swap with an active call, therefore
+        it becomes held and shares the same bearer.*/
+        ECCPCapsMulticall      =   0x00040000,
+        /** Indicates that this call is an packet switched call */
+        ECCPCapsPSCall       =   0x00080000,
+        /** Indicates that this call supports unattended transfer method and that this call
+        is currently active */
+        ECCPCapsUnattendedTransfer = 0x00100000,
+        /** Indicates that a conference call can be created. */
+        KCCPCapsCreate = 0x00200000
+        };
 
 
 protected:
-	/** 
-	* Protects the observer being deleted through the observer interface 
-	* @since S60 3.2
-	*/
-	virtual inline ~MCCPCallObserver() {};
+    /** 
+    * Protects the observer being deleted through the observer interface 
+    * @since S60 3.2
+    */
+    virtual inline ~MCCPCallObserver() {};
     
 public:
-	/**
-	* An error has occurred concerning a specific call.
-	* @since S60 3.2
-	* @param aError Error code.
-	* @param aCall Pointer to used ccp call, can be NULL in emergency call
-	* @return none
-	*/
-	virtual void ErrorOccurred( const TCCPError aError, MCCPCall* aCall ) = 0; 
+    /**
+    * An error has occurred concerning a specific call.
+    * @since S60 3.2
+    * @param aError Error code.
+    * @param aCall Pointer to used ccp call, can be NULL in emergency call
+    * @return none
+    */
+    virtual void ErrorOccurred( const TCCPError aError, MCCPCall* aCall ) = 0; 
 
-	/**
-	* The state of the call has changed.
-	* @since S60 3.2
-	* @param aState Call state.
-	* @param aCall Pointer to used ccp call, can be NULL in emergency call
-	* @return none
-	*/
-	virtual void CallStateChanged( const MCCPCallObserver::TCCPCallState aState, 
-	                               MCCPCall* aCall) = 0; 
+    /**
+    * The state of the call has changed.
+    * @since S60 3.2
+    * @param aState Call state.
+    * @param aCall Pointer to used ccp call, can be NULL in emergency call
+    * @return none
+    */
+    virtual void CallStateChanged( const MCCPCallObserver::TCCPCallState aState, 
+                                   MCCPCall* aCall) = 0; 
 
-	/**
-	* The state of the call has changed with inband tone, meaning network is playing 
-	* the tone relating to the state.
-	* @since S60 3.2
-	* @param aState Call state.
-	* @param aCall Pointer to used ccp call, can be NULL in emergency call
-	* @return none
-	*/
-	virtual void CallStateChangedWithInband( const MCCPCallObserver::TCCPCallState aState, 
-	                                         MCCPCall* aCall ) = 0; 
+    /**
+    * The state of the call has changed with inband tone, meaning network is playing 
+    * the tone relating to the state.
+    * @since S60 3.2
+    * @param aState Call state.
+    * @param aCall Pointer to used ccp call, can be NULL in emergency call
+    * @return none
+    */
+    virtual void CallStateChangedWithInband( const MCCPCallObserver::TCCPCallState aState, 
+                                             MCCPCall* aCall ) = 0; 
 
-	/**
-	* An event has occurred concerning a specific call.
-	* @since S60 3.2
-	* @param aEvent Occurred event.
-	* @param aCall Pointer to used ccp call, can be NULL in emergency call
-	* @return none
-	*/
-	virtual void CallEventOccurred( const MCCPCallObserver::TCCPCallEvent aEvent, 
-	                                MCCPCall* aCall ) = 0; 
+    /**
+    * An event has occurred concerning a specific call.
+    * @since S60 3.2
+    * @param aEvent Occurred event.
+    * @param aCall Pointer to used ccp call, can be NULL in emergency call
+    * @return none
+    */
+    virtual void CallEventOccurred( const MCCPCallObserver::TCCPCallEvent aEvent, 
+                                    MCCPCall* aCall ) = 0; 
 
-	/**
-	* Notifies changed call capabilities.
-	* @since S60 3.2
-	* @param aCapsFlags New capabilities for the call
-	* @param aCall Pointer to used ccp call, can be NULL in emergency call
-	* @return none
-	*/
-	virtual void CallCapsChanged( const TUint32 aCapsFlags, 
-	                              MCCPCall* aCall ) = 0; 
+    /**
+    * Notifies changed call capabilities.
+    * @since S60 3.2
+    * @param aCapsFlags New capabilities for the call
+    * @param aCall Pointer to used ccp call, can be NULL in emergency call
+    * @return none
+    */
+    virtual void CallCapsChanged( const TUint32 aCapsFlags, 
+                                  MCCPCall* aCall ) = 0; 
     };
 
 #endif // MCCPCALLOBSERVER_H
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpconferencecall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpconferencecall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -31,7 +31,7 @@
 * @since S60 3.2
 */
 class MCCPConferenceCall
-	{
+    {
 protected:
     /** 
     * Protected destructor. Object cannot be deleted from plug-in client (CCE).
@@ -53,8 +53,8 @@
     * Ends an ongoing conference call.
     * Does not delete the call. Call deletion is requested calling 
     * CConvergedCallProvider::ReleaseConferenceCall.
-	* If the request cannot be started then an error will be returned immediately as return value. 
-	* In succesfull case KErrNone will be returned and the requested action has been started.
+    * If the request cannot be started then an error will be returned immediately as return value. 
+    * In succesfull case KErrNone will be returned and the requested action has been started.
     * @param None
     * @return KErrNone if request was started succesfully. 
     * @return KErrAlreadyExists if conference is already in idle state.
@@ -65,8 +65,8 @@
 
     /**
     * Puts conference call on hold.
-	* If the request cannot be started then an error will be returned immediately as return value. 
-	* In succesfull case KErrNone will be returned and the requested action has been started.
+    * If the request cannot be started then an error will be returned immediately as return value. 
+    * In succesfull case KErrNone will be returned and the requested action has been started.
     * @param None
     * @return KErrNone if request was started succesfully.
     * @return KErrNotReady if conferencel is not in connected state.
@@ -77,8 +77,8 @@
       
     /**
     * Resumes previously held conference call.
-	* If the request cannot be started then an error will be returned immediately as return value. 
-	* In succesfull case KErrNone will be returned and the requested action has been started.
+    * If the request cannot be started then an error will be returned immediately as return value. 
+    * In succesfull case KErrNone will be returned and the requested action has been started.
     * @param None
     * @return KErrNone if request was started succesfully.
     * @return KErrNotReady if call is not in on-hold state.
@@ -89,8 +89,8 @@
 
     /**
     * Swaps a connected conference call between Hold and Resume. 
-	* If the request cannot be started then an error will be returned immediately as return value. 
-	* In succesfull case KErrNone will be returned and the requested action has been started.
+    * If the request cannot be started then an error will be returned immediately as return value. 
+    * In succesfull case KErrNone will be returned and the requested action has been started.
     * @param none
     * @return KErrNone if request was started succesfully. 
     * @return KErrNotReady if call is not in on-hold state or connected state
@@ -100,84 +100,84 @@
     */
     virtual TInt Swap() = 0;
 
-	/**
-	* Adds a new call to conference call. 
-	* When plug-in regards the call as added it will notify observer about it 
-	* with call added notification MCCPConferenceCallObserver::ECCPConferenceCallAdded.
-	* 
-	* @since S60 3.2
-	* @param aCall Call to be added to conference.
-	* @return None
-	* @leave In case of an error system wide error code.
-	* @leave KErrAlreadyExists call is already part of conference.
-	* @leave KErrNotReady In case conference is not on hold or idle.
-	* @pre Conference call state is MCCPConferenceCallObserver::ECCPConferenceHold or 
-	* MCCPConferenceCallObserver::ECCPConferenceIdle. 
-	* @post Added call is notified calling MCCPConferenceCallObserver::ConferenceCallEventOccurred.
-	* @post If conference becomes active regarding its internal plug-in based logic state is 
-	* MCCPConferenceCallObserver::ECCPConferenceActive.
-	*/
-	virtual void AddCallL( MCCPCall* aCall ) = 0;
+    /**
+    * Adds a new call to conference call. 
+    * When plug-in regards the call as added it will notify observer about it 
+    * with call added notification MCCPConferenceCallObserver::ECCPConferenceCallAdded.
+    * 
+    * @since S60 3.2
+    * @param aCall Call to be added to conference.
+    * @return None
+    * @leave In case of an error system wide error code.
+    * @leave KErrAlreadyExists call is already part of conference.
+    * @leave KErrNotReady In case conference is not on hold or idle.
+    * @pre Conference call state is MCCPConferenceCallObserver::ECCPConferenceHold or 
+    * MCCPConferenceCallObserver::ECCPConferenceIdle. 
+    * @post Added call is notified calling MCCPConferenceCallObserver::ConferenceCallEventOccurred.
+    * @post If conference becomes active regarding its internal plug-in based logic state is 
+    * MCCPConferenceCallObserver::ECCPConferenceActive.
+    */
+    virtual void AddCallL( MCCPCall* aCall ) = 0;
 
-	/**
-	* Removes a call from conference call. Can be called on any state.
-	* When plug-in regards the call as removed it will notify observer about it 
-	* with call removed notification MCCPConferenceCallObserver::ECCPConferenceCallRemoved.
-	* @since S60 3.2
-	* @param aCall Call to be removed from conference.
-	* @return None
-	* @leave In case of an error system wide error code.
-	* @leave KErrNotFound call was not part of conference.
-	* @leave KErrNotReady In case conference is not connected (MCCPConferenceCallObserver::ECCPConferenceActive) state.
-	* @pre Conference call state is MCCPConferenceCallObserver::ECCPConferenceActive or 
-	* MCCPConferenceCallObserver::ECCPConferenceIdle. 
-	* @post Removed call is notified calling MCCPConferenceCallObserver::ConferenceCallEventOccurred.
-	* @post If conference becomes idle regarding its internal plug-in based logic state is 
-	* MCCPConferenceCallObserver::ECCPConferenceIdle. 
-	*/
-	virtual void RemoveCallL( MCCPCall* aCall ) = 0;
-
-	/**
-	* Returns number of calls active calls in the conference.
-	* @since S60 3.2
-	* @param None
-	* @return aCallCount Number of calls in conference.
-	*/
-	virtual TInt CallCount() const = 0;
+    /**
+    * Removes a call from conference call. Can be called on any state.
+    * When plug-in regards the call as removed it will notify observer about it 
+    * with call removed notification MCCPConferenceCallObserver::ECCPConferenceCallRemoved.
+    * @since S60 3.2
+    * @param aCall Call to be removed from conference.
+    * @return None
+    * @leave In case of an error system wide error code.
+    * @leave KErrNotFound call was not part of conference.
+    * @leave KErrNotReady In case conference is not connected (MCCPConferenceCallObserver::ECCPConferenceActive) state.
+    * @pre Conference call state is MCCPConferenceCallObserver::ECCPConferenceActive or 
+    * MCCPConferenceCallObserver::ECCPConferenceIdle. 
+    * @post Removed call is notified calling MCCPConferenceCallObserver::ConferenceCallEventOccurred.
+    * @post If conference becomes idle regarding its internal plug-in based logic state is 
+    * MCCPConferenceCallObserver::ECCPConferenceIdle. 
+    */
+    virtual void RemoveCallL( MCCPCall* aCall ) = 0;
 
     /**
-	* Switch to a private call with given call that is part of conference. When call is regared 
-	* as removed from conference it will be notified using 
-	* MCCPConferenceCallObserver::ECCPConferenceCallRemoved.
-	* @since S60 3.2
-	* @param aCall Call to go one-to-one with.
-	* @return None
-	* @leave KErrNotFound call was not part of conference.
-	* @post After successful actions conference call state is MCCPConferenceCallObserver::ECCPConferenceHold 
-	* and private call will become active one. 
-	*/
-	virtual void GoOneToOneL( MCCPCall& aCall ) = 0;
+    * Returns number of calls active calls in the conference.
+    * @since S60 3.2
+    * @param None
+    * @return aCallCount Number of calls in conference.
+    */
+    virtual TInt CallCount() const = 0;
 
     /**
-	* Add all current calls in the plug-in to conference. Each succesfully added call will 
-	* be separately notified using MCCPConferenceCallObserver::ECCPConferenceCallAdded.
-	* If call is not added to conference it is not notified and can be regareded as not 
-	* part of conference
-	* @since S60 3.2
-	* @param None
-	* @return None
-	* @leave In case of an error system wide error code.
-	*/
-	virtual void CurrentCallsToConferenceL() = 0;
-	
+    * Switch to a private call with given call that is part of conference. When call is regared 
+    * as removed from conference it will be notified using 
+    * MCCPConferenceCallObserver::ECCPConferenceCallRemoved.
+    * @since S60 3.2
+    * @param aCall Call to go one-to-one with.
+    * @return None
+    * @leave KErrNotFound call was not part of conference.
+    * @post After successful actions conference call state is MCCPConferenceCallObserver::ECCPConferenceHold 
+    * and private call will become active one. 
+    */
+    virtual void GoOneToOneL( MCCPCall& aCall ) = 0;
+
+    /**
+    * Add all current calls in the plug-in to conference. Each succesfully added call will 
+    * be separately notified using MCCPConferenceCallObserver::ECCPConferenceCallAdded.
+    * If call is not added to conference it is not notified and can be regareded as not 
+    * part of conference
+    * @since S60 3.2
+    * @param None
+    * @return None
+    * @leave In case of an error system wide error code.
+    */
+    virtual void CurrentCallsToConferenceL() = 0;
+    
     /**
     * Gets conference participants
-	* @since S60 3.2
-	* @param aCallArray Reference to call array
+    * @since S60 3.2
+    * @param aCallArray Reference to call array
     * @return Error code
-	*/
-	virtual TInt GetCallArray( RPointerArray<MCCPCall>& aCallArray ) = 0;
-	
+    */
+    virtual TInt GetCallArray( RPointerArray<MCCPCall>& aCallArray ) = 0;
+    
     /**
     * Add an observer for conference call related events.
     * Currently CCE will set only one observer.
@@ -197,7 +197,7 @@
     * @return KErrNotFound if observer was not found.
     */
     virtual TInt RemoveObserver( const MCCPConferenceCallObserver& aObserver ) = 0;
-	};
+    };
 
 #endif // MCCPCONFERENCECALL_H
 
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpconferencecallobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpconferencecallobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -115,8 +115,8 @@
     * @param aCaps New capabilities for the conference call.
     * @return none
     */
-	virtual void ConferenceCallCapsChanged( 
-	             const MCCPConferenceCallObserver::TCCPConferenceCallCaps aCaps ) = 0;
+    virtual void ConferenceCallCapsChanged( 
+                 const MCCPConferenceCallObserver::TCCPConferenceCallCaps aCaps ) = 0;
     
     /**
     * An error has occurred concerning a conference call.
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpcscall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpcscall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -30,57 +30,57 @@
 */
 class MCCPCSCall : public MCCPCall
 
-	{
+    {
  public:
  
    /**
-	* Starts dialing to recipient
-	* @since S60 3.2
-	* @param aCallParams The call parameters used by the TSY (a TCallParamsPckg object)
+    * Starts dialing to recipient
+    * @since S60 3.2
+    * @param aCallParams The call parameters used by the TSY (a TCallParamsPckg object)
     * @return KErrNone if request was started succesfully. 
     * @return KErrNotReady if call is not in idle state.
     * @return KErrNotSupported If call is not mobile originated.
     * @pre Call state is MCCPCallObserver::ECCPStateIdle and call type is MO.
     * @since S60 3.2
-    */	
-	virtual TInt Dial( const TDesC8& aCallParams ) = 0;
+    */  
+    virtual TInt Dial( const TDesC8& aCallParams ) = 0;
 
-	/**
-	* Instruct to do no FDN checking when dialling.
-	* Needs to be called before every dial for each call separately.
-	* If this method is not called at all default is to use FDN. 
-	* Value will be reset to default when call goes back to disconnected state.
-	* @since S60 v3.2
-	* @param none
-	* @return none
-	*/
-	virtual void NoFDNCheck() = 0;
+    /**
+    * Instruct to do no FDN checking when dialling.
+    * Needs to be called before every dial for each call separately.
+    * If this method is not called at all default is to use FDN. 
+    * Value will be reset to default when call goes back to disconnected state.
+    * @since S60 v3.2
+    * @param none
+    * @return none
+    */
+    virtual void NoFDNCheck() = 0;
 
-	/**
-	* Returns call information
-	* @since S60 3.2
-	* @param aCallInfo TMobileCallInfoV3
-	* @return KErrNone if succesfull, otherwise another system wide error code
-	*/
-	virtual TInt GetMobileCallInfo( TDes8& aCallInfo ) const = 0;
+    /**
+    * Returns call information
+    * @since S60 3.2
+    * @param aCallInfo TMobileCallInfoV3
+    * @return KErrNone if succesfull, otherwise another system wide error code
+    */
+    virtual TInt GetMobileCallInfo( TDes8& aCallInfo ) const = 0;
 
-	/**
-	* Switch in the alternating call mode of an alternating call
-	* @since S60 3.2
-	* @param None
+    /**
+    * Switch in the alternating call mode of an alternating call
+    * @since S60 3.2
+    * @param None
     * @return KErrNone or system error code.
-	*/
-	virtual TInt SwitchAlternatingCall() = 0;
+    */
+    virtual TInt SwitchAlternatingCall() = 0;
 
-	/**
-	* Gets the calls data call capabilities
-	* @since S60 3.2
-	* @param aCaps TMobileCallDataCapsV1
-	* @return KErrNone if the function member was successful, 
-	* @return KErrNotSupported if call does not support circuit switched data, 
-	* @return KErrNotFound if this call is not a data call
-	*/
-	virtual TInt GetMobileDataCallCaps( TDes8& aCaps ) const = 0;
+    /**
+    * Gets the calls data call capabilities
+    * @since S60 3.2
+    * @param aCaps TMobileCallDataCapsV1
+    * @return KErrNone if the function member was successful, 
+    * @return KErrNotSupported if call does not support circuit switched data, 
+    * @return KErrNotFound if this call is not a data call
+    */
+    virtual TInt GetMobileDataCallCaps( TDes8& aCaps ) const = 0;
 
     /**
     * Log dialed  number. SAT related, check if dialed number is to be logged or not.
@@ -89,7 +89,7 @@
     * @return Log dialed number or not.
     */
     virtual TBool LogDialedNumber() const = 0;
-	};
+    };
 
 
 #endif // CCPCSCALL_H
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpcsobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpcsobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -57,7 +57,7 @@
     * @param aConferenceCall Created conference
     * @return none
     */
-	virtual void ConferenceCallCreated( MCCPConferenceCall& aConferenceCall ) = 0;
+    virtual void ConferenceCallCreated( MCCPConferenceCall& aConferenceCall ) = 0;
 
     /**
     * Notify data port information for video telephony.
@@ -65,7 +65,7 @@
     * @param aPortName Dataport information.
     * @return none
     */
-	virtual void DataPortName( TName& aPortName ) = 0;
+    virtual void DataPortName( TName& aPortName ) = 0;
     };
 
 #endif // MCCPCSOBSERVER_H
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpdtmfprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpdtmfprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -31,63 +31,63 @@
 *  @since S60 3.2
 */
 class MCCPDTMFProvider
-	{
+    {
 protected:
     /** 
     * Protected destructor. Object cannot be deleted from plug-in client (CCE).
     * @since S60 3.2
     */
     virtual inline ~MCCPDTMFProvider() {};
-	
+    
 public:
-	/**
-	* Cancels asynchronous DTMF string sending.
+    /**
+    * Cancels asynchronous DTMF string sending.
     * @param none
-	* @return KErrNone request was started successfully
-	* @return KErrNotFound nothing found to cancel.
-	* @since Series 60 3.2
-	*/
-	virtual TInt CancelDtmfStringSending() = 0;
+    * @return KErrNone request was started successfully
+    * @return KErrNotFound nothing found to cancel.
+    * @since Series 60 3.2
+    */
+    virtual TInt CancelDtmfStringSending() = 0;
 
-	/**
-	* Starts the transmission of a single DTMF tone across a connected and active call.
-	* @since S60 3.2
-	* @param aTone tone to be played.
-	* @return KErrNone request was started successfully
-	* @return KErrArgument if the specified tone contains illegal dtmf character
-	* @return in case of an error system wide error code
-	*/
-	virtual TInt StartDtmfTone( const TChar aTone ) = 0;
+    /**
+    * Starts the transmission of a single DTMF tone across a connected and active call.
+    * @since S60 3.2
+    * @param aTone tone to be played.
+    * @return KErrNone request was started successfully
+    * @return KErrArgument if the specified tone contains illegal dtmf character
+    * @return in case of an error system wide error code
+    */
+    virtual TInt StartDtmfTone( const TChar aTone ) = 0;
 
-	/**
-	* Stops playing current DTMF tone.
-	* @since S60 3.2
+    /**
+    * Stops playing current DTMF tone.
+    * @since S60 3.2
     * @param none
-	* @return KErrNone request was started successfully
+    * @return KErrNone request was started successfully
     * @return KErrNotReady not ready to perform the requested action.
-	*/
-	virtual TInt StopDtmfTone() = 0;
+    */
+    virtual TInt StopDtmfTone() = 0;
 
-	/**
-	* Plays DTMF string.
-	* @since S60 3.2
-	* @param aString String to be played.
-	* @return KErrNone request was started successfully
-	* @return KErrArgument if the specified string contains illegal dtmf characters
-	*/
-	virtual TInt SendDtmfToneString( const TDesC& aString ) = 0;
+    /**
+    * Plays DTMF string.
+    * @since S60 3.2
+    * @param aString String to be played.
+    * @return KErrNone request was started successfully
+    * @return KErrArgument if the specified string contains illegal dtmf characters
+    */
+    virtual TInt SendDtmfToneString( const TDesC& aString ) = 0;
 
-	/**
-	* Continue or cancel sending DTMF string which was stopped with 'w'-character
-	* in string.
-	* @since S60 3.2
-	* @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 request was started successfully
-	* @return KErrNotFound no send existed which to continue
-	*/
-	virtual TInt ContinueDtmfStringSending( const TBool aContinue ) = 0;
-	
+    /**
+    * Continue or cancel sending DTMF string which was stopped with 'w'-character
+    * in string.
+    * @since S60 3.2
+    * @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 request was started successfully
+    * @return KErrNotFound no send existed which to continue
+    */
+    virtual TInt ContinueDtmfStringSending( const TBool aContinue ) = 0;
+    
     /**
     * Add an observer for DTMF related events.
     * Currently CCE will set only one observer.
@@ -107,7 +107,7 @@
     */
     virtual TInt RemoveObserver( const MCCPDTMFObserver& aObserver ) = 0;
 
-	};
+    };
 
 
 #endif // MCCPDTMFPROVIDER_H
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpemergencycall.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpemergencycall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -28,17 +28,17 @@
 * @since S60 3.2
 */
 class MCCPEmergencyCall
-	{
+    {
 protected:
     /** 
     * Protected destructor. Object cannot be deleted from plug-in client (CCE).
     * @since S60 3.2
     */
     virtual inline ~MCCPEmergencyCall() {};
-	
+    
 public:
- 	/**
-	* Dials an emergency call.
+    /**
+    * 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. 
@@ -49,42 +49,42 @@
     * @return KErrNone if request was started succesfully. 
     * @return KErrNotReady If call is not in idle state.
     * @return KErrNotSupported Emergency call is not supported.
-	* @since S60 3.2
-	*/
-	virtual TInt Dial( const TDesC& aRecipient=KNullDesC) = 0;
+    * @since S60 3.2
+    */
+    virtual TInt Dial( const TDesC& aRecipient=KNullDesC) = 0;
 
-	/**
+    /**
     * Called by CCE instead of HangUp when Dial has been called and state change to 
     * MCCPCallObserver::ECCPStateConnecting has not been received. 
     * Cancels the last ongoing request. Used for Dial only. Not supported for other actions.
-	* If the request cannot be started then an error will be returned immediately as return value. 
-	* In succesfull case KErrNone will be returned and the requested action has been started.
+    * If the request cannot be started then an error will be returned immediately as return value. 
+    * In succesfull case KErrNone will be returned and the requested action has been started.
     * @param None.
     * @return KErrNone if request was started succesfully. 
     * @since S60 3.2
     * @pre MCCPEmergencyCall::Dial has been called and call state is MCCPCallObserver::ECCPIdle 
     */
-	virtual TInt Cancel() = 0;
+    virtual TInt Cancel() = 0;
 
-	/**
-	* Ends an ongoing call.
+    /**
+    * Ends an ongoing call.
     * @param none
     * @return KErrNone If request was started succesfully.
     * @return KErrAlreadyExists If call is already in idle state.
-	* @since S60 3.2
-	*/
-	virtual TInt HangUp() = 0;
+    * @since S60 3.2
+    */
+    virtual TInt HangUp() = 0;
 
-	/**
-	* Answers to an incoming call.
-	* TODO: remove as unneeded? no answer supported ?
+    /**
+    * Answers to an incoming call.
+    * TODO: remove as unneeded? no answer supported ?
     * @param none
     * @return KErrNone If request was started succesfully.
     * @return KErrNotReady If call is not in ringing or queued state.
-	* @since S60 3.2
-	*/
-	virtual TInt Answer() = 0;
-	};
+    * @since S60 3.2
+    */
+    virtual TInt Answer() = 0;
+    };
 
 #endif // MCCPEMERGENCYCALL_H
 
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpextensionobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpextensionobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -48,8 +48,8 @@
     * @return none
     */
     virtual void HandleExtensionEvents( TUint32 aServiceId,
-    									TInt aEvent,
-	                                    TInt aStatus ) = 0;
+                                        TInt aEvent,
+                                        TInt aStatus ) = 0;
     };
 
 #endif // MCCPEXTENSIONOBSERVER_H
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpextensionprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpextensionprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -33,14 +33,14 @@
 *  @since S60 3.2
 */
 class MCCPExtensionProvider
-	{
+    {
 protected:
     /** 
     * Protected destructor. Object cannot be deleted from plug-in client (CCE).
     * @since S60 3.2
     */
     virtual inline ~MCCPExtensionProvider() {};
-	
+    
 public:
     /**
     * Request a custom command from the plug-in. Result returned via MCCPExtensionObserver.
@@ -78,7 +78,7 @@
     */
     virtual TInt RemoveObserver( const MCCPExtensionObserver& aObserver ) = 0;
     
-	};
+    };
 
 #endif // MCCPEXTENSIONPROVIDER_H
 
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpforwardobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpforwardobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -32,35 +32,35 @@
 class MCCPForwardObserver
     {
 public: 
-	enum TCCPForwardEvent
-		{
-		/** Call is being forwarded by the remote party. */
-		ECCPRemoteForwarding,
-		/** Call is forwarded */
-		ECCPForwarded,
-		/** Multiple call forward choices are available */
-		ECCPMultipleChoices,
-		/** Call moved temporarily */
-		ECCPMovedTemporarily,
-		/** Call moved permanently */
-		ECCPMovedPermanentlyEvent
-		};
+    enum TCCPForwardEvent
+        {
+        /** Call is being forwarded by the remote party. */
+        ECCPRemoteForwarding,
+        /** Call is forwarded */
+        ECCPForwarded,
+        /** Multiple call forward choices are available */
+        ECCPMultipleChoices,
+        /** Call moved temporarily */
+        ECCPMovedTemporarily,
+        /** Call moved permanently */
+        ECCPMovedPermanentlyEvent
+        };
 
 protected:
-	/** 
-	* Protects the observer being deleted through the observer interface 
-	* @since S60 3.2
-	*/
-	virtual inline ~MCCPForwardObserver() {};
+    /** 
+    * Protects the observer being deleted through the observer interface 
+    * @since S60 3.2
+    */
+    virtual inline ~MCCPForwardObserver() {};
     
 public:
-	/**
-	* A Forward event has occurred concerning a specific call.
-	* @since S60 3.2
-	* @param aEvent Occurred event.
-	* @return none
-	*/
-	virtual void ForwardEventOccurred( 
+    /**
+    * A Forward event has occurred concerning a specific call.
+    * @since S60 3.2
+    * @param aEvent Occurred event.
+    * @return none
+    */
+    virtual void ForwardEventOccurred( 
                  const MCCPForwardObserver::TCCPForwardEvent aEvent ) = 0;
     };
 
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpforwardprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpforwardprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -34,44 +34,44 @@
 *  @since S60 3.2
 */
 class MCCPForwardProvider
-	{
+    {
 protected:
     /** 
     * Protected destructor. Object cannot be deleted from plug-in client (CCE).
     * @since S60 3.2
     */
     virtual inline ~MCCPForwardProvider() {};
-	
+    
 public:
     /**
-	* 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.
-	* @since Series 60 3.2
-	* @param none
-	* @return Reference to array containing addresses
+    * 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.
+    * @since Series 60 3.2
+    * @param none
+    * @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() = 0;
+    */
+    virtual const CDesC8Array& GetForwardAddressChoicesL() = 0;
 
-	/**
-	* Forward call to address at given index.
-	* @since Series 60 3.2
-	* @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.
-	* @return none
-	* @leave KErrArgument Index is not in array
+    /**
+    * Forward call to address at given index.
+    * @since Series 60 3.2
+    * @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.
+    * @return none
+    * @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 ) = 0;
-	
+    */
+    virtual void ForwardToAddressL( const TInt aIndex ) = 0;
+    
     /**
     * Add an observer for forward related events.
     * Currently CCE will set only one observer.
@@ -90,7 +90,7 @@
     * @return KErrNotFound if observer was not found.
     */
     virtual TInt RemoveObserver( const MCCPForwardObserver& aObserver ) = 0;
-	};
+    };
 
 
 #endif // MCCPFORWARDPROVIDER_H
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -80,7 +80,7 @@
 
     /**
     * Incoming call invitation in attended transfer case. Occurs at transfer target end.
-	* For incoming transfer at transferor end see MCCPObserver::CallCreated.
+    * For incoming transfer at transferor end see MCCPObserver::CallCreated.
     * @since S60 3.2
     * @param aCall IncomingCall transfer call.
     * @param aTempCall Pointer to the held call.
@@ -89,11 +89,11 @@
                                MCCPCall& aTempCall ) = 0;
 
     /**
-	* Indicate an arrived transfer request. 
-	* Called at the transfer request receiver end, after receiving a transfer request .     
-	* For incoming transfer at transfer target end see MCCPObserver::IncomingCall with two call 
-	 objects as parameters.
-	* @since S60 3.2
+    * Indicate an arrived transfer request. 
+    * Called at the transfer request receiver end, after receiving a transfer request .     
+    * For incoming transfer at transfer target end see MCCPObserver::IncomingCall with two call 
+     objects as parameters.
+    * @since S60 3.2
     * @param aNewTransferCall The call that has been created with the new transfer target.
     * @param aOriginator Pointer to originator of the transfer request.
     * @param aAttended Transfer requested was attented (ETrue) or un-attented(EFalse)
--- a/phonesrv_plat/converged_call_provider_api/inc/mccpssobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccpssobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -42,43 +42,43 @@
     enum TCCPSsBarringEvent
         {
         /** Incoming call is barred. (DoCoMo) */
-		ECCPSsIncomingCallBarred,	
-		/** Anonymous call barring. */
-		ECCPSsAnonymousCallBarred,	
-		/** Outgoing call barring */
-		ECCPSsOutgoingCallBarred,
-		/** Barring active notification. */
-		ECCPSsActiveBarrings 	
- 		};
+        ECCPSsIncomingCallBarred,   
+        /** Anonymous call barring. */
+        ECCPSsAnonymousCallBarred,  
+        /** Outgoing call barring */
+        ECCPSsOutgoingCallBarred,
+        /** Barring active notification. */
+        ECCPSsActiveBarrings    
+        };
 
     /** CLI (Call Line Information) related event. */
     enum TCCPSsCLIEvent
         {
         /** Temporary CLIR suppression was unsuccessful */
-        ECCPSsTempClirSuppressUnsuccessful,		
+        ECCPSsTempClirSuppressUnsuccessful,     
         /** Temporary CLIR activation was unsuccessful*/
-        ECCPSsTempClirActivationUnsuccessful	
+        ECCPSsTempClirActivationUnsuccessful    
         };
 
     /** Call forward related events that are not call related to an existing call. */
     enum TCCPSsCallForwardEvent
         {
         /** Incoming call is forwarded */
-		ECCPSsIncCallIsForw, 	
-		/** Incoming call was forwarded because of user own settings. */
-        ECCPSsIncCallForwToC,	
+        ECCPSsIncCallIsForw,    
+        /** Incoming call was forwarded because of user own settings. */
+        ECCPSsIncCallForwToC,   
         /** Outgoing call was forwarded because of user own settings. */
         ECCPSsOutCallForwToC,
         /** Forward unconditional mode active */
-		ECCPSsForwardUnconditionalModeActive,  	
-		/** Forward unconditional mode deactive */
-		ECCPSsForwardUnconditionalModeNotActive,
-		/** Forward conditional mode active */
-		ECCPSsForwardConditionallyModeActive,	
-		/** Forward conditional mode deactive */
-		ECCPSsForwardConditionallyModeNotActive,
-		/** Remote call waiting. TODO rename TCCPSsCallForwardEvent to TCCPSsCallEvent*/
-		ESsCallWaiting
+        ECCPSsForwardUnconditionalModeActive,   
+        /** Forward unconditional mode deactive */
+        ECCPSsForwardUnconditionalModeNotActive,
+        /** Forward conditional mode active */
+        ECCPSsForwardConditionallyModeActive,   
+        /** Forward conditional mode deactive */
+        ECCPSsForwardConditionallyModeNotActive,
+        /** Remote call waiting. TODO rename TCCPSsCallForwardEvent to TCCPSsCallEvent*/
+        ESsCallWaiting
         };
 
 
@@ -97,26 +97,26 @@
     * @return none
     * @since S60 v3.2
     */
-	virtual void BarringEventOccurred( const MCCPSsObserver::TCCPSsBarringEvent aBarringEvent ) = 0;
-								  
+    virtual void BarringEventOccurred( const MCCPSsObserver::TCCPSsBarringEvent aBarringEvent ) = 0;
+                                  
     /**
     * Supplementary service call line identification event occurred.
     * @param aCallLineEvent Event that occurred.
     * @return none
     * @since S60 v3.2
     */
-	virtual void CLIEventOccurred( const MCCPSsObserver::TCCPSsCLIEvent aCallLineEvent ) = 0;
+    virtual void CLIEventOccurred( const MCCPSsObserver::TCCPSsCLIEvent aCallLineEvent ) = 0;
 
     /**
     * Supplementary service related call forward event occurred. 
     * @param aCallForwardEvent Event that occurred.
-	* @param aRemoteAddress Remote address.
+    * @param aRemoteAddress Remote address.
     * @return none
     * @since S60 v3.2
     */
-	virtual void CallForwardEventOccurred( 
-					const MCCPSsObserver::TCCPSsCallForwardEvent aCallForwardEvent,
-					const TDesC& aRemoteAddress ) = 0;
+    virtual void CallForwardEventOccurred( 
+                    const MCCPSsObserver::TCCPSsCallForwardEvent aCallForwardEvent,
+                    const TDesC& aRemoteAddress ) = 0;
 
     /**
     * Supplementary service related active closed user group indications.
@@ -124,16 +124,16 @@
     * @return none
     * @since S60 v3.2
     */
-	virtual void CallCugEventOccurred( const MCCPSsObserver::TCCPSsCugEvent aCugEvent ) = 0;
+    virtual void CallCugEventOccurred( const MCCPSsObserver::TCCPSsCugEvent aCugEvent ) = 0;
 
     /**
     * Notifies active ALS line. CS plugin must notify this every time line changes 
-	* and at startup.
+    * and at startup.
     * @param aLine Used ALS line.
     * @return none
     * @since S60 v3.2
     */
-	virtual void NotifyCurrentActiveALSLine( TInt aLine ) = 0;
+    virtual void NotifyCurrentActiveALSLine( TInt aLine ) = 0;
     };
 
 
--- a/phonesrv_plat/converged_call_provider_api/inc/mccptransferprovider.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/converged_call_provider_api/inc/mccptransferprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -34,7 +34,7 @@
 *  @since S60 3.2
 */
 class MCCPTransferProvider
-	{
+    {
 protected:
 
     /** 
@@ -42,80 +42,80 @@
     * @since S60 3.2
     */
     virtual inline ~MCCPTransferProvider() {};
-	
+    
 public:
 
     /**
-	* Attended transfer to given call recipient.
-	* There needs to exist two calls. a call between A-B and A-C. A wants to transfer the call to B-C. 
-	* Both calls A-B and A-C will be disconnected after transfer.
-	* In above case C will be the aTransferTargetCall call recipient. 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.
+    * Attended transfer to given call recipient.
+    * There needs to exist two calls. a call between A-B and A-C. A wants to transfer the call to B-C. 
+    * Both calls A-B and A-C will be disconnected after transfer.
+    * In above case C will be the aTransferTargetCall call recipient. 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.
     * Actual request result indication comes via observer classes
-	* @param aTransferTargetCall Call containing the transfer target info.
+    * @param aTransferTargetCall Call containing the transfer target info.
     * @return KErrNone if request was started succesfully. 
     * @return KErrNotReady if call is not in connected or on-hold state.
     * @return KErrArgument transfer traget address was illegal.
     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
-	* @since S60 3.2
-	*/
-	virtual TInt AttendedTransfer( MCCPCall& aTransferTargetCall ) = 0;
+    * @since S60 3.2
+    */
+    virtual TInt AttendedTransfer( MCCPCall& aTransferTargetCall ) = 0;
 
     /**
     * TODO is this used at all? remove? only the call param one is used?
-	* Attended transfer to given address. There does not need to be 
-	* a current call between the given transfer target.
+    * Attended transfer to given address. There does not need to be 
+    * a current call between the given transfer target.
     * Actual request result indication comes via observer class
-	* @param aTransferTarget Transfer target address
+    * @param aTransferTarget Transfer target address
     * @return KErrNone if request was started succesfully. 
     * @return KErrNotReady if call is not in connected or on-hold state.
     * @return KErrArgument transfer address was illegal.
     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
-	* @since S60 3.2
-	*/
-	virtual TInt AttendedTransfer( const TDesC& aTransferTarget ) = 0;
+    * @since S60 3.2
+    */
+    virtual TInt AttendedTransfer( const TDesC& aTransferTarget ) = 0;
 
-	/**
-	* Unattended transfer. Call is requested to be transferred to given address.
-	* After MCCPTransferObserver::ECCPRemoteTransferring event current call will be 
-	* disconnected and no transfer status is checked from the operation. 
+    /**
+    * Unattended transfer. Call is requested to be transferred to given address.
+    * After MCCPTransferObserver::ECCPRemoteTransferring event current call will be 
+    * disconnected and no transfer status is checked from the operation. 
     * Actual request result indication comes via observer classes
-	* @since S60 3.2
-	* @param aTransferTarget Address of the target
+    * @since S60 3.2
+    * @param aTransferTarget Address of the target
     * @return KErrNone if request was started succesfully. 
     * @return KErrNotReady if call is not in connected or on-hold state.
     * @return KErrArgument transfer address was illegal.
     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
-	*/
-	virtual TInt UnattendedTransfer( const TDesC& aTransferTarget ) = 0;
+    */
+    virtual TInt UnattendedTransfer( const TDesC& aTransferTarget ) = 0;
 
-	/**
-	* Accept incoming call transfer request from the call remote party.
+    /**
+    * Accept incoming call transfer request from the call remote party.
     * Actual request result indication comes via observer class
-	* @since Series 60 3.2
-	* @param aAccept ETrue - accept transfer, EFalse do not accept transfer request.
+    * @since Series 60 3.2
+    * @param aAccept ETrue - accept transfer, EFalse do not accept transfer request.
     * @return KErrNone if request was started succesfully. 
     * @return KErrNotReady if call is not in connected or on-hold state.
     * @return KErrArgument transfer address was illegal.
     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
-	* @pre MCCPObserver::CallCreated is called with the newly created call
-	*/
-	virtual TInt AcceptTransfer( const TBool aAccept ) = 0;
-	  
+    * @pre MCCPObserver::CallCreated is called with the newly created call
+    */
+    virtual TInt AcceptTransfer( const TBool aAccept ) = 0;
+      
     /**
     * When the other end of the call has requested call transfer to third party it is notified to 
     * MCCPTransferObserver::TransferEventOccurred(MCCPTransferObserver::ECCPRemoteTransferring).
     * The new recipient of the call can be fetched via this method.
-	* @since Series 60 3.2
-	* @param none
-	* @return new recipient for the call after transfer
-	* @return KNullDesC if no transfer target is available
+    * @since Series 60 3.2
+    * @param none
+    * @return new recipient for the call after transfer
+    * @return KNullDesC if no transfer target is available
     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
-	* @pre MCCPObserver::CallCreated is called with the newly created call
-	*/
-	virtual const TDesC& TransferTarget() const = 0;
-	
+    * @pre MCCPObserver::CallCreated is called with the newly created call
+    */
+    virtual const TDesC& TransferTarget() const = 0;
+    
     /**
     * Add an observer for transfer related events.
     * Currently CCE will set only one observer.
--- a/phonesrv_plat/dial_utils_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/dial_utils_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,4 +24,4 @@
 
 PRJ_EXPORTS
 
-../inc/DialUtils.h     MW_LAYER_PLATFORM_EXPORT_PATH(DialUtils.h)
+../inc/dialutils.h     MW_LAYER_PLATFORM_EXPORT_PATH(dialutils.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/dialpad_api/dialpad_api.metaxml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="b3eae6e0e74d869121a934cb8b48c101" dataversion="2.0">
+  <name>dialpad_api</name>
+  <description>Dialpad widget used by phone and dialer applications.</description>
+  <type>c++</type>
+  <collection>telutils</collection>
+  <libs>
+    <lib name="dialpad.lib"/>
+  </libs>
+  <release category="platform" sinceversion="5.2"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/dialpad_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Dialpad API (phone number editor + virtual keypad)
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../inc/dialpad.h                        MW_LAYER_PLATFORM_EXPORT_PATH(dialpad.h)
+../inc/dialpadkeyhandler.h              MW_LAYER_PLATFORM_EXPORT_PATH(dialpadkeyhandler.h)
+../inc/dialpadvtkeyhandler.h            MW_LAYER_PLATFORM_EXPORT_PATH(dialpadvtkeyhandler.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/dialpad_api/inc/dialpad.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Dialpad popup
+*
+*/
+
+#ifndef DIALPAD_H
+#define DIALPAD_H
+
+#include <hbwidget.h>
+#include <QTime>
+#include <QTimeLine>
+
+class HbLineEdit;
+class HbFrameDrawer;
+class HbMainWindow;
+class DialpadInputField;
+class DialpadKeypad;
+class DialpadMultitapHandler;
+class DialpadBackground;
+
+#ifdef BUILD_DIALPAD
+#define DIALPAD_EXPORT Q_DECL_EXPORT
+#else
+#define DIALPAD_EXPORT Q_DECL_IMPORT
+#endif
+
+class DIALPAD_EXPORT Dialpad : public HbWidget
+{
+    Q_OBJECT
+
+public:
+    explicit Dialpad(); // deprecated
+    explicit Dialpad(const HbMainWindow& mainWindow);
+    virtual ~Dialpad();
+
+    HbLineEdit& editor() const;
+
+    bool isOpen() const;
+    
+    bool isCallButtonEnabled() const;
+
+public slots:
+    void openDialpad();
+
+    void closeDialpad();
+
+    void setCallButtonEnabled(bool enabled);
+
+    void setTapOutsideDismiss(bool dismiss);
+
+protected:
+    void paint(QPainter* painter,
+               const QStyleOptionGraphicsItem* option,
+               QWidget* widget);
+
+    void changeEvent(QEvent *event);
+               
+    void showEvent(QShowEvent *event);
+
+    void hideEvent(QHideEvent *event);
+
+    void closeEvent(QCloseEvent * event);
+
+    void gestureEvent(QGestureEvent *event);
+
+protected slots:
+    void closeAnimValueChanged(qreal value);
+    void closeAnimFinished();
+    void openAnimValueChanged(qreal value);
+    void openAnimFinished();
+    void orientationChangeStarted();
+    void orientationChangeFinished(Qt::Orientation current);
+
+private:
+    void startCloseAnimation();
+    void layoutBackgroundItem();
+    void updateLayout(Qt::Orientation orientation);
+    void initialize();
+
+signals:
+    void aboutToOpen();
+    void aboutToClose();
+
+private:
+    const HbMainWindow& mMainWindow;
+    HbFrameDrawer *mBackgroundDrawer;
+    HbFrameDrawer *mIconDrawer;
+    DialpadBackground* mBackgroundItem;
+    DialpadInputField* mInputField;
+    DialpadKeypad* mKeypad;
+    DialpadMultitapHandler* mMultitap;
+    QTimeLine mOpenTimeLine;
+    QTimeLine mCloseTimeLine;
+    bool mAnimationOngoing;
+    QPointF mPosition;
+    int mCloseHandleHeight;
+    int mCloseHandleWidth;
+    int mTitleBarHeight;
+    int mOrientation;
+    bool mIsOpen;
+
+    friend class DialpadBackground;
+};
+
+#endif // DIALPAD_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,101 @@
+/*!
+* 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: Dialpad key handler.
+*
+*/
+
+#ifndef DIALPADKEYHANDLER_H
+#define DIALPADKEYHANDLER_H
+
+#include <QObject>
+
+class Dialpad;
+class DialpadVoiceMailboxEventFilter;
+class DialpadVideoMailboxEventFilter;
+class DialpadBluetoothEventFilter;
+class DialpadKeySequenceEventFilter;
+class DialpadEmergencyCallEventFilter;
+class DialpadHashEventFilter;
+class HbMainWindow;
+
+#ifdef BUILD_DIALPADKEYHANDLER
+#define DIALPADKEYHANDLER_EXPORT Q_DECL_EXPORT
+#else
+#define DIALPADKEYHANDLER_EXPORT Q_DECL_IMPORT
+#endif
+
+/*!
+    DialpadKeyHandler
+    Class provides key handling for dialpad component.
+
+    @code
+    Dialpad *dialpad = new Dialpad();
+    DialpadKeyHandler *keyhandler = new DialpadKeyHandler(dialpad, this);
+    @endcode
+*/
+class DIALPADKEYHANDLER_EXPORT DialpadKeyHandler : public QObject
+{
+    Q_OBJECT
+
+public:
+    /*! Declares possible key event filters which can be used with the 
+     * dialpad. */
+    enum DialpadKeyEventFilter
+    {
+        /*! Enables calling to voice mailbox with a long '1' key press. */
+        VoiceMailbox    = 0x0001,
+        /*! Enables calling to video mailbox with a long '2' key press. */
+        VideoMailBox    = 0x0002,
+        /*! Enables switching bluetooth on/off with a long '*' key press. */
+        Bluetooth       = 0x0004,
+        /*! Enables handling of key sequences like *#06# for showing IMEI. */
+        KeySequence     = 0x0008,
+        /*! Forced handling for emergency call. */
+        EmergencyCall   = 0x0010,
+        /*! Enables and disables silent mode with a long '#' key press. */
+        Hash    = 0x23
+    };
+    Q_DECLARE_FLAGS(DialpadKeyEventFilters, DialpadKeyEventFilter)
+    
+public:
+    /*! \deprecated DialpadKeyHandler(Dialpad*, HbMainWindow&, QObject*) is 
+     * deprecated. 
+     * Please use 
+     *     DialpadKeyHandler(
+     *         Dialpad*, 
+     *         QFlags<DialpadKeyHandler::DialpadKeyEventFilter>, 
+     *         QObject*) 
+     * instead. */
+    explicit DialpadKeyHandler(
+        Dialpad *dialPad, 
+        HbMainWindow& mainWindow, 
+        QObject *parent = 0);
+    
+    explicit DialpadKeyHandler(
+        Dialpad *dialPad, 
+        DialpadKeyHandler::DialpadKeyEventFilters filters,
+        QObject *parent = 0);
+    virtual ~DialpadKeyHandler();
+    
+private:
+    HbMainWindow& mMainWindow;
+    QScopedPointer<DialpadVoiceMailboxEventFilter> mVmbxFilter;
+    QScopedPointer<DialpadVideoMailboxEventFilter> mVideoVmbxFilter;
+    QScopedPointer<DialpadBluetoothEventFilter> mBtFilter;
+    QScopedPointer<DialpadKeySequenceEventFilter> mKeySequenceFilter;
+    QScopedPointer<DialpadEmergencyCallEventFilter> mEmergencyCallFilter;
+    QScopedPointer<DialpadHashEventFilter> mHashFilter;
+};
+
+#endif // DIALPADKEYHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/dialpad_api/inc/dialpadvtkeyhandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,57 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Dialpad key handler.
+*
+*/
+
+#ifndef DIALPADVTKEYHANDLER_H
+#define DIALPADVTKEYHANDLER_H
+
+#include <QObject>
+
+class Dialpad;
+class DialpadKeySequenceEventFilter;
+class DialpadEmergencyCallEventFilter;
+class HbMainWindow;
+
+#ifdef BUILD_DIALPADKEYHANDLER
+#define DIALPADKEYHANDLER_EXPORT Q_DECL_EXPORT
+#else
+#define DIALPADKEYHANDLER_EXPORT Q_DECL_IMPORT
+#endif
+/*!
+    DialpadVtKeyHandler
+    Class provides key handling for dialpad component.
+
+    @code
+    Dialpad *dialpad = new Dialpad();
+    DialpadVtKeyHandler *keyhandler = new DialpadVtKeyHandler(dialpad, this);
+    @endcode
+    
+*/
+class DIALPADKEYHANDLER_EXPORT DialpadVtKeyHandler : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit DialpadVtKeyHandler(Dialpad *dialPad, HbMainWindow& mainWindow, QObject *parent = 0);
+    virtual ~DialpadVtKeyHandler();
+
+private:
+    HbMainWindow& mMainWindow;
+    DialpadEmergencyCallEventFilter *mEmergencyCallFilter;
+    DialpadKeySequenceEventFilter *mKeySequenceFilter;
+};
+
+#endif // DIALPADVTKEYHANDLER_H
--- a/phonesrv_plat/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -55,4 +55,6 @@
 #include "../call_information_api/group/bld.inf"
 #include "../call_remote_party_information_api/group/bld.inf"
 #include "../telephony_mediator_api/group/bld.inf"
+#include "../dialpad_api/group/bld.inf"
+#include "../phone_settings_ui_notes_api/group/bld.inf"
 // End of file
--- a/phonesrv_plat/network_handling_engine_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/network_handling_engine_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,6 +24,6 @@
 
 PRJ_EXPORTS
 
-../inc/NetworkHandlingProxy.h     MW_LAYER_PLATFORM_EXPORT_PATH(NetworkHandlingProxy.h)
-../inc/CNWSession.h     MW_LAYER_PLATFORM_EXPORT_PATH(CNWSession.h)
-../inc/NWHandlingEngine.h     MW_LAYER_PLATFORM_EXPORT_PATH(NWHandlingEngine.h)
+../inc/networkhandlingproxy.h     MW_LAYER_PLATFORM_EXPORT_PATH(networkhandlingproxy.h)
+../inc/cnwsession.h     MW_LAYER_PLATFORM_EXPORT_PATH(cnwsession.h)
+../inc/nwhandlingengine.h     MW_LAYER_PLATFORM_EXPORT_PATH(nwhandlingengine.h)
--- a/phonesrv_plat/network_handling_engine_api/inc/CNWSession.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/network_handling_engine_api/inc/CNWSession.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CNWSESSION_H
 
 //  INCLUDES
-#include "NWHandlingEngine.h"
+#include "nwhandlingengine.h" 
 
 
 // CLASS DECLARATION
--- a/phonesrv_plat/network_handling_engine_api/inc/NWHandlingEngine.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/network_handling_engine_api/inc/NWHandlingEngine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -22,7 +22,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <rmmcustomapi.h>
+#include <rmmcustomapi.h> 
 #include <etelpckt.h> // for RPacketService::TDynamicCapsFlags
 
 
@@ -271,7 +271,7 @@
             // Fetching Programmable Operator Name
             ENWGetProgrammableOperatorName,
             // Notifying network registration status change
-            ENWNotifyNetworkRegistrationStatusChange,
+            ENWNotifyNetworkRegistrationStatusChange
             };
 
         /**
--- a/phonesrv_plat/network_handling_engine_api/inc/NetworkHandlingProxy.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/network_handling_engine_api/inc/NetworkHandlingProxy.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define NETWORKHANDLINGPROXY_H
 
 //  INCLUDES
-#include "NWHandlingEngine.h"
+#include "nwhandlingengine.h" 
 
 
 // FORWARD DECLARATIONS
--- a/phonesrv_plat/phone_client_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,5 +24,5 @@
 
 PRJ_EXPORTS
 
-../inc/PhCltTypes.h     MW_LAYER_PLATFORM_EXPORT_PATH(PhCltTypes.h)
-../inc/RPhCltServer.h     MW_LAYER_PLATFORM_EXPORT_PATH(RPhCltServer.h)
+../inc/phclttypes.h     MW_LAYER_PLATFORM_EXPORT_PATH(phclttypes.h)
+../inc/rphcltserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(rphcltserver.h)
--- a/phonesrv_plat/phone_client_api/inc/RPhCltServer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_api/inc/RPhCltServer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 //  INCLUDES
 #include <e32std.h>
-#include    <PhCltTypes.h>
+#include    <phclttypes.h> 
 
 // CONSTANTS
 // A version must be specified when creating a session with the server
--- a/phonesrv_plat/phone_client_command_handler_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_command_handler_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,4 +24,4 @@
 
 PRJ_EXPORTS
 
-../inc/CPhCltCommandHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltCommandHandler.h)
+../inc/cphcltcommandhandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltcommandhandler.h)
--- a/phonesrv_plat/phone_client_command_handler_api/inc/CPhCltCommandHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_command_handler_api/inc/CPhCltCommandHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 // FORWARD DECLARATIONS
@@ -131,8 +131,8 @@
         TPhCltComHandCommand                iCommandHandlerCommand;
 
         // Dial command parameter.
-        TPhCltTelephoneNumber 				iTelNumber;
-		
+        TPhCltTelephoneNumber               iTelNumber;
+        
         // Chld command parameter.
         TPhCltChldCommand                   iChldCommand;
         // Chld command parameter.
@@ -182,7 +182,7 @@
         *                KErrNone if successful, Symbian error code otherwise.
         * @param aTelephoneNumber The dial information.
         */
-		IMPORT_C virtual void Atd(
+        IMPORT_C virtual void Atd(
             TRequestStatus& aStatus, 
             const TPhCltTelephoneNumber& aTelephoneNumber ) = 0;
 
--- a/phonesrv_plat/phone_client_emergency_call_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_emergency_call_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,5 +24,5 @@
 
 PRJ_EXPORTS
 
-../inc/MPhCltEmergencyCallObserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPhCltEmergencyCallObserver.h)
-../inc/CPhCltEmergencyCall.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltEmergencyCall.h)
+../inc/mphcltemergencycallobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(mphcltemergencycallobserver.h)
+../inc/cphcltemergencycall.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltemergencycall.h)
--- a/phonesrv_plat/phone_client_emergency_call_api/tsrc/src/it_emergencycalltests.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_emergency_call_api/tsrc/src/it_emergencycalltests.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 #include <EUnitMacros.h>
 #include <EUnitDecorators.h>
 
-#include <CPhCltEmergencyCall.h>
+#include <cphcltemergencycall.h>
 
 #include <etelmm.h>
 #include <mmtsy_names.h>
--- a/phonesrv_plat/phone_client_emergency_call_api/tsrc/src/it_emergencycalltests.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_emergency_call_api/tsrc/src/it_emergencycalltests.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #include <CEUnitTestSuiteClass.h>
 #include <EUnitDecorators.h>
 
-#include <MPhCltEmergencyCallObserver.h>
+#include <mphcltemergencycallobserver.h>
 
 // FORWARD DECLARATIONS
 class CPhCltEmergencyCall;
--- a/phonesrv_plat/phone_client_image_handler_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_image_handler_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,6 +24,6 @@
 
 PRJ_EXPORTS
 
-../inc/CPhCltImageHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltImageHandler.h)
-../inc/CPhCltBaseImageParams.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltBaseImageParams.h)
-../inc/CPhCltImageParams.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltImageParams.h)
+../inc/cphcltimagehandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltimagehandler.h)
+../inc/cphcltbaseimageparams.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltbaseimageparams.h)
+../inc/cphcltimageparams.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltimageparams.h)
--- a/phonesrv_plat/phone_client_image_handler_api/inc/CPhCltBaseImageParams.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_image_handler_api/inc/CPhCltBaseImageParams.h	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 #ifndef CPHCLTBASEPARAMS_H
 #define CPHCLTBASEPARAMS_H
 
-#include    <CPhCltImageParams.h>
+#include    <cphcltimageparams.h> 
 #include    <e32std.h>
 #include    <e32base.h>
 
--- a/phonesrv_plat/phone_client_image_handler_api/inc/CPhCltImageHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_image_handler_api/inc/CPhCltImageHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHCLTIMAGEHANDLER_H
 
 #include <e32base.h>
-#include "CPhCltImageParams.h"
+#include "cphcltimageparams.h" 
 
 // FORWARD DECLARATIONS
 class RPhCltServer;
--- a/phonesrv_plat/phone_client_messenger_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_messenger_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,4 +24,4 @@
 
 PRJ_EXPORTS
 
-../inc/CPhCltMessenger.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltMessenger.h)
+../inc/cphcltmessenger.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltmessenger.h)
--- a/phonesrv_plat/phone_client_notify_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_notify_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 
 PRJ_EXPORTS
 
-../inc/CPhCltCallNotify.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltCallNotify.h)
+../inc/cphcltcallnotify.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltcallnotify.h)
 ../inc/cphcltdialdata.h       MW_LAYER_PLATFORM_EXPORT_PATH(cphcltdialdata.h)
 ../inc/mphcltdialrequestobserver.h       MW_LAYER_PLATFORM_EXPORT_PATH(mphcltdialrequestobserver.h)
 ../inc/mphcltdialemergencyrequestobserver.h       MW_LAYER_PLATFORM_EXPORT_PATH(mphcltdialemergencyrequestobserver.h)
--- a/phonesrv_plat/phone_client_notify_api/inc/CPhCltCallNotify.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_notify_api/inc/CPhCltCallNotify.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 //  FORWARD DECLARATIONS
@@ -78,7 +78,7 @@
         * @param aObserver dial request observer
         */
         IMPORT_C void NotifyDialRequest( 
-			MPhCltDialRequestObserver* aObserver );
+            MPhCltDialRequestObserver* aObserver );
 
         /**
         * Cancel pending call attempt notification.
@@ -104,14 +104,14 @@
         /**
         * Cancel pending emergency call attempt notification.
         */
-		IMPORT_C void CancelNotifyEmergencyCall() const;
+        IMPORT_C void CancelNotifyEmergencyCall() const;
 
         /**
         * Respond to client request to make emergency call
         *
         * @param aResultCode Result of the response.
         */
-		IMPORT_C TInt RespondEmergencyToClient( const TInt aResultCode );
+        IMPORT_C TInt RespondEmergencyToClient( const TInt aResultCode );
         
         /**
         * Notifies when a Command handler request arrives.
--- a/phonesrv_plat/phone_client_notify_api/inc/cphcltdialdata.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_notify_api/inc/cphcltdialdata.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32base.h>
 #include <s32mem.h>
 #include <bldvariant.hrh>
-#include <PhCltTypes.h>
+#include <phclttypes.h> 
 
 
 // Constant used as window group id to indicate that we wish to go to idle.
@@ -34,7 +34,7 @@
 const TInt KPhCltRedialDefault = -1;          // Default redial.
 const TInt KPhCltRedialOff = -2;              // Redial is off.
 const TInt KPhCltRedialWithDefaultTime = -3;  // Redial on, with default time.
-const TInt KPhCltRedial = 0;	// Forced redial.
+const TInt KPhCltRedial = 0;    // Forced redial.
 
 
 // CONSTANTS
@@ -143,7 +143,7 @@
         * End other calls param.
         * @since Series 60 3.2
         * @return Returns ETrue if other calls will be terminated.
-        *				  EFalse if calls are not terminated.
+        *                 EFalse if calls are not terminated.
         */
         virtual TBool EndOtherCalls() const = 0;
         
@@ -227,9 +227,9 @@
          */
         virtual const TDesC& UUI() const = 0;
         
-	public: // Access - Setters
-	
-		/**
+    public: // Access - Setters
+    
+        /**
         * Set whether the name entered in SetName should be matched
         * against the personal directory.
         * @since Series 60 3.2
@@ -239,8 +239,8 @@
         * @param aAllowMatch Whether to allow matches.
         */
         virtual void SetAllowMatch( TBool aAllowMatch ) = 0;
-	
-		/**
+    
+        /**
         * Set the bearer capability.
         * @since Series 60 3.2
         * @param aBearer The bearer capabilities as defined in GSM 04.08.
@@ -379,9 +379,9 @@
                       
     // Constructors
     
-	 protected: 
-	 
-  		/**
+     protected: 
+     
+        /**
         * C++ default constructor.
         * @since Series 60 3.2
         */
@@ -419,7 +419,7 @@
         
         
         //The contact Link storage.
-        HBufC8* 				  iContactLink;
+        HBufC8*                   iContactLink;
         
         // The calling party subaddress.
         TPhCltSubAddress          iSubAddress;
@@ -447,10 +447,10 @@
 
         
         //Intialization call 
-        TBool 					  iInitCall;
+        TBool                     iInitCall;
        
         // Flags value
-        TUint 					  iFlags;
+        TUint                     iFlags;
 
         // service id
         TUint32                   iServiceId;
--- a/phonesrv_plat/phone_client_server_information_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_server_information_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,5 +24,5 @@
 
 PRJ_EXPORTS
 
-../inc/PhoneClientServerDomainPStypes.h     MW_LAYER_PLATFORM_EXPORT_PATH(PhoneClientServerDomainPStypes.h)
-../inc/PhoneClientServerDomainPSkeys.h     MW_LAYER_PLATFORM_EXPORT_PATH(PhoneClientServerDomainPSkeys.h)
+../inc/phoneclientserverdomainpstypes.h     MW_LAYER_PLATFORM_EXPORT_PATH(phoneclientserverdomainpstypes.h)
+../inc/phoneclientserverdomainpskeys.h     MW_LAYER_PLATFORM_EXPORT_PATH(phoneclientserverdomainpskeys.h)
--- a/phonesrv_plat/phone_client_server_information_api/inc/PhoneClientServerDomainPSkeys.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_server_information_api/inc/PhoneClientServerDomainPSkeys.h	Tue Aug 31 15:45:17 2010 +0300
@@ -30,7 +30,7 @@
 
 /**
 * Indication about operator logo change. 
-* @see TTelOTALogoUpdate in PhoneClientServerDomainPStypes.h
+* @see TTelOTALogoUpdate in phoneclientserverdomainpstypes.h
 * @type RProperty::EByteArray
 */
 
--- a/phonesrv_plat/phone_client_ussd_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_ussd_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,4 +24,4 @@
 
 PRJ_EXPORTS
 
-../inc/CPhCltUssd.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltUssd.h)
+../inc/cphcltussd.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltussd.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_client_ussd_api/tsrc/mt_ussd.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,161 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Mt_Ussd class
+*
+*/
+
+#include <cphcltussd.h>
+#include "mt_ussd.h"
+
+/*------------------------------------------------------------------------------
+This module testing project links to phoneclient.dll.
+------------------------------------------------------------------------------*/
+
+// -----------------------------------------------------------------------------
+// Mt_Ussd::Mt_Ussd
+// Default constructor, remember to null new members here.
+// -----------------------------------------------------------------------------
+//
+Mt_Ussd::Mt_Ussd():mUssd(NULL)
+{
+    qDebug("Mt_Ussd in-out");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_Ussd::~Mt_Ussd
+// -----------------------------------------------------------------------------
+Mt_Ussd::~Mt_Ussd()
+{
+    qDebug("~Mt_Ussd in-out");
+}
+
+
+// -----------------------------------------------------------------------------
+// Mt_Ussd::initTestCase
+// QTestLib initialization method, called for each test case.
+// -----------------------------------------------------------------------------
+void Mt_Ussd::initTestCase()
+{
+    qDebug("initTestCase in");
+    mUssd = CPhCltUssd::NewL( EFalse );
+    qDebug("initTestCase out");
+}
+
+
+// -----------------------------------------------------------------------------
+// Mt_Ussd::cleanupTestCase
+// QTestLib cleanup method, called for each test case.
+// -----------------------------------------------------------------------------
+void Mt_Ussd::cleanupTestCase()
+{
+    qDebug("cleanupTestCase in");
+    delete mUssd;
+    qDebug("cleanupTestCase out");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_Ussd::testSendUssd
+// -----------------------------------------------------------------------------
+void Mt_Ussd::testSendUssdUnicode()
+{
+    qDebug("testSendUssdUnicode in");
+    
+    mUssd->SetDCS( KPhCltDcsUnknown );
+    
+    _LIT( KUnicodeUSSD, "Ussd msg");
+    TInt ret = mUssd->SendUssd( KUnicodeUSSD );
+    qDebug("ussd str=%S, ret=%d", KUnicodeUSSD, ret);
+    
+    QVERIFY2(KErrNone == ret , "testSendUssdUnicode failed ");
+    qDebug("testSendUssdUnicode out");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_Ussd::testSendUssd
+// -----------------------------------------------------------------------------
+void Mt_Ussd::testSendUssd()
+{
+    qDebug("testSendUssd in");
+    
+    mUssd->SetDCS( KPhCltDcsUnknown );
+    _LIT8( KMsg, "*#123#" );
+    TInt ret = mUssd->SendUssd( KMsg );
+    qDebug("ussd str=%S, ret=%d", KMsg, ret);
+    
+    QVERIFY2(KErrNone == ret , "testSendUssd failed ");
+    qDebug("testSendUssd out");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_Ussd::testSendUssd
+// -----------------------------------------------------------------------------
+void Mt_Ussd::testSendUssdWithDCS()
+{
+    qDebug("testSendUssdWithDCS in");
+    
+    _LIT8( KMsg, "*#123#" );
+    TInt ret = mUssd->SendUssd( KMsg, KPhCltDcsUnknown );
+    qDebug("ussd str=%S, ret=%d", KMsg, ret);
+    
+    QVERIFY2(KErrNone == ret , "testSendUssdWithDCS failed ");
+    qDebug("testSendUssdWithDCS out");
+}
+
+void Mt_Ussd::testSendUssdBtn()
+{
+    qDebug("testSendUssdBtn in");
+    
+    _LIT8( KMsg, "*100#" );
+    TInt ret = mUssd->SendUssd( KMsg, KPhCltDcsUnknown );
+    qDebug("ussd str=%S, ret=%d", KMsg, ret);
+    
+    QVERIFY2(KErrNone == ret , "testSendUssdBtn failed ");
+    qDebug("testSendUssdBtn out");
+}
+
+void Mt_Ussd::testSendUssdCmcc()
+{
+    qDebug("testSendUssdCmcc in");
+    
+    _LIT8( KMsg, "*188#" );
+    TInt ret = mUssd->SendUssd( KMsg, KPhCltDcsUnknown );
+    qDebug("ussd str=%S, ret=%d", KMsg, ret);
+    
+    QVERIFY2(KErrNone == ret , "testSendUssdCmcc failed ");
+    qDebug("testSendUssdCmcc out");
+}
+
+// -----------------------------------------------------------------------------
+// main()
+// Main method implemented for directing test output to a file.
+// -----------------------------------------------------------------------------
+int main(int argc, char *argv[])
+    {
+    qDebug("main() in");
+    QApplication app(argc, argv);
+
+    qDebug("Start testing...");
+    Mt_Ussd tc; 
+    char *pass[3];
+    pass[0] = argv[0];
+    pass[1] = "-o"; 
+    pass[2] = "c:\\logs\\ussd\\mt_ussdclient.txt";
+    const int result = QTest::qExec(&tc, 3, pass);
+    qDebug("End testing...");
+    
+    qDebug("main() out, result=%d", result);
+    return result;
+    } 
+
+//End file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_client_ussd_api/tsrc/mt_ussd.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 Mt_Ussd class
+*
+*/
+
+
+#ifndef _MT_USSD_H
+#define _MT_USSD_H
+
+#include <QtTest/QtTest>
+#include <QString>
+#include <QStringList>
+#include <QSignalSpy>
+#include <QMetaType>
+#include <QObject>
+
+
+// Class forwards
+class CPhCltUssd;
+
+/**
+ *  Mt_Ussd module test class.
+ * 
+ *  Tests Mt_Ussd interface.
+ *  See cpp file for more information. 
+ *
+ *  @lib phoneclient.lib
+ *  @since S60 <TB10.1>
+ */
+class Mt_Ussd : public QObject
+{
+    Q_OBJECT
+
+public:
+    Mt_Ussd();
+
+    virtual ~Mt_Ussd();
+
+private slots: 
+
+     /**
+     * Called before the first testfunction is executed.
+     */
+    void initTestCase();
+
+     /**
+     * Called after the last testfunction has been executed.
+     */
+    void cleanupTestCase();
+
+    /**
+	* Test SendUssd with Unicode string
+	*/
+    void testSendUssdUnicode();
+    
+	/**
+	* Test sendUssd
+	*/    
+    void testSendUssd();
+    
+	/**
+	* Test sendUssd with given DCS
+	*/    
+    void testSendUssdWithDCS();
+    
+	/**
+	* Test sendUssd by BTN string
+	*/    
+    void testSendUssdBtn();
+
+	/**
+	* Test sendUssd by CMCC string
+	*/    
+    void testSendUssdCmcc();    
+    
+	
+private:  //data
+
+    CPhCltUssd* mUssd;
+};
+
+#endif // _MT_VMBXENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_client_ussd_api/tsrc/mt_ussd.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+
+symbian: { 
+    TARGET.CAPABILITY = CAP_GENERAL_DLL 
+}
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+                   /epoc32/include/mw/QtTest \
+                  ../inc
+
+    LIBS += -lphoneclient.dll
+}
+
+# Input
+HEADERS += mt_ussd.h
+SOURCES += mt_ussd.cpp
--- a/phonesrv_plat/phone_client_ussd_internal_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_ussd_internal_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,5 +24,5 @@
 
 PRJ_EXPORTS
 
-../inc/CPhCltUssdSatClient.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltUssdSatClient.h)
-../inc/CPhCltUssdInt.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhCltUssdInt.h)
+../inc/cphcltussdsatclient.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltussdsatclient.h)
+../inc/cphcltussdint.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphcltussdint.h)
--- a/phonesrv_plat/phone_client_ussd_internal_api/inc/CPhCltUssdInt.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_ussd_internal_api/inc/CPhCltUssdInt.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <CPhCltUssd.h>
+#include <cphcltussd.h> 
 
 // FORWARD DECLARATIONS
 // CLASS DECLARATION
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_client_ussd_internal_api/tsrc/mt_ussdinternal.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+
+symbian: { 
+    TARGET.CAPABILITY = CAP_GENERAL_DLL 
+}
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+                   /epoc32/include/mw/QtTest \
+                  ../inc
+
+    LIBS += -lphoneclient.dll
+}
+
+# Input
+HEADERS += mt_ussdsat.h
+SOURCES += mt_ussdsat.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_client_ussd_internal_api/tsrc/mt_ussdsat.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Mt_UssdSat class
+*
+*/
+
+#include <cphcltussdsatclient.h>
+#include <etelsat.h>
+#include "mt_ussdsat.h"
+
+/*------------------------------------------------------------------------------
+This module testing project links to phoneclient.dll.
+------------------------------------------------------------------------------*/
+
+// -----------------------------------------------------------------------------
+// Mt_UssdSat::Mt_UssdSat
+// Default constructor, remember to null new members here.
+// -----------------------------------------------------------------------------
+//
+Mt_UssdSat::Mt_UssdSat():mUssdSat(NULL)
+{
+    qDebug("Mt_UssdSat in-out");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_UssdSat::~Mt_UssdSat
+// -----------------------------------------------------------------------------
+Mt_UssdSat::~Mt_UssdSat()
+{
+    qDebug("~Mt_UssdSat in-out");
+}
+
+
+// -----------------------------------------------------------------------------
+// Mt_UssdSat::initTestCase
+// QTestLib initialization method, called for each test case.
+// -----------------------------------------------------------------------------
+void Mt_UssdSat::initTestCase()
+{
+    qDebug("initTestCase in");
+    mUssdSat = CPhCltUssdSatClient::NewL( EFalse );
+    qDebug("initTestCase out");
+}
+
+
+// -----------------------------------------------------------------------------
+// Mt_UssdSat::cleanupTestCase
+// QTestLib cleanup method, called for each test case.
+// -----------------------------------------------------------------------------
+void Mt_UssdSat::cleanupTestCase()
+{
+    qDebug("cleanupTestCase in");
+    delete mUssdSat;
+    qDebug("cleanupTestCase out");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_UssdSat::testSendSatMessage
+// -----------------------------------------------------------------------------
+void Mt_UssdSat::testSendSatMessage()
+{
+    qDebug("testSendSatMessage in");
+    
+    _LIT( KUssdSat, "*100#"); // valid for BTN
+   
+    TBuf<RSat::KStringMaxSize> receiveMessage;
+    TBool sendCompletedFirst( EFalse );
+    TUint8 receiveDcs = 0;
+    
+    TInt ret = mUssdSat->SendSatMessage(
+        KUssdSat,
+        CPhCltUssdSatClient::EPhCltDcsUnknown,
+        receiveMessage,
+        sendCompletedFirst,
+        receiveDcs );
+        
+    qDebug("receive error=%d", ret);
+    qDebug("receive receive msg=%s", &receiveMessage);
+    qDebug("receive isCompleteFirst=%d", &sendCompletedFirst);
+    qDebug("receive receive Dcs=%d", &receiveDcs);
+    
+    QVERIFY2(KErrNone == ret , "testSendSatMessage failed ");
+    qDebug("testSendSatMessage out");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_UssdSat::testSendSatMessageCancel
+// -----------------------------------------------------------------------------
+void Mt_UssdSat::testSendSatMessageCancel()
+{
+    qDebug("testSendSatMessageCancel in");
+    
+    mUssdSat->SendSatMessageCancel();
+    
+    qDebug("testSendSatMessageCancel out");
+}
+
+// -----------------------------------------------------------------------------
+// main()
+// Main method implemented for directing test output to a file.
+// -----------------------------------------------------------------------------
+int main(int argc, char *argv[])
+    {
+    qDebug("main() in");
+    QApplication app(argc, argv);
+
+    qDebug("Start testing...");
+    Mt_UssdSat tc; 
+    char *pass[3];
+    pass[0] = argv[0];
+    pass[1] = "-o"; 
+    pass[2] = "c:\\logs\\mt_ussdsat.txt";
+    const int result = QTest::qExec(&tc, 3, pass);
+    qDebug("End testing...");
+    
+    qDebug("main() out, result=%d", result);
+    return result;
+    } 
+
+//End file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_client_ussd_internal_api/tsrc/mt_ussdsat.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Mt_UssdSat class
+*
+*/
+
+
+#ifndef _MT_USSDSAT_H
+#define _MT_USSDSAT_H
+
+#include <QtTest/QtTest>
+#include <QString>
+#include <QStringList>
+#include <QSignalSpy>
+#include <QMetaType>
+#include <QObject>
+
+
+// Class forwards
+class CPhCltUssdSatClient;
+
+/**
+ *  Mt_UssdSat module test class.
+ * 
+ *  Tests Mt_UssdSat interface.
+ *  See cpp file for more information. 
+ *
+ *  @lib phoneclient.lib
+ *  @since S60 <TB10.1>
+ */
+class Mt_UssdSat : public QObject
+{
+    Q_OBJECT
+
+public:
+    Mt_UssdSat();
+
+    virtual ~Mt_UssdSat();
+
+private slots: 
+
+     /**
+     * Called before the first testfunction is executed.
+     */
+    void initTestCase();
+
+     /**
+     * Called after the last testfunction has been executed.
+     */
+    void cleanupTestCase();
+
+    /**
+	* Test send sat message
+	*/
+    void testSendSatMessage();
+    
+	/**
+	* Test cancel send sat message
+	*/    
+    void testSendSatMessageCancel();
+    
+private:  //data
+
+    CPhCltUssdSatClient* mUssdSat;
+};
+
+#endif // _MT_USSDSAT_H
--- a/phonesrv_plat/phone_client_utility_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_client_utility_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,4 +24,4 @@
 
 PRJ_EXPORTS
 
-../inc/PhCltUtils.h     MW_LAYER_PLATFORM_EXPORT_PATH(PhCltUtils.h)
+../inc/phcltutils.h     MW_LAYER_PLATFORM_EXPORT_PATH(phcltutils.h)
--- a/phonesrv_plat/phone_settings_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  File that exports the files belonging to 
-:                Phone Settings API
+:                phone settings api
 *
 */
 
@@ -24,20 +24,27 @@
 
 PRJ_EXPORTS
 
-../inc/PSetConstants.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsetConstants.h)
-../inc/PsetCallWaiting.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsetCallWaiting.h)
-../inc/MPsetNetworkMode.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetNetworkMode.h)
-../inc/MPsetCallWaiting.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetCallWaiting.h)
-../inc/MPsetCli.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetCli.h)
-../inc/PsetCSP.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsetCSP.h)
-../inc/PsetNetwork.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsetNetwork.h)
-../inc/MPsetCallDiverting.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetCallDiverting.h)
-../inc/PSetRefreshHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(PSetRefreshHandler.h)
+../inc/psetconstants.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetconstants.h)
+../inc/psetcallwaiting.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetcallwaiting.h)
+../inc/mpsetnetworkmode.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetnetworkmode.h)
+../inc/mpsetcallwaiting.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetcallwaiting.h)
+../inc/mpsetcli.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetcli.h)
+../inc/psetcsp.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetcsp.h)
+../inc/psetnetwork.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetnetwork.h)
+../inc/mpsetcalldiverting.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetcalldiverting.h)
+../inc/psetrefreshhandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetrefreshhandler.h)
 ../inc/nwdefs.h     MW_LAYER_PLATFORM_EXPORT_PATH(nwdefs.h)
-../inc/PsetContainer.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsetContainer.h)
-../inc/PsetCallDiverting.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsetCallDiverting.h)
-../inc/MPsetNetworkSelect.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetNetworkSelect.h)
-../inc/PsetCallBarring.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsetCallBarring.h)
-../inc/PsetSAObserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsetSAObserver.h)
-../inc/MPsetCallBarring.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetCallBarring.h)
-../inc/PsetCli.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsetCli.h)
+../inc/psetcontainer.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetcontainer.h)
+../inc/psetcalldiverting.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetcalldiverting.h)
+../inc/mpsetnetworkselect.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetnetworkselect.h)
+../inc/psetcallbarring.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetcallbarring.h)
+../inc/psetsaobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetsaobserver.h)
+../inc/mpsetcallbarring.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetcallbarring.h)
+../inc/psetcli.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetcli.h)
+../inc/psetcallbarringwrapper.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetcallbarringwrapper.h)
+../inc/psetcalldivertingwrapper.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetcalldivertingwrapper.h)
+../inc/psetcallwaitingwrapper.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetcallwaitingwrapper.h)
+../inc/psetcliwrapper.h   MW_LAYER_PLATFORM_EXPORT_PATH(psetcliwrapper.h)
+../inc/psetnetworkwrapper.h     MW_LAYER_PLATFORM_EXPORT_PATH(psetnetworkwrapper.h)
+../inc/psetwrapper.h    MW_LAYER_PLATFORM_EXPORT_PATH(psetwrapper.h)
+../inc/psetwrappertypes.h   MW_LAYER_PLATFORM_EXPORT_PATH(psetwrappertypes.h)
--- a/phonesrv_plat/phone_settings_api/inc/MPsetNetworkSelect.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/MPsetNetworkSelect.h	Tue Aug 31 15:45:17 2010 +0300
@@ -80,7 +80,8 @@
         enum TNetworkAccess
             {
             ENetNetworkGSM,
-            ENetNetworkWCDMA
+            ENetNetworkWCDMA,
+            ENetNetworkGSMandWCDMA
             };
 
         //Information about network
--- a/phonesrv_plat/phone_settings_api/inc/PSetRefreshHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/PSetRefreshHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 
 //  INCLUDES
-#include <MSSSettingsRefreshObserver.h>
-#include <msatrefreshobserver.h>
+#include <msssettingsrefreshobserver.h> 
+#include <msatrefreshobserver.h> 
 
 
 // DATA TYPES
@@ -55,25 +55,25 @@
     public: // New functions
 
         /**
-		* Start the waiting for refresh events.
+        * Start the waiting for refresh events.
         * 
         * @param aObserver The observer to handle refresh events.
         * @param aObservedFile The file change to be observed.
         * @param aObservedRefreshType The refresh type(s) to be observed.
-		*/
-		virtual void NotifyFileChangeL(
+        */
+        virtual void NotifyFileChangeL(
             MSSSettingsRefreshObserver& aObserver,
             TSatElementaryFiles aObservedFile,
             TSatRefreshType aObservedRefreshType ) = 0;
 
-		/**
-		* Cancel the notification started in NotifyFileChangeL.
+        /**
+        * Cancel the notification started in NotifyFileChangeL.
         * 
         * @param aObserver The observer whose notify to be canceled.
         * @param aObservedFile The file change to be canceled.
         * @param aObservedRefreshType The refresh type to be canceled.
-		*/
-		virtual void CancelNotify() = 0;
+        */
+        virtual void CancelNotify() = 0;
 
         /**
         * Get the changed CSP information after Refresh.
--- a/phonesrv_plat/phone_settings_api/inc/PsetCSP.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/PsetCSP.h	Tue Aug 31 15:45:17 2010 +0300
@@ -26,7 +26,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <RCustomerServiceProfileCache.h>
+#include <rcustomerserviceprofilecache.h> 
 
 // CLASS DECLARATION
 /**
--- a/phonesrv_plat/phone_settings_api/inc/PsetCallBarring.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/PsetCallBarring.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,9 +21,9 @@
 #define     PSETCALLBARRING_H
 
 // INCLUDES
-#include "MPsetBarringObs.h"    
-#include "MPsetCallBarring.h"   
-#include "MSSSettingsObserver.h"
+#include "mpsetbarringobs.h" 
+#include "mpsetcallbarring.h" 
+#include "msssettingsobserver.h" 
 #include "nwdefs.h"             
 #include <mmretrieve.h>
 #include <etelmm.h>
@@ -39,8 +39,8 @@
 *  @since 1.0
 */
 class CPsetCallBarring : public CActive,
-						 public MPsetCallBarring,
-						 public MSSSettingsObserver
+                         public MPsetCallBarring,
+                         public MSSSettingsObserver
     {
     public:
 
@@ -143,7 +143,7 @@
 
     private:
     
-    	void ValidateBsc( TBasicServiceGroups& aBsc );
+        void ValidateBsc( TBasicServiceGroups& aBsc );
 
         void SetObserver( MPsetBarringObserver& aObserver );
 
--- a/phonesrv_plat/phone_settings_api/inc/PsetCallDiverting.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/PsetCallDiverting.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,8 +23,8 @@
 //  INCLUDES           
 #include <mmretrieve.h>
 #include "nwdefs.h"             
-#include "PsetConstants.h"
-#include "MPsetCallDiverting.h"
+#include "psetconstants.h" 
+#include "mpsetcalldiverting.h" 
 
 //  FORWARD DECLARATIONS
 class CDesC16ArrayFlat;
@@ -39,10 +39,10 @@
 
 enum TSelectedLine
     {
-    EPrimaryLine,		// ALS is supported by ME & SIM and Line 1 (Primary Line) is the current line
-    EAuxiliaryLine,		// ALS is supported by ME & SIM and Line 2 (Auxiliary Line) is the current line
-    EUnknownLine,		// ALS is supported by ME & SIM but TSY can not determine line selection
-    ENotSupportedLine	// ALS is not supported either by ME or SIM or both.
+    EPrimaryLine,       // ALS is supported by ME & SIM and Line 1 (Primary Line) is the current line
+    EAuxiliaryLine,     // ALS is supported by ME & SIM and Line 2 (Auxiliary Line) is the current line
+    EUnknownLine,       // ALS is supported by ME & SIM but TSY can not determine line selection
+    ENotSupportedLine   // ALS is not supported either by ME or SIM or both.
     };
 
 //  CLASS DECLARATION  
--- a/phonesrv_plat/phone_settings_api/inc/PsetCallWaiting.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/PsetCallWaiting.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,11 +23,11 @@
 // INCLUDES
 #include <etelmm.h>
 #include <mmretrieve.h>
-#include "MSSSettingsObserver.h"
+#include "msssettingsobserver.h" 
 #include "nwdefs.h"
-#include "MPsetCallWaiting.h"    
-#include "MPsetCallWaitingObs.h" 
-#include "PsetConstants.h" 
+#include "mpsetcallwaiting.h" 
+#include "mpsetcallwaitingobs.h" 
+#include "psetconstants.h" 
  
 
 // FORWARD DECLARATIONS
@@ -133,7 +133,7 @@
 
     private:    // constructors
     
-    	void ConstructL( MPsetCallWaitingObserver& aObserver );
+        void ConstructL( MPsetCallWaitingObserver& aObserver );
         
         /*****************************************************
         *    Series 60 Customer / ETel
--- a/phonesrv_plat/phone_settings_api/inc/PsetCli.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/PsetCli.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,8 +23,8 @@
 
 // INCLUDES
 #include <etelmm.h>
-#include "MPsetCliObserver.h"
-#include "MPsetCli.h"        
+#include "mpsetcliobserver.h" 
+#include "mpsetcli.h" 
 
 
 // FORWARD DECLARATIONS
--- a/phonesrv_plat/phone_settings_api/inc/PsetContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/PsetContainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,12 +23,12 @@
 #define     PSETCONTAINER_H
 
 //  INCLUDES
-#include <PsetCallWaiting.h>
-#include <PsetCallDiverting.h>
-#include <PsetCallBarring.h>
-#include <PsetCli.h>
-#include <PsetNetwork.h>
-#include <PSetRefreshHandler.h>
+#include <psetcallwaiting.h> 
+#include <psetcalldiverting.h> 
+#include <psetcallbarring.h> 
+#include <psetcli.h> 
+#include <psetnetwork.h> 
+#include <psetrefreshhandler.h> 
 
 
 // FORWARD DECLARATIONS
--- a/phonesrv_plat/phone_settings_api/inc/PsetNetwork.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/PsetNetwork.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,15 +21,14 @@
 #define     PSETNETWORK_H
 
 //  INCLUDES
-#include "MPsetNetworkSelect.h"
-#include "MPsetNetworkInfoObs.h"
-#include "MPsetNetworkModeObs.h"
-#include "MPsetNetworkMode.h"
+#include "mpsetnetworkselect.h" 
+#include "mpsetnetworkinfoobs.h" 
+#include "mpsetnetworkmodeobs.h" 
+#include "mpsetnetworkmode.h" 
 #include <etelmm.h>
-#include <rmmcustomapi.h>
+#include <rmmcustomapi.h> 
 
 // FORWARD DECLARATIONS
-class CNetworkResetHandler;
 class CPsetSAObserver;
 class CRetrieveMobilePhoneDetectedNetworks;
 class RMmCustomAPI;
@@ -38,6 +37,7 @@
 /**
 *  CPsetNetwork class is used to handle network change requests.
 *  @lib phonesettings.lib
+*  @since 1.0
 */
 class   CPsetNetwork :  public CActive, 
                         public MPsetNetworkSelect,
@@ -52,6 +52,10 @@
         * @param aObserver Reference to network observer.
         * @return Returns the CPsetNetwork-object
         */
+        /*****************************************************
+        *    Series 60 Customer / ETel
+        *    Series 60  ETel API
+        *****************************************************/
         IMPORT_C static CPsetNetwork* NewL( RMobilePhone& aPhone, 
             MPsetNetworkInfoObserver& aObserver );
 
@@ -62,6 +66,10 @@
         * @param aObserver Reference to network observer.
         * @return Returns the CPsetNetwork-object
         */
+        /*****************************************************
+        *    Series 60 Customer / ETel
+        *    Series 60  ETel API
+        *****************************************************/
         IMPORT_C static CPsetNetwork* NewL( RMobilePhone& aPhone, 
             MPsetNetworkModeObserver& aObserver );
 
@@ -158,6 +166,10 @@
         // this is required for the net container to create a pointer
         void ConstructL( MPsetNetworkModeObserver& aObserver );
 
+        /*****************************************************
+        *    Series 60 Customer / ETel
+        *    Series 60  ETel API
+        *****************************************************/
         CPsetNetwork( RMobilePhone& aPhone );        
 
     private: //new
@@ -176,38 +188,52 @@
 
     private:
         //Latest network settings information
-        TNetworkInfo iTempNetInfo;
-        
+        TNetworkInfo iTempNetInfo;        
         //Provides client access to mobile phone functionality provided by TSY.
+        /*****************************************************
+        *    Series 60 Customer / ETel
+        *    Series 60  ETel API
+        *****************************************************/
         RMobilePhone& iPhone;
-		
         //Currently active request.
         MPsetNetworkInfoObserver::TServiceRequest iServiceRequest;
-		
         //Observer
         CPsetSAObserver* iSAObserver;
-		
         //Network information observer
-        MPsetNetworkInfoObserver* iObserver; 
-		
+        MPsetNetworkInfoObserver* iObserver;       
         //Fetched network information (names, IDs)
+        /*****************************************************
+        *    Series 60 Customer / ETel
+        *    Series 60  ETel API
+        *****************************************************/
         CRetrieveMobilePhoneDetectedNetworks* iNetworkRetrieve;
-		
         //Current registartion status
+        /*****************************************************
+        *    Series 60 Customer / ETel
+        *    Series 60  ETel API
+        *****************************************************/
         RMobilePhone::TMobilePhoneRegistrationStatus iRegStatus;
-		
+
+        /*****************************************************
+        *    Series 60 Customer / ETel
+        *    Series 60  ETel API
+        *****************************************************/
         //Selected network information
         RMobilePhone::TMobilePhoneNetworkManualSelection iNwInfo;
-		
+
         //
         // Network Mode related variables
         //
         //Network mode observer
         MPsetNetworkModeObserver* iNetworkModeObserver;
-		
+
+        /*****************************************************
+        *    Series 60 Customer / ETel
+        *    Series 60  ETel API
+        *****************************************************/
         // Custom phone.
         RMmCustomAPI iCustomPhone;
-     
+        
         //Currently active request.
         MPsetNetworkModeObserver::TServiceRequest iModeRequest;
 
@@ -216,10 +242,6 @@
 
         //Currently active observer, for assert handling
         TInt iActiveObserver;
-		
-        //Active object observer for reseting network search handling
-        CNetworkResetHandler* iResetNetworkSearch;
     };
-
 #endif // PSETNETWORK_H
 // end of file
--- a/phonesrv_plat/phone_settings_api/inc/PsetSAObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/PsetSAObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,8 +22,8 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <e32property.h>
-#include <PsetCallDiverting.h>
+#include <e32property.h> 
+#include <psetcalldiverting.h>
 #include <PSVariables.h>
 #include <ctsydomaincrkeys.h>
 
--- a/phonesrv_plat/phone_settings_api/inc/nwdefs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_api/inc/nwdefs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 //  INCLUDES
 #include <e32std.h>
-#include "PsetConstants.h"
+#include "psetconstants.h" 
 
 //  DATA TYPES  
 //basic service groups
@@ -162,13 +162,13 @@
 
 //call forwarding cenrep key statuses.
 enum TCallForwardingStatus
-	{
-	EForwardingUnknown      = 0x0,
-	EForwardingActiveVoice  = 0x01,
-	EForwardingActiveFax    = 0x02,
-	EForwardingActiveData   = 0x04
-	};
-		
+    {
+    EForwardingUnknown      = 0x0,
+    EForwardingActiveVoice  = 0x01,
+    EForwardingActiveFax    = 0x02,
+    EForwardingActiveData   = 0x04
+    };
+        
 //  CLASS DEFINITIONS 
 // Supplemental class to contain all call barring settings.
 class   TCallBarringSetting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_api/inc/psetcallbarringwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+ *
+ */
+
+#ifndef PSETCALLBARRINGGWRAPPER_H
+#define PSETCALLBARRINGGWRAPPER_H
+
+#include <QObject>
+#include <psetwrappertypes.h>
+
+// Forward declarations 
+class CPsetContainer;
+class PSetCallBarringWrapperPrivate;
+
+#ifdef BUILD_PSETWRAPPER
+#define PSETWRAPPER_EXPORT Q_DECL_EXPORT
+#else
+#define PSETWRAPPER_EXPORT Q_DECL_IMPORT
+#endif
+
+class PSETWRAPPER_EXPORT PSetCallBarringWrapper : public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    /** barring types */
+    enum BarringType
+        {
+        BarringTypeAllBarrings                              = 0x0001,
+        BarringTypeAllOutgoing                              = 0x0002,
+        BarringTypeOutgoingInternational                    = 0x0004,
+        BarringTypeOutgoingInternationalExceptToHomeCountry = 0x0008,
+        BarringTypeAllIncoming                              = 0x0010,
+        BarringTypeIncomingWhenRoaming                      = 0x0020,
+        BarringTypeAllServices,
+        BarringTypeAllOutgoingServices,
+        BarringTypeAllIncomingServices
+        };
+    
+    /** barring status */
+    enum BarringStatus
+        {
+        BarringStatusUnknown,
+        BarringStatusActive,
+        BarringStatusInactive,
+        BarringStatusNotProvisioned,
+        BarringStatusUnavailable
+        };
+    
+    /** barring error */
+    enum BarringError
+    {
+        BarringErrorNone
+    };
+    
+public:
+    
+    explicit PSetCallBarringWrapper( 
+        CPsetContainer &psetContainer, 
+        QObject *parent = NULL);
+    
+    ~PSetCallBarringWrapper();
+    
+    /**
+     * Checks the barring status from network. Result is signaled with 
+     * barringStatusRequestCompleted.
+     * 
+     * @param   serviceGroup  Service group concerned.
+     * @param   barringType   Barring type.
+     */
+    void barringStatus(
+        PsServiceGroup serviceGroup, 
+        BarringType barringType);
+
+    /**
+     * Enables specified barring. Result is signaled with 
+     * enableBarringRequestCompleted.
+     * 
+     * @param   serviceGroup    Service group concerned.
+     * @param   barringType     Barring type.
+     * @param   barringPassword Barring password.
+     */
+    void enableBarring(
+        PsServiceGroup serviceGroup,
+        BarringType barringType,
+        QString barringPassword);
+    
+    /**
+     * Disables specified barring. Result is signaled with 
+     * disableBarringRequestCompleted.
+     * 
+     * @param   serviceGroup    Service group concerned.
+     * @param   barringType     Barring type.
+     * @param   barringPassword Barring password.
+     */
+    void disableBarring(
+        PsServiceGroup serviceGroup,
+        BarringType barringType,
+        QString barringPassword);
+    
+    /**
+     * Changes barring password. Maximum password length is 10.
+     * 
+     * @param   oldPassword         Old barring password.
+     * @param   newPassword         New barring password.
+     * @param   verifiedPassword    New password verified.
+     */
+    void changeBarringPassword(
+        const QString &oldPassword, 
+        const QString &newPassword,
+        const QString &verifiedPassword);
+    
+signals:
+    
+    /**
+     * This signal is emitted when barring status query request is completed.
+     * 
+     * Basic service group identifier list contains items only if status is
+     * queried for several services at once and barrings are active for some
+     * of those services.
+     *
+     * @param   result                  0 if request was completed successfully 
+     * or error code defined either in gsmerror.h or exterror.h.
+     * @param   basicServiceGroupIds    Service group identifiers.
+     * @param   status                  Barring status.
+     */
+    void barringStatusRequestCompleted(
+        int result,
+        const QList<unsigned char> & basicServiceGroupIds,
+        PSetCallBarringWrapper::BarringStatus status);
+    
+    /**
+     * This signal is emitted when barring enabling is completed.
+     * 
+     * @param   result                  0 if request was completed successfully 
+     * or error code defined either in gsmerror.h or exterror.h.
+     * @param   barringType             Service group identifiers.
+     * @param   barringStatus           Barring status.
+     * @param   plural                  Plurality.
+     */
+    void enableBarringRequestCompleted(
+        int result,
+        PSetCallBarringWrapper::BarringType barringType,
+        PSetCallBarringWrapper::BarringStatus barringStatus, 
+        bool plural);
+
+    /**
+     * This signal is emitted when barring disabling is completed.
+     * 
+     * @param   result                  0 if request was completed successfully 
+     * or error code defined either in gsmerror.h or exterror.h.
+     * @param   barringType             Service group identifiers.
+     * @param   barringStatus           Barring status.
+     * @param   plural                  Plurality.
+     */
+    void disableBarringRequestCompleted(
+        int result,
+        PSetCallBarringWrapper::BarringType barringType,
+        PSetCallBarringWrapper::BarringStatus barringStatus, 
+        bool plural);
+    
+    /**
+     * This signal is emitted when barring password change request is completed.
+     * 
+     * @param   result                  0 if request was completed successfully 
+     * or error code defined either in gsmerror.h or exterror.h.
+     */
+    void barringPasswordChangeRequestCompleted(int result);
+    
+private: // data 
+    
+    /** Own. Private implementation. */
+    QScopedPointer<PSetCallBarringWrapperPrivate> m_privateImpl;
+    friend class PSetCallBarringWrapperPrivate;
+};
+
+#endif // PSETCALLBARRINGGWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_api/inc/psetcalldivertingwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,180 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 PSETCALLDIVERTINGWRAPPER_H_
+#define PSETCALLDIVERTINGWRAPPER_H_
+
+#include <QObject>
+#include <QList>
+#include <QStringList>
+#include <psetwrappertypes.h>
+
+// Forward declarations 
+class CPsetCallDiverting;
+class CPsetContainer;
+class PSetCallDivertingWrapperPrivate;
+class CPhCltEmergencyCall;
+class CDesC16ArrayFlat;
+class TDesC16;
+
+// Call diverting command
+class PSCallDivertingCommand
+{
+public:
+    //member data
+    //Divert condition
+    PsCallDivertingCondition iCondition;
+    //Divert setting
+    PsCallDivertingSetting iSetting;
+    //Divert status
+    PsCallDivertingStatus iStatus;
+    //Divert service group
+    PsServiceGroup iServiceGroup;
+    //Diverted-to number
+    QString iNumber;
+    //Delay time before starting diverting
+    int iNoReplyTimer;
+};
+
+// Call diverting command
+class PSCallDivertingStatus
+{
+public:
+    //member data
+    //Divert condition
+    PsCallDivertingCondition iCondition;
+    //Divert service group
+    PsServiceGroup iServiceGroup;
+    //Divert status
+    PsCallDivertingStatus iStatus;
+    //Diverted-to number
+    QString iNumber;
+    /** The "No Reply" time-out (in seconds) registered for the call forwarding no reply 
+    condition.
+
+    Equals to -1 if this value is not applicable. In GSM mode, will be between 
+    5 and 30 and in steps of 5 if this value is applicable. */
+    int iTimeout;
+};
+
+#ifdef BUILD_PSETWRAPPER
+#define PSETWRAPPER_EXPORT Q_DECL_EXPORT
+#else
+#define PSETWRAPPER_EXPORT Q_DECL_IMPORT
+#endif
+
+class PSETWRAPPER_EXPORT PSetCallDivertingWrapper : public QObject
+{
+Q_OBJECT
+
+public:
+
+    explicit PSetCallDivertingWrapper(CPsetContainer &psetContainer,
+            QObject *parent = NULL);
+
+    virtual ~PSetCallDivertingWrapper();
+
+public:
+    // Functions (adaptees):  
+
+    /**
+     * Sets call diverting to the network.
+     *
+     * @param aSetting New settings for the call diverting.
+     * @param aBsc Basic service group concerned.
+     * @return  Error code.
+     */
+    int setCallDiverting(PSCallDivertingCommand& aSetting,
+            int aBasicServiceGroup);
+
+    /**
+     * Checks the call diverting status from network.
+     */
+    void getCallDivertingStatus(const PsServiceGroup aServiceGroup,
+            const PsCallDivertingCondition aCondition, int aBsc);
+
+    /**
+     * Cancels the call diverting-request process.
+     */
+    void cancelProcess();
+
+    /**
+     * Retrieve the default (last forwarded-to) numbers. 
+     */
+    void getDefaultNumbers(QStringList &aDefNumbers); // QStringList
+
+    /**
+     * Sets new number to the default numbers (last forwarded-to) list.
+     */
+    void setNewDefaultNumber(QString aNumber);
+
+    /**
+     * Get voicemailbox number.
+     * @param aNumber empty if not set
+     * @return -1 if not supported
+     */
+    int getVoiceMailBoxNumber(QString &aNumber, PsService aService);
+    
+    /**
+     * Query voicemailbox number.
+     * @param aNumber empty if not set
+     * @return -1 if not supported
+     */
+    int queryVoiceMailBoxNumber(QString &aNumber, PsService aService);
+
+    /**
+     * Get CPsetCallDiverting reference.
+     */
+    CPsetCallDiverting & getCPsetCallDiverting() const;
+
+signals: // Notify via signals     
+
+    void handleDivertingChanged(const PSCallDivertingCommand& aSetting,
+            bool aPlural);
+
+    void handleDivertingStatus(QList<PSCallDivertingStatus*>& diverList,
+            bool aPlural);
+
+    void handleDivertingError(int aReason);
+
+    void handleCFRequesting(bool aOngoing, bool aInterrupted);
+    
+    void requestDone();
+
+private:
+    
+    int validateDivertNumber(const TDesC16& aDivertTo) const;
+    bool findPlus(const TDesC16& aDivertTo) const;
+
+private:
+    // Data: 
+    // Phone setting handlers, own
+    CPsetCallDiverting* m_psetCallDiverting;
+
+    // Owned: Phone client emergency number session.
+    CPhCltEmergencyCall* m_emergencyCall;
+
+    // Own
+    CDesC16ArrayFlat* m_DefaultNumberListCDes;
+    QStringList m_DefaultnumberListQSList;
+
+    // Own
+    PSetCallDivertingWrapperPrivate* m_Priv;
+    friend class PSetCallDivertingWrapperPrivate;
+};
+
+#endif /* PSETCALLDIVERTINGWRAPPER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_api/inc/psetcallwaitingwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+ *
+ */
+
+#ifndef PSETCALLWAITINGWRAPPER_H_
+#define PSETCALLWAITINGWRAPPER_H_
+
+#include <QObject>
+#include <psetwrappertypes.h>
+
+// Forward declarations 
+class CPsetContainer;
+class CPsetCallWaiting;
+class PSetCallWaitingWrapperPrivate;
+
+#ifdef BUILD_PSETWRAPPER
+#define PSETWRAPPER_EXPORT Q_DECL_EXPORT
+#else
+#define PSETWRAPPER_EXPORT Q_DECL_IMPORT
+#endif
+
+class PSETWRAPPER_EXPORT PSetCallWaitingWrapper: 
+    public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    explicit PSetCallWaitingWrapper( CPsetContainer &psetContainer, 
+            QObject *parent = NULL);
+    
+    ~PSetCallWaitingWrapper();
+
+
+    // Call waiting status
+    enum PsCallWaitingStatus
+    {
+        StatusActive,
+        StatusDisabled,
+        StatusNotAvailable,
+        StatusNotProvisioned,
+        StatusUnknown
+    };
+
+    // Call waiting action
+    enum PsCallWaitingCommand
+    {
+        ActivateCallWaiting,
+        DeactivateCallWaiting,
+        CheckCallWaitingStatus
+    };
+    
+public: // Functions (adaptees):  
+
+    /**
+    * Sets call waiting to the network.
+    *
+    * @param aSetting New settings for the Call Waiting.
+    * @param aBsc Basic service group concerned.
+    */
+    void setCallWaiting( PsCallWaitingCommand aSetting,
+            int aBasicServiceGroup );
+
+    /**
+    * Checks the call waiting status from network.
+    */
+    void getCallWaitingStatus();
+
+    /**
+    * Cancels the call waiting-request process.
+    */
+    void cancelProcess();
+    
+    /**
+    * Get CPsetCallwaiting reference.
+    */
+    CPsetCallWaiting &  getCPsetCallWaiting() const;
+
+signals: // Notify via signals     
+
+    void handleCallWaitingGetStatus( 
+        PSetCallWaitingWrapper::PsCallWaitingStatus aStatus,
+        const QList<unsigned char> &basicServiceGroupIds);
+    
+    void handleCallWaitingChanged( 
+        PSetCallWaitingWrapper::PsCallWaitingCommand aSetting,
+        int aResult );
+    
+    void handleCallWaitingRequesting( bool ongoing, bool interrupted ); 
+
+    void handleCallWaitingError( int aError );
+
+private: // Data: 
+    
+    // Phone setting handlers, own
+    CPsetCallWaiting *m_psetCallWaiting;
+    
+    // Own
+    QScopedPointer<PSetCallWaitingWrapperPrivate> m_privateImpl;
+    friend class PSetCallWaitingWrapperPrivate;
+};
+
+
+#endif /* PSETCALLWAITINGWRAPPER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_api/inc/psetcliwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#ifndef PSETCLIWRAPPER_H_
+#define PSETCLIWRAPPER_H_
+
+
+#include <QObject>
+#include <psetwrappertypes.h>
+
+// Forward declarations 
+class CPsetContainer;
+class CPsetCli;
+class MPsetRequestObserver;
+class PSetCliWrapperPrivate;
+
+#ifdef BUILD_PSETWRAPPER
+#define PSETWRAPPER_EXPORT Q_DECL_EXPORT
+#else
+#define PSETWRAPPER_EXPORT Q_DECL_IMPORT
+#endif
+
+class PSETWRAPPER_EXPORT PSetCliWrapper: 
+    public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    explicit PSetCliWrapper( CPsetContainer &psetContainer, 
+            QObject *parent = NULL);
+    
+    ~PSetCliWrapper();
+    
+    
+public: // Functions (adaptees):  
+    
+    /**
+    * Shows COLP (Connected Line Identification Presentation) mode.
+    */
+    void getColpMode();
+
+    /**
+    * Shows CLIP (Calling Line Identification Presentation) mode.
+    */
+    void getClipMode();
+    
+    /**
+    * Shows CLIR (Calling Line Identification Restriction) mode.
+    */
+    void getClirMode();
+
+    /**
+    * Shows COLR (Connected Line Identification Restriction) mode.
+    */
+    void getColrMode();
+
+    /**
+    * Shows CNAP (Calling Number Presentation) mode.
+    * 
+    */
+    void getCnap();
+
+    /**
+    * Cancels any (and all) request(s).
+    */
+    void cancelAll();
+    
+signals: // Notify via signals     
+
+    void handleCliRequesting( bool ongoing, bool interrupted ); 
+
+    void cliInformation( const PsCallLineIdentity& type );
+
+    void handleCliStatus(
+            unsigned char *bsc, int numberOfBsc, const PsCallLineIdentity& aMode );
+
+    void handleCnapStatus( int aStatus );
+
+    void handleCliError( int aError );
+
+private: // Data: 
+    // Phone setting handlers 
+    CPsetCli* m_psetCli; 
+    
+    // Own
+    QScopedPointer<PSetCliWrapperPrivate> m_privateImpl;
+    friend class PSetCliWrapperPrivate;
+};
+
+
+#endif /* PSETCLIWRAPPER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_api/inc/psetnetworkwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 PSETNETWORKWRAPPER_H
+#define PSETNETWORKWRAPPER_H
+
+#include <QObject>
+
+class PSetNetworkWrapperPrivate;
+class CPsetContainer;
+class HbDialog;
+
+#ifdef BUILD_PSETWRAPPER
+#define PSETWRAPPER_EXPORT Q_DECL_EXPORT
+#else
+#define PSETWRAPPER_EXPORT Q_DECL_IMPORT
+#endif
+
+class PSETWRAPPER_EXPORT PSetNetworkWrapper : public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    enum ErrorCode {
+        ErrNoError  = 0,
+        ErrGeneral,
+        ErrCauseCallActive,
+        ErrNoNetworkService,
+        ErrOfflineOpNotAllowed,
+        ErrNoNetworkAccess
+    };
+    
+    enum RequestType {
+        RequestNone,
+        RequestEnumerateNetworks,
+        RequestGetNetworkInfo,
+        RequestGetCurrentNetworkInfo,
+        RequestGetNetworkSearchMode,
+        RequestSetNetwork,
+        RequestSetNetworkMode,
+        RequestSetNetworkAutomatic
+    };
+    
+    enum RegistrationStatus {
+        RegisteredOnHomeNetwork,
+        RegisteredRoaming
+    };
+    
+    enum NetworkAccessMode {
+        AccessModeDual,
+        AccessModeUmts,
+        AccessModeGsm
+    };
+    
+    struct NetworkId{
+        /*! Country code. Maximum length is 4. */
+        QString m_countryCode;
+        /*! Network code. Maximum length is 8. */
+        QString m_networkCode;
+    };
+
+    enum NetworkSelectionMode {
+        SelectionModeManual,
+        SelectionModeAutomatic 
+    };
+
+    enum NetworkStatus {
+        StatusUnknown,
+        StatusAvailable,
+        StatusCurrent,
+        StatusForbidden
+    };
+    
+    enum NetworkAccessType {
+        AccessTypeGsm, 
+        AccessTypeWcdma,
+        AccessTypeGsmAndWcdma
+    };
+
+    struct NetworkInfo {
+        NetworkId m_id;
+        NetworkStatus m_status;
+        NetworkSelectionMode m_mode;
+        NetworkAccessType m_access;
+        /*! Short name. Maximum length is 20. */
+        QString m_shortName;
+        /*! Long name. Maximum length is 30. */
+        QString m_longName;
+    };        
+
+public:
+
+    explicit PSetNetworkWrapper(CPsetContainer &psetContainer,
+        QObject *parent = NULL);
+
+    virtual ~PSetNetworkWrapper();
+
+public:
+    
+    void getAvailableNetworks();
+    
+    ErrorCode getNetworkSelectionMode(
+        PSetNetworkWrapper::NetworkSelectionMode& mode) const;
+    
+    void selectNetwork( 
+        const PSetNetworkWrapper::NetworkInfo& info);
+    
+    void cancelRequest();
+
+public:
+
+    void getNetworkAccessMode() const;
+
+    void setNetworkAccessMode(PSetNetworkWrapper::NetworkAccessMode mode);
+    
+    bool isManualNetworkSelectionSupported() const;
+
+signals:
+
+    // Real type of parameter mode is enum PSetNetworkWrapper::NetworkAccessMode.
+    void networkAccessModeGot(int mode);
+    
+    void availableNetworksGot(QList<PSetNetworkWrapper::NetworkInfo*> &networkInfoList);
+     
+    void networkReqestFailed(
+        PSetNetworkWrapper::ErrorCode error, 
+        PSetNetworkWrapper::RequestType type);
+    
+    void searchingNetworks(PSetNetworkWrapper::RequestType &type);
+    
+    void requestingSelectedNetwork(bool ongoing);
+    
+    void networkChanged(
+        PSetNetworkWrapper::NetworkInfo& currentInfo,
+        PSetNetworkWrapper::RegistrationStatus& status);
+
+    void chageVisbilityOfManualNetworkSelection(bool visible);
+    
+private:
+    
+    PSetNetworkWrapper(const PSetNetworkWrapper &);
+    PSetNetworkWrapper &operator=(const PSetNetworkWrapper &);
+    PSetNetworkWrapperPrivate* m_privateImpl;
+    friend class PSetNetworkWrapperPrivate;
+};
+
+#endif // PSETNETWORKWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_api/inc/psetwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  
+ *
+ */
+#ifndef PSETWRAPPER_H
+#define PSETWRAPPER_H
+
+#include <QObject>
+
+class CPsetContainer; 
+class PSetCliWrapper;
+class PSetCallWaitingWrapper;
+class PSetCallDivertingWrapper;
+class PSetNetworkWrapper;
+class PSetCallBarringWrapper;
+
+#ifdef BUILD_PSETWRAPPER
+#define PSETWRAPPER_EXPORT Q_DECL_EXPORT
+#else
+#define PSETWRAPPER_EXPORT Q_DECL_IMPORT
+#endif
+
+class PSETWRAPPER_EXPORT PSetWrapper: public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    explicit PSetWrapper(QObject *parent = NULL);
+    
+    ~PSetWrapper();
+    
+public: // Functions:  
+    /**
+     Returns reference to call line identification settings.
+     @exception bad alloc if creations fails
+     */
+    PSetCliWrapper& cliWrapper(); 
+    
+    /**
+     Returns reference to call waiting settings.
+     @exception bad alloc, if creations fails.
+     */
+    PSetCallWaitingWrapper& callWaitingWrapper();
+    
+    /**
+     Returns reference to call diverting settings.
+     @exception bad alloc, if creations fails.
+     */
+    PSetCallDivertingWrapper& callDivertingWrapper();
+    
+    /**
+     Returns reference to network settings.
+     @exception bad alloc, if creations fails.
+     */
+    PSetNetworkWrapper& networkWrapper();
+
+    /**
+     Returns reference to call barring settings.
+     @exception bad alloc, if creations fails.
+     */
+    PSetCallBarringWrapper& callBarringWrapper();
+    
+private: // Data: 
+    // Own
+    CPsetContainer *m_psetContainer; 
+        
+    // Phone setting handlers 
+    PSetCliWrapper *m_wrapperCli; 
+    
+    PSetCallWaitingWrapper *m_callWaitingWrapper;
+    
+    PSetCallDivertingWrapper *m_callDivertingWrapper;
+    
+    PSetNetworkWrapper *m_networkWrapper;
+    
+    PSetCallBarringWrapper *m_callBarringWrapper;
+    
+};
+#endif // PSETWRAPPER
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_api/inc/psetwrappertypes.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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 PSETWRAPPERTYPES_H
+#define PSETWRAPPERTYPES_H
+
+#include <qglobal.h>
+
+const int maxBscNumber = 13;     //max. number of basic service groups
+const int maxPsuiItemLength = 32;//max. length of text in PSUI note
+
+// Status of Calling Identity.
+enum PsCallLineIdentity
+{
+    ClirOn = 1,
+    ClirOff,
+    ClipOn,
+    ClipOff,
+    ColrOn,
+    ColrOff,
+    ColpOn,
+    ColpOff,
+    CliUnknown
+};
+
+//call forwarding statuses
+enum PsCallDivertingStatus
+{
+    DivertingStatusActive,
+    DivertingStatusInactive,
+    DivertingStatusNotRegistered,
+    DivertingStatusNotProvisioned,
+    DivertingStatusUnknown
+};
+
+//call forwarding conditions
+enum PsCallDivertingCondition
+{
+    DivertConditionUnknown,
+    DivertConditionUnconditional,
+    DivertConditionBusy,
+    DivertConditionNoReply,
+    DivertConditionNotReachable,
+    DivertConditionAllCalls,
+    DivertConditionAllConditionalCases
+};
+
+//call forwarding actions
+enum PsCallDivertingSetting
+{
+    ActivateDiverting,
+    CancelDiverting,
+    RegisterDiverting,
+    EraseDiverting,
+    CheckStatus
+};
+
+// basic teleservice groups (ETSI Gsm 02.03 and 02.04)
+enum PsService
+{
+    ServiceGroupUnknown = 0x00000000,
+    ServiceGroupVoice = 0x00000001,
+    ServiceGroupData = 0x00000002,
+    ServiceGroupFax = 0x00000004,
+    ServiceGroupAllTeleservices = ServiceGroupVoice | ServiceGroupData
+            | ServiceGroupFax
+};
+typedef QFlags<PsService> PsServiceGroup;
+
+
+#endif // PSETWRAPPERTYPES_H
--- a/phonesrv_plat/phone_settings_notes_ui_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_notes_ui_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,9 +24,9 @@
 
 PRJ_EXPORTS
 
-../inc/PsuiContainer.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsuiContainer.h)
-../inc/PsuiBarringObs.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsuiBarringObs.h)
-../inc/PsuiCliObserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsuiCliObserver.h)
-../inc/PsuiConstants.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsuiConstants.h)
-../inc/PsuiWaitingObs.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsuiWaitingObs.h)
-../inc/PsuiDivertObs.h     MW_LAYER_PLATFORM_EXPORT_PATH(PsuiDivertObs.h)
+../inc/psuicontainer.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuicontainer.h)
+../inc/psuibarringobs.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuibarringobs.h)
+../inc/psuicliobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuicliobserver.h)
+../inc/psuiconstants.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuiconstants.h)
+../inc/psuiwaitingobs.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuiwaitingobs.h)
+../inc/psuidivertobs.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuidivertobs.h)
--- a/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiBarringObs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiBarringObs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define CPSUIBARRINGOBS_H
 
 // INCLUDES
-#include <MPsetBarringObs.h>
-#include "PsuiConstants.h"
+#include <mpsetbarringobs.h> 
+#include "psuiconstants.h" 
 
 // FORWARD DECLARATION
 class MPsetCallBarring;
--- a/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiCliObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiCliObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,8 +21,8 @@
 #define CPSUICLIOBSERVER_H
 
 // INCLUDES            
-#include <MPsetCliObserver.h>   
-#include "PsuiConstants.h"      
+#include <mpsetcliobserver.h> 
+#include "psuiconstants.h" 
 
 // FORWARD DECLARATION
 class CPsuiResourceLoader;
--- a/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiContainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -25,10 +25,10 @@
 #define CPSUICONTAINER_H
 
 // INCLUDES
-#include <PsuiWaitingObs.h>
-#include <PsuiDivertObs.h>
-#include <PsuiBarringObs.h>
-#include <PsuiCliObserver.h>
+#include <psuiwaitingobs.h> 
+#include <psuidivertobs.h> 
+#include <psuibarringobs.h> 
+#include <psuicliobserver.h> 
 
 // FORWARD DECLARATIONS
 class CPsuiResourceLoader;
--- a/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiDivertObs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiDivertObs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define CPSUIDIVERTOBS_H
 
 // INCLUDES
-#include <MPsetDivertObs.h> 
-#include "PsuiConstants.h"
+#include <mpsetdivertobs.h> 
+#include "psuiconstants.h" 
 
 // FORWARD DECLARATION
 class MPsetCallDiverting;
--- a/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiWaitingObs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_notes_ui_api/inc/PsuiWaitingObs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,8 +23,8 @@
 #define CPSUIWAITINGOBS_H
 
 // INCLUDES
-#include <MPsetCallWaitingObs.h>        
-#include "PsuiConstants.h"              
+#include <mpsetcallwaitingobs.h> 
+#include "psuiconstants.h" 
 
 // FORWARD DECLARATION
 class CPsuiResourceLoader;
--- a/phonesrv_plat/phone_settings_observer_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_observer_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,10 +24,10 @@
 
 PRJ_EXPORTS
 
-../inc/MPsetCallWaitingObs.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetCallWaitingObs.h)
-../inc/MPsetDivertObs.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetDivertObs.h)
-../inc/MPsetCliObserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetCliObserver.h)
-../inc/MPsetNetworkInfoObs.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetNetworkInfoObs.h)
-../inc/MPsetBarringObs.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetBarringObs.h)
-../inc/MPsetRequestObs.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetRequestObs.h)
-../inc/MPsetNetworkModeObs.h     MW_LAYER_PLATFORM_EXPORT_PATH(MPsetNetworkModeObs.h)
+../inc/mpsetcallwaitingobs.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetcallwaitingobs.h)
+../inc/mpsetdivertobs.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetdivertobs.h)
+../inc/mpsetcliobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetcliobserver.h)
+../inc/mpsetnetworkinfoobs.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetnetworkinfoobs.h)
+../inc/mpsetbarringobs.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetbarringobs.h)
+../inc/mpsetrequestobs.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetrequestobs.h)
+../inc/mpsetnetworkmodeobs.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpsetnetworkmodeobs.h)
--- a/phonesrv_plat/phone_settings_observer_api/inc/MPsetBarringObs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_observer_api/inc/MPsetBarringObs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 
 //  INCLUDES
 #include "nwdefs.h"
-#include "MPsetCallBarring.h"
+#include "mpsetcallbarring.h" 
 
 //  CLASS DEFINITIONS 
 /**
--- a/phonesrv_plat/phone_settings_observer_api/inc/MPsetCallWaitingObs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_observer_api/inc/MPsetCallWaitingObs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #define     MPSETCALLWAITINGOBS_H
 
 // INCLUDES
-#include <MPsetCallWaiting.h>
+#include <mpsetcallwaiting.h> 
 
 //  CLASS DEFINITIONS 
 class   MPsetCallWaitingObserver
--- a/phonesrv_plat/phone_settings_observer_api/inc/MPsetCliObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_observer_api/inc/MPsetCliObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,9 +22,9 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <PsuiConstants.h>
-#include "PsetConstants.h"
-#include "MPsetCli.h"
+#include <psuiconstants.h> 
+#include "psetconstants.h" 
+#include "mpsetcli.h" 
 
 //  CLASS DEFINITIONS 
 /**
--- a/phonesrv_plat/phone_settings_observer_api/inc/MPsetDivertObs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_observer_api/inc/MPsetDivertObs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 //  INCLUDES
 #include <etelmm.h>
 #include "nwdefs.h"
-#include "MPsetCallDiverting.h"
+#include "mpsetcalldiverting.h" 
 
 //  FORWARD DECLARATIONS
 class CMobilePhoneCFList;
--- a/phonesrv_plat/phone_settings_observer_api/inc/MPsetNetworkInfoObs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/phone_settings_observer_api/inc/MPsetNetworkInfoObs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 #define     MPSETNETWORKINFOOBS_H
 
 //  INCLUDES
-#include "MPsetNetworkSelect.h"
+#include "mpsetnetworkselect.h" 
 #include <etelmm.h>
 
 //  DATA TYPES  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_ui_notes_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  File that exports the files belonging to 
+				Phone Settings UI Notes API
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/psuinotes.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuinotes.h)
+../inc/psuilocalisation.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuilocalisation.h)
+../inc/psuiwaitingnotehandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuiwaitingnotehandler.h)
+../inc/psuidivertnotehandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(psuidivertnotehandler.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_ui_notes_api/inc/psuidivertnotehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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 PSUIDIVERTNOTETHANDLER_H_
+#define PSUIDIVERTNOTEHANDLER_H_
+
+#include <QObject>
+#include <QList>
+
+class PSetCallDivertingWrapper;
+class PSCallDivertingCommand;
+class PSCallDivertingStatus;
+
+#ifdef BUILD_PSUINOTES
+#define PSUINOTES_EXPORT Q_DECL_EXPORT
+#else
+#define PSUINOTES_EXPORT Q_DECL_IMPORT
+#endif
+
+class PSUINOTES_EXPORT PsUiDivertNoteHandler : public QObject
+{
+    Q_OBJECT
+    
+public:
+    PsUiDivertNoteHandler(PSetCallDivertingWrapper& callDivertingWrapper);
+    ~PsUiDivertNoteHandler();
+
+public slots: // Slots: 
+
+   /**
+    * Set info request results
+    * @param setting 
+    * @param plural
+    */
+   void handleDivertingChanged(
+        const PSCallDivertingCommand& setting, 
+        bool plural);
+   
+   /**
+    * Get info request results
+    * @param divertList
+    * @param plural
+    */
+   void handleDivertingStatus(
+        QList<PSCallDivertingStatus*>& divertList, 
+        bool plural);
+   
+   /**
+    * Request failed.
+    * @param reason Reason code for fail 
+    */
+   void handleDivertingError(int reason);
+ 
+   /**
+    * Handles requesting notes.
+    *
+    * @param aOngoing Is there a request going on.
+    * @param aInterrupted Request needs to immediately cancelled.
+    */
+   void handleCFRequesting(bool ongoing, bool interrupted);
+   
+private:   // data
+    
+   PSetCallDivertingWrapper& m_callDivertingWrapper;
+   
+   int m_activeNoteId;
+   int m_activeProgressNoteId;
+   
+};
+
+#endif /* PSUIDIVERTNOTEHANDLER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_ui_notes_api/inc/psuilocalisation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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 PSUILOCALISATION_H_
+#define PSUILOCALISATION_H_
+
+#include <QObject>
+#include <QList>
+
+// Forward declarations 
+class QTranslator; 
+
+#ifdef BUILD_PSUINOTES
+#define PSUINOTES_EXPORT Q_DECL_EXPORT
+#else
+#define PSUINOTES_EXPORT Q_DECL_IMPORT
+#endif
+
+class PSUINOTES_EXPORT PsUiLocalisation: public QObject
+    {
+    Q_OBJECT
+    
+public: 
+    
+    enum TranslationFileId {
+        TranslationFileCommon, 
+        TranslationFileTelephoneCp
+    }; 
+        
+public:
+    
+    PsUiLocalisation(QObject *parent = NULL);
+    ~PsUiLocalisation();
+
+    /**
+     * Installs specific translation file
+     * @param translationFileId Id of file to be installed
+     */
+    bool installTranslator(TranslationFileId translationFileId);
+    
+    /**
+     * Removes installed translators
+     */
+    void removeTranslators();
+
+private:     
+    
+    QList<QTranslator *> m_translators;
+    };
+
+
+#endif /* PSUILOCALISATION_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_ui_notes_api/inc/psuinotes.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  
+ *
+ */
+#ifndef PSUINOTES_H
+#define PSUINOTES_H
+
+#include <QObject>
+#include <QString>
+#include <QQueue>
+#include <hbmessagebox.h>
+#include <psetcalldivertingwrapper.h>
+
+#ifdef BUILD_PSUINOTES
+#define PSUINOTES_EXPORT Q_DECL_EXPORT
+#else
+#define PSUINOTES_EXPORT Q_DECL_IMPORT
+#endif
+
+class HbInputDialog;
+class QValidator;
+class QTranslator; 
+class PsUiLocalisation;
+class PsUiSettingsWrapper;
+
+class PSUINOTES_EXPORT PsUiNotes: public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    static PsUiNotes* instance();
+    
+private: 
+    
+    PsUiNotes();
+    
+    ~PsUiNotes();
+
+    Q_DISABLE_COPY(PsUiNotes)
+    
+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();
+    
+    /**
+     This signal is emitted when the user coplete password query.
+     @param password            On return contains user given password.
+     @param ok                  True if the user pressed OK, false if the user 
+                                pressed Cancel.
+     */
+    void passwordQueryCompleted(
+        QString password,
+        bool okPressed);
+    
+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 detailed call divert information about the selected divert service
+     group.
+     @param     divertStatusList    Divert status information.
+     */
+    void showCallDivertDetails(
+        const QList<PSCallDivertingStatus*> &divertingStatusList);
+    
+    /**
+     Shows password query dialog with OK & Cancel buttons and returns user
+     given password unless user has canceled query. Only valid password is
+     accepted.
+     @param title               Title for the query dialog.
+     @param validator           Password validator.
+     @param maxPasswordLength   Maximum length for the password.
+     */
+    void showPasswordQueryDialog(
+        const QString &title,
+        const QValidator &validator,
+        int maxPasswordLength);
+    
+    /**
+     Cancels specified note.
+     @param     noteId      Note identifier.
+     */
+    void cancelNote(int noteId);
+    
+    /**
+     Retuns true if note is currently shown.
+     */
+    bool noteShowing();
+    
+    /**
+     Slot for HbDialog finished signal.
+     */
+    void finishedPasswordQueryDialog(HbAction* action);
+
+    /**
+     Shows notification dialog. 
+     @param     text        Text to show on a dialog.
+     */
+    void showNotificationDialog(const QString& text);
+    
+    /**
+    Shows global notification dialog. 
+    @param     text        Text to show on a dialog.
+    */
+    void showGlobalNotificationDialog(const QString& text);
+
+private:
+    
+    /**
+     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();
+    
+    /**
+     Formats the active diverts note content text
+     @param     divertinStatusList Status of diverts
+     @param     text Contains formatted text on return
+     */
+       void formatActiveDivertsNoteText(
+           const QList<PSCallDivertingStatus*> &divertingStatusList,
+           QString &text);
+
+private slots:
+    
+    /**
+     Handler method for notes' about to close signal.
+     */
+    void activeNoteAboutToClose();
+    
+    /**
+     Handler method for notes' canceled signal.
+     */
+    void handleProgressNoteCanceled();
+    
+    /**
+     Used for dynamic enable/disable of password dialog's OK button according
+     to validity of the currently inputted password.
+     */
+    void passwordTextChanged();
+    
+private: // Data: 
+
+    /**
+      Notes waiting to be shown.
+     */
+    QQueue<QObject*> *m_notesQueue;
+    
+    /**
+      Indicates whether note controller is busy with some note showing.
+     */
+    bool m_isNoteShowingOngoing;
+    
+    /**
+      Password query dialog. Own.
+     */
+    HbInputDialog *m_passwordDialog;
+
+    /**
+      Password validator. Not own.
+     */
+    const QValidator *m_passwordValidator;
+    
+    /**
+      Translators.
+     */
+    PsUiLocalisation *m_localisation; 
+
+    PsUiSettingsWrapper *m_psuiSettings;
+};
+#endif // PSUINOTES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_ui_notes_api/inc/psuiwaitingnotehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+ *
+ */
+
+#ifndef PSUIWAITINGNOTEHANDLER_H_
+#define PSUIWAITINGNOTEHANDLER_H_
+
+#include <QObject>
+#include <QList>
+#include <psetcallwaitingwrapper.h>
+
+class PSetCallWaitingWrapper;
+class PSCallWaitingCommand;
+class PsUiSettingsWrapper;
+
+#ifdef BUILD_PSUINOTES
+#define PSUINOTES_EXPORT Q_DECL_EXPORT
+#else
+#define PSUINOTES_EXPORT Q_DECL_IMPORT
+#endif
+
+class PSUINOTES_EXPORT PsUiWaitingNoteHandler : public QObject
+{
+    Q_OBJECT
+    
+public:
+    PsUiWaitingNoteHandler(PSetCallWaitingWrapper& callWaitingWrapper);
+    ~PsUiWaitingNoteHandler();
+
+public slots: // Slots: 
+
+    /**
+     * Shows notes for call waiting status interrogation
+     * @param status    Status of the call waiting
+     * @param basicServiceGroupIds
+     */
+    void handleCallWaitingGetStatus( 
+        PSetCallWaitingWrapper::PsCallWaitingStatus status,
+        const QList<unsigned char> &basicServiceGroupIds);
+    
+    /**
+     * Shows notes for call waiting status change request
+     * @param setting   Type of the call waiting request  
+     * @param result    Result code of the request
+     */
+    void handleCallWaitingChanged( 
+        PSetCallWaitingWrapper::PsCallWaitingCommand setting,
+        int result );
+    
+    /**
+     * Handles call waiting requesting notes
+     * @param ongoing       If true, there is an active request   
+     * @param interrupted   If true, means that requesting note 
+     *                      should be cancelled
+     */
+    void handleCallWaitingRequesting( bool ongoing, bool interrupted ); 
+    
+    /**
+     * Handles call waiting error notes
+     * @param error     Error value   
+     */
+    void handleCallWaitingError( int error );
+
+private:   // data
+   
+    // For diverting signals
+    PSetCallWaitingWrapper& m_callWaitingWrapper;
+    
+    // Own.
+    PsUiSettingsWrapper* m_settingsWrapper;
+    
+    // Current active note id 
+    int m_activeNoteId;
+    
+    // Current progress note id
+    int m_activeProgressNoteId;
+   
+};
+
+#endif /* PSUIWAITINGNOTEHANDLER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/phone_settings_ui_notes_api/phone_settings_ui_notes_api.metaxml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="bb4622107e68f568ff4f711d62cc837b" dataversion="2.0">
+  <name>Phone Settings UI Notes API</name>
+  <description>Provides common interface for showing phone settings specific notes. Contains interface classes for showing supplementary services specific notes.</description>
+  <type>c++</type>
+  <collection>domain</collection>
+  <libs/>
+  <release category="platform" sinceversion=""/>
+  <attributes>
+    <htmldocprovided>yes</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- a/phonesrv_plat/sat_client_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/sat_client_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  File that exports the files belonging to 
-*               SAT Client API
+:                SAT Client API
 *
 */
 
@@ -24,4 +24,4 @@
 
 PRJ_EXPORTS
 
-../inc/RSatSession.h     MW_LAYER_PLATFORM_EXPORT_PATH( rsatsession.h )
+../inc/rsatsession.h     MW_LAYER_PLATFORM_EXPORT_PATH( rsatsession.h )
--- a/phonesrv_plat/sat_configuration_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/sat_configuration_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  File that exports the files belonging to 
-*               SAT Configuration API
+:                SAT Configuration API
 *
 */
 
@@ -24,4 +24,4 @@
 
 PRJ_EXPORTS
 
-../inc/SATDomainPSKeys.h     MW_LAYER_PLATFORM_EXPORT_PATH(satdomainpskeys.h)
+../inc/satdomainpskeys.h     MW_LAYER_PLATFORM_EXPORT_PATH(satdomainpskeys.h)
--- a/phonesrv_plat/sat_refresh_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/sat_refresh_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  File that exports the files belonging to 
-*               SAT Refresh API
+:                SAT Refresh API
 *
 */
 
@@ -24,5 +24,5 @@
 
 PRJ_EXPORTS
 
-../inc/RSatRefresh.h     MW_LAYER_PLATFORM_EXPORT_PATH(rsatrefresh.h)
-../inc/MSatRefreshObserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(msatrefreshobserver.h)
+../inc/rsatrefresh.h     MW_LAYER_PLATFORM_EXPORT_PATH(rsatrefresh.h)
+../inc/msatrefreshobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(msatrefreshobserver.h)
--- a/phonesrv_plat/sat_refresh_api/inc/RSatRefresh.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/sat_refresh_api/inc/RSatRefresh.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 //  INCLUDES
 #include <e32std.h>
-#include <Etelsat.h>
+#include <etelsat.h>
 #include <msatrefreshobserver.h>
 
 // FORWARD DECLARATIONS
--- a/phonesrv_plat/service_provider_settings_api/inc/mspnotifychangeobserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/service_provider_settings_api/inc/mspnotifychangeobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -27,7 +27,7 @@
 /**
  *  Call back interface for notify change events
  *
- *	Client has to implement this interface if client 
+ *  Client has to implement this interface if client 
  *  need to receive settings notification change.
  *
  *  @lib serviceprovidersettings.lib
@@ -35,23 +35,23 @@
  */
 class MSPNotifyChangeObserver
     {
-	public:
+    public:
 
-	    /**
-	     * Handle notify change event
-	     * 
-	     * @param aServiceId the service ID of added/changed/deleted service
-	     * @since S60 3.2
-	     */
-	    virtual void HandleNotifyChange( TServiceId aServiceId ) = 0;
-	    
-	    /**
-	     * Handle error
-	     * 
-	     * @param aError error code
-	     * @since S60 3.2
-	     */
-	    virtual void HandleError( TInt aError ) = 0;
+        /**
+         * Handle notify change event
+         * 
+         * @param aServiceId the service ID of added/changed/deleted service
+         * @since S60 3.2
+         */
+        virtual void HandleNotifyChange( TServiceId aServiceId ) = 0;
+        
+        /**
+         * Handle error
+         * 
+         * @param aError error code
+         * @since S60 3.2
+         */
+        virtual void HandleError( TInt aError ) = 0;
     };
 
 #endif // MSPNOTIFYCHANGEOBSERVER_H
\ No newline at end of file
--- a/phonesrv_plat/service_provider_settings_api/inc/spdefinitions.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/service_provider_settings_api/inc/spdefinitions.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,29 +24,29 @@
 
 /** Service attribute mask */
 enum TPropertyServiceAttributes
-	{
-	ESupportsCSVoiceCall 			= 0x00000001, // Supports CS voice call
-	ESupportsCSVideoCall			= 0x00000002, // Supports CS video call
-	ESupportsCSData					= 0x00000004, // Supports CS data transfer
-	ESupportsFax					= 0x00000008, // Service supports fax
-	ESupportsInternetCall			= 0x00000010, // Service supports internet call
-	ESupportsEmergencyCall 			= 0x00000020, // service supports emergency call
-	ESupportsMSISDNAddressing		= 0x00000040, // Service supports MSISDN addressing
-	ESupportsAlphanumericAddressing	= 0x00000080, // Service supports alphanumeric addressing
-	EIsVisibleInCallMenu 			= 0x00000100, // Service is visible in call menu
-	EBootstrapCallProvider			= 0x00000200, // Boostrap call provider
-	ESupportVoIPSS                  = 0x00000400, // Supports VoIP SS
-	ESimplifiedConferenceCallBubble	= 0x00000800  // Simplified conference call bubble
-	};
-	
-/** Supported feature check */	
+    {
+    ESupportsCSVoiceCall            = 0x00000001, // Supports CS voice call
+    ESupportsCSVideoCall            = 0x00000002, // Supports CS video call
+    ESupportsCSData                 = 0x00000004, // Supports CS data transfer
+    ESupportsFax                    = 0x00000008, // Service supports fax
+    ESupportsInternetCall           = 0x00000010, // Service supports internet call
+    ESupportsEmergencyCall          = 0x00000020, // service supports emergency call
+    ESupportsMSISDNAddressing       = 0x00000040, // Service supports MSISDN addressing
+    ESupportsAlphanumericAddressing = 0x00000080, // Service supports alphanumeric addressing
+    EIsVisibleInCallMenu            = 0x00000100, // Service is visible in call menu
+    EBootstrapCallProvider          = 0x00000200, // Boostrap call provider
+    ESupportVoIPSS                  = 0x00000400, // Supports VoIP SS
+    ESimplifiedConferenceCallBubble = 0x00000800  // Simplified conference call bubble
+    };
+    
+/** Supported feature check */  
 enum TSPServiceFeature
-	{
-	ESupportInternetCallFeature,	//ESupportsInternetCall + ESupportsAlphanumericAddressing + EIsVisibleInCallMenu 
-	ESupportCallOutFeature,			//ESupportsInternetCall + ESupportsMSISDNAddressing + EIsVisibleInCallMenu
-	ESupportVoIPSSFeature,			//ESupportVoIPSS
-	ESupportVoIPFeature				//FeatureManager::FeatureSupported()+dynamic voip flag check+with subservice voip
-	};
+    {
+    ESupportInternetCallFeature,    //ESupportsInternetCall + ESupportsAlphanumericAddressing + EIsVisibleInCallMenu 
+    ESupportCallOutFeature,         //ESupportsInternetCall + ESupportsMSISDNAddressing + EIsVisibleInCallMenu
+    ESupportVoIPSSFeature,          //ESupportVoIPSS
+    ESupportVoIPFeature             //FeatureManager::FeatureSupported()+dynamic voip flag check+with subservice voip
+    };
 
 /**  Service provider ID not defined */
 const TInt KSPNoId = 0;
@@ -135,7 +135,7 @@
     EPropertyContactStoreId                 = 0x0002D000, // Virtual phonebook contact store ID. Set by RCSE
     EPropertyServiceBookmarkUri             = 0x0002E000, // Service provider bookmark URI. Set by VoIP adapter
     EPropertyIncomingEmailserver            = 0x0002F000, // Service incoming e-mail server
-    			
+                
 
     // Subproperties
     // VoIP subproperties
@@ -190,7 +190,7 @@
     ESubPropertyVccDtWLANHoHysteresis           = 0x0004D000,
     ESubPropertyVccDtWLANHoHysteresisTimerLow   = 0x0004E000,
     ESubPropertyVccDtWLANHoHysteresisTimerHigh  = 0x0004F000,
-    ESubPropertyVccHoNotificationToneMode		= 0x00050000,
+    ESubPropertyVccHoNotificationToneMode       = 0x00050000,
     ESubPropertyVccDtVoipServiceId              = 0x00051000,
     ESubPropertyVccDtAllowedWhenCsOriginated    = 0x00052000,
     ESubPropertyVccAppId                        = 0x00053000,
@@ -218,11 +218,11 @@
     
 /** List of subservice launching method */
 enum TSPSubServiceLaunchMethod
-	{
-	ESPFrameWorkPlugin,
-	ESPLauncherPlugin,
-	ESPApplication
-	};
+    {
+    ESPFrameWorkPlugin,
+    ESPLauncherPlugin,
+    ESPApplication
+    };
 
 
 /**  Service ID */
@@ -238,7 +238,7 @@
 /**  Array of service provider IDs */
 typedef RArray<TServicePropertyName> RPropertyNameArray;
 
-/**	 central repsitory keys array */
+/**  central repsitory keys array */
 typedef RArray<TUint32> RKeyArray;
 
 
--- a/phonesrv_plat/service_provider_settings_api/inc/spentry.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/service_provider_settings_api/inc/spentry.h	Tue Aug 31 15:45:17 2010 +0300
@@ -36,201 +36,201 @@
 NONSHARABLE_CLASS( CSPEntry ): public CBase
     {
 
-	public: // Constructors and destructor
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CSPEntry* NewL();
+    public: // Constructors and destructor
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CSPEntry* NewL();
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CSPEntry* NewLC();
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CSPEntry* NewLC();
 
-	    /**
-	    * Destructors.
-	    */
-	    IMPORT_C virtual ~CSPEntry();
+        /**
+        * Destructors.
+        */
+        IMPORT_C virtual ~CSPEntry();
 
-	public: // Member functions
-	    /**
-	     * Returns service Id of this entry.
-	     *
-	     * @since S60 V3.2
-	     * @return Service ID
-	     */
-	    IMPORT_C TServiceId GetServiceId() const;
+    public: // Member functions
+        /**
+         * Returns service Id of this entry.
+         *
+         * @since S60 V3.2
+         * @return Service ID
+         */
+        IMPORT_C TServiceId GetServiceId() const;
 
-	    /**
-	     * Sets unique service provider ID for this entry.
-	     * This ID is generated automatically when new entry is added.
-	     * Service ID is also required when user updates entry in service table
-	     *
-	     * @since S60 V3.2
-	     * @param aServiceId service ID
-	     */
-	    void SetServiceId( TServiceId aServiceId ); 
+        /**
+         * Sets unique service provider ID for this entry.
+         * This ID is generated automatically when new entry is added.
+         * Service ID is also required when user updates entry in service table
+         *
+         * @since S60 V3.2
+         * @param aServiceId service ID
+         */
+        void SetServiceId( TServiceId aServiceId ); 
 
-	    /**
-	     * Returns service name of this entry.
-	     *
-	     * @since S60 V3.2
-	     * @return Service name 
-	     */
-	    IMPORT_C const TDesC& GetServiceName() const;
+        /**
+         * Returns service name of this entry.
+         *
+         * @since S60 V3.2
+         * @return Service name 
+         */
+        IMPORT_C const TDesC& GetServiceName() const;
 
-	    /**
-	     * Sets service name for this entry.
-	     *
-	     * @since S60 V3.2
-	     * @param aServiceName service name
-	     */
-	    IMPORT_C TInt SetServiceName( const TDesC& aServiceName );
+        /**
+         * Sets service name for this entry.
+         *
+         * @since S60 V3.2
+         * @param aServiceName service name
+         */
+        IMPORT_C TInt SetServiceName( const TDesC& aServiceName );
 
-	    /**
-	     * Adds new property to this entry.
-	     *
-	     * @since S60 V3.2
-	     * @param aProperty new property pointer
-	     * @return KErrNone if addition succeeded, 
-	     *         system wide error code otherwise.
-	     */
-	    IMPORT_C TInt AddPropertyL( const CSPProperty& aProperty );
+        /**
+         * Adds new property to this entry.
+         *
+         * @since S60 V3.2
+         * @param aProperty new property pointer
+         * @return KErrNone if addition succeeded, 
+         *         system wide error code otherwise.
+         */
+        IMPORT_C TInt AddPropertyL( const CSPProperty& aProperty );
 
-	    /**
-	     * Updates content of property in this entry.
-	     *
-	     * @since S60 V3.2
-	     * @param aPropertyName property name
-	     * @param aValue new TInt value
-	     * @return KErrNone if update succeeded.
-	     */
-	    IMPORT_C TInt UpdateProperty( TServicePropertyName aPropertyName, TInt aValue );
+        /**
+         * Updates content of property in this entry.
+         *
+         * @since S60 V3.2
+         * @param aPropertyName property name
+         * @param aValue new TInt value
+         * @return KErrNone if update succeeded.
+         */
+        IMPORT_C TInt UpdateProperty( TServicePropertyName aPropertyName, TInt aValue );
 
-	    /**
-	     * Updates content of property in this entry.
-	     *
-	     * @since S60 V3.2
-	     * @param aPropertyName property name
-	     * @param aValue new TDesC value
-	     * @return KErrNone if update succeeded.
-	     */
-	    IMPORT_C TInt UpdateProperty( TServicePropertyName aPropertyName, const TDesC& aValue );
+        /**
+         * Updates content of property in this entry.
+         *
+         * @since S60 V3.2
+         * @param aPropertyName property name
+         * @param aValue new TDesC value
+         * @return KErrNone if update succeeded.
+         */
+        IMPORT_C TInt UpdateProperty( TServicePropertyName aPropertyName, const TDesC& aValue );
 
-	    /**
-	     * Updates content of property in this entry.
-	     *
-	     * @since S60 V3.2
-	     * @param aPropertyName property name
-	     * @param aValue new TOnOff value
-	     * @return KErrNone if update succeeded.
-	     */
-	    IMPORT_C TInt UpdateProperty( TServicePropertyName aPropertyName, TOnOff aValue );
+        /**
+         * Updates content of property in this entry.
+         *
+         * @since S60 V3.2
+         * @param aPropertyName property name
+         * @param aValue new TOnOff value
+         * @return KErrNone if update succeeded.
+         */
+        IMPORT_C TInt UpdateProperty( TServicePropertyName aPropertyName, TOnOff aValue );
 
-	    /**
-	     * Returns property of this entry by property name.
-	     *
-	     * @since S60 V3.2
-	     * @param aProperty On return, reference to requested property
-	     * @param aPropertyName Name of requested property
-	     * @return error code
-	     */
-	    IMPORT_C TInt GetProperty( const CSPProperty*& aProperty, 
-	    						   TServicePropertyName aPropertyName ) const;
+        /**
+         * Returns property of this entry by property name.
+         *
+         * @since S60 V3.2
+         * @param aProperty On return, reference to requested property
+         * @param aPropertyName Name of requested property
+         * @return error code
+         */
+        IMPORT_C TInt GetProperty( const CSPProperty*& aProperty, 
+                                   TServicePropertyName aPropertyName ) const;
 
-	    /**
-	     * Returns property of this entry by property index.
-	     *
-	     * @since S60 V3.2
-	     * @param aProperty On return, reference to requested property
-	     * @param aIndex index of requested property
-	     * @return error code
-	     */
-	    IMPORT_C TInt GetProperty( const CSPProperty*& aProperty, 
-	    							TInt aIndex ) const;
+        /**
+         * Returns property of this entry by property index.
+         *
+         * @since S60 V3.2
+         * @param aProperty On return, reference to requested property
+         * @param aIndex index of requested property
+         * @return error code
+         */
+        IMPORT_C TInt GetProperty( const CSPProperty*& aProperty, 
+                                    TInt aIndex ) const;
 
-	    /**
-	     * Deletes property from this entry by index.
-	     *
-	     * @since S60 V3.2
-	     * @param aIndex index of requested property
-	     * @return error code
-	     */
-	    IMPORT_C TInt DeleteProperty( TInt aIndex );
+        /**
+         * Deletes property from this entry by index.
+         *
+         * @since S60 V3.2
+         * @param aIndex index of requested property
+         * @return error code
+         */
+        IMPORT_C TInt DeleteProperty( TInt aIndex );
 
-	    /**
-	     * Deletes property from this entry by property name.
-	     *
-	     * @since S60 V3.2
-	     * @param aProperty property name
-	     * @return error code
-	     */
-	    IMPORT_C TInt DeleteProperty( TServicePropertyName aProperty );
+        /**
+         * Deletes property from this entry by property name.
+         *
+         * @since S60 V3.2
+         * @param aProperty property name
+         * @return error code
+         */
+        IMPORT_C TInt DeleteProperty( TServicePropertyName aProperty );
 
-	    /**
-	     * Returns all properties of this entry.
-	     *
-	     * @since S60 V3.2
-	     * @return Reference to array of properties
-	     */
-	    IMPORT_C const RPropertyArray& GetAllProperties() const;
+        /**
+         * Returns all properties of this entry.
+         *
+         * @since S60 V3.2
+         * @return Reference to array of properties
+         */
+        IMPORT_C const RPropertyArray& GetAllProperties() const;
 
-	    /**
-	     * Returns count of properties in this entry
-	     *
-	     * @since S60 V3.2
-	     * @return Count of properties
-	     */
-	    IMPORT_C TInt PropertyCount() const;
-	    
-	    /**
-	     * reset service entry
-	     *
-	     * @since S60 V3.2
-	     * @return Count of properties
-	     */
-	     IMPORT_C void Reset();
-	    
+        /**
+         * Returns count of properties in this entry
+         *
+         * @since S60 V3.2
+         * @return Count of properties
+         */
+        IMPORT_C TInt PropertyCount() const;
+        
+        /**
+         * reset service entry
+         *
+         * @since S60 V3.2
+         * @return Count of properties
+         */
+         IMPORT_C void Reset();
+        
 
-	private:
+    private:
 
-	    /**
-	    * C++ default constructor.
-	    */
-	    CSPEntry();
+        /**
+        * C++ default constructor.
+        */
+        CSPEntry();
 
-	    /**
-	    * By default Symbian 2nd phase constructor is private.
-	    */
-	    void ConstructL();
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
 
-	    /**
-	     * Search index of requested property in iPropertyArray
-	     *
-	     * @since S60 ?S60_version
-	     * @param aProperty
-	     * @return Index of property or KErrNotFound
-	     */
-	    TInt SearchProperty( TServicePropertyName aProperty ) const;
+        /**
+         * Search index of requested property in iPropertyArray
+         *
+         * @since S60 ?S60_version
+         * @param aProperty
+         * @return Index of property or KErrNotFound
+         */
+        TInt SearchProperty( TServicePropertyName aProperty ) const;
 
-	private: // data
+    private: // data
 
-	    /**
-	     * Id of service settings entry ( unique )
-	     */
-	    TServiceId iServiceId;
+        /**
+         * Id of service settings entry ( unique )
+         */
+        TServiceId iServiceId;
 
-	    /**
-	     * Name of settings entry ( unique )
-	     * Own.
-	     */
-	    RBuf iServiceName;
+        /**
+         * Name of settings entry ( unique )
+         * Own.
+         */
+        RBuf iServiceName;
 
-	    /**
-	     * Service settings properties owned by this entry
-	     * Own.
-	     */
-	    RPropertyArray iPropertyArray;
+        /**
+         * Service settings properties owned by this entry
+         * Own.
+         */
+        RPropertyArray iPropertyArray;
 
     };
 
--- a/phonesrv_plat/service_provider_settings_api/inc/spnotifychange.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/service_provider_settings_api/inc/spnotifychange.h	Tue Aug 31 15:45:17 2010 +0300
@@ -36,78 +36,78 @@
  *  @since S60 3.2
  */
 NONSHARABLE_CLASS( CSPNotifyChange ): public CActive
-	{
-	public: // Constructor and destructor
-	
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CSPNotifyChange* NewL( MSPNotifyChangeObserver& aObserver );
+    {
+    public: // Constructor and destructor
+    
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CSPNotifyChange* NewL( MSPNotifyChangeObserver& aObserver );
 
-	    /**
-	    * Destructors.
-	    */
-	    IMPORT_C virtual ~CSPNotifyChange();
+        /**
+        * Destructors.
+        */
+        IMPORT_C virtual ~CSPNotifyChange();
 
-	public: 
-	    /**
-	     * Issue notify service change rquest.
-	     *
-	     * @since S60 V3.2
-	     * @param aServiceIds The service ID array of monitored service entries
-	     */
-	    IMPORT_C void NotifyChangeL( const RIdArray& aServiceIds );
+    public: 
+        /**
+         * Issue notify service change rquest.
+         *
+         * @since S60 V3.2
+         * @param aServiceIds The service ID array of monitored service entries
+         */
+        IMPORT_C void NotifyChangeL( const RIdArray& aServiceIds );
 
-	    /**
-	     * Cancel notify change.
-	     *
-	     * @since S60 V3.2
-	     */
-	    IMPORT_C void NotifyChangeCancel();
+        /**
+         * Cancel notify change.
+         *
+         * @since S60 V3.2
+         */
+        IMPORT_C void NotifyChangeCancel();
 
-	protected: // from CActive
+    protected: // from CActive
 
-	    void DoCancel();
+        void DoCancel();
 
-	    void RunL();
-	    
-	    TInt RunError( TInt aError );
+        void RunL();
+        
+        TInt RunError( TInt aError );
 
-	    void Subscribe();
-	private:
+        void Subscribe();
+    private:
 
-	    /**
-	    * C++ default constructor.
-	    */
-	    CSPNotifyChange( MSPNotifyChangeObserver& aObserver );
+        /**
+        * C++ default constructor.
+        */
+        CSPNotifyChange( MSPNotifyChangeObserver& aObserver );
 
-	    /**
-	    * By default Symbian 2nd phase constructor is private.
-	    */
-	    void ConstructL();
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
 
-	private:
+    private:
 
-	    /**
-	     * Publish & Subscribe connection
-	     */
-	    RProperty       iProperty;
+        /**
+         * Publish & Subscribe connection
+         */
+        RProperty       iProperty;
 
-	    /**
-	     * Observer object
-	     */
-	    MSPNotifyChangeObserver& iObserver;
-	    
-	    /**
-	     * Id array
-	     */
-	    RIdArray		iIdArray;
-	    
-	    /**
-	     * Contains buffered P&S data
-	     */
-	    CSpsBufferedPublisher* iData;
-	};
+        /**
+         * Observer object
+         */
+        MSPNotifyChangeObserver& iObserver;
+        
+        /**
+         * Id array
+         */
+        RIdArray        iIdArray;
+        
+        /**
+         * Contains buffered P&S data
+         */
+        CSpsBufferedPublisher* iData;
+    };
 
 #endif // CSPNOTIFYCHANGE_H
 
--- a/phonesrv_plat/service_provider_settings_api/inc/spproperty.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/service_provider_settings_api/inc/spproperty.h	Tue Aug 31 15:45:17 2010 +0300
@@ -34,217 +34,217 @@
 NONSHARABLE_CLASS( CSPProperty ): public CBase
     {
 
-	public: // Constructor and destructor
+    public: // Constructor and destructor
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CSPProperty* NewL();
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CSPProperty* NewL();
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CSPProperty* NewLC();
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CSPProperty* NewLC();
 
-	    /**
-	    * Destructors.
-	    */
-	    IMPORT_C virtual ~CSPProperty();
+        /**
+        * Destructors.
+        */
+        IMPORT_C virtual ~CSPProperty();
 
-	public: // member functions
-	    /**
-	     * Returns the name of this property
-	     *
-	     * @since S60 V3.2
-	     * @return Name of property
-	     */
-	    IMPORT_C TServicePropertyName GetName() const;
+    public: // member functions
+        /**
+         * Returns the name of this property
+         *
+         * @since S60 V3.2
+         * @return Name of property
+         */
+        IMPORT_C TServicePropertyName GetName() const;
 
-	    /**
-	     * Sets the name for this property
-	     *
-	     * @since S60 V3.2
-	     * @param aPropertyname new property name
-	     */
-	    IMPORT_C TInt SetName( TServicePropertyName aPropertyname );
+        /**
+         * Sets the name for this property
+         *
+         * @since S60 V3.2
+         * @param aPropertyname new property name
+         */
+        IMPORT_C TInt SetName( TServicePropertyName aPropertyname );
 
-	    /**
-	     * Returns the type of this property
-	     *
-	     * @since S60 V3.2
-	     * @return Type of property
-	     */
-		IMPORT_C TSPItemType GetPropertyType() const;
+        /**
+         * Returns the type of this property
+         *
+         * @since S60 V3.2
+         * @return Type of property
+         */
+        IMPORT_C TSPItemType GetPropertyType() const;
 
-	    /**
-	     * Sets the type for this property
-	     *
-	     * @since S60 V3.2
-	     * @param aPropertyType property type
-	     */
-		TInt SetPropertyType( TSPItemType aPropertyType );
+        /**
+         * Sets the type for this property
+         *
+         * @since S60 V3.2
+         * @param aPropertyType property type
+         */
+        TInt SetPropertyType( TSPItemType aPropertyType );
 
 
-	    /**
-	     * Returns the datatype of this property
-	     * No imported, set automatically.
-	     *
-	     * @since S60 V3.2
-	     * @return Datatype of property
-	     */
-	    IMPORT_C TPropertyDataType GetDataType() const;
+        /**
+         * Returns the datatype of this property
+         * No imported, set automatically.
+         *
+         * @since S60 V3.2
+         * @return Datatype of property
+         */
+        IMPORT_C TPropertyDataType GetDataType() const;
 
-	    /**
-	     * Sets the datatype of this property
-	     *
-	     * @since S60 V3.2
-	     * @param aDataType new data type
-	     */
-	    void SetDataType( TPropertyDataType aDataType );
+        /**
+         * Sets the datatype of this property
+         *
+         * @since S60 V3.2
+         * @param aDataType new data type
+         */
+        void SetDataType( TPropertyDataType aDataType );
 
-	    /**
-	     * Returns value of property
-	     *
-	     * @since S60 V3.2
-	     * @param aValue on return, TInt value
-	     * @return Error code
-	     */
-	    IMPORT_C TInt GetValue( TInt& aValue ) const;
+        /**
+         * Returns value of property
+         *
+         * @since S60 V3.2
+         * @param aValue on return, TInt value
+         * @return Error code
+         */
+        IMPORT_C TInt GetValue( TInt& aValue ) const;
 
-	    /**
-	     * Sets value of property. Value must match to datatype.
-	     *
-	     * @since S60 V3.2
-	     * @param aValue new TInt value to be set
-	     * @return Error code
-	     */
-	    IMPORT_C TInt SetValue( TInt aValue );
+        /**
+         * Sets value of property. Value must match to datatype.
+         *
+         * @since S60 V3.2
+         * @param aValue new TInt value to be set
+         * @return Error code
+         */
+        IMPORT_C TInt SetValue( TInt aValue );
 
-	    /**
-	     * Returns value of property
-	     *
-	     * @since S60 V3.2
-	     * @param aValue on return, descriptor value
-	     * @return Error code
-	     */
-	    IMPORT_C TInt GetValue( TDes& aValue ) const;
+        /**
+         * Returns value of property
+         *
+         * @since S60 V3.2
+         * @param aValue on return, descriptor value
+         * @return Error code
+         */
+        IMPORT_C TInt GetValue( TDes& aValue ) const;
 
-	    /**
-	     * Sets the value of property. Value must match to datatype.
-	     *
-	     * @since S60 V3.2
-	     * @param aValue new descriptor
-	     * @return Error code
-	     */
-	    IMPORT_C TInt SetValue( const TDesC& aValue );
+        /**
+         * Sets the value of property. Value must match to datatype.
+         *
+         * @since S60 V3.2
+         * @param aValue new descriptor
+         * @return Error code
+         */
+        IMPORT_C TInt SetValue( const TDesC& aValue );
 
 
-	    /**
-	     * Returns value of property
-	     *
-	     * @since S60 V3.2
-	     * @param aValue on return, On/Off value
-	     * @return Error code
-	     */
-	    IMPORT_C TInt GetValue( TOnOff& aValue ) const;
+        /**
+         * Returns value of property
+         *
+         * @since S60 V3.2
+         * @param aValue on return, On/Off value
+         * @return Error code
+         */
+        IMPORT_C TInt GetValue( TOnOff& aValue ) const;
 
-	    /**
-	     * Sets the value of property. Value must match to datatype.
-	     *
-	     * @since S60 V3.2
-	     * @param aValue new On/Off value
-	     * @return Error code
-	     */
-	    IMPORT_C TInt SetValue( TOnOff aValue );
+        /**
+         * Sets the value of property. Value must match to datatype.
+         *
+         * @since S60 V3.2
+         * @param aValue new On/Off value
+         * @return Error code
+         */
+        IMPORT_C TInt SetValue( TOnOff aValue );
 
-	    /**
-	     * Sets the value of this property without datatype check
-	     *
-	     * @since S60 V3.2
-	     * @param aValue new value
-	     * @return Error code
-	     */
-	    TInt SetValueNoDataTypeCheck( const TDesC& aValue );
+        /**
+         * Sets the value of this property without datatype check
+         *
+         * @since S60 V3.2
+         * @param aValue new value
+         * @return Error code
+         */
+        TInt SetValueNoDataTypeCheck( const TDesC& aValue );
 
-	    /**
-	     * Returns datatype of given property
-	     *
-	     * @since S60 V3.2
-	     * @param aProperty property name
-	     * @return Datatype of given property
-	     */
-	    IMPORT_C static TPropertyDataType DataType( TServicePropertyName aProperty );
-	    
-	    /**
-	     * Returns property type of given property
-	     *
-	     * @since S60 V3.2
-	     * @param aProperty property name
-	     * @return property type of given property
-	     */
-	    IMPORT_C static TSPItemType PropertyType( TServicePropertyName aProperty );
+        /**
+         * Returns datatype of given property
+         *
+         * @since S60 V3.2
+         * @param aProperty property name
+         * @return Datatype of given property
+         */
+        IMPORT_C static TPropertyDataType DataType( TServicePropertyName aProperty );
+        
+        /**
+         * Returns property type of given property
+         *
+         * @since S60 V3.2
+         * @param aProperty property name
+         * @return property type of given property
+         */
+        IMPORT_C static TSPItemType PropertyType( TServicePropertyName aProperty );
 
-	    /**
-	     * Copies data from source property // to be removed?
-	     *
-	     * @since S60 V3.2
-	     * @param aSource source property
-	     */
-	    IMPORT_C void CopyL( const CSPProperty& aSource );
+        /**
+         * Copies data from source property // to be removed?
+         *
+         * @since S60 V3.2
+         * @param aSource source property
+         */
+        IMPORT_C void CopyL( const CSPProperty& aSource );
 
-	    /**
-	     * Compares data of this property to another.
-	     *
-	     * @since S60 V3.2
-	     * @param aProperty property to be compared
-	     * @return ETrue if properties have same data
-	     */
-	    IMPORT_C TBool operator==( 
-	                const CSPProperty& aProperty ) const;
+        /**
+         * Compares data of this property to another.
+         *
+         * @since S60 V3.2
+         * @param aProperty property to be compared
+         * @return ETrue if properties have same data
+         */
+        IMPORT_C TBool operator==( 
+                    const CSPProperty& aProperty ) const;
 
-	private:
+    private:
 
-	    /**
-	    * C++ default constructor.
-	    */
-	    CSPProperty();
-	    
-	    /**
-	    * By default Symbian 2nd phase constructor is private.
-	    */
-	    void ConstructL();
+        /**
+        * C++ default constructor.
+        */
+        CSPProperty();
+        
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
 
-	    /**
-	     * Sets default value of property if defined
-	     *
-	     * @since S60 V3.2
-	     * @param aProperty property name
-	     * @return An error code
-	     */
-	    TInt SetDefaultValue( TServicePropertyName aProperty );
+        /**
+         * Sets default value of property if defined
+         *
+         * @since S60 V3.2
+         * @param aProperty property name
+         * @return An error code
+         */
+        TInt SetDefaultValue( TServicePropertyName aProperty );
 
-	private: // data
+    private: // data
 
-	    /**
-	     * Descriptor of property value
-	     * Own.
-	     */
-	    RBuf               iPropertyValue;
+        /**
+         * Descriptor of property value
+         * Own.
+         */
+        RBuf               iPropertyValue;
 
-	    /**
-	     * Name of property
-	     */
-	    TServicePropertyName        iPropertyName;
+        /**
+         * Name of property
+         */
+        TServicePropertyName        iPropertyName;
 
-	    /**
-	     * Datatype of property
-	     */
-	    TPropertyDataType        iDataType;
-	    
-	    /**
-	     * Property type
-	     */
-	    TSPItemType        		iPropertyType;
+        /**
+         * Datatype of property
+         */
+        TPropertyDataType        iDataType;
+        
+        /**
+         * Property type
+         */
+        TSPItemType             iPropertyType;
     
     };
 
--- a/phonesrv_plat/service_provider_settings_api/inc/spsettings.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/service_provider_settings_api/inc/spsettings.h	Tue Aug 31 15:45:17 2010 +0300
@@ -50,259 +50,259 @@
 NONSHARABLE_CLASS( CSPSettings ): public CBase
     {
 
-	public: // Constructors and destructor
+    public: // Constructors and destructor
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CSPSettings* NewL();
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CSPSettings* NewL();
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CSPSettings* NewLC();
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CSPSettings* NewLC();
 
-	    /**
-	    * Destructors.
-	    */
-	    IMPORT_C virtual ~CSPSettings();
+        /**
+        * Destructors.
+        */
+        IMPORT_C virtual ~CSPSettings();
 
-	public:
+    public:
 
-	    /**
-	     * Stores new service provider settings entry, 
-	     * service Id is returned inside aEntry object
-	     *
-	     * @since S60 v3.2
-	     * @param aEntry New service provider settings entry, on return service Id is filled in
-	     * @return error code
-	     */
-	    IMPORT_C TInt AddEntryL( CSPEntry& aEntry );
+        /**
+         * Stores new service provider settings entry, 
+         * service Id is returned inside aEntry object
+         *
+         * @since S60 v3.2
+         * @param aEntry New service provider settings entry, on return service Id is filled in
+         * @return error code
+         */
+        IMPORT_C TInt AddEntryL( CSPEntry& aEntry );
 
-	    /**
-	     * Search service provider settings entry by service ID. 
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId Id of requested xSP settings entry
-	     * @param aEntry on return, SP settings entry corresponding to aServiceId.
-	     * @return error code, KErrNone if succeeded, otherwise system wide error code
-	     */
-	    IMPORT_C TInt FindEntryL( TServiceId aServiceId, CSPEntry& aEntry );
+        /**
+         * Search service provider settings entry by service ID. 
+         *
+         * @since S60 v3.2
+         * @param aServiceId Id of requested xSP settings entry
+         * @param aEntry on return, SP settings entry corresponding to aServiceId.
+         * @return error code, KErrNone if succeeded, otherwise system wide error code
+         */
+        IMPORT_C TInt FindEntryL( TServiceId aServiceId, CSPEntry& aEntry );
 
 
-	    /**
-	     * Updates service provider settings entry to settings storage.
-	     * Service ID must be set to entry before update.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntry Updated service provider settings entry
-	     * @return error code, KErrNone if update succeeded, otherwise system wide error code
-	     */
-	    IMPORT_C TInt UpdateEntryL( const CSPEntry& aEntry );
+        /**
+         * Updates service provider settings entry to settings storage.
+         * Service ID must be set to entry before update.
+         *
+         * @since S60 v3.2
+         * @param aEntry Updated service provider settings entry
+         * @return error code, KErrNone if update succeeded, otherwise system wide error code
+         */
+        IMPORT_C TInt UpdateEntryL( const CSPEntry& aEntry );
 
-	    /**
-	     * Deletes service provider settings entry from storage by service ID.
-	     *
-	     * @since S60 v3.2
-	     * @param aEntryId Id of settings entry which is going to be deleted
-	     * @return error code, KErrNone if delete succeeded, otherwise system wide error code
-	     */
-	    IMPORT_C TInt DeleteEntryL( TServiceId aServiceId );
+        /**
+         * Deletes service provider settings entry from storage by service ID.
+         *
+         * @since S60 v3.2
+         * @param aEntryId Id of settings entry which is going to be deleted
+         * @return error code, KErrNone if delete succeeded, otherwise system wide error code
+         */
+        IMPORT_C TInt DeleteEntryL( TServiceId aServiceId );
 
-	    /**
-	     * Search property of service provider settings entry from storage.
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId The service ID of requested service entry
-	     * @param aPropertyName property name to be found
-	     * @param aProperty on return, requested property
-	     * @return error code, KErrNone if succeeded, otherwise system wide error code
-	     */
-	    IMPORT_C TInt FindPropertyL( TServiceId aServiceId,
-	                                TServicePropertyName aPropertyName,
-	                                CSPProperty& aProperty );
+        /**
+         * Search property of service provider settings entry from storage.
+         *
+         * @since S60 v3.2
+         * @param aServiceId The service ID of requested service entry
+         * @param aPropertyName property name to be found
+         * @param aProperty on return, requested property
+         * @return error code, KErrNone if succeeded, otherwise system wide error code
+         */
+        IMPORT_C TInt FindPropertyL( TServiceId aServiceId,
+                                    TServicePropertyName aPropertyName,
+                                    CSPProperty& aProperty );
 
-	    /**
-	     * Add or update properties of service provider settings entry to storage.
-	     * If property name exists, update property. If property doesn't exist,
-	     * add property
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId The ID of updated service entry
-	     * @param aPropertyArray new properties to be added or updated
-	     * @return error code, KErrNone if update succeeded, otherwise system wide error code
-	     */
-	    IMPORT_C TInt AddOrUpdatePropertiesL( TServiceId aServiceId, 
-	                                  		  const RPropertyArray& aPropertyArray );
+        /**
+         * Add or update properties of service provider settings entry to storage.
+         * If property name exists, update property. If property doesn't exist,
+         * add property
+         *
+         * @since S60 v3.2
+         * @param aServiceId The ID of updated service entry
+         * @param aPropertyArray new properties to be added or updated
+         * @return error code, KErrNone if update succeeded, otherwise system wide error code
+         */
+        IMPORT_C TInt AddOrUpdatePropertiesL( TServiceId aServiceId, 
+                                              const RPropertyArray& aPropertyArray );
 
 
-	    /**
-	     * Add or update one property of service provider settings entry to storage.
-	     * If property name exists, update property. If property doesn't exist,
-	     * add property
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId The ID of updated service entry
-	     * @param aProperty new property to be added or updated
-	     * @return error code, KErrNone if update succeeded, otherwise system wide error code
-	     */
-	    IMPORT_C TInt AddOrUpdatePropertyL( TServiceId aServiceId, 
-	                                  		const CSPProperty& aProperty );
+        /**
+         * Add or update one property of service provider settings entry to storage.
+         * If property name exists, update property. If property doesn't exist,
+         * add property
+         *
+         * @since S60 v3.2
+         * @param aServiceId The ID of updated service entry
+         * @param aProperty new property to be added or updated
+         * @return error code, KErrNone if update succeeded, otherwise system wide error code
+         */
+        IMPORT_C TInt AddOrUpdatePropertyL( TServiceId aServiceId, 
+                                            const CSPProperty& aProperty );
 
-	    /**
-	     * Return count of service provider settings entries in storage.
-	     *
-	     * @since S60 v3.2
-	     * @return Count of stored service provider settings.
-	     */
-	    IMPORT_C TInt SettingsCountL();
+        /**
+         * Return count of service provider settings entries in storage.
+         *
+         * @since S60 v3.2
+         * @return Count of stored service provider settings.
+         */
+        IMPORT_C TInt SettingsCountL();
 
-	    /**
-	     * Search all service provider IDs from storage
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceIds An array containing returned service IDs
-	     * @return error code
-	     */
-	    IMPORT_C TInt FindServiceIdsL( RIdArray& aServiceIds );
+        /**
+         * Search all service provider IDs from storage
+         *
+         * @since S60 v3.2
+         * @param aServiceIds An array containing returned service IDs
+         * @return error code
+         */
+        IMPORT_C TInt FindServiceIdsL( RIdArray& aServiceIds );
 
 
-	    /**
-	     * Search all service names from settings storage by given service IDs.
-	     * Removes ID from array if it is not found from settings storage.
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceIds An array of service IDs
-	     * @param aServiceNames on return, array which saves found service names 
-	     * @return error code
-	     */
-	    IMPORT_C TInt FindServiceNamesL( RIdArray& aServiceIds,
-	                                    CDesCArray& aServiceNames );
+        /**
+         * Search all service names from settings storage by given service IDs.
+         * Removes ID from array if it is not found from settings storage.
+         *
+         * @since S60 v3.2
+         * @param aServiceIds An array of service IDs
+         * @param aServiceNames on return, array which saves found service names 
+         * @return error code
+         */
+        IMPORT_C TInt FindServiceNamesL( RIdArray& aServiceIds,
+                                        CDesCArray& aServiceNames );
 
 
-	   /**
-	     * Search subservice properties of requested service provider settings entry by ID 
-	     * and subservice type
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId The ID of requested service entry
-	     * @param aPropertyType property type of sub service
-	     * @param aPropertyArray on return,  array which saves found subservice properties
-	     * @return error code
-	     */
-	    IMPORT_C TInt FindSubServicePropertiesL( TServiceId aServiceId,
-	    										TSPItemType aPropertyType,
-	                                            RPropertyArray& aPropertyArray );
+       /**
+         * Search subservice properties of requested service provider settings entry by ID 
+         * and subservice type
+         *
+         * @since S60 v3.2
+         * @param aServiceId The ID of requested service entry
+         * @param aPropertyType property type of sub service
+         * @param aPropertyArray on return,  array which saves found subservice properties
+         * @return error code
+         */
+        IMPORT_C TInt FindSubServicePropertiesL( TServiceId aServiceId,
+                                                TSPItemType aPropertyType,
+                                                RPropertyArray& aPropertyArray );
 
-	    /**
-	     * Deletes service properties by service ID and property name.
-	     *
-	     * @since S60 v3.2
-	     * @param aServiceId The service ID of requested service entry
-	     * @param aNameArray name of properties to be deleted
-	     * @return error code
-	     */
-	    IMPORT_C TInt DeleteServicePropertiesL( TServiceId aServiceId,
-	                                            const RPropertyNameArray& aNameArray );
-	                                            
-	    /**
-	     * Find service IDs with same properties
-	     *
-	     * @since S60 v3.2
-	     * @param aPropertyArray property array
-	     * @param on return, service Ids with same properties
-	     * @return error code
-	     */
-	    IMPORT_C TInt FindServiceIdsFromPropertiesL( const RPropertyArray& aPropertyArray, 
-	    											 RIdArray& aServiceIds );
+        /**
+         * Deletes service properties by service ID and property name.
+         *
+         * @since S60 v3.2
+         * @param aServiceId The service ID of requested service entry
+         * @param aNameArray name of properties to be deleted
+         * @return error code
+         */
+        IMPORT_C TInt DeleteServicePropertiesL( TServiceId aServiceId,
+                                                const RPropertyNameArray& aNameArray );
+                                                
+        /**
+         * Find service IDs with same properties
+         *
+         * @since S60 v3.2
+         * @param aPropertyArray property array
+         * @param on return, service Ids with same properties
+         * @return error code
+         */
+        IMPORT_C TInt FindServiceIdsFromPropertiesL( const RPropertyArray& aPropertyArray, 
+                                                     RIdArray& aServiceIds );
 
-	    /**
-	     * Get SIP VoIP software version.
-	     *
-	     * @since S60 v3.2
-	     * @return SIP VoIP software version
-	     */
-	    IMPORT_C static const TDesC& GetSIPVoIPSWVersion();
-	    
-	    /**
-	     * Check feature is supported or not
-	     *
-	     * @since S60 v3.2
-	     * @return SIP VoIP software version
-	     */
-	    IMPORT_C TBool IsFeatureSupported( TSPServiceFeature aFeature );
+        /**
+         * Get SIP VoIP software version.
+         *
+         * @since S60 v3.2
+         * @return SIP VoIP software version
+         */
+        IMPORT_C static const TDesC& GetSIPVoIPSWVersion();
+        
+        /**
+         * Check feature is supported or not
+         *
+         * @since S60 v3.2
+         * @return SIP VoIP software version
+         */
+        IMPORT_C TBool IsFeatureSupported( TSPServiceFeature aFeature );
 
-	private:
+    private:
 
-	    /**
-	    * C++ default constructor.
-	    */
-	    CSPSettings();
+        /**
+        * C++ default constructor.
+        */
+        CSPSettings();
 
-	    /**
-	    * By default Symbian 2nd phase constructor is private.
-	    */
-	    void ConstructL();
-	    
-	    /**
-	    * Commit or rollback transaction
-	    * @since S60 v3.2
-	    * @param aError error code of CenRep operation
-	    * @param aServiceId changed service Id
-	    * @return error code
-	    */
-	    TInt CommitOrRollbackL( TInt aError, TServiceId aServiceId );
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+        
+        /**
+        * Commit or rollback transaction
+        * @since S60 v3.2
+        * @param aError error code of CenRep operation
+        * @param aServiceId changed service Id
+        * @return error code
+        */
+        TInt CommitOrRollbackL( TInt aError, TServiceId aServiceId );
 
-	    /**
-	     * Check is VoIP Service Id and then are Properties VoIP related
-	     *
-	     * @since S60 v3.2.3
-	     * @return KErrNotSupported if VoIP not supported and checking 
-	     * of Service Id and Properties gives true
-	     */
-	    TInt CheckSupportedL( TServiceId aServiceId, const RPropertyNameArray& aNameArray );
-	    
-	    /**
-	     * Check is VoIP Service Id
-	     *
-	     * @since S60 v3.2.3
-	     * @return KErrNotSupported if VoIP not supported and checking 
-	     * of Service Id gives true
-	     */
-	    TInt CheckSupportedL( TServiceId aServiceId );
+        /**
+         * Check is VoIP Service Id and then are Properties VoIP related
+         *
+         * @since S60 v3.2.3
+         * @return KErrNotSupported if VoIP not supported and checking 
+         * of Service Id and Properties gives true
+         */
+        TInt CheckSupportedL( TServiceId aServiceId, const RPropertyNameArray& aNameArray );
+        
+        /**
+         * Check is VoIP Service Id
+         *
+         * @since S60 v3.2.3
+         * @return KErrNotSupported if VoIP not supported and checking 
+         * of Service Id gives true
+         */
+        TInt CheckSupportedL( TServiceId aServiceId );
 
-	    /**
-	     * Check is SP item type VoIP related
-	     *
-	     * @since S60 v3.2.3
-	     * @return KErrNotSupported if VoIP not supported and checking 
-	     * of SP item type gives true
-	     */
-		TInt CheckSupportedL( TSPItemType aPropertyType );
-		
-	    /**
-	     * Check does an array have Properties VoIP related
-	     *
-	     * @since S60 v3.2.3
-	     * @return KErrNotSupported if VoIP not supported and checking 
-	     * of the array gives true
-	     */
-		TInt CheckSupportedL( const RPropertyArray& aPropertyArray );
+        /**
+         * Check is SP item type VoIP related
+         *
+         * @since S60 v3.2.3
+         * @return KErrNotSupported if VoIP not supported and checking 
+         * of SP item type gives true
+         */
+        TInt CheckSupportedL( TSPItemType aPropertyType );
+        
+        /**
+         * Check does an array have Properties VoIP related
+         *
+         * @since S60 v3.2.3
+         * @return KErrNotSupported if VoIP not supported and checking 
+         * of the array gives true
+         */
+        TInt CheckSupportedL( const RPropertyArray& aPropertyArray );
 
-	private: // data
+    private: // data
 
-	    /**
-	     * Settings engine
-	     * Own.
-	     */
-	    CSPSettingsEngine* iSettingsEngine;
+        /**
+         * Settings engine
+         * Own.
+         */
+        CSPSettingsEngine* iSettingsEngine;
 
 
-	    /**
-	     * Feature manager support VoIP
-	     * Own.
-	     */
-	    TBool iFeatureManagerSupportVoIP;
+        /**
+         * Feature manager support VoIP
+         * Own.
+         */
+        TBool iFeatureManagerSupportVoIP;
         /**
          * Writing settings allowed
          */
--- a/phonesrv_plat/service_provider_settings_api/inc/spsettingsvoiputils.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/service_provider_settings_api/inc/spsettingsvoiputils.h	Tue Aug 31 15:45:17 2010 +0300
@@ -33,51 +33,51 @@
  */
 NONSHARABLE_CLASS( CSPSettingsVoIPUtils ): public CBase
     {
-	public: // Constructors and destructor
+    public: // Constructors and destructor
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CSPSettingsVoIPUtils* NewL();
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CSPSettingsVoIPUtils* NewL();
 
-	    /**
-	    * Two-phased constructor.
-	    */
-	    IMPORT_C static CSPSettingsVoIPUtils* NewLC();
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CSPSettingsVoIPUtils* NewLC();
 
-	    /**
-	    * Destructors.
-	    */
-	    IMPORT_C virtual ~CSPSettingsVoIPUtils();
+        /**
+        * Destructors.
+        */
+        IMPORT_C virtual ~CSPSettingsVoIPUtils();
 
-	public:
+    public:
 
-	    /**
-	     * Checks is there any VoIP profiles available in service table.
-	     *
-	     * @since S60 v3.2
-	     * @return ETrue if there is at least one VoIP profile.
-	     */
-	    IMPORT_C TBool VoIPProfilesExistL() const;
+        /**
+         * Checks is there any VoIP profiles available in service table.
+         *
+         * @since S60 v3.2
+         * @return ETrue if there is at least one VoIP profile.
+         */
+        IMPORT_C TBool VoIPProfilesExistL() const;
 
-	    /**
-	     * Checks is VoIP supported.
-	     *
-	     * @since S60 v3.2
-	     * @return ETrue if Common Voip and Dynamic VoIP are ON
-.	     */
-	    IMPORT_C TBool IsVoIPSupported() const;
+        /**
+         * Checks is VoIP supported.
+         *
+         * @since S60 v3.2
+         * @return ETrue if Common Voip and Dynamic VoIP are ON
+.        */
+        IMPORT_C TBool IsVoIPSupported() const;
 
-	    /**
-	     * Checks the preferred telephony
-	     *
-	     * @since S60 v3.2
-	     * @return ETrue if Common Voip (Feature Manager), 
-	     *         Dynamic VoIP (Telephony settings) and 
-	     *         Preferred telephony (Rich call settings) are ON and 
-	     *         there is at least one SIP-VoIP profile stored
-	     */
-	    IMPORT_C TBool IsPreferredTelephonyVoIP() const;
+        /**
+         * Checks the preferred telephony
+         *
+         * @since S60 v3.2
+         * @return ETrue if Common Voip (Feature Manager), 
+         *         Dynamic VoIP (Telephony settings) and 
+         *         Preferred telephony (Rich call settings) are ON and 
+         *         there is at least one SIP-VoIP profile stored
+         */
+        IMPORT_C TBool IsPreferredTelephonyVoIP() const;
 
        /**
        * Get the preferred service id
@@ -86,41 +86,41 @@
        * @return KErrNone if preferred service found.
        */
       IMPORT_C TInt GetPreferredService( TUint& aServiceId ) const;
-	
-	private:
+    
+    private:
 
-	    /**
-	    * C++ default constructor.
-	    */
-	    CSPSettingsVoIPUtils();
+        /**
+        * C++ default constructor.
+        */
+        CSPSettingsVoIPUtils();
 
-	    /**
-	    * By default Symbian 2nd phase constructor is private.
-	    */
-	    void ConstructL();
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
 
-	    /**
-	    * Checks is there any VoIP profiles available in service table.
-	    */
-	    TBool IsVoIPSupportedL() const;
+        /**
+        * Checks is there any VoIP profiles available in service table.
+        */
+        TBool IsVoIPSupportedL() const;
 
-	    /**
-	    * Checks the preferred telephony.
-	    */
-	    TBool IsPreferredTelephonyVoIPL() const;
+        /**
+        * Checks the preferred telephony.
+        */
+        TBool IsPreferredTelephonyVoIPL() const;
 
       /**
        * Gets the preferred service id.
        */
        void DoGetPreferredServiceL( TUint& aServiceId ) const;
 
-	private: // data
+    private: // data
 
-	    /**
-	     * Settings engine
-	     * Own.
-	     */
-	    CSPSettingsEngine* iSettingsEngine;
+        /**
+         * Settings engine
+         * Own.
+         */
+        CSPSettingsEngine* iSettingsEngine;
 
     };
 
--- a/phonesrv_plat/ss_settings_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/ss_settings_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,9 @@
 
 PRJ_EXPORTS
 
-../inc/MSSSettingsRefreshObserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(MSSSettingsRefreshObserver.h)
-../inc/MSSSettingsObserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(MSSSettingsObserver.h)
-../inc/RCustomerServiceProfileCache.h     MW_LAYER_PLATFORM_EXPORT_PATH(RCustomerServiceProfileCache.h)
-../inc/RSSSettings.h     MW_LAYER_PLATFORM_EXPORT_PATH(RSSSettings.h)
+../inc/msssettingsrefreshobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(msssettingsrefreshobserver.h)
+../inc/msssettingsobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(msssettingsobserver.h)
+../inc/rcustomerserviceprofilecache.h     MW_LAYER_PLATFORM_EXPORT_PATH(rcustomerserviceprofilecache.h)
+../inc/rsssettings.h     MW_LAYER_PLATFORM_EXPORT_PATH(rsssettings.h)
+../inc/sssettingswrappertypes.h MW_LAYER_PLATFORM_EXPORT_PATH(sssettingswrappertypes.h) 
+../inc/sssettingswrapper.h MW_LAYER_PLATFORM_EXPORT_PATH(sssettingswrapper.h) 
\ No newline at end of file
--- a/phonesrv_plat/ss_settings_api/inc/MSSSettingsObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/ss_settings_api/inc/MSSSettingsObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define MSSSETTINGSOBSERVER_H
 
 //  INCLUDES
-#include <RSSSettings.h>
+#include <rsssettings.h> 
 
 // CLASS DECLARATION
 
--- a/phonesrv_plat/ss_settings_api/inc/MSSSettingsRefreshObserver.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/ss_settings_api/inc/MSSSettingsRefreshObserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -24,7 +24,7 @@
 //  INCLUDES
 #include <e32std.h>
 #include <etelsat.h>
-#include <msatrefreshobserver.h>
+#include <msatrefreshobserver.h> 
 
 
 // DATA TYPES
--- a/phonesrv_plat/ss_settings_api/inc/RSSSettings.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/ss_settings_api/inc/RSSSettings.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 
 //  INCLUDES
 #include <etelmm.h>
-#include <RCustomerServiceProfileCache.h>
+#include <rcustomerserviceprofilecache.h> 
 
 // DATA TYPES
 
@@ -193,7 +193,7 @@
         * @param aObserver observer.
         * @return error code. KErrNone: observer is added
         *                     KErrAlreadyExists: observer is already added
-		*					  KErrNotReady: Possible when BT SAP is on.
+        *                     KErrNotReady: Possible when BT SAP is on.
         *                     KErrNotSupported: Possible with ALS.
         *                     other: observer not registered
         */
@@ -301,8 +301,8 @@
         */    
         TInt IsALSSupported( TInt aPpAlsValue, TInt aSimAlsValue, 
             TBool aAlsCspSupport, TInt aAlsCspError ) const;
-			
-	    // Gets ALS setting value.
+            
+        // Gets ALS setting value.
         TInt GetALSSettingValue( TInt& aValue, const TInt aSimState );
 
         // Prohibit copy constructor if not deriving from CBase.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/ss_settings_api/inc/sssettingswrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  
+ *
+ */
+
+#ifndef SSSETTINGSWRAPPER_H
+#define SSSETTINGSWRAPPER_H
+
+
+#include <QObject>
+#include <sssettingswrappertypes.h>
+
+class RSSSettings;
+class SsSettingsWrapperPrivate;
+
+#ifdef BUILD_SSSETTINGSWRAPPER
+#define SSSETTINGSWRAPPER_EXPORT Q_DECL_EXPORT
+#else
+#define SSSETTINGSWRAPPER_EXPORT Q_DECL_IMPORT
+#endif
+
+class SSSETTINGSWRAPPER_EXPORT SsSettingsWrapper: public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit SsSettingsWrapper(QObject *parent = NULL);
+    virtual ~SsSettingsWrapper();
+    
+public: // Functions:  
+    /**
+     Getter for supplementary service setting values.
+     @param     setting      Enumeration of which setting is get.
+     @param     value        Setting value.
+     @return    Zero if no error occurred.
+     */
+    int get(SsSettingsWrapperSettings setting, int &value);
+
+    /**
+     Setter for supplementary service setting values.
+     @param     setting      Enumeration of which setting is set.
+     @param     value        Setting value.
+     @return    Zero if no error occurred.
+     */
+    int set(SsSettingsWrapperSettings setting, int value );
+
+signals: 
+    /**
+     Signals when supplementary setting value changes.
+     @param     setting      Enumeration of which setting is changed.
+     @param     value        Setting value.
+     */
+    void phoneSettingChanged( 
+        SsSettingsWrapperSettings setting,
+        int newValue );
+
+private: // Data: 
+    // Own
+    RSSSettings *m_ssSettings;
+    
+    // Wrapper
+    // Own
+    SsSettingsWrapperPrivate* m_Priv;
+    friend class SsSettingsWrapperPrivate;
+    
+};
+#endif // SSSETTINGSWRAPPER
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/ss_settings_api/inc/sssettingswrappertypes.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#ifndef SSSETTINGSWRAPPERTYPES_H_
+#define SSSETTINGSWRAPPERTYPES_H_
+
+    
+/**
+* It enumerates all SSSettings settings.
+*
+* Cug         - closed user group setting,
+*                     for some values see TSSSettingsCugValue.
+* Clir        - default setting for calling line identification
+*                     restriction, see SsSettingsWrapperClirValue.
+* Als         - selected line, see SsSettingsWrapperAlsValue.
+* AlsBlocking - line selection blocking, see SsSettingsWrapperAlsBlockingValue.
+* DefaultCug - value for cug default.
+*/
+typedef enum {
+    Cug = 0,  // == ESSSettingsCug
+    Clir = 1,   // == ESSSettingsClir
+    Als = 2,    // == ESSSettingsAls
+    AlsBlocking = 3,  // == ESSSettingsAlsBlocking
+    DefaultCug = 4    // == ESSSettingsCugDefault
+    } SsSettingsWrapperSettings;
+    
+/**
+* Translation table for TSSSettingsAlsValue
+* It enumerates all values for ALS.
+*
+* AlsNotSupported - ALS not supported, always primary line.
+* AlsPrimary - ALS supported, primary line selected.
+* AlsAlternate - ALS supported, alternate line selected.
+*/
+typedef enum  {
+    AlsNotSupported = 0, // == TSSSettingsAlsValue::ESSSettingsAlsNotSupported
+    AlsPrimary = 1, // == TSSSettingsAlsValue::ESSSettingsAlsPrimary
+    AlsAlternate = 2 // == TSSSettingsAlsValue::ESSSettingsAlsAlternate
+    } SsSettingsWrapperAlsValue;   
+
+/**
+* Translation table for TSSSettingsAlsBlockingValue
+* It enumerates all values for ALS blocking.
+*
+* AlsBlockingNotSupported - ALS blocking not supported.
+* AlsBlockingOff - ALS blocking off.
+* AlsBlockingOn - ALS blocking on.
+*/
+typedef enum {
+    AlsBlockingNotSupported = 0, // == ESSSettingsAlsBlockingNotSupported,
+    AlsBlockingOff, // == ESSSettingsAlsBlockingOff
+    AlsBlockingOn // == ESSSettingsAlsBlockingOn
+    } SsSettingsWrapperAlsBlockingValue;
+
+/**
+* It enumerates all values for CLIR.
+*
+* ClirNetworkDefault - use network default
+* ClirExplicitInvoke - by default, invoke CLIR
+* ClirExplicitSuppress - by default, suppress CLIR
+*/
+typedef enum {
+    ClirNetworkDefault,    // == ESSSettingsClirNetworkDefault
+    ClirExplicitInvoke,    // == ESSSettingsClirExplicitInvoke
+    ClirExplicitSuppress    // == ESSSettingsClirExplicitSuppress
+    } SsSettingsWrapperClirValue;
+    
+#endif /* SSSETTINGSWRAPPERTYPES_H_ */
--- a/phonesrv_plat/string_parser_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,19 +24,19 @@
 
 PRJ_EXPORTS
 
-../inc/PhoneGsmParser.h     MW_LAYER_PLATFORM_EXPORT_PATH(PhoneGsmParser.h)
-../inc/CPhoneGsmPhoneNumberHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmPhoneNumberHandler.h)
-../inc/CPhoneGsmParserResult.inl     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmParserResult.inl)
-../inc/CPhoneGsmHandlerContainer.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmHandlerContainer.h)
-../inc/CPhoneGsmParserResult.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmParserResult.h)
-../inc/CPhoneGsmHandlerBase.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmHandlerBase.h)
-../inc/CPhoneGsmSsCallHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmSsCallHandler.h)
-../inc/CPhoneGsmMiscHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmMiscHandler.h)
-../inc/CPhoneGsmParserBase.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmParserBase.h)
-../inc/CPhoneGsmManufacturerHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmManufacturerHandler.h)
-../inc/CPhoneGsmSimControlHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmSimControlHandler.h)
-../inc/CPhoneGsmPcnProcedureHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmPcnProcedureHandler.h)
-../inc/CPhoneGsmSsHandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmSsHandler.h)
-../inc/CPhoneGsmOptionContainerBase.h     MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmOptionContainerBase.h)
-../inc/CPhoneGsmEmergencyNumberHandler.h MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneGsmEmergencyNumberHandler.h)
-../inc/CPhoneVoipNumberHandler.h MW_LAYER_PLATFORM_EXPORT_PATH(CPhoneVoipNumberHandler.h)
\ No newline at end of file
+../inc/phonegsmparser.h     MW_LAYER_PLATFORM_EXPORT_PATH(phonegsmparser.h)
+../inc/cphonegsmphonenumberhandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmphonenumberhandler.h)
+../inc/cphonegsmparserresult.inl     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmparserresult.inl)
+../inc/cphonegsmhandlercontainer.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmhandlercontainer.h)
+../inc/cphonegsmparserresult.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmparserresult.h)
+../inc/cphonegsmhandlerbase.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmhandlerbase.h)
+../inc/cphonegsmsscallhandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmsscallhandler.h)
+../inc/cphonegsmmischandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmmischandler.h)
+../inc/cphonegsmparserbase.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmparserbase.h)
+../inc/cphonegsmmanufacturerhandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmmanufacturerhandler.h)
+../inc/cphonegsmsimcontrolhandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmsimcontrolhandler.h)
+../inc/cphonegsmpcnprocedurehandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmpcnprocedurehandler.h)
+../inc/cphonegsmsshandler.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmsshandler.h)
+../inc/cphonegsmoptioncontainerbase.h     MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmoptioncontainerbase.h)
+../inc/cphonegsmemergencynumberhandler.h MW_LAYER_PLATFORM_EXPORT_PATH(cphonegsmemergencynumberhandler.h)
+../inc/cphonevoipnumberhandler.h MW_LAYER_PLATFORM_EXPORT_PATH(cphonevoipnumberhandler.h)
\ No newline at end of file
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmEmergencyNumberHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmEmergencyNumberHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMEMERGENCYNUMBERHANDLER_H
 
 // INCLUDES
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // CLASS DECLARATION
 
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmHandlerContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmHandlerContainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 // INCLUDES
 #include    <e32base.h>
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // CLASS DECLARATION
 
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmManufacturerHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmManufacturerHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMMANUFACTURERHANDLER_H
 
 // INCLUDES
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // CLASS DECLARATION
 
@@ -45,25 +45,20 @@
         * EBadPin2Unblock - bad PIN2 unblock request
         * EActivateRfsNormal - RFS activation
         * EActivateRfsDeep - RFS activation, deep version
-        * EActivateWarranty - Warranty application activation
         * EShowBtAddress - BT address display
         * EResetWallet - Wallet reset
-        * ELifeTimer - Life timer
         * EBTLoopback - BT RF loopback activation/deactivation
         * EBTDebugMode - BT debug mode activation
         */
         enum
             {
-            EShowVersion,
             EBadPinChange,
             EBadPin2Change,
             EBadPinUnblock,
             EBadPin2Unblock,
             EActivateRfsNormal,
             EActivateRfsDeep,
-            EActivateWarranty,
             EShowBtAddress,
-            ELifeTimer,
             EBTLoopback,
             EShowWlanMac,
             EBTDebugMode
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmMiscHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmMiscHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMMISCHANDLER_H
 
 // INCLUDES
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // CLASS DECLARATION
 
@@ -36,11 +36,6 @@
     public: // New functions
         
         /**
-        * Process IMEI display.
-        */
-        virtual void ProcessShowIMEIL() = 0;
-
-        /**
         * Process USSD request.
         *
         * @param aString It is string to be sent.
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmParserBase.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmParserBase.h	Tue Aug 31 15:45:17 2010 +0300
@@ -70,7 +70,7 @@
 const TUint32 KPhoneGsmUidDialPhoneNumber = 3;
 
 /**
-* Misc GSM required strings, most notably USSD and IMEI.
+* Misc GSM required strings, most notably USSD.
 */
 const TUint32 KPhoneGsmUidMisc = 4;
 
@@ -104,8 +104,6 @@
 */
 const TUint32 KPhoneUidUnstructuredService = 
     PHONE_MAKE_UID( KPhoneGsmUidMisc, 0 );
-const TUint32 KPhoneUidIMEI =
-    PHONE_MAKE_UID( KPhoneGsmUidMisc, 1 );
 
 // FORWARD DECLARATIONS
 class CPhoneGsmParserResult;
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmParserResult.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmParserResult.h	Tue Aug 31 15:45:17 2010 +0300
@@ -135,7 +135,7 @@
 
     };
 
-#include    "CPhoneGsmParserResult.inl"
+#include    "cphonegsmparserresult.inl" 
 
 #endif      // CPHONEGSMPARSERRESULT_H
             
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmPcnProcedureHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmPcnProcedureHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMPCNPROCEDUREHANDLER_H
 
 // INCLUDES
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // CLASS DECLARATION
 
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmPhoneNumberHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmPhoneNumberHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMPHONENUMBERHANDLER_H
 
 // INCLUDES
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // CLASS DECLARATION
 
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmSimControlHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmSimControlHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMSIMCONTROLHANDLER_H
 
 // INCLUDES
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // CLASS DECLARATION
 
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmSsCallHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmSsCallHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMSSCALLHANDLER_H
 
 // INCLUDES
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // CLASS DECLARATION
 
--- a/phonesrv_plat/string_parser_api/inc/CPhoneGsmSsHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneGsmSsHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMSSHANDLER_H
 
 // INCLUDES
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // FORWARD DECLARATIONS
 class CPhoneGsmParserResult;
--- a/phonesrv_plat/string_parser_api/inc/CPhoneVoipNumberHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/string_parser_api/inc/CPhoneVoipNumberHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEVOIPNUMBERHANDLER_H
 
 // INCLUDES
-#include    "CPhoneGsmHandlerBase.h"
+#include    "cphonegsmhandlerbase.h" 
 
 // CLASS DECLARATION
 
--- a/phonesrv_plat/telephony_mediator_api/inc/callremotepartyinformation.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/telephony_mediator_api/inc/callremotepartyinformation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CALLREMOTEPARTYINFORMATION_H
 
 #include <e32base.h>
-#include <mcallremotepartyinfo.h>
+#include <mcallremotepartyinfo.h> 
 
 class RWriteStream;
 
--- a/phonesrv_plat/telephony_network_information_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/telephony_network_information_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -24,4 +24,4 @@
 
 PRJ_EXPORTS
 
-../inc/NetworkHandlingDomainPSKeys.h     MW_LAYER_PLATFORM_EXPORT_PATH(NetworkHandlingDomainPSKeys.h)
+../inc/networkhandlingdomainpskeys.h     MW_LAYER_PLATFORM_EXPORT_PATH(networkhandlingdomainpskeys.h)
--- a/phonesrv_plat/telephony_network_information_api/inc/NetworkHandlingDomainPSKeys.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/telephony_network_information_api/inc/NetworkHandlingDomainPSKeys.h	Tue Aug 31 15:45:17 2010 +0300
@@ -33,9 +33,9 @@
 
 enum KNWZoneStatus
     {
-	ENWNone,
-	ENWCityZone, 
-	ENWHomeZone	
+    ENWNone,
+    ENWCityZone, 
+    ENWHomeZone 
     };
 
 /**
--- a/phonesrv_plat/voice_mailbox_number_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/voice_mailbox_number_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -10,13 +10,11 @@
 * Nokia Corporation - initial contribution.
 *
 * Contributors:
-*
-* Description:  File that exports the files belonging to 
-:                Voice Mailbox Number API
+ *
+* Description:
 *
 */
 
-
 #include <platform_paths.hrh>
 
 PRJ_PLATFORMS
@@ -24,4 +22,7 @@
 
 PRJ_EXPORTS
 
-../inc/vmnumber.h     MW_LAYER_PLATFORM_EXPORT_PATH(vmnumber.h)
+../inc/cvoicemailbox.h     MW_LAYER_PLATFORM_EXPORT_PATH(cvoicemailbox.h)
+../inc/voicemailboxdefs.h     MW_LAYER_PLATFORM_EXPORT_PATH(voicemailboxdefs.h)
+../inc/mvoicemailboxobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(mvoicemailboxobserver.h)
+../inc/cvoicemailboxentry.h     MW_LAYER_PLATFORM_EXPORT_PATH(cvoicemailboxentry.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/voice_mailbox_number_api/inc/cvoicemailbox.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,360 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Interface for fetching/saving the vmbx entries.
+*                Also notify on a number change is supported.
+*  Interface   : External, CVoiceMailbox
+*
+*/
+
+#ifndef C_VOICEMAILBOX_H
+#define C_VOICEMAILBOX_H
+
+//  INCLUDES
+#include <voicemailboxdefs.h>
+
+// FORWARD DECLARATIONS
+class MVoiceMailboxObserver;
+class CVoiceMailboxImpl;
+class CVoiceMailboxEntry;
+
+/**
+ *  Parameter package for Voice Mailbox API operations.
+ *
+ *  @lib vmbxengine.lib
+ */
+class TVoiceMailboxParams
+    {
+public:
+    /**
+     * Version of parameter package.
+     */
+    IMPORT_C TInt Version();
+
+    /**
+     * Default constructor.
+     */
+    IMPORT_C TVoiceMailboxParams();
+
+    /**
+     * Constructor for CVoiceMailboxEntry
+     */
+    IMPORT_C TVoiceMailboxParams( const CVoiceMailboxEntry& aEntry );
+
+public:
+
+    /**
+     * Mailbox type.
+     */
+    TVmbxType iType;
+
+    /**
+     * Mailbox service id.
+     */
+    TServiceId iServiceId;
+
+    /**
+     * Mailbox line type.
+     * Initialized to EVmbxAlsLineDefault.
+     */
+    TVmbxAlsLineType iLineType;
+
+protected:
+
+    /**
+     * TVoiceMailboxParams package version.
+     */
+    TInt iVersion;
+
+};
+
+/**
+ *  CVoiceMailbox offers an interface for fetching and saving
+ *  voice mailbox entries.
+ *  The API offers also services for querying a new number or to
+ *  change an existing one.
+ *
+ *  @code
+ *
+ *  In this example user selects type of a mailbox to use. Then number
+ *  of selected mailbox is fetched. If number wasn't set, then user
+ *  is queried to enter a number for the selected mailbox.
+ *
+ *  // Creates instance of CVoiceMailbox
+ *  CVoiceMailbox* voicemailbox = CVoiceMailbox::NewLC();
+ *
+ *  // Selected mailbox type
+ *  TVoiceMailboxParams vmbxParams;
+ *
+ * //Launch type selection query
+ *  TInt error = voicemailbox->QueryVmbxType( vmbxParams );
+ *
+ *  CVoiceMailboxEntry* vmbxEntry = NULL;
+ *  
+ *  if ( KErrNone == error )
+ *      {   
+ *      if ( KErrNone == 
+ *              voicemailbox->GetStoredEntry( vmbxParams, vmbxEntry ) )
+ *          {            
+ *          // Number retrieved succesfully, do appropriate tasks, e.g.:
+ *          TPtrC ptrNumber( KNullDesC );
+ *          TInt numError = vmbxEntry->GetVmbxNumber( ptrNumber );
+ *          if ( KErrNone == numError && ptrNumber.Length() )
+ *              {
+ *              // Do appropriate tasks, e.g dial a call.
+ *              } 
+ *          }
+ *      } 
+ *  else if ( KErrNotFound == error )
+ *      {
+ *      // No number defined, query new entry from user
+ *      error = voicemailbox->QueryNewEntry( vmbxParams, vmbxEntry );
+ *      if ( KErrNone == error )
+ *          {
+ *          // Do appropriate tasks, e.g. save and dial a call.
+ *          error = voicemailbox->SaveEntry( *vmbxEntry ); 
+ *          // For example get the number/address using 
+ *          // vmbxEntry->GetVmbxNumber() and then dial a call
+ *          }
+ *      // else: problem getting the new number/address, e.g. skip
+ *      }
+ * 
+ *  else
+ *      {
+ *      // User cancelled or no supported mailboxes configured
+ *      }
+ *       
+ *  delete vmbxEntry; // Entry ownership was transferred
+ *  vmbxEntry = NULL;     
+ *  CleanupStack::PopAndDestroy( voicemailbox );
+ *  voicemailbox = NULL;
+ *  @endcode
+ *
+ *  @lib vmbxengine.lib
+ *  @since S60 v5.2
+ */
+
+class CVoiceMailbox : public CBase
+    {
+public:
+
+    /**
+     * Static constructor.
+     * @return New instance of the object. Ownership transferred.
+     */
+    IMPORT_C static CVoiceMailbox* NewL();
+
+    /**
+     * Static constructor.
+     * @return New instance of the object. Ownership transferred.
+     */
+    IMPORT_C static CVoiceMailbox* NewLC();
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVoiceMailbox();
+
+public:
+
+    /**
+     * Retrieves voice mailbox entry for the specified service.
+     *
+     * @param in Params Service id and type of the mailbox for which
+     *          a number/address should be defined.
+     * @param out aEntry If successful, a new result container is
+     *  created and ownership passed to the caller.
+     * @return - KErrNone if an entry is found.
+     *         - KErrNotFound if no entry available
+     *         - KErrArgument when illegal argument
+     *         - Other system wide errors.
+     */
+    IMPORT_C virtual TInt GetStoredEntry(
+                            const TVoiceMailboxParams& aParams,
+                            CVoiceMailboxEntry*& aEntry ) const;
+
+    /**
+     * Saves the vmbx entry to its storage.
+     *
+     * Some mailbox types may not support saving all arguments.
+     * In that case unsupported arguments are ignored.
+     * This method may display related UI notes or queries.
+     *
+     * @param in aEntry The vmbx entry to save.
+     * @return - KErrNone if the entry was saved
+     *         - KErrNotSupported if not capable or allowed to execute this
+     *              for the specified mailbox service.
+     *         - KErrArgument When illegal argument was passed.
+     *         - Other system wide errors.
+     */
+    IMPORT_C virtual TInt SaveEntry( const CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Displays a query asking the user to define a mailbox number/address.
+     * Returns the input which the user entered, but does not save it.
+     * For that caller has to use SaveEntry().
+     * This method may display related UI notes or queries.
+     *
+     * If editing for the specified mailbox service is not allowed, 
+     * this method displays an error note and returns an error.
+     * If client is interested, CheckConfiguration()
+     * can be used to check permissions.
+     *
+     *
+     * @param in aParams Service id and type of the mailbox for which
+     *          a number/address should be defined.
+     * @param out aEntry If successful, a new result container is
+     *  created and ownership passed to the caller.
+     * @return - KErrNone if the number was entered.
+     *         - KErrNotFound if the number is not defined
+     *                        (user entered no number or selected Cancel)
+     *         - KErrArgument When illegal argument.
+     *         - KErrNotSupported if not capable or allowed to execute this
+     *              for the specified mailbox.
+     *         - Other system wide errors.
+     */
+    IMPORT_C virtual TInt QueryNewEntry(
+                                    const TVoiceMailboxParams& aParams,
+                                    CVoiceMailboxEntry*& aEntry );
+
+    /**
+     * Displays a query asking the user to change a mailbox number/address.
+     * Returns the input from user, but does not save it.
+     * For that caller has to use SaveEntry().
+     *
+     * If editing for the specified mailbox service is not allowed, 
+     * this method displays an error note and returns an error.
+     * If client is interested, CheckConfiguration()
+     * can be used to check permissions.
+     *
+     * @param in aParams Service id and type of the mailbox.
+     * @param out aEntry If successful, a new result container is
+     *  created and ownership passed to the caller.
+     * @return - KErrNone if the number was entered.
+     *           aNumber will contain the vmbx number.
+     *         - KErrCancel If the user selected Cancel.
+     *         - KErrArgument When illegal argument.
+     *         - KErrNotSupported if not capable or allowed to execute this
+     *              for the specified mailbox.
+     *         - Other system wide errors.
+     */
+    IMPORT_C virtual TInt QueryChangeEntry( 
+            const TVoiceMailboxParams& aParams, CVoiceMailboxEntry*& aEntry );
+
+    /**
+     * Displays a query on the screen asking the user to select a
+     * Voice Mailbox service.
+     *
+     * @param out aParams If successful,
+     *          contains selected mailbox info.
+     * @return - KErrNone if successful.
+     *         - KErrCancel if user selected Cancel
+     *         - KErrNotFound if there is no defined voice number and
+     *             user have selected the type to define or the default
+     *             type given.
+     *         - Other system wide errors.
+     */
+    IMPORT_C virtual TInt QueryVmbxType(
+                            TVoiceMailboxParams& aParams );
+
+    /**
+     * Issues a notify request on a vmbx number/address change.
+     *
+     * The observer callback will be called whenever any vmbx number/address
+     * has changed on those mailboxes which support observing.
+     *
+     * Only one notify request can be pending. Method will leave with KErrInUse
+     *  if a second request is issued while one is active already.
+     * Leaves if the notify request could not be served.
+     *
+     * @param in aObserver The observer for the notification.
+     * @param in aNotifyOnActiveLineOnly if this is ETrue, notify events will
+     *        be generated only if the vmbx number of the active ALS line is
+     *        changed, not if the number of the other line is changed. When
+     *        there is no ALS support, this has no effect ie. notification
+     *        will be generated always.
+     */
+    IMPORT_C virtual void NotifyVmbxNumberChangeL(
+                                 MVoiceMailboxObserver& aObserver,
+                                 const TBool aNotifyOnActiveLineOnly );
+
+    /**
+     * Cancels a notify request on a vmbx number change.
+     *
+     */
+    IMPORT_C virtual void NotifyVmbxNumberChangeCancel();
+
+    /**
+     * Checks the Voice Mailbox configuration to find out if a features
+     * are disabled or enabled.
+     *
+     * @param in aParams Specifies which mailbox capabilities,
+     *          the caller wants to check.
+     * @param in aFlags Use TVmbxFeatureCapabilityFlag values 
+     *          for this parameter.
+     *          Specifies what features client wants to check.
+
+     * @return True if feature(s) enabled.
+     */
+    IMPORT_C virtual TBool CheckConfiguration(
+                                const TVoiceMailboxParams& aParams,
+                                const TInt aFlags );
+
+
+    /**
+     * Checks the Voice Mailbox how many VoIP service Ids
+     *
+     * @param out aProfileIds
+     * @return KErrNone if get service Ids successfully.
+     */
+    IMPORT_C virtual TInt GetServiceIds( RIdArray& aProfileIds ) const;
+
+    /**
+     * Saves provisioned entry to corresponding storage.
+     *
+     * Some mailbox types may not support saving all arguments.
+     * In that case unsupported arguments are ignored.
+     *
+     * @param in aEntry The provisioned vmbx entry to save.
+     * @return - KErrNone if the entry was saved
+     *         - KErrNotSupported if not capable or allowed to execute this
+     *              for the specified mailbox service.
+     *         - KErrArgument When illegal argument was passed.
+     *         - Other system wide errors.
+     */
+    IMPORT_C TInt SaveProvisionedEntry( const CVoiceMailboxEntry& aEntry );
+
+protected:
+
+    /**
+     * Second phase constructor.
+     *
+     */
+    void ConstructL();
+
+    /**
+     * Default constructor.
+     *
+     */
+    CVoiceMailbox();
+
+private: // data
+
+    /**
+     * Implementation of the client API.
+     * Own.
+     **/
+    CVoiceMailboxImpl* iBody;
+    };
+
+#endif // C_VOICEMAILBOX_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/voice_mailbox_number_api/inc/cvoicemailboxentry.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  External, CVoiceMailboxEntry
+*
+*/
+
+#ifndef C_VOICEMAILBOXENTRY_H
+#define C_VOICEMAILBOXENTRY_H
+
+#include <e32base.h>
+#include <voicemailboxdefs.h>
+
+/**
+ *  Container class for Voice Mailbox info.
+ *  @lib vmbxengine.lib
+ */
+
+class CVoiceMailboxEntry : public CBase
+    {
+public:
+
+    /**
+     * Static constructor.
+     * @return New instance of the object. Ownership transferred.
+     */
+    IMPORT_C static CVoiceMailboxEntry* NewL();
+
+    /**
+     * Static constructor.
+     * @return New instance of the object. Ownership transferred.
+     */
+    IMPORT_C static CVoiceMailboxEntry* NewLC();
+
+    /**
+     * Destructor
+     *
+     */
+    virtual ~CVoiceMailboxEntry();
+
+    /**
+     * Gets the Voice Mailbox service.
+     *
+     * @return Mailbox service.
+     */
+    IMPORT_C virtual TServiceId ServiceId() const;
+
+    /**
+     * Sets the Voice Mailbox service to container.
+     *
+     * @param in aVmbxServiceId Voice Mailbox service.
+     */
+    virtual void SetServiceId(
+                            const TServiceId& aVmbxServiceId );
+
+    /**
+     * Gets the Voice Mailbox type.
+     *
+     * @return Mailbox type.
+     */
+    IMPORT_C virtual TVmbxType VoiceMailboxType() const;
+
+    /**
+     * Sets the Voice Mailbox type to container.
+     *
+     * @param in aVmbxType Voice Mailbox type.
+     */
+    IMPORT_C virtual void SetVoiceMailboxType(
+                            const TVmbxType& aVmbxType );
+
+    /**
+     * Gets the Voice Mailbox line type.
+     *
+     * @return Mailbox line type.
+     *      EVmbxAlsLineDefault is returned if mailbox does not
+     *      support several lines.
+     */
+    IMPORT_C virtual TVmbxAlsLineType VmbxAlsLineType() const;
+
+    /**
+     * Sets the Voice Mailbox line type to container.
+     * EVmbxAlsLineDefault is used by default.
+     *
+     * @param in aLine Selected Voice Mailbox line type.
+     */
+    virtual void SetVmbxAlsLineType(
+                            const TVmbxAlsLineType& aLine );
+
+    /**
+     * Gets the Voice Mailbox number or address.
+     *
+     * @param out aVmbxNumber If successful, contains the returned 
+     *   mailbox number or address.
+     * @return One of the system wide error codes.
+     */
+    IMPORT_C virtual TInt GetVmbxNumber( TPtrC& aVmbxNumber ) const;
+
+    /**
+     * Sets the Voice Mailbox number or address to container.
+     *
+     * @param in aVmbxNumber New Voice Mailbox number or address.
+     * @return One of the system wide error codes.
+     */
+    IMPORT_C virtual TInt SetVmbxNumber( const TDesC& aVmbxNumber );
+
+    /**
+     * Gets the Voice Mailbox brand id.
+     *
+     * @param out aBrandId If successful, contains the returned Brand id.
+     * @return One of the system wide error codes.
+     */
+    IMPORT_C virtual TInt GetBrandId( TPtrC8& aBrandId ) const;
+
+    /**
+     * Sets the Voice Mailbox Brand Id to container.
+     *
+     * @param in aBrandId New Brand Id.
+     * @return One of the system wide error codes.
+     */
+    virtual TInt SetBrandId(
+                            const TDesC8& aBrandId );
+
+    /**
+     * Gets the VoIp name.
+     *
+     * @param out aVmbxName If successful, contains the returned mailbox name.
+     * @return One of the system wide error codes.
+     */
+    IMPORT_C virtual TInt GetVmbxName( TPtrC& aVmbxName ) const;
+
+    /**
+     * Sets the VoIp name to container.
+     *
+     * @param in aVmbxName New Voice Mailbox name.
+     * @return One of the system wide error codes.
+     */
+    IMPORT_C virtual TInt SetVmbxName( const TDesC& aVmbxName );
+
+    /**
+     * Gets the type of memory location.
+     *
+     * @return Memory location type.
+     */
+    IMPORT_C virtual TVmbxMemoryLocation UsingMemoryLocation( ) const;
+
+    /**
+     * Resets the container to initial state.
+     *
+     */
+    IMPORT_C virtual void Reset();
+
+    /**
+     * Sets the using memory location to entry.
+     *
+     * @param in aType Memory location type.
+     */
+    virtual void SetUsingMemoryLocation( 
+                                     const TVmbxMemoryLocation& aType );
+
+protected:
+
+    /**
+     * Second phase constructor.
+     *
+     */
+    void ConstructL();
+
+private:
+
+     /**
+     * Default constructor.
+     *
+     */
+
+    CVoiceMailboxEntry();
+
+private: // data
+
+    /**
+     * Mailbox service id.
+     */
+    TServiceId iVmbxServiceId;
+
+    /**
+     * Mailbox type.
+     */
+    TVmbxType iVmbxType;
+
+    /**
+     * Mailbox als line type.
+     */
+    TVmbxAlsLineType iVmbxLineType;
+
+    /**
+     * Number of vmbx.
+     * Own.
+     */
+    HBufC* ivmbxNumber;
+
+    /**
+     * Brand id of vmbx.
+     * Own.
+     */
+    HBufC8* iVmbxBrandId;
+
+    /**
+     * Name of vmbx.
+     * Own.
+     */
+    HBufC* ivmbxName;
+
+    /**
+     * Mailbox Memory location.
+     */
+    TVmbxMemoryLocation iUsingMemory;
+
+    };
+
+#endif // C_VOICEMAILBOXENTRY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/voice_mailbox_number_api/inc/mvoicemailboxobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Notifies when mailbox numbers are changed
+*  Interface   : External, MVoiceMailboxObserver
+*
+*/
+
+#ifndef M_VOICEMAILBOXOBSERVER_H
+#define M_VOICEMAILBOXOBSERVER_H
+
+class CVoiceMailboxEntry;
+
+// INCLUDES
+/**
+ *  Notifier for vmbx number/address changes
+ *
+ *  @lib vmbxengine.lib
+ *
+ */
+class MVoiceMailboxObserver
+    {
+public:
+
+   /**
+    * Observer callback function which is called when
+    * changes to voice mailbox entries occur.
+    *
+    * @param aVmbxEntry The new vmbx entry.
+    */
+    virtual void HandleNotifyL( const CVoiceMailboxEntry& aVmbxEntry ) = 0;
+
+    };
+
+#endif // M_VOICEMAILBOXOBSERVER_H
--- a/phonesrv_plat/voice_mailbox_number_api/inc/vmnumber.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1415 +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:  Interface for fetching/saving the vmbx number and querying
-*                for it.
-*                Also notify on a number change is supported.
-*
-*/
-
-
-#ifndef VMNUMBER_H
-#define VMNUMBER_H
-
-// INCLUDES
-/*****************************************************
-*  Series 60 Customer / ETel
-*  Series 60 ETel API
-*****************************************************/
-#include <etelmm.h>
-#include <etelsat.h>
-#include <mmtsy_names.h>
-
-#include <PhCltTypes.h>         // from PhoneClient
-
-#include <MSSSettingsObserver.h>
-#include <msatrefreshobserver.h>
-#include <rsatsession.h>
-#include <rsatrefresh.h>
-#include <centralrepository.h>
-#include <cenrepnotifyhandler.h>
-#include <aknappui.h>
-#include <AknQueryDialog.h>
-#include <CPhCltEmergencyCall.h>     // CPhCltEmergencyCall
-#include <MPhCltEmergencyCallObserver.h>
-
-// FORWARD DECLARATIONS
-
-class CVmSPSHandler;
-
-// CONSTANTS
-
-
-_LIT( KEmptyVoiceMailNumber, "" );
-
-enum TVmbxQueryType
-    {
-    EVmbxNotDefinedQuery,   // use this
-    EVmbxChangeNumberQuery  // this is only for vmbx application
-    };
-
-enum TVmbxNumberEntry
-    {
-    EAlsActiveLineEntry = 0,    // currently active ALS line
-    EAlsLine1Entry = 1,         // ALS primary line
-    EAlsLine2Entry = 2          // ALS auxiliary line
-    };
-
-enum TVmbxAlsLine
-    {
-    EAlsLine1 = 1,
-    EAlsLine2 = 2
-    };
-
-enum TVmbxPhonebookOperation
-    {
-    EVmbxPhonebookGetInfo,
-    EVmbxPhonebookRead,
-    EVmbxPhonebookWrite,
-    EVmbxPhonebookDelete
-    };
-
-
-enum TVmbxMemoryLocation
-    {
-    EVmbxSimMemory = 0,
-    EVmbxPhoneMemory
-    };
-
-_LIT( KVmbxPanicCategory, "RVmbxNumber");
-
-enum TVmbxPanic
-    {
-    EVmbxNotConnected       = 0,
-    EVmbxDescriptorTooSmall = 1,
-    EVmbxNumberTooLong      = 2,
-    EVmbxNoNotifyHandler    = 3,
-    EVmbxNoCoeEnv           = 4,
-    EVmbxUnhandledOperation = 5
-    };
-
-enum TVmbxSimNumAcceptance
-    {
-    EVmbxSimNumNotAccepted = 0,
-    EVmbxSimNumAccepted
-    };
-
-enum TVmbxUserEditIndicator
-    {
-    EVmbxNotUserEdit = 0,
-    EVmbxUserEdit,
-    EvmbxPhoneMemForcedEdit
-    };
-
-const TInt KVmbxMaxNumberLength = KPhCltTelephoneNumberLength;
-const TInt KVmbxMaxAddressLength = 100;
-
-// Phonebook entry name length
-const TInt KVmbxPhoneBookEntryNameLength = 5;
-
-// Branding id
-const TInt KVmSettingsUiBrandingIdLength = 512;
-
-// Publish & Subscribe property category definition
-
-enum TVmbxNumType
-    {
-    EVmbxMDN,
-    EVmbxMIN
-    };
-
-enum TVmbxType
-    {
-    EVmbx,
-    EVmbxIP,
-    EVmbxVideo,
-    EVmbxNone
-    };
-
-enum TVmbxTitle
-    {
-    EVmbxCall,
-    EVmbxDefine
-    };
-
-// Phonebook types (VMBX = 6f17)
-enum TVmSimPhoneBookTypes
-    {
-    EVMBXPhoneBook = 0,
-    EMBDNPhoneBook
-    };
-
-
-// FORWARD DECLARATIONS
-class CVmTextQueryDialog;
-class CCoeEnv;
-class CVPbkContactManager;
-class CPhCntSingleItemFetch;
-class CVMSimQueryDilaog;
-class CVmListQueryDialog;
-class CVmBSHandler;
-// CLASS DECLARATION
-
-/**
-*  TVmbxEntry
-*  Contains vmbx sim entry data.
-*
-*  @lib vmbx.lib
-*  @since 2.0
-**/
-class TVmbxEntry
-    {
-    public: // Constructors and destructor
-
-        /**
-        * C++ default constructor.
-        */
-        TVmbxEntry() : iIndex( 0 )
-            {
-            iTelNumber.FillZ();
-            iTelNumber.Zero();
-            };
-
-    public: // Data
-
-        // Data index
-        TInt iIndex;
-
-        // Telefony number
-        TBuf16<KVmbxMaxNumberLength> iTelNumber;
-
-        // Phonebook entry name
-        TBuf16<KVmbxPhoneBookEntryNameLength> iText;
-    };
-
-/**
-*  MVmbxNotifyHandler
-*
-*  @lib vmbx.lib
-*  @since
-**/
-class MVmbxNotifyHandler
-    {
-    public:
-        /**
-        * Does the action user wants when a vmbx number has been changed.
-        * If the parameter aNotifyOnActiveLineOnly was ETrue in notify request,
-        * only a change of the vmbx number of the active ALS line causes
-        * calling this.
-        *
-        * @param aLine ALS line of which number was changed ( 1 or 2 )
-        * @param aValue the new vmbx number of that line.
-        * (this reference is only valid in scope of this method)
-        */
-        virtual void HandleNotifyL( TInt aLine, const TDesC& aValue ) = 0;
-    };
-
-
-/**
- *  Observer interface for ServiceNotifier.
- *
- *  @since S60 3.2
- **/
-class MServiceNotifyHandler
-    {
-    public:
-
-        /**
-        * Called when a Service profile has been changed.
-        */
-        virtual void HandleServiceNotifyL() = 0;
-    };
-
-/**
-*  MVmbxAlsObserver
-*
-*  @lib vmbx.lib
-*  @since
-**/
-class MVmbxAlsObserver
-    {
-    public:
-        /**
-        * Does the action user wants when the active ALS line has been changed.
-        *
-        * @param aLine new ALS line number ( 1 or 2 )
-        **/
-        virtual void HandleAlsChangeL( TVmbxAlsLine aLine ) = 0;
-
-    };
-
-
-/**
- *  TVmbxServiceInfo, contains Service information.
- *
- *  @since S60 3.2
- **/
-class TVmbxServiceInfo
-    {
-    public: // Constructors and destructor
-
-        TVmbxServiceInfo()
-            {
-            iServiceId = 0;
-            iSnapId    = 0;
-            }
-
-    public: // Data
-
-        // Service's Id
-        TUint       iServiceId;
-
-        // Service's SNAP Id
-        TUint32     iSnapId;
-
-        // Service's name.
-        TBuf<64>    iName;
-
-        // Service's address.
-        TBuf<KVmbxMaxAddressLength> iAddress;
-    };
-
-
-/**
- *  TVmbxServiceSelection, contains selected service information.
- *
- *  @since S60 3.2
- **/
-class TVmbxServiceSelection
-    {
-    public: // Constructors and destructor
-
-        TVmbxServiceSelection( TVmbxType aServiceType = EVmbxNone,
-                               TUint aServiceId = 0 )
-            {
-            iServiceType = aServiceType;
-            iServiceId   = aServiceId;
-            }
-
-    public: // Data
-
-        // Service type
-        TVmbxType   iServiceType;
-
-        // Service Id
-        TUint      iServiceId;
-
-    };
-
-
-/**
-*  RVmbxNumber
-*
-*  @lib vmbx.lib
-*  @since
-**/
-class RVmbxNumber : public MCenRepNotifyHandlerCallback,
-                    public MSSSettingsObserver,
-                    public MSatRefreshObserver,
-                    public MPhCltEmergencyCallObserver
-    {
-    public:
-        /**
-        * status for QueryNumberL.
-        * EVmQueryNormal Query number running normal case
-        * EVmQueryProcess Query number running FOREVER case
-        */
-        enum TVmVmQueryStatusType
-            {
-            EVmQueryNormal = 0,
-            EVmQueryProcess
-            };
-
-    public:
-
-        /**
-        * C++ default constructor.
-        */
-        IMPORT_C RVmbxNumber();
-
-        /**
-        * Destructor.
-        */
-        IMPORT_C ~RVmbxNumber();
-
-    public: // New functions
-
-        /**
-        * Opens the resources needed. This or the other overloaded Open() has to
-        * be called successfully before doing anything else.
-        *
-        * ----------------------------------------------------------------------
-        * A new ETel connection is opened when using this method!
-        * ----------------------------------------------------------------------
-        *
-        * @return Symbian OS error code (KErrNone is successful)
-        **/
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        IMPORT_C TInt Open();
-
-        /**
-        * Opens the resources needed. This or the other overloaded Open() has to
-        * be called successfully before doing anything else.
-        *
-        * Use this overload if you already have ETel connection.
-        *
-        * ----------------------------------------------------------------------
-        * An existing ETel connection is used when using this method!
-        * ----------------------------------------------------------------------
-        *
-        * @param aPhone Phone client
-        * @return Symbian OS error code (KErrNone is successful)
-        **/
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        IMPORT_C TInt Open( RMobilePhone& aPhone );
-
-        /**
-        * Fetches the specified vmbx number. If there is no vmbx number
-        * saved for the specified ALS line, parameter aNumber remains unchanged
-        * and the return value is KErrNotFound.
-        *
-        * @param aNumber vmbx number is saved here (must be room for at least
-        *                KVmbxMaxNumberLength characters)
-        *
-        * @param aEntry determines which vmbx number entry is used:
-        *               EAlsLine1Entry = vmbx number entry of primary line
-        *               EAlsLine2Entry = vmbx number entry of secondary line
-        *               EAlsActiveLineEntry = entry of currently active line
-        *
-        * @return - KErrNone if the number was found.
-        *           aNumber will contain the vmbx number.
-        *
-        *         - KErrNotFound if the number is not defined
-        *
-        *         - Other error code if there was a problem in getting
-        *           the number. Clients should show error note if this happens.
-        **/
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        IMPORT_C TInt GetVmbxNumber( TDes& aNumber,
-                            TVmbxNumberEntry aEntry = EAlsActiveLineEntry );
-
-        /**
-        * Check wether the voice mailbox number can be changed. If the number
-        * cannot be edited, the QueryNumberL leaves with and SaveVmbxNumber
-        * returns KErrAccessDenied.
-        * @since 2.7
-        * @return ETrue if editing is allowed.
-        *         EFalse if editing is forbidden.
-        */
-        IMPORT_C TBool AllowedToChangeTheNumber();
-
-        /**
-        * Puts a query on the screen asking for a voice mailbox number.
-        *
-        * IMPORTANT:
-        *
-        * Other subsystems than voice mailbox application should call this
-        * ONLY IF GetVmbxNumber() returned KErrNotFound. Also, only the
-        * parameter EVmbxNotDefinedQuery should be used outside the voice
-        * mailbox application.
-        *
-        * @param aQueryType type of the query, alternatives:
-        *                   - EVmbxNotDefinedQuery
-        *                     (use this when no vmbx number is defined)
-        *
-        *                   - EVmbxChangeNumberQuery
-        * @param aNumber    Initial value for the query, AND the result value
-        *                   of an accepted query. (must be room for at least
-        *                   KVmbxMaxNumberLength characters. Not allowed to
-        *                   contain longer initial value than
-        *                   KVmbxMaxNumberLength)
-        * @param aShowQuery When this is set and the sim has support for vmbx
-        *                    number the user is shown a list query by which the
-        *                    storage of sim number can be decided
-        *
-        * @return ETrue if the query was accepted and the vmbx number saved.
-        *               This is the case also when user saves empty number!
-        *         EFalse if the user canceled the query. No vmbx number changed.
-        **/
-        IMPORT_C TBool QueryNumberL( TVmbxQueryType aQueryType, TDes& aNumber,
-                                                    TBool aShowQuery = EFalse );
-
-        /**
-        * Saves the vmbx number. (in phone file system and SIM)
-        *
-        * @param aNumber vmbx number ( max length is KVmbxMaxNumberLength )
-        * @param aEntry determines in which entry the number is saved:
-        *               EAlsLine1Entry = vmbx number entry of ALS primary line
-        *               EAlsLine2Entry = vmbx number entry of ALS secondary line
-        *               EAlsActiveLineEntry = entry of currently active ALS line
-        *
-        * @return Symbian OS error code (KErrNone is successful)
-        **/
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        IMPORT_C TInt SaveVmbxNumber( const TDesC& aNumber,
-                                      TVmbxNumberEntry aEntry );
-
-        /**
-        * Saves vmbx number to Sim
-        * @since
-        * @param aNumber Vmbx number
-        * @param aEntry Als line entry
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt SaveVmbxNumberToSim( const TDesC& aNumber,
-                                                    TVmbxNumberEntry aEntry );
-
-        /**
-        * Saves vmbx number to phone memory
-        * @since
-        * @param aNumber Vmbx number
-        * @param aEntry Als line entry
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt SaveVmbxNumberToPhone( const TDesC& aNumber,
-                                                    TVmbxNumberEntry aEntry );
-
-        /**
-        * Issues a notify request on a vmbx number change.
-        * User's HandleNotifyL() will be called whenever the vmbx number has
-        * been changed by any subsystem. Only one notify request can be done
-        * per one RVmbxNumber object simultaneously. When issuing a notify
-        * request while one is active already, only parameters aHandler and
-        * aNotifyOnActiveLineOnly are updated in existing request.
-        *
-        * @param aHandler user's notify handler
-        * @param aNotifyOnActiveLineOnly if this is ETrue, notify events will
-        *        be generated only if the vmbx number of the active ALS line is
-        *        changed, not if the number of the other line is changed. When
-        *        there is no ALS support, this has no effect ie. notification
-        *        will be generated always.
-        *
-        * Leaves if the notify request could not be done.
-        **/
-        IMPORT_C void NotifyVmbxNumberChangeL( MVmbxNotifyHandler* aHandler,
-                                                TBool aNotifyOnActiveLineOnly );
-
-        /**
-        * Cancels a notify request on a vmbx number change.
-        **/
-        IMPORT_C void NotifyVmbxNumberChangeCancel();
-
-        /**
-        * Gets the currently active ALS line number ( 1 or 2 ).
-        * Information is fetched from supplementary settings client.
-        * @param aLineNumber line number is returned here. If ALS is not
-        *                    supported, value 1 is returned.
-        * @return Symbian OS error code (KErrNone is successful)
-        **/
-        IMPORT_C TInt GetAlsLine( TInt& aLineNumber ) const;
-
-        /**
-        * Issues a notify request on active ALS line change. A callback to
-        * user's code is made when the ALS line is changed. The notify request
-        * remains active as long as it is canceled with
-        * NotifyAlsLineChangeCancel(), ie. it is not canceled when the ALS line
-        * is changed. Implementation uses SharedData's notify system.
-        * Leaves if the notify request could not be done.
-        * @param aObserver user's observer
-        **/
-        IMPORT_C void NotifyAlsLineChangeL( MVmbxAlsObserver* aObserver );
-
-        /**
-        * Cancels a notify request on ALS line change.
-        **/
-        IMPORT_C void NotifyAlsLineChangeCancel();
-
-        /**
-        * Closes the resources allocated in Open().
-        *
-        * Cancels all issued notify requests.
-        **/
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        IMPORT_C void Close();
-
-
-        /**
-        * Puts a query on the screen asking for a voice mailbox address.
-        * @since 3.0
-        *
-        * IMPORTANT:
-        *
-        * Other subsystems than voice mailbox application should call this
-        * ONLY IF GetVmbxNumber() returned KErrNotFound. Also, only the
-        * parameter EVmbxNotDefinedQuery should be used outside the voice
-        * mailbox application.
-        *
-        * @param aQueryType type of the query, alternatives:
-        *                   - EVmbxNotDefinedQuery
-        *                     (use this when no vmbx address is defined)
-        *
-        *                   - EVmbxChangeNumberQuery
-        * @param aNumber    Initial value for the query, AND the result value
-        *                   of an accepted query. (must be room for at least
-        *                   KVmbxMaxAddressLength characters. Not allowed to
-        *                   contain longer initial value than
-        *                   KVmbxMaxAddressLength)
-        * @return ETrue if the query was accepted and the vmbx address saved.
-        *               This is the case also when user saves empty address!
-        *         EFalse if the user canceled the query. No vmbx address
-        *         changed.
-        **/
-        IMPORT_C TBool QueryAddressL( TVmbxQueryType aQueryType,
-                                      TDes& aNumber );
-
-        /**
-        * Puts a popup on the screen asking for which type of Vmbx is used.
-        * @since 3.0
-        * @param aTitle Vmbx title type ( call / define ).
-        * @return which type of Vmbx is selected.
-        */
-        IMPORT_C TInt SelectTypeL( TBool aTitle );
-
-        /**
-        * Save address.
-        * @since 3.0
-        * @param aAddress includes saved vmbx address
-        * @return Symbian OS error code (KErrNone is successful)
-        **/
-        IMPORT_C TInt SaveVmbxAddressL( TDes& aAddress );
-
-        /**
-        * Check if VoIP profiles exists.
-        * @since 3.0
-        * @return ETrue if there is at least one VoIP profile, otherwise EFalse
-        */
-        IMPORT_C TBool IsVoIPProfilesFound();
-
-        /**
-        * Check if VoIP voice mailbox services exists
-        * @since 5.0
-        * @return ETrue if there is at least one service, otherwise EFalse
-        */
-        IMPORT_C TBool IsIpVoiceMailboxServices();
-
-        /**
-        * Fetches the specified video mailbox number. If there is no video
-        * mailbox number saved for the specified ALS line, parameter aNumber
-        * remains unchanged and the return value is KErrNotFound.
-        * @since 3.1
-        * @param aNumber video mailbox number is saved here (must be room for
-        *                at least KVmbxMaxNumberLength characters)
-        * @param aEntry determines which video mbx number entry is used:
-        *               EAlsLine1Entry = video mbx number entry of primary line
-        *               EAlsLine2Entry = video mbx number entry of secondary line
-        *               EAlsActiveLineEntry = entry of currently active line
-        * @return - KErrNone if the number was found.
-        *           aNumber will contain the video mbx number.
-        *
-        *         - KErrNotFound if the number is not defined
-        *
-        *         - Other error code if there was a problem in getting
-        *           the number. Clients should show error note if this happens.
-        **/
-        IMPORT_C TInt GetVideoMbxNumber( TDes& aNumber,
-                                TVmbxNumberEntry aEntry = EAlsActiveLineEntry );
-
-        /**
-        * Puts a query on the screen asking for a video mailbox number.
-        * @since 3.1
-        *
-        * IMPORTANT:
-        *
-        * Other subsystems than voice mailbox application should call this
-        * ONLY IF GetVideoMbxNumber() returned KErrNotFound. Also, only the
-        * parameter EVmbxNotDefinedQuery should be used outside the voice
-        * mailbox application.
-        *
-        * @param aQueryType type of the query, alternatives:
-        *                   - EVmbxNotDefinedQuery
-        *                     (use this when no vmbx number is defined)
-        *                   - EVmbxChangeNumberQuery
-        * @param aNumber    Initial value for the query, AND the result value
-        *                   of an accepted query. (must be room for at least
-        *                   KVmbxMaxNumberLength characters. Not allowed to
-        *                   contain longer initial value than
-        *                   KVmbxMaxNumberLength)
-        * @return ETrue if the query was accepted and the vmbx number saved.
-        *               This is the case also when user saves empty number!
-        *         EFalse if the user canceled the query. No vmbx number changed.
-        **/
-        IMPORT_C TBool QueryVideoMbxNumberL( TVmbxQueryType aQueryType,
-                                                                TDes& aNumber );
-
-        /**
-        * Saves the vmbx number. (in phone file system)
-        * @since 3.1
-        * @param aNumber video mbx number ( max length is KVmbxMaxNumberLength )
-        * @param aEntry determines in which entry the number is saved:
-        *               EAlsLine1Entry = video mbx number entry of ALS primary
-        *                                line
-        *               EAlsLine2Entry = video mbx number entry of ALS secondary
-        *               line
-        *               EAlsActiveLineEntry = entry of currently active ALS line
-        * @return Standard Symbian OS errorcode.
-        *         KErrNone if number was successfully saved.
-        **/
-        IMPORT_C TInt SaveVideoMbxNumber( const TDesC& aNumber,
-                                                     TVmbxNumberEntry aEntry );
-
-        /**
-        * Returns if the memory location for vmbx is sim memory
-        * @since 3.0
-        * @return ETrue if the vmbx number should be stored in the SIM
-        *          EFalse otherwise.
-        */
-        IMPORT_C TBool IsSimMemory();
-
-        /**
-        * Fetches vmbx address from SPS.
-        * @since 3.0
-        * @param aAddress vmbx address is saved here (must be room for at least
-        *                KVmbxMaxAddressLength characters).
-        * @return - KErrNone if the address was found.
-        *           aNumber will contain the vmbx address.
-        *
-        *         - KErrNotFound if the address is not defined
-        *
-        *         - Other error code if there was a problem in getting
-        *           the address. Clients should show error note if this happens.
-        */
-        IMPORT_C TInt GetVmbxAddressL( TDes& aAddress );
-
-        /**
-         * Fetches vmbx address from SPS.
-         * @since 3.2
-         * @param aAddress vmbx address is saved here (must be room for at least
-         *                KVmbxMaxAddressLength characters).
-         * @param aServiceId Used Service Id
-         * @return General symbian error code.
-         */
-        IMPORT_C TInt GetVmbxAddress( TDes& aAddress, TUint aServiceId );
-
-        /**
-         * Puts a popup on the screen asking for which type of Vmbx is used.
-         * @since 3.2
-         * @param aTitle Vmbx title type ( call / define ).
-         * @param aServiceId On completion, contains selected service's
-         * Service Id. If CS or Video Vmbx selected, value is 1, otherwise
-         * service's value is dynamic.
-         * @return which type of Vmbx is selected.
-         */
-        IMPORT_C TInt SelectTypeL( TBool aTitle, TUint& aServiceId );
-
-        /**
-         * Service Ids getter
-         * @since 3.2
-         * @param aProfileIds On completion, contains all Service Ids.
-         * @return General symbian error code.
-         */
-        IMPORT_C TInt GetServiceIds( RArray<TUint>& aProfileIds );
-
-        /**
-         * Service info getter
-         * @since 3.2
-         * @param aServiceInfo On completion, contains Service information
-         * @return General symbian error code.
-         */
-        IMPORT_C TInt GetServiceInfo( TVmbxServiceInfo& aServiceInfo );
-
-        /**
-         * Issues a notify request on a Service profile change.
-         * @param aHandler User's notify handler
-         */
-        IMPORT_C void NotifyServiceChange( MServiceNotifyHandler* aHandler );
-
-        /**
-         * Cancels a notify request on a Service profile change.
-         */
-        IMPORT_C void NotifyServiceChangeCancel();
-
-        /**
-         * Get Service's Brand Id
-         * @since S60 3.2
-         * @param aServiceId Used Service Id
-         * @param aBrandId On completion, contains Brand Id
-         */
-        IMPORT_C void BrandIdL( TInt aServiceId, TDes8& aBrandId );
-
-        /**
-         * Branded icon getter
-         * @since S60 3.2
-         * @param aBrandingId Used branding Id
-         * @param aBrandedBitmap Bitmap for branded icon
-         * @param aBrandedBitmapMask Mask to branded icon
-         */
-        IMPORT_C void GetBrandedIconL( const TDesC8& aBrandingId,
-                                       CFbsBitmap*& aBrandedBitmap,
-                                       CFbsBitmap*& aBrandedBitmapMask );
-
-        /**
-         * Construct default icons(CS, Video and VoIP)
-         * @since S60 3.2
-         * @param aIcons On completion, contains created icons
-         */
-        IMPORT_C void ConstructDefaultIconsL( CArrayPtr<CGulIcon>* aIcons );
-
-    private:
-
-        /**
-         * Add brand icon if it exist.
-         * @since S60 3.2
-         * @param aIcons On completion, contains new brand icon
-         * @param aServiceId Used Service Id
-         * @param aIconId On completion, contains branded icon's icon list id
-         */
-        void AddBrandIconL( CArrayPtr<CGulIcon>* aIcons, TUint aServiceId, TInt& aIconId );
-
-    public:  // Functions from base classes
-
-        /**
-        * From MCenRepNotifyHandlerCallback, to notify the client about
-        * changes for string value keys
-        **/
-        void HandleNotifyString( TUint32 aKey, const TDesC16& aValue );
-
-        /**
-        * From MCenRepNotifyHandlerCallback, to notify the client about
-        * changes in keys when the whole repository is listened for.
-        **/
-        void HandleNotifyGeneric( TUint32 aKey );
-
-        /**
-        * From MSSSettingsObserver, to notify changes in SS settings in phone
-        **/
-        void PhoneSettingChanged( TSSSettingsSetting aSetting, TInt aNewValue );
-
-        /**
-        * From MVmbxAlsObserver:
-        **/
-        void HandleAlsChangeL( TVmbxAlsLine aLine );
-        /**
-        * Refresh query. Client should determine whether it allow the
-        * refresh to happen.
-        * @since 2.6
-        * @param aType Refresh type.
-        * @param aFiles Elementary files which are to be changed.
-        * May be zero length.
-        * @return ETrue to allow refresh, EFalse to decline refresh.
-        */
-         TBool AllowRefresh( TSatRefreshType aType, const TSatRefreshFiles& aFiles ) ;
-
-         /**
-        * Notification of refresh.
-        * @since 2.6
-        * @param aType Type of refresh which has happened.
-        * @param aFiles List of elementary files which has been changed.
-        * May be zero length.
-        */
-        void Refresh( TSatRefreshType aType, const TSatRefreshFiles& aFiles );
-
-    private:  // New functions
-
-        /**
-        * Routine to query SIM number
-        * @since
-        * @param aNumber Vmbx number
-        * @param aEntry Als line entry
-        * @return ETrue if user inserted number
-        **/
-        TBool QuerySimNumberL( TDes& aNumber,
-                               TVmbxNumberEntry aEntry = EAlsActiveLineEntry );
-
-
-        /**
-        * Loads the resources needed for queries and confirmation notes.
-        * @since
-        **/
-        void LoadResourceL();
-
-        /**
-        * Shows a confirmation note after a saved vmbx number.
-        * @param aResourceId Resource id
-        **/
-        void ShowConfirmationNoteL( TInt aResourceId ) const;
-
-        /**
-        * Verifies that the given string is a valid phone number.
-        * Rules:
-        *
-        * - '+' is only allowed as the first character
-        * - The phone number part must have 3-21 digits
-        * @since
-        * @param aNumber Vmbx number
-        * @return ETrue if valid number
-        **/
-        TBool IsValidPhoneNumber( const TDesC& aNumber ) const;
-
-        /**
-        * Checks if a number is an emergency number.
-        * @since
-        * @param aNumber Vmbx number
-        * @return ETrue if emergency number
-        **/
-        TBool IsEmergencyNumberL( const TDesC& aNumber );
-
-        /**
-        * Fetches information about the SIM phonebook for vmbx numbers.
-        * Updates internal flags KVmFlagSimSupport and
-        * KVmFlagPhonebookBeingCached.
-        *
-        * @return Phonebook's GetInfo() return code.
-        **/
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        TInt PhoneBookInfo();
-
-        /**
-        * Does a vmbx phonebook operation
-        *
-        * If the phonebook is being cached, defined amount of retries are
-        * made with 0.2 second delay in between.
-        * @param aOperation Operation identifier
-        * @param aEntry Vmbx entry (NULL)
-        * @return Phonebook error code. Specifically, KErrInUse, if
-        * the phonebook is still being cached after retries.
-        **/
-        TInt DoPhonebookOperation( TVmbxPhonebookOperation aOperation,
-                                                    TVmbxEntry* aEntry = NULL );
-
-        // Prohibit copy constructor
-        RVmbxNumber( const RVmbxNumber& );
-
-        // Prohibit assigment operator
-        RVmbxNumber& operator = ( const RVmbxNumber& );
-
-        /**
-        * Reads an entry from the ICC-based phonebook.
-        * @since
-        * @param aEntry Vmbx sim entry data
-        **/
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        void PhonebookReadL( TVmbxEntry& aEntry );
-
-        /**
-        * Writes an entry into ICC-based phonebook.
-        * @since
-        * @param aEntry Vmbx sim entry data
-        * @return Completion status of a request
-        **/
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        TInt PhonebookWrite( TVmbxEntry& aEntry );
-
-        /**
-        * Removes an entry from ICC-based phonebook.
-        * @since
-        * @param aEntry Vmbx sim entry data
-        * @return Completion status of a request
-        **/
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        TInt PhonebookDelete( TVmbxEntry& aEntry );
-
-        /**
-        * Converts a phone number to western format
-        * @param aDes Parameter to change
-        **/
-        void ConvertToWesternDigits( TDes& aDes ) const;
-
-        /**
-        * Create connection to ETel server
-        * @since
-        * @return KErrNone if success
-        **/
-        TInt ConnectETelServer();
-
-        /**
-        * Open phonebook's Single Fetch Dialog
-        * @since
-        * @param aPhoneNumber Phone number
-        */
-        void FetchNumberFromPhonebook2L( TDes& aPhoneNumber );
-
-        /**
-         * Handling of emergency dial result.
-         * @since 3.2
-         * @see MPhCltEmergencyCallObserver::HandleEmergencyDialL().
-         */
-         void HandleEmergencyDialL( const TInt aStatus );
-
-        /**
-        * Retrieves voice mailbox number from SIM/R-UIM
-        * @since
-        * @param aNumber Number
-        * @param aLineNumber Line 1 or 2
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt GetVmNumFromSIM( TDes& aNumber, TInt aLineNumber );
-
-        /**
-        * Retrieves voice mailbox number from VMN summary info
-        * @since
-        * @param aNumber Number
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt GetVmNumFromVMN( TDes& aNumber );
-
-        /**
-        * Retrieves voice mailbox number from NAM
-        * @since
-        * @param aNumber Number
-        * @param aNumType Number type (EVmbxMDN)
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt GetVmNumFromNamStore( TDes& aNumber, TInt aNumType = EVmbxMDN );
-
-        /**
-        * Retrieves voice mailbox number from Shared Data
-        * @since
-        * @param aNumber Number
-        * @param aLineNumber Line 1 or 2
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt GetVmNumFromSD( TDes& aNumber, TInt aLineNumber );
-
-        /**
-        * Closes ETel resources
-        * @since
-        */
-        void CloseETel();
-
-        /**
-        * Appends string from resource to descriptor array
-        * @since
-        * @param aResourceId Resource id
-        * @param aArray String array
-        */
-        void AppendStrToArrayL( TInt aResourceId, CDesCArray& aArray );
-
-        /**
-        * Set query dialog header text from resource string
-        * @since
-        * @param aResourceId Resource id
-        * @param aDlg Query dialog
-        */
-        void SetHeaderFromResourceL( TInt aResourceId, CAknQueryDialog& aDlg );
-
-        /**
-        * Subscribe SAT notifications
-        * @since
-        */
-        void SubscribeSATNotificationsL();
-
-        /**
-        * Gets MBI-file settings from Sim. MBI-file identifies the usage
-        * of the mailbox records settings
-        * @since
-        * @return ETrue if successed
-        */
-        TInt MailboxNumbersIdentifiers();
-
-        /**
-        * Reading and writing to sim are tested
-        * @since
-        */
-        void TestAndSetSimAccessFlags();
-
-        /**
-        * The actual size for number must be determine from max length
-        * returned from GetInfo-method and saved number length on Sim.
-        * @param aSimNumberLength The length of the number read from sim.
-        * @since
-        */
-        void CalculateActualMaxLengthOnSim( TInt aSimNumberLength );
-
-        /**
-        * Returns video support state
-        * @since S60 3.2
-        * return ETrue if supported
-        */
-        TBool VideoSupported();
-
-        /**
-        * Checks if writing to sim is prohibited
-        * @since S60 3.2
-        * return ETrue if writing is not allowed
-        */
-        TBool IsReadOnlySIM();
-
-        /**
-        * Checks is VMBX number defined in phone memory
-        * @since S60 3.2
-        * @param aLineNumber Line 1 or 2
-        * @return ETrue if VMBX number defined in Phone memory
-        */
-        TBool VmbxNumDefInPhoneMemory( TInt aLineNumber);
-
-        /**
-        * Checks is the given number stored in phone memory
-        * @since S60 3.2
-        * @param aNumber The number checked
-        * @param aLineNumber Line 1 or 2
-        * @return ETrue if number stored in Phone memory
-        */
-        TBool NumStoredInPhone( const TDesC& aNumber, TInt aLineNumber );
-
-        /**
-        * Saves VMBX number to the backup store
-        * @since S60 3.2
-        * @param aNumber The number to be saved
-        * @param aLineNumber Line 1 or 2
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt BackUpSimNumber( const TDesC& aNumber, TInt aLineNumber );
-
-        /**
-        * Fetches VMBX number from backup store
-        * @since S60 3.2
-        * @param aNumber number
-        * @param aLineNumber Line 1 or 2
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt FetchSimNumberBackUp( TDes& aNumber, TInt aLineNumber );
-
-        /**
-        * Clears VMBX number from the phone memory
-        * @since S60 3.2
-        * @param aLineNumber Line 1 or 2
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt ClearVMBXNumberFromPhone( TInt aLineNumber );
-
-        /**
-        * Indicates if user has edited VMBX number
-        * @since S60 3.2
-        * @param aLineNumber Line 1 or 2
-        * @return ETrue if VMBX is edited by user
-        */
-        TBool UserEditNumber( TInt aLineNumber );
-
-        /**
-        * Sets the flag indicating that the user has edited
-        * VMBX number
-        * @since S60 3.2
-        * @param aLineNumber Line 1 or 2
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt SetUserEditNumber( TInt aLineNumber );
-
-        /**
-        * Resets the flag that indicates that the user has edited
-        * VMBX number
-        * @since S60 3.2
-        * @param aLineNumber Line 1 or 2
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt ResetUserEditNumber( TInt aLineNumber );
-
-        /**
-        * Fetches VMBX number stored in SIM if number is
-        * available
-        * @since S60 3.2
-        * @param aNumber number
-        * @param aLineNumber Line 1 or 2
-        * @return ETrue if number is fetched
-        */
-        TBool UseSimNumIfAvailable( TDes& aNumber, TInt aLineNumber );
-
-        /**
-        * Handles the updating of a number stores in phone memory
-        * @since S60 3.2
-        * @param aLineNumber Line 1 or 2
-        * @return Symbian OS error code (KErrNone is successful)
-        */
-        TInt HandleNumberStores( TInt aLineNumber );
-
-        /**
-        * Returns if the SIM memory is used on ALS 1
-        * @since 3.2
-        * @return ETrue if the SIM memory is used to store ALS1 number
-        *         EFalse otherwise.
-        */
-        TBool UsesSimMemory();
-
-        /**
-        * check count of VMBX number
-        * available
-        * @since S60 3.2.2
-        * @param out aDefinedNumber a count of defined numbers
-        * @param out aDefinedFlag a flag of which voice mail services are defined
-        * @param out aServiceId Id of selected service is set
-        *
-        * @return Type of Vmbx, if there is only one mailbox configured, otherwise EVmbxNone
-        */
-        TInt CheckDefinedNumberCountL( TInt& aDefinedNumber,
-                    TInt& aDefinedFlag, TUint& aServiceId );
-
-        /**
-        * Returns if VMBX number stored in phone memory via external clients
-        * @since S60 3.2.3
-        * @param aLineNumber Line 1 or 2
-        * @return ETrue if number is stored in phone memory via 
-        *                                               external clients
-        *         EFalse number is stored in phone memory via internal clients
-        */
-        TBool IsPhoneMemForcedEdit( const TInt aLineNumber );
-
-        /**
-        * Sets the flag indicating that external clients has edited
-        * VMBX number
-        * @since S60 3.2.3
-        * @param aLineNumber Line 1 or 2
-        * @return Symbian OS error code (KErrNone is successful)
-        */   
-        TInt SetPhoneMemForcedEdit( TInt aLineNumber );
-
-        /**
-         * Displays a note with a text loaded from resource file.
-         * @since S60 v5.2
-         * @param aResourceId Resource id for loading text for note
-         */
-        void ShowInformationNoteL( const TInt aResourceId ) const;
-
-        /**
-         * Check whether the note should be shown
-         * this check is done because phone client calls GetVmbxNumber 
-         * and then SelectTypeL, which causes note qtn_... to be shown twice
-         * @since S60 v5.2
-         * @return ETrue if the note should be shown
-         */
-        TBool IsNoNumberNoteAllowed();
-        
-        /**
-         * Check whether the number had been edited in inactive line 
-         * @since S60 v5.2
-         * @param aInactiveLineNumber the inactive line number
-         * @return ETrue if the number had been edited in inactive line
-         */
-        TBool IsInactiveLineEdited( TInt& aInactiveLineNumber );
-
-    private:  // data
-
-        // Observer for user action for saved vmbx number
-        MVmbxNotifyHandler* iNotifyCallBack;
-
-        // Observer for user action for als line
-        MVmbxAlsObserver* iUserAlsObserver;
-
-
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        // Root telephony server session
-        RTelServer iTelServer;
-
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        //Mobile phone client
-        RMobilePhone iPhone;
-
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        //Phonebook client
-        RMobilePhoneBookStore iPhoneBook;
-
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        //  Multimode ETel phone book info structure that will
-        //  be used to retrieve data from phone book store.
-        RMobilePhoneBookStore::TMobilePhoneBookInfoV1 iPhoneBookInfo;
-
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        //  A package for the iPhoneBookInfo.
-        RMobilePhoneBookStore::TMobilePhoneBookInfoV1Pckg iPhoneBookInfoPckg;
-
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        //  A package for the iPhoneVoicemailInfo.
-        RMobilePhone::TMobilePhoneVoicemailIdsV3 iPhoneVoicemailInfo;
-
-        /*****************************************************
-        *  Series 60 Customer / ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        //  A package for the iPhoneVoicemailInfoPckg.
-        RMobilePhone::TMobilePhoneVoicemailIdsV3Pckg iPhoneVoicemailInfoPckg;
-
-        /*****************************************************
-        *  Series 60 Customer / RSAT
-        *  Series 60 RSAT API
-        *****************************************************/
-        RSatSession  iRSatSession; //// Root RSATsession opening RSatClient
-
-        /*****************************************************
-        *  Series 60 Customer / RSAT
-        *  Series 60 RSAT API
-        *****************************************************/
-        RSatRefresh  iRSatClient; //RSatClient for notification of file changed.
-
-        /*****************************************************
-        *  Series 60 Customer / RSAT
-        *  Series 60 RSAT API/ ETel
-        *  Series 60 ETel API
-        *****************************************************/
-        //  A package for the TRefreshFileList.
-        // list of files, waiting for notification.
-        RSat::TRefreshFileList iObservedFileList;
-
-        //Central repository observer
-        CCenRepNotifyHandler* iNotifyHandler;
-
-        //Central repository session
-        CRepository* iSession;
-
-        //SS setting
-        RSSSettings iSsSettings;
-
-        // Offset in resourse file
-        TInt iResourceFileOffset;
-
-        // Vmbx state flags
-        TInt iFlags;
-
-        // text query dialog
-        CVmTextQueryDialog* iQuery;  // owned
-
-        // indicates if the RVmbxNumber was closed during a dialog
-        TBool* iClosedPtr;
-
-        // Control enviroment
-        CCoeEnv* iCoeEnv;  // not owned
-
-        //PRI settings
-        // nNumber options
-        TInt iVmNumOpts;
-
-        //Ui options
-        TInt iVmUiOpts;
-
-        // Synchronization state
-        TBool iSynchronize;
-
-        // Vmbx type
-        TInt iType;
-
-        // Memory location (sim/phone)
-        TInt iMemoryLocation;
-
-        // Sim query dialog
-        CVMSimQueryDilaog* iVMSimQueryDialog;
-
-        // Text query dialog
-        CVmTextQueryDialog* iVideoQuery;  // owned
-
-        // voice mailbox type selection dialog
-        CAknListQueryDialog* iTypeSelectionQuery; //owned
-
-
-        TBool iAlphaStringFound;
-        // Alpha string which is read from the SIM card
-        HBufC* iAlphaStringFromSIM;
-        // True if number in sim
-        TBool iNumberFound;
-        //Phonebook type
-        TUint8 iPhoneBookType;
-        //Number fetched from Sim when checking write protection
-        TBuf<KVmbxMaxNumberLength> iNumberFromSim;
-
-        //ETrue when first USim phonebook type is tested
-        TBool iUSimFirstRoundTest;
-
-
-    private:
-
-        /**
-         * True if Sim access rights are tested
-         */ 
-        TBool iStartUpTest;
-
-        /**
-         * For single item fetch
-         */ 
-        CPhCntSingleItemFetch* iCntFetch;
-
-        /**
-         * To test if mbdn number doesn't exist
-         */ 
-        TBool iNoNumberFound;
-
-        /**
-         * To test if number can be found from vmbx-phonebook
-         */ 
-        TBool iMbdnPhonebookOk;
-
-        /**
-         * querying state of QueryNumberL
-         */ 
-        TVmVmQueryStatusType iQueryingState;
-
-        /**
-         * Type and Id of mailboxes to list in iTypeSelectionQuery, Own
-         */
-        RArray<TVmbxServiceSelection> iVmbxServiceSelection;
-
-        /**
-         * Handles Service proviver Settings, Own.
-         */
-        CVmSPSHandler* iVmSpsHandler;
-
-        /**
-         * Handles Branding Server, Own.
-         */
-        CVmBSHandler* iVmBsHandler;
-        
-        /**
-         * Feature manager is initialized
-         */
-        TBool iFeatMgrInitialized;
-        
-        /**
-         * Sim card is whether found in ME
-         */
-        TBool iSimCardFound;
-
-    };
-
-#endif  // VMNUMBER_H
-
-// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/voice_mailbox_number_api/inc/voicemailboxdefs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Constant used for vmbx engine
+*
+*/
+
+#ifndef VOICEMAILBOXDEFS_H
+#define VOICEMAILBOXDEFS_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <spdefinitions.h>
+
+/** Null service id, i.e. not specified service. */
+const TServiceId KVmbxServiceIdNone( 0 );
+/** Service id for CS voice mailbox */
+const TServiceId KVmbxServiceVoice( 0x01 );
+/** Service id for CS video mailbox */
+const TServiceId KVmbxServiceVideo( 0x01 );
+/** The max length of voice mailbox number */
+const TInt KVmbxMaxNumberLength = 100;
+
+/**  Vmbx ALS line determination */
+enum TVmbxAlsLineType
+    {
+    /**
+     *  Default line, meaning current active line.
+     */
+    EVmbxAlsLineDefault,
+    /**
+     *  Current ALS line is Line1.
+     */
+    EVmbxAlsLine1,
+    /**
+     *  Current ALS line is Line2.
+     */
+    EVmbxAlsLine2
+    };
+
+/** Type of Voice Mailbox. */
+enum TVmbxType
+    {
+    /**
+     *  None vmbx type.
+     */
+    EVmbxNone = 0,
+    /**
+     *  Voice type.
+     */
+    EVmbxVoice,
+    /**
+     *  Video type.
+     */
+    EVmbxVideo,
+    /**
+     *  Voip type.
+     */
+    EVmbxVoip
+    };
+
+/** Voice Mailbox feature flag definitions */
+enum TVmbxFeatureCapabilityFlag
+    {
+    /**
+     * Used to check whether user editing is allowed or not
+     */
+    EVmbxChangeNbrAllowedOnUi = 0x01,
+
+    /**
+     * Used to check whether video mailbox is supported or not
+     */
+    EVmbxVideoMailboxSupported = 0x02
+    };
+
+/** Vmbx Memory location which is currently used */
+enum TVmbxMemoryLocation
+    {
+    /**
+     *  Using phone memory.
+     */
+    EVmbxPhoneMemory,
+    /**
+     *   Using Sim memory.
+     */
+    EVmbxSimMemory
+    };
+
+/** Vmbx query type which currently wanted */
+enum TVmbxQueryMode
+    {
+    /**
+     *  User want to define number.
+     */
+    EVmbxDefineMode,
+    /**
+     *  User want to change number.
+     */
+    EVmbxChangeMode
+    };
+
+#endif // VOICEMAILBOXDEFS_H
--- a/phonesrv_plat/voice_mailbox_number_api/tsrc/bwins/vmbxenginetestu.def	Thu Aug 19 10:28:14 2010 +0300
+++ /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/phonesrv_plat/voice_mailbox_number_api/tsrc/conf/ui_vmbxenginetest.cfg	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-[Test]
-title Test "Connect and Close VMBX engine"
-create vmbxenginetest test
-
-// Connecting and closing. If this fails nothing can be tested.
-test Connect
-test Close
-
-delete test
-[Endtest] 
-
-[Test]
-title Test "GetNumFromSpecialMem 111111"
-create vmbxenginetest test
-
-test Connect
-bringtoforeground
-
-test InitGetNumFromSpecialMem 111111 // save a number to the sim/phone memory
-test TestGetNumFromSpecialMem 111111 // get the number we had just saved from the sim/phone memory,
-                                   // if not, the number should be saved to the incorect location in last step.
-
-test CleanupGetNumFromSpecialMem // revert the source number to sim/phone memory 
-
-sendtobackground
-test Close
-delete test
-[Endtest] 
-
-[Test]
-title Test "SelectTypeL" 
-create vmbxenginetest test
-
-test Connect
-bringtoforeground
-
-test SelectTypeL 
-
-sendtobackground
-test Close
-delete test
-[Endtest] 
-
-[Test]
-title Test "Editing allowed" (Default configuration)
-create vmbxenginetest test
-
-test Connect
-bringtoforeground
-
-test ConfCenRepForEditAllowedL
-
-allownextresult 1 // must return 1 as user is  allowed to change number
-test AllowedToChangeTheNumber 
-
-sendtobackground
-test Close
-delete test
-[Endtest] 
-
-// This case can be never passed on emulator,  
-// because the updating central repository is not supported by emulator.
-// It has to be done on hardware.
-[Test]
-title Test "Editing not allowed" (Configuration needed)
-create vmbxenginetest test
-
-test ConfCenRepForEditNotAllowedL // cenreq configuration need to be set '1' 
-
-test Connect
-bringtoforeground
-
-allownextresult 0 // must return 0 as user is not allowed to change number
-test AllowedToChangeTheNumber 
-
-sendtobackground
-test Close
-
-test RevertCenRepEditNotAllowedL // revert cenreq key
-
-delete test
-[Endtest] 
-
-// This case can be never passed on emulator, because sim feature is not supported.
-// And the updating central repository is not supported by emulator.
-// It has to be done on hardware.
-[Test]
-title Test "SIM only + note" (Operator configuration)
-create vmbxenginetest test
-
-test ConfCenRepForEditNotAllowedL // cenreq configuration need to be set '1'
-
-test Connect
-bringtoforeground
-
-allownextresult 1 
-test IsSimMemory // should return 1 in this config
-
-allownextresult 0 
-test AllowedToChangeTheNumber // must return 0 as user is not allowed to change number
-
-test InitGetNumFromSpecialMem  // This method should save a empty number to trigger a note to UI
-
-allownextresult -1
-test TestGetNumFromSpecialMem
-
-test CleanupGetNumFromSpecialMem // revert the source number to sim/phone memory
-
-sendtobackground
-test Close
-
-test RevertCenRepEditNotAllowedL // revert cenreq key
-
-delete test
-[Endtest] 
-
-// This case can be never passed on emulator, because sim feature is not supported.
-// And the updating central repository is not supported by emulator.
-// It has to be done on hardware.
-[Test]
-title Test "SIM only: Saving number to the sim memory according to simulate OMA" (Operator configuration)
-create vmbxenginetest test
-
-test ConfCenRepForEditNotAllowedL // cenreq configuration need to be set '1'
-
-test Connect
-bringtoforeground
-
-allownextresult 1 
-test IsSimMemory // should return 1 in this config
-
-allownextresult 0 
-test AllowedToChangeTheNumber // must return 0 as user is not allowed to change number
-
-test InitGetNumFromSpecialMem 123456 // save the number to sim memory
-test TestGetNumFromSpecialMem 123456 // get the number we had just saved from the sim memory,
-                                   // if not, the number should be saved to the incorect location in last step.
-test CleanupGetNumFromSpecialMem // revert the source number to sim memory
-
-sendtobackground
-test Close
-
-test RevertCenRepEditNotAllowedL // revert cenreq key
-
-delete test
-[Endtest]
-
-// This case can be never passed on emulator, because sim feature is not supported.
-// And the updating central repository is not supported by emulator.
-// It has to be done on hardware.
-[Test]
-title Test "SIM only: QueryVideoMbxNumber" (Operator configuration)
-create vmbxenginetest test
-
-test ConfCenRepForEditNotAllowedL // cenreq configuration need to be set '1'
-
-test Connect
-bringtoforeground
-
-allownextresult -21 
-test QueryVideoMbxNumber 0 // Should leave with KErrAccessDenied
-
-sendtobackground
-test Close
-
-test RevertCenRepEditNotAllowedL // revert cenreq key
-
-delete test
-[Endtest] 
-
-// This case can be never passed on emulator, because sim feature is not supported.
-// And the updating central repository is not supported by emulator.
-// It has to be done on hardware.
-[Test]
-title Test "SIM only: QueryNumberL" (Operator configuration)
-create vmbxenginetest test
-
-test ConfCenRepForEditNotAllowedL // cenreq configuration need to be set '1'
-
-test Connect
-bringtoforeground
-
-allownextresult -21 
-test QueryNumberL 0 // Should leave with KErrAccessDenied
-
-sendtobackground
-test Close
-
-test RevertCenRepEditNotAllowedL // revert cenreq key
-
-delete test
-[Endtest]
-
-// This case can be never passed on emulator, 
-// because the video feature is not supported.
-// It has to be done on hardware.
-[Test]
-title Test "GetVideoMbxNumber"
-create vmbxenginetest test
-
-test Connect
-bringtoforeground
-
-test GetVideoMbxNumber
-
-sendtobackground
-test Close
-delete test
-[Endtest]
-
--- a/phonesrv_plat/voice_mailbox_number_api/tsrc/eabi/vmbxenginetestu.def	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-	_ZTI15CVmbxEngineTest @ 2 NONAME
-	_ZTV15CVmbxEngineTest @ 3 NONAME
-
--- a/phonesrv_plat/voice_mailbox_number_api/tsrc/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  For packing VMBXEngine test component.
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_TESTMMPFILES   
-vmbxenginetest.mmp
-
-PRJ_MMPFILES
-
-
--- a/phonesrv_plat/voice_mailbox_number_api/tsrc/group/vmbxenginetest.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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 VMBXEngine test component.
-*
-*/
-
-
-// To get the MW_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-
-TARGET      vmbxenginetest.dll
-TARGETTYPE  dll
-DEFFILE     vmbxenginetest.def
-
-CAPABILITY  ALL -TCB
-VENDORID    0x101FB657
-SECUREID    0x102073DB
-
-LIBRARY     euser.lib
-LIBRARY     stiftestinterface.lib
-LIBRARY     vmbx.lib
-
-LIBRARY     centralrepository.lib
-LIBRARY     cenrepnotifhandler.lib
-
-SOURCEPATH      ..\src
-SOURCE          vmbxenginetest.cpp
-
-USERINCLUDE        ..\inc 
-
-MW_LAYER_SYSTEMINCLUDE
-
-// First UID is DLL UID, Second UID is STIF Test Framework UID
-UID             0x1000A834 0x101FB3E7
-
-
--- a/phonesrv_plat/voice_mailbox_number_api/tsrc/group/vmbxenginetest.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ /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 VMBXEngine test component.
-
-;*Languages
-&EN
-;
-;*Standard SIS file header. This section specifies the package name,
-;application UID, and version/build numbers. Add the package TYPE here if needed.
-#{"VMBX Engine test"},(0x1000A834),1,0,1;
-;
-
-;*Unique (Non-Localised) Vendor name
-;This is used in combination with signing to prevent the unauthroized
-;upgrade ofa a package by someone other than the rightful vendor.
-:"Nokia"
-
-;*Localized Vendor Name
-;This specifies the localised vendor name(s) correspodning to language(s).
-%{"Nokia Test EN"}
-
-;*Files To Copy...<src> <destination>
-"\epoc32\release\armv5\urel\vmbxenginetest.dll"-"c:\sys\bin\vmbxenginetest.dll"
-"..\conf\ui_vmbxenginetest.cfg"-"c:\TestFramework\ui_vmbxenginetest.cfg"
-;"..\init\TestFramework.ini"-"C:\TestFramework\TestFramework.ini"
--- a/phonesrv_plat/voice_mailbox_number_api/tsrc/inc/vmbxenginetest.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +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 VMBXEngine test component.
-*
-*/
-
-#ifndef CVMBXENGINETEST_H
-#define CVMBXENGINETEST_H
-
-#define STIFTEST
-
-#include <stiflogger.h>
-#include <testscripterinternal.h>
-#include <stiftestmodule.h>
-
-class RVmbxNumber;
-
-class CRepository;
-class MCenRepNotifyHandlerCallback;
-class CCenRepNotifyHandler;
-
-// Logging path
-_LIT( KLogPath, "\\logs\\testframework\\vmbxenginetest\\" );
-// Log file
-_LIT( KLogFile, "vmbxenginetest.txt" );
-
-
-/**
-*  Test class for VMBX Engine
-*
-*  @lib vmbxenginetest.dll
-*  @since S60 5.1
-*/
-class CVmbxEngineTest : public CScriptBase, public MCenRepNotifyHandlerCallback
-    {
-public:
-
-    /**
-    * Two-phased constructor.
-    */
-    static CVmbxEngineTest* NewL( CTestModuleIf& aTestModuleIf );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CVmbxEngineTest();
-
-     /**
-     * From CScriptBase Runs a script line.
-     *
-     * @since S60 5.1
-     * @param aItem Script line containing method name and parameters
-     * @return Symbian OS error code
-     */
-    TInt RunMethodL( CStifItemParser& aItem );
-
-private:    // Methods for engine
-
-    /**
-    * C++ default constructor.
-    */
-    CVmbxEngineTest( CTestModuleIf& aTestModuleIf );
-
-    /**
-    * By default Symbian 2nd phase constructor is private.
-    */
-    void ConstructL();
-
-    /**
-    * Calls RVmbxNumber::Connect
-    *
-    * @since S60 5.1
-    * @param aItem, Script line containing method name and parameters
-    * @return TInt, KErrNone if OK, other values if a failure happens
-    */
-    TInt Connect( CStifItemParser& aItem );
-
-    /**
-    * Calls RVmbxNumber::Close
-    *
-    * @since S60 5.1
-    * @param aItem, Script line containing method name and parameters
-    * @return TInt, KErrNone if OK, other values if a failure happens
-    */
-    TInt Close( CStifItemParser& aItem );
-    
-    /**
-    * Calls RVmbxNumber::AllowedToChangeTheNumber
-    *
-    * @since S60 5.1
-    * @param aItem, Script line containing method name and parameters
-    * @return TInt, KErrNone if OK, other values if a failure happens
-    */
-    TInt AllowedToChangeTheNumber( CStifItemParser& aItem );
-
-    /**
-    * Calls RVmbxNumber::SelectTypeL
-    *
-    * @since S60 5.1
-    * @param aItem, Script line containing method name and parameters
-    * @return TInt, KErrNone if OK, other values if a failure happens
-    */
-    TInt SelectTypeL( CStifItemParser& aItem );
-
-    /**
-    * Calls RVmbxNumber::IsSimMemory
-    *
-    * @since S60 5.1
-    * @param aItem, Script line containing method name and parameters
-    * @return TInt, KErrNone if OK, other values if a failure happens
-    */
-    TInt IsSimMemory( CStifItemParser& aItem );
-    
-    /**
-    * Calls RVmbxNumber::QueryVideoMbxNumber
-    *
-    * @since S60 5.1
-    * @param aItem, Script line containing method name and parameters
-    * @return TInt, KErrNone if OK, other values if a failure happens
-    */
-    TInt QueryVideoMbxNumber( CStifItemParser& aItem );
-
-    /**
-     * Calls RVmbxNumber::QueryNumberL
-     * @since S60 5.1
-     * @param aItem, Script line containing method name and parameters
-     * @return TInt, KErrNone if OK, other values if a failure happens
-     */
-    TInt QueryNumberL( CStifItemParser& aItem );
-    
-    /**
-     * Calls RVmbxNumber::GetVideoMbxNumber
-     * @since S60 5.1
-     * @param aItem, Script line containing method name and parameters
-     * @return TInt, KErrNone if OK, other values if a failure happens
-     */
-    TInt GetVideoMbxNumber( CStifItemParser& aItem );
-
-private:
-    /**
-     * Calls ConfCenRepForEditNotAllowedL
-     * @since S60 5.1
-     * @param aItem, Script line containing method name and parameters
-     * @return TInt, KErrNone if OK, other values if a failure happens
-     */
-    TInt ConfCenRepForEditNotAllowedL( CStifItemParser& aItem );
-
-    /**
-     * Calls RevertCenRepEditNotAllowedL
-     * @since S60 5.1
-     * @param aItem, Script line containing method name and parameters
-     * @return TInt, KErrNone if OK, other values if a failure happens
-     */
-    TInt RevertCenRepEditNotAllowedL( CStifItemParser& aItem );
-    
-    /**
-     * Calls ConfCenRepForEditAllowedL
-     * @since S60 5.1
-     * @param aItem, Script line containing method name and parameters
-     * @return TInt, KErrNone if OK, other values if a failure happens
-     */
-    TInt ConfCenRepForEditAllowedL( CStifItemParser& aItem );
-    
-    /**
-     * Calls InitGetNumFromSpecialMem
-     * @since S60 5.1
-     * @param aItem, Script line containing method name and parameters
-     * @return TInt, KErrNone if OK, other values if a failure happens
-     */
-    TInt InitGetNumFromSpecialMem( CStifItemParser& aItem ); 
-    
-    /**
-     * Calls TestGetNumFromSpecialMem
-     * @since S60 5.1
-     * @param aItem, Script line containing method name and parameters
-     * @return TInt, KErrNone if OK, other values if a failure happens
-     */
-    TInt TestGetNumFromSpecialMem( CStifItemParser& aItem ); 
-    
-    /**
-     * Calls CleanupGetNumFromSpecialMem
-     * @since S60 5.1
-     * @param aItem, Script line containing method name and parameters
-     * @return TInt, KErrNone if OK, other values if a failure happens
-     */
-    TInt CleanupGetNumFromSpecialMem( CStifItemParser& aItem );
-    
-    /**
-     * Save the source number temporarily
-     * @since S60 5.1
-     */
-    void SaveSourceNumber();
-    
-    /**
-     * Create central repository for session and handler
-     * @since S60 5.1
-     */
-    void CreateCentralRepositoryL();
-
-private:    // Data
-
-    /**
-    * Pointer to logger
-    * Own.
-    */
-    CStifLogger * iLog;
-
-    /**
-    * Pointer to engine
-    * Own.
-    */
-    RVmbxNumber *iVmbxNumber;  
-
-    /**
-     * Pointer to repository
-     * Own.
-     */
-    CRepository* iSession;
-    
-    /**
-     * Pointer to cenreqnotifyhandler
-     * Own.
-     */
-    CCenRepNotifyHandler* iNotifyHandler;
-    
-    /**
-     * Pointer to HBufC for mailbox number
-     * Own.
-     */
-    HBufC* iNumberBuf;
-    };
-
-#endif      // CVMBXEngineTestTEST_H
--- a/phonesrv_plat/voice_mailbox_number_api/tsrc/init/TestFramework.ini	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +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'.
-#   + XML, Test report will be xml type, for example 'TestReport.xml'.
-#          Note, that xml format is available only when output is set to FILE.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module.
-# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
-#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
-#
-
-[Engine_Defaults]
-
-TestReportMode= FullReport    # Possible values are: 'Empty', 'Summary', 'Environment',
-                              #                      'TestCases' or 'FullReport'
-
-CreateTestReport= YES         # Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT         # Possible values: TXT, HTML or XML
-TestReportOutput= FILE        # Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-DisableMeasurement= stifmeasurementdisablenone  # Possible values are:
-              # 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
-              # 'stifmeasurementplugin01', 'stifmeasurementplugin02',
-              # 'stifmeasurementplugin03', 'stifmeasurementplugin04',
-              # 'stifmeasurementplugin05' or 'stifbappeaprofiler'
-
-Timeout= 0                    # Default timeout value for each test case. In milliseconds
-UITestingSupport= YES        # Possible values: YES or NO
-#SeparateProcesses= YES       # Possible values: YES or NO (default: NO)
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# 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_vmbxenginetest.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]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set filters to be used by ConsoleUI.
-# 	If you want to use filter with ConsoleUI, simply remove comments
-# 	from section below and provide valid filter entries.
-#   Each filter line has to start with "filter= " keyword.
-#   Filter can contain special wildcard characters:
-#     *  which stands for none or any literal;
-#     ?  which stands for single character.
-#   Filters are not case-sensitive.
-
-#[Filters]
-#filter= *math*
-#filter= *radio*
-#[End_Filters]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,336 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Mt_vmbxEngine class
+*
+*/
+
+//qt
+#include <QtGui>
+//hb
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbview.h>
+//symbian
+#include <e32base.h>
+
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+#include <voicemailboxdefs.h>
+#include <mvoicemailboxobserver.h>
+
+#include "mt_vmbxengine.h"
+
+
+/*------------------------------------------------------------------------------
+This module testing project links to vmbxengine.dll.
+------------------------------------------------------------------------------*/
+
+// -----------------------------------------------------------------------------
+// Constants for verifying test case results
+// -----------------------------------------------------------------------------
+//
+_LIT(KVmbxNumber,"123456789");
+
+ // -----------------------------------------------------------------------------
+// Mt_SatAppEngine::Mt_vmbxEngine
+// Default constructor, remember to null new members here.
+// -----------------------------------------------------------------------------
+//
+Mt_vmbxEngine::Mt_vmbxEngine()
+{
+    qDebug("Mt_vmbxEngine::Mt_vmbxEngine >");
+    qDebug("Mt_vmbxEngine::Mt_vmbxEngine <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_SatAppEngine::~Mt_SatAppEngine
+// -----------------------------------------------------------------------------
+Mt_vmbxEngine::~Mt_vmbxEngine()
+{
+    qDebug("Mt_vmbxEngine::~Mt_vmbxEngine >");
+    qDebug("Mt_vmbxEngine::~Mt_vmbxEngine <");
+}
+
+
+// -----------------------------------------------------------------------------
+// Mt_SatAppEngine::initTestCase
+// QTestLib initialization method, called for each test case.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::initTestCase()
+{
+    qDebug("Mt_vmbxEngine::initTestCase >");
+    qDebug("Mt_vmbxEngine::initTestCase <");
+}
+
+
+// -----------------------------------------------------------------------------
+// Mt_SatAppEngine::cleanupTestCase
+// QTestLib cleanup method, called for each test case.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::cleanupTestCase()
+{
+    qDebug("Mt_SatAppEngine::cleanupTestCase >");
+    qDebug("Mt_SatAppEngine::cleanupTestCase <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testCreateVmbxEntry
+// testCreateVmbxEntry test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testCreateVmbxEntry()
+{
+    qDebug("Mt_vmbxEngine::testCreateVmbxEntry >");
+    TRAPD( err, mVmbxEntry = CVoiceMailboxEntry::NewL());
+    QVERIFY2(KErrNone == err, "create CVoiceMailboxEntry failed ");
+    qDebug("Mt_vmbxEngine::testCreateVmbxEntry <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testCreateVmbxMailbox
+// CreateVmbxMailbox test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testCreateVmbxMailbox()
+{
+    qDebug("Mt_vmbxEngine::testCreateVmbxMailbox >");
+    TRAPD( err, mVmbxEngine = CVoiceMailbox::NewL());
+    QVERIFY2(KErrNone == err, "create CVoiceMailbox failed ");
+    qDebug("Mt_vmbxEngine::testCreateVmbxMailbox <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testCheckConfiguration
+// CreateVmbxMailbox test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testCheckConfiguration()
+{
+    qDebug("Mt_vmbxEngine::testCheckConfiguration >");
+    TVoiceMailboxParams params;
+    params.iType = EVmbxVoice;
+    TBool result = 
+    mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi);
+    if (!result) {
+    qDebug("Mt_vmbxEngine::testCheckConfiguration: voice not allowed changed");
+    QEXPECT_FAIL("","testCheckConfiguration voice not allowed changed", Continue);
+    }
+    params.iType = EVmbxVideo;
+    result = 
+    mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi);
+    if (!result) {
+    qDebug( "Mt_vmbxEngine::testCheckConfiguration: video not allowed changed");
+    QEXPECT_FAIL("","testCheckConfiguration video not allowed changed", Continue);
+    }
+    params.iType = EVmbxVoip;
+    result = 
+    mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi);
+    if (result) {
+    QFAIL ("testCheckConfiguration voip failed");
+    }
+    qDebug("Mt_vmbxEngine::testCheckConfiguration <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testCreateWindow
+// testCreateWindow test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testCreateWindow()
+{
+    qDebug("Mt_vmbxEngine::testCreateWindow >");
+    mWindow = new HbMainWindow();
+    QVERIFY(mWindow);
+    mWindow->show();
+    qDebug("Mt_vmbxEngine::testCreateWindow <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testSaveProvisionedEntry
+// testSaveProvisionedEntry test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testSaveProvisionedEntry()
+{
+    qDebug("Mt_vmbxEngine::testSaveProvisionedEntry >");
+    QVERIFY(mVmbxEngine);
+    QVERIFY(mVmbxEntry);
+    TVoiceMailboxParams params;
+    params.iType = EVmbxVoice;
+    CVoiceMailboxEntry* storedEntry = 0;
+    TInt result(0);
+    if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) {
+        qDebug("Mt_vmbxEngine::testSaveProvisionedEntry voice");
+        result = mVmbxEngine->GetStoredEntry(params,storedEntry);
+        if (KErrNotFound == result) {
+            mVmbxEntry->SetVmbxNumber(KNullDesC);
+        } else if(KErrNone == result) {
+            mVmbxEntry->SetVmbxNumber(KVmbxNumber);
+        } else {
+            QFAIL("Mt_vmbxEngine::testSaveProvisionedEntry: voice \
+                     GetStoredEntry failed");
+        }
+        mVmbxEntry->SetVoiceMailboxType(EVmbxVoice);
+        result = mVmbxEngine->SaveProvisionedEntry(*mVmbxEntry);
+        QCOMPARE(result, KErrNone);
+    }
+    params.iType = EVmbxVideo;
+    if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) {
+        qDebug("Mt_vmbxEngine::testSaveProvisionedEntry video");
+        result = mVmbxEngine->GetStoredEntry(params,storedEntry);
+        if (KErrNotFound == result) {
+            mVmbxEntry->SetVmbxNumber(KNullDesC);
+        } else if (KErrNone == result){
+            TPtrC vmbxNumber(KNullDesC);
+            storedEntry->GetVmbxNumber(vmbxNumber);
+            mVmbxEntry->SetVmbxNumber(vmbxNumber);
+        } else {
+            QFAIL("Mt_vmbxEngine::testSaveProvisionedEntry video \
+                    GetStoredEntry failed");
+        }
+        mVmbxEntry->SetVoiceMailboxType(EVmbxVideo);
+        result = mVmbxEngine->SaveProvisionedEntry(*mVmbxEntry);
+        QCOMPARE(result, KErrNone);
+    }
+    delete storedEntry;
+    storedEntry = 0;
+    qDebug("Mt_vmbxEngine::testSaveProvisionedEntry <");    
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testQueryVmbxMailbox
+// CreateVmbxMailbox test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testQueryVmbxMailbox()
+{
+    qDebug("Mt_vmbxEngine::testQueryVmbxMailbox >");
+    TVoiceMailboxParams params;
+    // test QueryVmbxType
+    TInt result = mVmbxEngine->QueryVmbxType(params);
+    CVoiceMailboxEntry* vmbxEntry = 0;
+    if (KErrNotFound == result) {
+        qDebug("Mt_vmbxEngine::testQueryVmbxMailbox no number defined");
+        // test QueryNewEntry
+        result = mVmbxEngine->QueryNewEntry( params, vmbxEntry );
+        //QVERIFY2(KErrNone == result, "QueryNewEntry Failed.");
+        if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)
+            && KErrNone == result) {
+        // test SaveEntry
+        result = mVmbxEngine->SaveEntry( *vmbxEntry );
+        QVERIFY2(KErrNone == result, "SaveEntry Failed.");
+        }
+    } else if (KErrNone == result) {
+        qDebug("Mt_vmbxEngine::testQueryVmbxMailbox change number");
+        // test change entry
+        result = mVmbxEngine->QueryChangeEntry( params, vmbxEntry );
+        //QVERIFY2(KErrNone == result, "QueryChangeEntry Failed.");
+        if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi) 
+            && KErrNone == result ) {
+            result = mVmbxEngine->SaveEntry( *vmbxEntry );
+            QVERIFY2(KErrNone == result, "SaveEntry Failed.");
+            // test GetStoredEntry
+            CVoiceMailboxEntry* storedEntry = 0;
+            result = mVmbxEngine->GetStoredEntry(params,storedEntry);
+            QVERIFY2(KErrNone == result, "GetStoredEntry Failed.");
+            TPtrC storedNumber(KNullDesC);
+            result = storedEntry->GetVmbxNumber(storedNumber);
+            QVERIFY2(KErrNone == result, "GetVmbxNumber Failed.");
+            TPtrC vmbxNumber(KNullDesC);
+            vmbxEntry->GetVmbxNumber(vmbxNumber);
+            QVERIFY2(storedNumber.Compare(vmbxNumber)==0, "number not match");
+            delete storedEntry;
+            storedEntry = 0;
+        }
+    } else {
+        QFAIL("Mt_vmbxEngine::testQueryVmbxMailbox: QueryVmbxType failed");
+    }
+    delete vmbxEntry;
+    vmbxEntry = 0;
+    qDebug("Mt_vmbxEngine::testQueryVmbxMailbox <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testNotifyVmbxNumberChange
+// testNotifyVmbxNumberChange test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel()
+{
+    qDebug("Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel >");
+    mVmbxEngine->NotifyVmbxNumberChangeCancel();
+    qDebug("Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testDeleteWindow
+// testDeleteWindow test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testDeleteWindow()
+{
+    qDebug("Mt_vmbxEngine::testDeleteWindow >");
+    delete mWindow;
+    mWindow = 0;
+    qDebug("Mt_vmbxEngine::testDeleteWindow <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testDeleteVmbxMailbox
+// testDeleteVmbxMailbox test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testDeleteVmbxMailbox()
+{
+    qDebug("Mt_vmbxEngine::testDeleteVmbxMailbox >");
+    delete mVmbxEngine;
+    mVmbxEngine = 0;
+    qDebug("Mt_vmbxEngine::testDeleteVmbxMailbox <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testDeleteVmbxEntry
+// testDeleteVmbxEntry test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testDeleteVmbxEntry()
+{
+    qDebug("Mt_vmbxEngine::testDeleteVmbxEntry >");
+    delete mVmbxEntry;
+    mVmbxEntry = 0;
+    qDebug("Mt_vmbxEngine::testDeleteVmbxEntry <");
+}
+
+// -----------------------------------------------------------------------------
+// main()
+// Main method implemented for directing test output to a file.
+// -----------------------------------------------------------------------------
+int main(int argc, char *argv[])
+    {
+    qDebug("Mt_vmbxEngine.cpp: main() >");
+    QApplication app(argc, argv);
+
+    qDebug("Mt_vmbxEngine.cpp: Mt_vmbxEngine");
+    Mt_vmbxEngine tc; 
+    char *pass[3];
+    pass[0] = argv[0];
+    pass[1] = "-o"; 
+    pass[2] = "c:\\logs\\vmbx\\mt_vmbxengine.txt";
+    const int result = QTest::qExec(&tc, 3, pass);
+
+    qDebug("Mt_vmbxEngine.cpp: main() <, result=%d", result);
+    return result;
+    } 
+
+//End file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Mt_vmbxEngine class
+*
+*/
+
+
+#ifndef _MT_VMBXENGINE_H
+#define _MT_VMBXENGINE_H
+
+#include <QtTest/QtTest>
+#include <QString>
+#include <QStringList>
+#include <QSignalSpy>
+#include <QMetaType>
+#include <QObject>
+
+
+// Class forwards
+class CVoiceMailboxEntry;
+class CVoiceMailbox;
+class HbMainWindow;
+
+
+/**
+ *  Mt_vmbxEngine module test class.
+ * 
+ *  Tests Mt_vmbxEngine interface.
+ *  See cpp file for more information. 
+ *
+ *  @lib mt_vmbxngine.lib
+ */
+class Mt_vmbxEngine : public QObject
+{
+    Q_OBJECT
+
+public:
+    Mt_vmbxEngine();
+
+    virtual ~Mt_vmbxEngine();
+
+private slots: 
+
+    /*!
+        Called before the first testfunction is executed.
+    */
+    void initTestCase();
+
+    /*!
+        Called after the last testfunction has been executed.
+    */
+    void cleanupTestCase();
+
+    /*!
+        Create an empty vmbx entry
+    */
+    void testCreateVmbxEntry();
+    
+    /*!
+        Create CVoiceMailbox Api
+    */
+    void testCreateVmbxMailbox();
+
+    /*!
+        Test middle case,CheckConfiguration
+    */
+    void testCheckConfiguration();
+
+    /**
+    * Test middle case,CreateWindow
+    * 
+    * provide window for UI
+    */
+    void testCreateWindow();
+ 
+
+   /**
+   * Test middle case,SaveProvisionedEntry
+   * 
+   */
+   void testSaveProvisionedEntry();
+
+     /**
+     * Test middle case,query VmbxMailbox
+     * 
+     */
+    void testQueryVmbxMailbox();
+    
+    /**
+    * Test middle case,cancel observer for vmbx number changed
+    * 
+    */
+   void testNotifyVmbxNumberChangeCancel();
+
+   /**
+   * Test middle case,delete HbMainWindow
+   * 
+   */  
+   void testDeleteWindow();
+
+     /**
+     * Test middle case,delete CVoiceMailbox
+     */
+    void testDeleteVmbxMailbox();
+    
+    /**
+    * Test last case,delete CVoiceMailboxEntry
+    */
+   void testDeleteVmbxEntry();
+
+private:  //data
+
+    /**
+     * Own.
+     */
+    CVoiceMailboxEntry* mVmbxEntry;
+
+    /**
+     * Own.
+     */
+    CVoiceMailbox* mVmbxEngine;
+ 
+    /**
+     * Own.
+     */
+    HbMainWindow* mWindow;
+};
+
+#endif // _MT_VMBXENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = app
+TARGET = mt_vmbxengine
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+
+symbian: { 
+    TARGET.CAPABILITY = CAP_GENERAL_DLL 
+}
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+                   /epoc32/include/mw/QtTest \
+                  ../../inc
+
+    LIBS += -lvmbxengine.dll
+}
+
+# Input
+HEADERS += mt_vmbxengine.h
+SOURCES += mt_vmbxengine.cpp
+
--- a/phonesrv_plat/voice_mailbox_number_api/tsrc/src/vmbxenginetest.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,453 +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 VMBXEngine test component.
-*
-*/
-
-
-// INCLUDE FILES
-#include <stiftestinterface.h>
-#include <stifparser.h>
-#include <e32math.h>
-#include <centralrepository.h>
-#include <cenrepnotifyhandler.h>
-
-#include "vmnumber.h"
-#include "vmbxenginetest.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-const TUid KUidVoiceMailbox = {0x101F874F};
-const TUint32 KVmUIKeyOpts = 0x00000010;
-
-
-const TInt KVmUIKeyOptsForSimOnly = 1;
-const TInt KVmDefaultUIKeyOpts = 0;
-
-// ---------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------------------------
-//
-CVmbxEngineTest::CVmbxEngineTest( CTestModuleIf& aTestModuleIf ) :
-    CScriptBase( aTestModuleIf ), iSession( NULL ), iNotifyHandler( NULL )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVmbxEngineTest::ConstructL()
-    {
-    // Constructing static buffer size logger, needed with OOM testing because
-    // normally logger allocates memory from heap!
-    iLog = CStifLogger::NewL( KLogPath,
-                              KLogFile,
-                              CStifLogger::ETxt,
-                              CStifLogger::EFile,
-                              EFalse,
-                              ETrue,
-                              ETrue,
-                              EFalse,
-                              ETrue,
-                              EFalse,
-                              100 );
-    iLog->Log( _L( "CVmbxEngineTest logging starts!" ) );
-    }
-
-// ---------------------------------------------------------------------------
-// NewL creates a new test module
-// ---------------------------------------------------------------------------
-//
-CVmbxEngineTest* CVmbxEngineTest::NewL( CTestModuleIf& aTestModuleIf )
-    {
-    CVmbxEngineTest* self = new ( ELeave ) CVmbxEngineTest( aTestModuleIf );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CVmbxEngineTest::~CVmbxEngineTest()
-    {
-    if ( iLog )
-        {
-        iLog->Log( _L( "###### TEST MODULE CLOSED #######" ) );
-        delete iLog;
-        }
-    
-    delete iVmbxNumber;
-    
-    if ( iNotifyHandler )
-        {
-        iNotifyHandler->StopListening();
-        delete iNotifyHandler;
-        }
-
-    delete iSession;
-    delete iNumberBuf;    
-    }
-
-// ---------------------------------------------------------------------------
-// From class CScriptBase.
-// Runs a script line
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::RunMethodL( CStifItemParser& aItem )
-    {
-    static TStifFunctionInfo const KFunctions[] =
-        {
-        ENTRY( "Connect", CVmbxEngineTest::Connect ),
-        ENTRY( "Close", CVmbxEngineTest::Close ),
-        // test RVmbxNumber APIs
-        ENTRY( "AllowedToChangeTheNumber", 
-                CVmbxEngineTest::AllowedToChangeTheNumber ),
-        ENTRY( "SelectTypeL", CVmbxEngineTest::SelectTypeL ),
-        ENTRY( "IsSimMemory", CVmbxEngineTest::IsSimMemory ),
-        ENTRY( "QueryVideoMbxNumber", CVmbxEngineTest::QueryVideoMbxNumber ),
-        ENTRY( "QueryNumberL", CVmbxEngineTest::QueryNumberL ),
-        ENTRY( "GetVideoMbxNumber", CVmbxEngineTest::GetVideoMbxNumber ),
-        ENTRY( "ConfCenRepForEditNotAllowedL", 
-        		CVmbxEngineTest::ConfCenRepForEditNotAllowedL ),
-        ENTRY( "RevertCenRepEditNotAllowedL", 
-        		CVmbxEngineTest::RevertCenRepEditNotAllowedL ),
-        ENTRY( "ConfCenRepForEditAllowedL", 
-                CVmbxEngineTest::ConfCenRepForEditAllowedL ),
-        ENTRY( "InitGetNumFromSpecialMem", 
-                CVmbxEngineTest::InitGetNumFromSpecialMem ),
-        ENTRY( "TestGetNumFromSpecialMem", 
-                CVmbxEngineTest::TestGetNumFromSpecialMem ),
-        ENTRY( "CleanupGetNumFromSpecialMem", 
-                CVmbxEngineTest::CleanupGetNumFromSpecialMem )
-        };
-
-    const TInt count = sizeof( KFunctions ) /
-        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-    }
-
-// ---------------------------------------------------------------------------
-// Calls CVmbxEngineTest::Connect method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::Connect( CStifItemParser& /*aItem*/ )
-    {
-    TInt error = KErrAlreadyExists;
-    if ( !iVmbxNumber )
-        {
-        iVmbxNumber = new RVmbxNumber();
-        if ( iVmbxNumber )
-            {
-            iLog->Log( _L( "Opening.." ) );
-            error = iVmbxNumber->Open();
-            if ( KErrNone == error )
-            	{
-            	// save the source number temporarily 
-            	// so that it will be used while some cases are reverted.
-            	SaveSourceNumber();
-            	}
-            }
-        }
-    iLog->Log( _L( "Connecting done, %d" ), error );
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// Calls CVmbxEngineTest::Close method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::Close( CStifItemParser& /*aItem*/ )
-    {
-    iLog->Log( _L( "Closing.." ) );
-
-    if ( iVmbxNumber )
-        {
-        iVmbxNumber->Close();
-        delete iVmbxNumber;
-        iVmbxNumber = NULL;
-        
-        if ( iNumberBuf )
-            {
-            delete iNumberBuf;
-            iNumberBuf = NULL;
-            }  
-        }
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmbxEngineTest::AllowedToChangeTheNumber method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::AllowedToChangeTheNumber( CStifItemParser& /*aItem*/ )
-    {
-    TInt result( KErrNone );
-    result = iVmbxNumber->AllowedToChangeTheNumber();
-
-    iLog->Log( _L( "AllowedToChangeTheNumber return %d" ), result);
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmbxEngineTest::SelectTypeL method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::SelectTypeL( CStifItemParser& /*aItem*/ )
-    {
-    TInt result( KErrNone );
-    TRAP( result, iVmbxNumber->SelectTypeL( EVmbxDefine ) );
-
-    iLog->Log( _L( "SelectTypeL return result %d" ), result );
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmbxEngineTest::IsSimMemory method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::IsSimMemory( CStifItemParser& /*aItem*/ )
-    {
-    // Use allownextresult keyword in config file to control what is expected
-    // return value in your test case.
-    TInt result( KErrNone );
-    result = iVmbxNumber->IsSimMemory();
-    iLog->Log( _L( "IsSimMemory return %d" ), result );
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmbxEngineTest::QueryVideoMbxNumber method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::QueryVideoMbxNumber( CStifItemParser& aItem )
-    {
-    // Use allownextresult keyword in config file to control what is expected
-    // return value in your test case.
-    TInt result( KErrNone );
-    TBuf< KVmbxMaxNumberLength > number;
-
-    TInt queryType( KErrNone );
-    aItem.GetNextInt( queryType );
-
-    TRAP( result, iVmbxNumber->QueryVideoMbxNumberL( 
-    ( TVmbxQueryType )queryType, number ) );
-
-    iLog->Log( _L( "QueryVideoMbxNumber return %d" ), result );
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmbxEngineTest::QueryNumberL method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::QueryNumberL( CStifItemParser& aItem )
-    {
-    // Use allownextresult keyword in config file to control what is expected
-    // return value in your test case.
-    TInt result( KErrNone );
-    TBuf< KVmbxMaxNumberLength > number;
-
-    TInt queryType( KErrNone );
-    aItem.GetNextInt( queryType );
-
-    TRAP( result, iVmbxNumber->QueryNumberL( ( TVmbxQueryType )queryType, 
-    number, EFalse ) );
-        
-    iLog->Log( _L( "QueryNumberL return %d" ), result );
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CVmbxEngineTest::GetVideoMbxNumber method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::GetVideoMbxNumber( CStifItemParser& /*aItem*/ )
-    {
-    // Use allownextresult keyword in config file to control what is expected
-    // return value in your test case.
-    TInt result( KErrNone );
-    TBuf< KVmbxMaxNumberLength > number;
-
-    result = iVmbxNumber->GetVideoMbxNumber( number );
-
-    iLog->Log( _L( "GetVideoMbxNumber return %d" ), result );
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// Calls CVmbxEngineTest::ConfCenRepForEditNotAllowedL method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::ConfCenRepForEditNotAllowedL( CStifItemParser& /*aItem*/ )
-    {
-    TInt ret( KErrNone );
-    // create central repository for session and handler
-    CreateCentralRepositoryL();
-    
-    // configurate the key for the special condition like "sim only"
-    ret = iSession->Set( KVmUIKeyOpts, KVmUIKeyOptsForSimOnly );
-
-    iLog->Log( _L( "ConfCenRepForEditNotAllowedL %d" ), ret );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// Calls CVmbxEngineTest::RevertCenRepEditNotAllowedL method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::RevertCenRepEditNotAllowedL( CStifItemParser& /*aItem*/ )
-    {
-    TInt ret( KErrNone );
-    // reset the key to default value
-    ret = iSession->Set( KVmUIKeyOpts, KVmDefaultUIKeyOpts );
-    iLog->Log( _L( "RevertCenRepEditNotAllowedL %d" ), ret );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// Calls CVmbxEngineTest::ConfCenRepForEditAllowedL method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::ConfCenRepForEditAllowedL( CStifItemParser& /*aItem*/ )
-    {
-    TInt ret( KErrNone );
-    // create central repository for session and handler
-    CreateCentralRepositoryL();
-    
-    // configurate the key for the special condition like "sim only"
-    ret = iSession->Set( KVmUIKeyOpts, KVmDefaultUIKeyOpts );
-
-    iLog->Log( _L( "ConfCenRepForEditAllowedL %d" ), ret );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// Calls CVmbxEngineTest::InitGetNumFromSpecialMem method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::InitGetNumFromSpecialMem( CStifItemParser& aItem )
-	{
-	TInt ret( KErrNone );
-	
-	// Get number from Script file
-	TPtrC numberFromScript;
-	aItem.GetNextString( numberFromScript );
-	iLog->Log( _L( "InitGetNumFromSpecialMem saving number %S" ), 
-			&numberFromScript );
-	
-	// the number need to be saved to the sim/phone memory 
-	// to init the special case
-	ret = iVmbxNumber->SaveVmbxNumber( numberFromScript, 
-			EAlsActiveLineEntry );
-		
-	iLog->Log( _L( "InitGetNumFromSpecialMem return %d" ), ret );
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// Calls CVmbxEngineTest::TestGetNumFromSpecialMem method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::TestGetNumFromSpecialMem( CStifItemParser& aItem )
-	{
-	TInt ret( KErrNotFound );
-    TBuf< KVmbxMaxNumberLength > number;
-    // Use allownextresult keyword in config file to control what is expected
-    // return value in your test case.
-	
-	TPtrC numberFromScript;
-	aItem.GetNextString( numberFromScript );
-	iLog->Log( _L( "TestGetNumFromSpecialMem saving number %S" ), 
-			&numberFromScript );
-    
-	ret = iVmbxNumber->GetVmbxNumber( number );
-	if ( KErrNone == ret && KErrNone == number.Compare( numberFromScript ) )
-		{
-		ret = KErrNone;
-		}
-	
-	iLog->Log( _L( "TestGetNumFromSpecialMem number %S" ), &number );
-	iLog->Log( _L( "TestGetNumFromSpecialMem return %d" ), ret );
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// Calls CVmbxEngineTest::CleanupGetNumFromSpecialMem method
-// ---------------------------------------------------------------------------
-//
-TInt CVmbxEngineTest::CleanupGetNumFromSpecialMem( CStifItemParser& /*aItem*/ )
-	{
-	TInt ret( KErrNone );
-	// revert the source number to sim/phone memory
-	ret = iVmbxNumber->SaveVmbxNumber( *iNumberBuf, 
-			EAlsActiveLineEntry );
-	
-	iLog->Log( _L( "CleanupGetNumFromSpecialMem return %d" ), ret );
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// Save the source number temporarily
-// ---------------------------------------------------------------------------
-//
-void CVmbxEngineTest::SaveSourceNumber()
-	{
-	iNumberBuf = HBufC::New( KVmbxMaxNumberLength );
-	if ( iNumberBuf )
-		{
-		TPtr ptr( iNumberBuf->Des() );
-		iVmbxNumber->GetVmbxNumber( ptr );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// Create central repository for session and handler
-// ---------------------------------------------------------------------------
-//
-void CVmbxEngineTest::CreateCentralRepositoryL()
-	{
-	if ( !iSession )
-		{
-		// create central repository
-		iSession = CRepository::NewL( KUidVoiceMailbox );
-		}
-	
-	if ( !iNotifyHandler )
-		{
-		// set notify handler, when the key had been changed
-		// in the whole repository
-		iNotifyHandler = CCenRepNotifyHandler::NewL( *this, *iSession );
-		if ( iNotifyHandler )
-			{
-			iNotifyHandler->StartListeningL();
-			}		
-		}	
-	}
-
-// ======== GLOBAL FUNCTIONS ========
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point
-// Returns: CScriptBase*: Pointer to Test Module object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( CTestModuleIf& aTestModuleIf )
-    {
-    return CVmbxEngineTest::NewL( aTestModuleIf );
-    }
--- a/phonesrv_plat/voice_mailbox_number_api/voice_mailbox_number_api.metaxml	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" ?>
-<api id="8ba7be52cd2856e89b176dcabc91df05" dataversion="1.0">
-  <name>Voice Mailbox Number API</name>
-  <description>An interface for fetching/saving the vmbx number and querying for it</description>
-  <type>c++</type>
-  <subsystem>phoneuis</subsystem>
-  <libs>
-    <lib name="vmbx.lib" />
-  </libs>
-  <release category="domain"/>
-  <attributes>
-     <!-- This indicates wether the api provedes separate html documentation -->
-     <!-- or is the additional documentation generated from headers. -->
-     <!-- If you are unsuere then the value is "no" -->
-     <htmldocprovided>yes</htmldocprovided>
-     <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/phonesrv_plat/voice_mailbox_settings_api/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/phonesrv_plat/voice_mailbox_settings_api/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  File that exports the files belonging to 
-:                Voice Mailbox Settings API
+*               voice mailbox settings api
 *
 */
 
--- a/satengine/SatServer/Commands/LaunchBrowserCmd/src/CLaunchBrowserHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/LaunchBrowserCmd/src/CLaunchBrowserHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -16,6 +16,7 @@
 */
 
 
+
 #include    <MSatShellController.h>
 #include    <cmmanager.h>
 #include    <cmconnectionmethod.h>
@@ -211,8 +212,8 @@
                 "LAUNCHBROWSER::Event ESetUpMenuRequested catched and unreg" )
             iUtils->UnregisterEvent( this, MSatUtils::ESetUpMenuRequested );
             // Browser is brought to the top after short period of time.
-            iUtils->SatUiHandler().ShellController().
-                BringBrowserToForegroundAfterPeriod();
+            //iUtils->SatUiHandler().ShellController().
+            //    BringBrowserToForegroundAfterPeriod();
             break;
             }
 
@@ -809,8 +810,9 @@
           url=%s, IAP=%d", &aParam, aAccessPointUid.iUid )        
 
     // Browser launching called.
-    TInt err = iUtils->SatUiHandler().ShellController().LaunchBrowserL(
-        aParam, aAccessPointUid );
+    //TInt err = iUtils->SatUiHandler().ShellController().LaunchBrowserL(
+    //    aParam, aAccessPointUid );
+    TInt err =  KErrNone;
 
     if ( KErrNone == err )
         {
--- a/satengine/SatServer/Commands/OpenChannelCmd/src/COpenChannelHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/OpenChannelCmd/src/COpenChannelHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -65,6 +65,8 @@
     Cancel();
     iDataChannel = NULL;
 
+    delete iConnectionInfo.iOverrideSet;
+
     LOG( SIMPLE,
         "OPENCHANNEL: COpenChannelHandler::~CCloseChannelHandler exiting" )
     }
@@ -730,6 +732,9 @@
     "OPENCHANNEL: COpenChannelHandler::SetOverrideSettingsL aIapId: %i", 
     aIapId )
 
+    delete iConnectionInfo.iOverrideSet;
+    iConnectionInfo.iOverrideSet = NULL;
+
     // Override connection preferences
     TExtendedConnPref* overrideSettings = new( ELeave ) TExtendedConnPref;
     overrideSettings->SetIapId( aIapId );
--- a/satengine/SatServer/Commands/PlayToneCmd/src/CPlayToneHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/PlayToneCmd/src/CPlayToneHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -69,16 +69,14 @@
     LOG( SIMPLE, "PLAYTONE: CPlayToneHandler::ClientResponse calling" )
 
     iPlayToneRsp.SetPCmdNumber( iPlayToneData.PCmdNumber() );
-    
-    // A short-ish Play tone is aborted in GCf testing, that will be supported
-    // by using the Sat app Menu key to abort the play tone and to respond
-    // with KPSessionTerminatedByUser to Sat Server. That's why 
-    // MSatUtils::ESessionTerminatedByUser notify is NOT sent here because
-    // otherwise CSimSessionEndHandler::HandleCommand() closes Sat App always.
-    // (That should be done only if UI was not launched by user.)
-    LOG2( SIMPLE, "PLAYTONE: CPlayToneHandler::ClientResponse result=%d",
-        iPlayToneRsp.iGeneralResult )
-    
+    if ( RSat::KPSessionTerminatedByUser == iPlayToneRsp.iGeneralResult )
+        {
+        LOG( SIMPLE, "PLAYTONE: CPlayToneHandler::ClientResponse \
+             KPSessionTerminatedByUser" )
+        // Next SimSession end will close the ui session.
+        iUtils->NotifyEvent( MSatUtils::ESessionTerminatedByUser );
+        }
+        
     // If command had icon data and was done succesfully, report that icon
     // was not shown
     // To be removed when icons are allowed in this command
--- a/satengine/SatServer/Commands/SendSSCmd/inc/csatsendssbarringnouiobs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendSSCmd/inc/csatsendssbarringnouiobs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 #ifndef CSATSENDSSBARRINGNOUIOBS_H
 #define CSATSENDSSBARRINGNOUIOBS_H
 
-#include <MPsetBarringObs.h>
+#include <mpsetbarringobs.h>
 
 /**
 *  Implements MPsetBarringObserver and gets notifications of the barring process
--- a/satengine/SatServer/Commands/SendSSCmd/inc/csatsendsscallwaitingnouiobs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendSSCmd/inc/csatsendsscallwaitingnouiobs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 #ifndef CSATSENDSSCALLWAITINGNOUIOBS_H
 #define CSATSENDSSCALLWAITINGNOUIOBS_H
 
-#include <MPsetCallWaitingObs.h>
+#include <mpsetcallwaitingobs.h>
 
 /**
 *  Implements MPsetCallWaitingObserver and gets notifications
--- a/satengine/SatServer/Commands/SendSSCmd/inc/csatsendssclinouiobs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendSSCmd/inc/csatsendssclinouiobs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #ifndef CSATSENDSSCLINOUIOBS_H
 #define CSATSENDSSCLINOUIOBS_H
 
-#include <MPsetCliObserver.h>
+#include <mpsetcliobserver.h>
 
 /**
 *  Implements MPsetCliObserver and is responsible for handling notes related 
--- a/satengine/SatServer/Commands/SendSSCmd/inc/csatsendssdivertnouiobs.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendSSCmd/inc/csatsendssdivertnouiobs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 #ifndef CSATSENDSSDIVERTNOUIOBS_H
 #define CSATSENDSSDIVERTNOUIOBS_H
 
-#include <MPsetDivertObs.h>
+#include <mpsetdivertobs.h>
 
 /**
 *  Implements MPsetDivertObserver and gets notifications of
--- a/satengine/SatServer/Commands/SendSSCmd/inc/csatsendsshandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendSSCmd/inc/csatsendsshandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -19,14 +19,14 @@
 #ifndef CSATSENDSSHANDLER_H
 #define CSATSENDSSHANDLER_H
 
-#include <CPhoneGsmSsHandler.h>
+#include <cphonegsmsshandler.h>
 #include <nwdefs.h>
-#include <PsetCallWaiting.h>
-#include <PsetContainer.h>
-#include <PsetCallBarring.h>
-#include <PsetCallDiverting.h>
-#include <PsetCli.h>
-#include <MPsetRequestObs.h>
+#include <psetcallwaiting.h>
+#include <psetcontainer.h>
+#include <psetcallbarring.h>
+#include <psetcalldiverting.h>
+#include <psetcli.h>
+#include <mpsetrequestobs.h>
 
 class CSatSendSsBarringNoUiObs;
 class CSatSendSsCliNoUiObs;
--- a/satengine/SatServer/Commands/SendSSCmd/src/CSendSsHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendSSCmd/src/CSendSsHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* 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"
@@ -16,10 +16,10 @@
 */
 
 
-#include    <CPhoneGsmParserBase.h>
-#include    <CPhoneGsmParserResult.h>
-#include    <PhoneGsmParser.h>
-#include    <CPhoneGsmOptionContainerBase.h>
+#include    <cphonegsmparserbase.h>
+#include    <cphonegsmparserresult.h>
+#include    <phonegsmparser.h>
+#include    <cphonegsmoptioncontainerbase.h>
 
 #include    "MSatSystemState.h"
 #include    "MSatApi.h"
--- a/satengine/SatServer/Commands/SendSSCmd/src/csatsendsshandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendSSCmd/src/csatsendsshandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -16,11 +16,11 @@
 */
 
 #include "csatsendsshandler.h"
-#include <PsetCallWaiting.h>
-#include <PsetContainer.h>
-#include <PsetCallBarring.h>
-#include <PsetCallDiverting.h>
-#include <PsetCli.h>
+#include <psetcallwaiting.h>
+#include <psetcontainer.h>
+#include <psetcallbarring.h>
+#include <psetcalldiverting.h>
+#include <psetcli.h>
 
 #include "csatsendssbarringnouiobs.h"
 #include "csatsendssdivertnouiobs.h"
--- a/satengine/SatServer/Commands/SendUSSDCmd/group/SendUssdCmd.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendUSSDCmd/group/SendUssdCmd.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* 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"
@@ -47,8 +47,6 @@
 LIBRARY                 etelsat.lib
 LIBRARY                 SatEngine.lib
 LIBRARY                 phoneclient.lib         // Ussd sender
-LIBRARY                 aknnotify.lib
-LIBRARY                 centralrepository.lib   // CRepository
 
 #ifdef ENABLE_SAT_LOGGING
 LIBRARY                 flogger.lib
--- a/satengine/SatServer/Commands/SendUSSDCmd/inc/CSendUssdHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendUSSDCmd/inc/CSendUssdHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* 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"
@@ -140,13 +140,6 @@
         TUint8& aReceivedDcs );
 
     /**
-     * Show the ussd response note.
-     *
-     * @param aText The USSD response string to be shown.
-     */
-    void ShowUssdResponseNoteL( const TDesC& aText );
-
-    /**
      * Handles the result of Ussd sending
      *
      * @param aError Result of Ussd sending
@@ -289,10 +282,6 @@
      */
     TBool iIconCommand;
 
-    /**
-     * Indicates whether the result of sending USSD is displayed
-     */
-    TBool iIsSatDisplayUssdResult;
     };
 
 #endif      // CSENDUSSDHANDLER_H
--- a/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -16,13 +16,9 @@
 */
 
 
-#include    <CPhCltUssdSatClient.h>
-#include    <CPhCltUssd.h>
-#include    <AknGlobalNote.h>
+#include    <cphcltussdsatclient.h>
+#include	<cphcltussd.h>
 #include    <exterror.h>
-#include    <avkon.rsg>
-#include    <centralrepository.h>
-#include    <SATPrivateCRKeys.h>
 
 #include    "MSatSystemState.h"
 #include    "MSatApi.h"
@@ -568,40 +564,10 @@
     iNotificationRsp(),
     iNotificationRspPckg( iNotificationRsp ),
     // To be removed when icons are allowed in this command
-    iIconCommand( EFalse ),
-    iIsSatDisplayUssdResult( EFalse )
+    iIconCommand( EFalse )
     {
     LOG( SIMPLE,
-        "SENDUSSD: CSendUssdHandler::CSendUssdHandler calling" )
-    CRepository* repository = NULL;
-
-    TRAPD( result, repository = CRepository::NewL( KCRUidSatServer ); );
-    LOG2( NORMAL, "SENDUSSD: CSendUssdHandler::CSendUssdHandler \
-        open CRepository result: %d", result )
-
-    if ( repository && ( KErrNone == result ) )
-        {
-        result = repository->Get( KSatDisplayUssdResult, 
-        iIsSatDisplayUssdResult );
-        LOG2( NORMAL, 
-             "SENDUSSD: CSendUssdHandler::CSendUssdHandler \
-              get CRepository key iIsSatDisplayUssdResult: %d", 
-              iIsSatDisplayUssdResult )
-        
-        if ( KErrNone != result )
-            {
-            LOG2( NORMAL, 
-                 "SENDUSSD: CSendUssdHandler::CSendUssdHandler \
-                 get CRepository key error result: %d", 
-                 result )
-            }
-        }
-
-    delete repository;
-    repository = NULL;
-
-    LOG( SIMPLE,
-        "SENDUSSD: CSendUssdHandler::CSendUssdHandler exiting" )
+        "SENDUSSD: CSendUssdHandler::CSendUssdHandler calling - exiting" )
     }
 
 
@@ -629,17 +595,6 @@
 
     iSendUssdRsp.iUssdString.iUssdString.Copy( receiveMessage );
 
-    if ( ( RSat::EAlphaIdProvided != iSendUssdData.iAlphaId.iStatus )
-          && iIsSatDisplayUssdResult )
-        {
-        // if no Alpha ID provided, show the text note.
-        LOG( SIMPLE, "SENDUSSD: CSendUssdHandler::SendUssdString \
-        Show USSD result Note" )
-        TRAP_IGNORE( 
-        ShowUssdResponseNoteL( 
-        iSendUssdRsp.iUssdString.iUssdString ) );
-        }
-
     HandleSendUssdResult( error );
 
     LOG( SIMPLE, "SENDUSSD: CSendUssdHandler::SendUssdString exiting" )
@@ -716,23 +671,6 @@
     }
     
 // -----------------------------------------------------------------------------
-// Show the ussd response note.
-// -----------------------------------------------------------------------------
-//
-void CSendUssdHandler::ShowUssdResponseNoteL( const TDesC& aText )
-    {
-    LOG( SIMPLE, "SENDUSSD: CSendUssdHandler::ShowUssdResponseNoteL calling" )
-
-    CAknGlobalNote* note = CAknGlobalNote::NewLC();
-    note->SetSoftkeys( R_AVKON_SOFTKEYS_OK_EMPTY );
-    note->ShowNoteL( EAknGlobalConfirmationNote,
-        iSendUssdRsp.iUssdString.iUssdString );
-    CleanupStack::PopAndDestroy( note );
-
-    LOG( SIMPLE, "SENDUSSD: CSendUssdHandler::ShowUssdResponseNoteL exiting" )
-    }
-
-// -----------------------------------------------------------------------------
 // Handles the result of Ussd sending.
 // -----------------------------------------------------------------------------
 //
@@ -754,7 +692,6 @@
     else if ( TSatExtErrorUtils::IsExtendedError( aError ) ) // extended error
         {
         TUint8 addInfo( 0 );
-        // In subcase 2, SAT always gets KErrGsmCCCallRejected
         if ( KErrGsmCCCallRejected == aError )   
            {
            LOG( SIMPLE, 
@@ -833,8 +770,8 @@
         iSendUssdRsp.iGeneralResult = RSat::KModifiedByCallControl;
         iSendUssdRsp.iInfoType = RSat::KNoAdditionalInfo;
         iSendUssdRsp.iAdditionalInfo.SetLength( 0 );
-        iSendUssdRsp.iAdditionalInfo.Zero(); 
-        }
+        iSendUssdRsp.iAdditionalInfo.Zero();
+		}
     else if ( KErrNone == aError )   //  Success case
         {
         LOG( SIMPLE, 
--- a/satengine/SatServer/Commands/SetUpCallCmd/group/SetUpCallCmd.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SetUpCallCmd/group/SetUpCallCmd.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -30,6 +30,8 @@
 SOURCEPATH              ../src
 SOURCE                  std.cpp
 SOURCE                  CSetUpCallHandler.cpp
+SOURCE                  csetupcallrequesthandler.cpp
+SOURCE                  csetupcalldtmfsender.cpp
 
 START RESOURCE          1000f005.rss
 TARGET                  SetUpCallCmd.rsc
@@ -43,12 +45,11 @@
 SYSTEMINCLUDE           ../../../../../inc      // Domain telephony
 SYSTEMINCLUDE           ../../../../inc         // Subsystem satengine
 
-LIBRARY                 aiwdialdata.lib
-LIBRARY                 ServiceHandler.lib
-LIBRARY                 phoneclient.lib
 LIBRARY                 euser.lib
 LIBRARY                 etelsat.lib
-LIBRARY                 SatEngine.lib
+LIBRARY                 etelmm.lib
+LIBRARY                 etel.lib
+LIBRARY                 satengine.lib
 
 #ifdef ENABLE_SAT_LOGGING
 LIBRARY                 flogger.lib
--- a/satengine/SatServer/Commands/SetUpCallCmd/group/UT_CSetUpCallHandler.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SetUpCallCmd/group/UT_CSetUpCallHandler.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 *  Name        : UT_CSetUpCallHandler.pkg
 *  Part of     : SatServer / SetUpCallCmd
 *  Description : Project package file for project SetUpCall plug-in
-*  Version     : %version: e003sa18#4 %
+*  Version     : %version: e003sa17#6 %
 *
 *  Copyright (C) 2002-2008 Nokia.  All rights reserved.
 *  This material, including documentation and any related computer
--- a/satengine/SatServer/Commands/SetUpCallCmd/inc/CSetUpCallHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SetUpCallCmd/inc/CSetUpCallHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -21,22 +21,18 @@
 
 #include <etelsat.h>
 
-#include <AiwServiceHandler.h>
-#include <CPhCltEmergencyCall.h>
-#include <MPhCltEmergencyCallObserver.h>
-
 #include "CSatCommandHandler.h"
 #include "SatSTypes.h"
 
+class CSetupCallRequestHandler;
+
 /**
 *  Command handler for SetUpCall command.
 *
 *  @lib SetUpCallCmd.lib
 *  @since S60 v3.0
 */
-class CSetUpCallHandler : public CSatCommandHandler,
-                          public MAiwNotifyCallback,
-                          public MPhCltEmergencyCallObserver
+class CSetUpCallHandler : public CSatCommandHandler
     {
 
 public:
@@ -64,6 +60,13 @@
      */
     void ClientResponse();
 
+    /**
+    * Handle the setup call Request Complete.
+    *
+    * @param aErrCode Result of ETelMM Api calling.
+    */
+    void SetupCallRequestComplete( const TInt aErrCode );
+
 protected:
 
 // from base class CActive
@@ -115,33 +118,6 @@
      */
     void UiLaunchFailed();
 
-// from base class MAiwNotifyCallback
-
-    /**
-     * From MAiwNotifyCallback
-     * Called when dial request is completed.
-     *
-     * @param aCmdId Identifier of requested Aiw operation.
-     * @param aEventId Identifier of status event.
-     * @param aEventParamList Parameters of status event.
-     * @param aInParamList Parameters of Aiw operation.
-     */
-    TInt HandleNotifyL(
-        const TInt aCmdId,
-        const TInt aEventId,
-        CAiwGenericParamList& aEventParamList,
-        const CAiwGenericParamList& aInParamList );
-
-// from base class MPhCltEmergencyCallObserver
-
-    /**
-     * From MPhCltEmergencyCallObserver
-     * Called when emergency dial request is completed.
-     *
-     * @param aStatus Non zero value means failure.
-     */
-    void HandleEmergencyDialL( const TInt aStatus );
-
 private:
 
     CSetUpCallHandler();
@@ -153,7 +129,7 @@
      *
      * @since S60 3.2
      */
-    void DoSetupCallL();
+    void DoSetupCall( CSetupCallRequestHandler& aHandler );
 
     /**
      * Return terminal response filled according to dial result.
@@ -192,21 +168,16 @@
      * @param aNumber dialling number string
      */
     void CheckNumber( TDes& aNumber ) const;
-    
-    /**
-     * Converts a TCCP error to the corresponding symbian error.
-     *
-     * @param aTccpError A TCCP error number to be converted into
-     * a symbian one.
-     *
-     * @return The corresponding symbian error from TCCP error.
-     */
-    TInt TccpErrorToSymbianError( const TInt aTccpError ) const;
-    
+        
     /**
      * Create emergency call
      */
-    void CreateEmergencyCallL();
+    void CreateEmergencyCall( CSetupCallRequestHandler& aHandler );
+    
+    /**
+     * Check the Param of the setup call 
+     */
+    TBool CheckSetupCallParam();
     
 private: // data
 
@@ -251,15 +222,10 @@
     TSatQueryRspV1Pckg iQueryRspPckg;
 
     /**
-     * Service handler to make normal call.
+     * Handing the asynchronous request
      */
-    CAiwServiceHandler* iServiceHandler;
-
-    /**
-     * Utility to handle emergency calls.
-     */
-    CPhCltEmergencyCall* iEmergencyCallApi;
-
+    CSetupCallRequestHandler* iRequestHandler;
+      
     /**
      * Current call is an emergency call.
      */
@@ -271,11 +237,6 @@
     TBool iCallControlActive;
 
     /**
-     * Dial completion status
-     */
-    TInt iSetUpCallStatus;
-
-    /**
      * wait scheduler
      */
     CActiveSchedulerWait iWait;
--- a/satengine/SatServer/Commands/SetUpCallCmd/src/CSetUpCallHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SetUpCallCmd/src/CSetUpCallHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -14,13 +14,9 @@
 * Description:  Handles SetUpCall command
 *
 */
-
-
-#include    <aiwinternaldialdata.h>
-#include    <aiwdialdataext.h>
-
+#include    <e32base.h>
+#include    <etelmm.h>
 #include    <exterror.h>
-#include    <ccpdefs.h>
 
 #include    "MSatApi.h"
 #include    "MSatUtils.h"
@@ -28,6 +24,7 @@
 #include    "MSatUiSession.h"
 #include    "SatSOpcodes.h"
 #include    "MSatSUiClientHandler.h"
+#include    "csetupcallrequesthandler.h"
 #include    "CSetUpCallHandler.h"
 #include    "TSatExtErrorUtils.h"
 #include    "SatLog.h"
@@ -44,10 +41,21 @@
 const TUint8 KWildChar( 0x77 );
 const TUint8 KExpansionChar( 0x2E );
 
+/** Maximum name length. */ 
+const TInt KSatMaximumNameLength = 50;
+
+/** Maximum phone number length same as  used by phone. */ 
+const TInt KSatMaximumPhoneNumberLength = 100;
+
+/** The subaddress length, see ITU-T I.330 and 3GPP TS 11.14. */ 
+const TInt KSatSubAddressLength = 21;
+
+/** The maximum bearer length. The bearer capabilities as 
+defined in GSM 04.08. */ 
+const TInt KSatBearerLength = 14;
+
+
 _LIT( KFixedSimEmergencyNumber, "112" );
-_LIT8( KContentType, "*" );
-// 3GPP TS 24.008
-const TInt KMaximumPhoneNumberLength( 80 );
 
 // ======== MEMBER FUNCTIONS ========
 
@@ -79,18 +87,9 @@
     LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::~CSetUpCallHandler calling" )
 
     Cancel();
-
-    if ( iServiceHandler )
-        {
-        delete iServiceHandler;
-        iServiceHandler = NULL;
-        }
-
-    if ( iEmergencyCallApi )
-        {
-        delete iEmergencyCallApi;
-        iEmergencyCallApi = NULL;
-        }
+    
+    delete iRequestHandler;
+    iRequestHandler = NULL;
 
     LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::~CSetUpCallHandler exiting" )
     }
@@ -145,15 +144,15 @@
     if ( iQueryRsp.iAccepted )
         {
         // User accepted the call, make the call
-        TRAPD( error, DoSetupCallL() );
-
-        if ( KErrNone != error )
+        if( iRequestHandler )
             {
-            LOG2( NORMAL, 
-            "SETUPCALL: CSetUpCallHandler::ClientResponse Dial failed: %i", 
-            error )
-
-            CompleteSetupCall( RSat::KCmdDataNotUnderstood );
+            DoSetupCall( *iRequestHandler );
+            }
+        else
+            {
+            CompleteSetupCall(
+                RSat::KMeUnableToProcessCmd,
+                RSat::KNoSpecificMeProblem );
             }
         }
     else
@@ -188,6 +187,10 @@
     LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::DoCancel calling" )
 
     iUtils->USatAPI().NotifySetUpCallCancel();
+    if( iRequestHandler )
+        {
+        iRequestHandler->Cancel();
+        }
 
     LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::DoCancel exiting" )
     }
@@ -391,15 +394,13 @@
         {
         LOG( SIMPLE, 
         "SETUPCALL: CSetUpCallHandler::HandleCommand iEmergencyCall true" )
-        TRAPD( err, CreateEmergencyCallL() );
-        if ( KErrNone != err )
+        if ( iRequestHandler )
             {
-            LOG2( SIMPLE, 
-            "SETUPCALL: CSetUpCallHandler::HandleCommand DialEmergencyCallL \
-            failed: %d", err )
-
+            CreateEmergencyCall( *iRequestHandler );
+            }
+        else
+            {
             iEmergencyCall = EFalse;
-
             // Set the terminal response info.
             CompleteSetupCall(
                 RSat::KMeUnableToProcessCmd,
@@ -520,122 +521,49 @@
     }
 
 // -----------------------------------------------------------------------------
-// From class MAiwNotifyCallback.
-// Called when dial request is completed.
+// CSetUpCallHandler::SetupCallRequestComplete
+// (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-TInt CSetUpCallHandler::HandleNotifyL(
-    const TInt aCmdId,
-    const TInt aEventId,
-    CAiwGenericParamList& aEventParamList,
-    const CAiwGenericParamList& /*aInParamList*/ )
+void CSetUpCallHandler::SetupCallRequestComplete( TInt aErrCode )
     {
-    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::HandleNotifyL calling" )
-
-    if ( KAiwCmdCall == aCmdId )
-        {
-        LOG2( SIMPLE, 
-        "SETUPCALL: CSetUpCallHandler::HandleNotifyL  event: %d", aEventId )
-        switch ( aEventId )
-            {
-            case KAiwEventError:
-            case KAiwEventCompleted:
-            case EGenericParamError: // This is due CCaUiPlugin behaviour.
-                                     // Also overlaps event KAiwEventStarted.
-                {
-                LOG( SIMPLE, 
-                "SETUPCALL: CSetUpCallHandler::HandleNotifyL SetupCall \
-                Completed" )
-
-                // Fetch completion status.
-                TInt index( 0 );
-                const TAiwGenericParam* param = aEventParamList.FindFirst(
-                    index, EGenericParamError );
-
-                if ( param )
-                    {
-                    LOG( SIMPLE, 
-                    "SETUPCALL: CSetUpCallHandler::HandleNotifyL param true" )
-                    
-                    // Converts error number to symbian-formatted before 
-                    // calling CompleteSetupCallWithStatus.
-                    TInt error = TccpErrorToSymbianError( 
-                        param->Value().AsTInt32() );
-                    CompleteSetupCallWithStatus( error );
-                    }
-                else
-                    {
-                    CompleteSetupCall( RSat::KSuccess );
-                    }
-                }
-                break;
+    LOG( SIMPLE,
+    "SETUPCALL: CSetUpCallHandler::SetupCallRequestComplete calling" )
 
-            case KAiwEventCanceled:
-            case KAiwEventStopped:
-            case KAiwEventQueryExit:
-                {
-                LOG( SIMPLE, 
-                "SETUPCALL: CSetUpCallHandler::HandleNotifyL SetupCall \
-                cancelled" )
-
-                CompleteSetupCallWithStatus( KErrAbort );
-                }
-                break;
-
-            case KAiwEventOutParamCheck:
-            case KAiwEventInParamCheck:
-                {
-                LOG( SIMPLE, 
-                "SETUPCALL: CSetUpCallHandler::HandleNotifyL SetupCall param \
-                fail" )
-
-                CompleteSetupCall( RSat::KCmdDataNotUnderstood );
-                }
-                break;
-
-            default:
-                {
-                LOG( SIMPLE, 
-                "SETUPCALL: CSetUpCallHandler::HandleNotifyL Unknown event \
-                id" )
-                }
-                break;
-
-            }
-        }
-
-    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::HandleNotifyL exiting" )
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// From class MAiwNotifyCallback.
-// Called when dial request is completed.
-// -----------------------------------------------------------------------------
-//
-void CSetUpCallHandler::HandleEmergencyDialL( const TInt aStatus )
-    {
-    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::HandleEmergencyDialL calling" )
-
-    iEmergencyCall = EFalse;
-
-    if ( KErrNone == aStatus )
+    LOG2( NORMAL,
+    "SETUPCALL: CSetUpCallHandler::SetupCallRequestComplete aErrCode %d",
+    aErrCode )
+    
+    if( !iEmergencyCall )
         {
-        // Set result
-        CompleteSetupCall( RSat::KSuccess );
+        CompleteSetupCallWithStatus( aErrCode );
         }
     else
         {
-        CompleteSetupCall(
-            RSat::KNetworkUnableToProcessCmd,
-            RSat::KNoSpecificMeProblem );
+        iEmergencyCall = EFalse;
 
-        LOG( SIMPLE, 
-        "SETUPCALL: CSetUpCallHandler::HandleEmergencyDialL Network unable \
-        to process this" )
+        if ( KErrNone == aErrCode )
+            {
+            // Set result
+            CompleteSetupCall( RSat::KSuccess );
+            }
+        else
+            {
+            // The emergency call implementation 
+            // before S60 SAT migration from AIW to EtelMM
+            // According current information, no requirement for this.
+            // We don't return extended network error.
+            CompleteSetupCall(
+                RSat::KNetworkUnableToProcessCmd,
+                RSat::KNoSpecificMeProblem );
+
+            LOG( SIMPLE,
+            "SETUPCALL: CSetUpCallHandler::HandleEmergencyDialL Network unable \
+            to process this" )
+            }
         }
-
-    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::HandleEmergencyDialL exiting" )
+    LOG2( NORMAL,
+        "SETUPCALL: CSetUpCallHandler::SetupCallRequestComplete exiting %d", aErrCode )
     }
 
 // -----------------------------------------------------------------------------
@@ -669,6 +597,9 @@
     {
     LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::ConstructL calling" )
 
+    
+    iRequestHandler = CSetupCallRequestHandler::NewL( iUtils->MultiModeApi(),
+            this ); 
     // Create request handler. This is same that LaunchBrowser uses, so this
     // is needed also in HandleCommand - function.
     iUtils->RegisterServiceRequestL(
@@ -679,27 +610,6 @@
     iUtils->RegisterL( this, MSatUtils::ECallControlExecuting );
     iUtils->RegisterL( this, MSatUtils::ECallControlDone );
 
-    // Create service handler for normal call setup.
-    iServiceHandler = CAiwServiceHandler::NewL();
-
-    // Create dynamic resource to attach service handler.
-    RCriteriaArray interest;
-    CAiwCriteriaItem* item = CAiwCriteriaItem::NewLC(
-        KAiwCmdCall,
-        KAiwCmdCall,
-        KContentType );
-
-    TUid serviceClassBase;
-    serviceClassBase.iUid = KAiwClassBase;
-    item->SetServiceClass( serviceClassBase );
-
-    interest.AppendL( item );
-
-    // Attach to call service.
-    iServiceHandler->AttachL( interest );
-
-    CleanupStack::PopAndDestroy( item );
-
     LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::ConstructL exiting" )
     }
 
@@ -707,103 +617,60 @@
 // Performs the request to dial
 // -----------------------------------------------------------------------------
 //
-void CSetUpCallHandler::DoSetupCallL()
+void CSetUpCallHandler::DoSetupCall( CSetupCallRequestHandler& aHandler )
     {
     LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::DoSetupCallL calling" )
-
-    RSat::TSetUpCallType callType( iSetUpCallData.iType );
-
-    TDes& telNumber( iSetUpCallData.iAddress.iTelNumber );
-    CheckNumber( telNumber );
-
-    // 80 is max length in SAT calls, AIW max length is 100
-    if ( telNumber.Length() > KMaximumPhoneNumberLength )
+    
+    if( CheckSetupCallParam() )
         {
-        LOG( SIMPLE, 
-        "SETUPCALL: CSetUpCallHandler::DoSetupCallL telNumber too long" )
-        User::Leave( KErrArgument );
-        }
+
+        RSat::TSetUpCallType callType( iSetUpCallData.iType );
+    
+        TDes& telNumber( iSetUpCallData.iAddress.iTelNumber );
+        CheckNumber( telNumber );
 
-    TBuf< AIWDialDataExt::KMaximumNameLength > name;
-    if ( RSat::EAlphaIdProvided ==
-         iSetUpCallData.iAlphaIdCallSetUpPhase.iStatus )
-        {
-        LOG( SIMPLE, 
-        "SETUPCALL: CSetUpCallHandler::DoSetupCallL EAlphaIdProvided" )
-        name = iSetUpCallData.iAlphaIdCallSetUpPhase.iAlphaId;
+        RMobileCall::TMobileCallParamsV7 dialParams;
+        RMobileCall::TMobileCallParamsV7Pckg package( dialParams );
+    
+        //Redail has been removed from MCL, no redail support.
+        dialParams.iAutoRedial = EFalse;
+        dialParams.iBearerMode = RMobileCall::EMulticallNewBearer;
+        dialParams.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+        dialParams.iSubAddress = iSetUpCallData.iSubAddress;
+        dialParams.iBearerCap1 = iSetUpCallData.iCapabilityConfigParams;
+        
+        dialParams.iBCRepeatIndicator = RMobileCall::EBCAlternateMode;
+        
+        dialParams.iIconId.iQualifier = RMobileCall::ENoIconId;
+        
+        
+        dialParams.iAlphaId = iSetUpCallData.iAlphaIdCallSetUpPhase.iAlphaId;
+        LOG2( NORMAL, 
+            "SETUPCALL: CSetUpCallHandler::DoSetupCallL id:%S",
+            &dialParams.iAlphaId )
+        
+        LOG2( NORMAL, 
+            "SETUPCALL: CSetUpCallHandler::DoSetupCallL number:%S",
+            &iSetUpCallData.iAddress.iTelNumber )
+        
+        TBool terminateOtherCall( EFalse );
+        // check if we need to disconnect other calls
+        if ( ( RSat::EDisconnectOtherCalls == callType ) ||
+             ( RSat::EDisconnectOtherCallsWithRedial == callType ) )
+            {
+            LOG( SIMPLE, 
+            "SETUPCALL: CSetUpCallHandler::DoSetupCallL end other call" )
+            terminateOtherCall = ETrue ;
+            }
+        
+        aHandler.DialNumber( package, iSetUpCallData.iAddress.iTelNumber,
+                terminateOtherCall, iUtils->CreateAsyncToSyncHelper() );
         }
     else
         {
-        LOG( SIMPLE, 
-        "SETUPCALL: CSetUpCallHandler::DoSetupCallL set AlphaId" )
-        name = iUtils->SatAppName();
-        }
-
-    // Make the phone call parameters.
-    CAiwInternalDialData* dialData = CAiwInternalDialData::NewLC();
-
-    dialData->SetCallType( CAiwDialData::EAIWVoice );
-    dialData->SetWindowGroup( AIWDialData::KAiwGoToIdle );
-    // coverity static analysis tool generates a false finding here 
-    // eliminating that 
-    // coverity[use_after_free]
-    dialData->SetPhoneNumberL( telNumber );
-    dialData->SetSATCall( ETrue );
-    dialData->SetShowNumber( EFalse );
-    // coverity static analysis tool generates a false finding here 
-    // eliminating that 
-    // coverity[use_after_free]
-    dialData->SetNameL( name );
-    dialData->SetAllowMatch( EFalse );
-    // Remove the redial mechanism from S60 5.x.
-    dialData->SetRedial( AIWDialDataExt::KAIWRedialOff );
-
-    // check if we need to disconnect other calls
-    if ( ( RSat::EDisconnectOtherCalls == callType ) ||
-         ( RSat::EDisconnectOtherCallsWithRedial == callType ) )
-        {
-        LOG( SIMPLE, 
-        "SETUPCALL: CSetUpCallHandler::DoSetupCallL end other call" )
-        dialData->SetEndOtherCalls( ETrue );
+        CompleteSetupCallWithStatus( KErrArgument );
         }
-
-    if ( AIWInternalDialData::KAiwBearerLength >=
-         iSetUpCallData.iCapabilityConfigParams.Length() )
-        {
-        LOG( NORMAL, 
-        "SETUPCALL: CSetUpCallHandler::DoSetupCallL SetBearerL" )
-        // coverity static analysis tool generates a false finding here 
-        // eliminating that
-        // coverity[use_after_free]
-        dialData->SetBearerL( iSetUpCallData.iCapabilityConfigParams );
-        }
-
-    if ( AIWInternalDialData::KAiwSubAddressLength >=
-         iSetUpCallData.iSubAddress.Length() )
-        {
-        LOG( NORMAL, 
-        "SETUPCALL: CSetUpCallHandler::DoSetupCallL SetSubAddressL" )
-        // coverity static analysis tool generates a false finding here 
-        // eliminating that 
-        // coverity[use_after_free]
-        dialData->SetSubAddressL( iSetUpCallData.iSubAddress );
-        }
-
-    CAiwGenericParamList& paramList = iServiceHandler->InParamListL();
-    // coverity static analysis tool generates a false finding here 
-    // eliminating that
-    // coverity[use_after_free]
-    dialData->FillInParamListL( paramList );
-
-    iServiceHandler->ExecuteServiceCmdL(
-        KAiwCmdCall,
-        paramList,
-        iServiceHandler->OutParamListL(),
-        0,
-        this );
-
-    CleanupStack::PopAndDestroy( dialData );
-
+    
     LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::DoSetupCallL exiting" )
     }
 
@@ -867,6 +734,7 @@
                 }
 
             case KErrGeneral:
+            case KErrArgument:
                 {
                 LOG( SIMPLE, 
                 "SETUPCALL: CSetUpCallHandler::CompleteSetupCallWithStatus Data \
@@ -945,6 +813,8 @@
         else if ( ( RSat::ESelfExplanatory == qualifier2 ) ||
                   ( RSat::ENotSelfExplanatory == qualifier2 ) )
             {
+            // Until 2009-10 the phone and NTSY not support the icon.
+            // to be updated after the updating of the phone and NTSY
             result = RSat::KSuccessRequestedIconNotDisplayed;
             LOG( SIMPLE, 
             "SETUPCALL: CSetUpCallHandler::CompleteSetupCallWithStatus Icon \
@@ -966,7 +836,6 @@
                 result = RSat::KSuccessRequestedIconNotDisplayed;
                 }
             }
-
         // Set result
         CompleteSetupCall( result );
         }
@@ -1028,7 +897,7 @@
 void CSetUpCallHandler::CheckNumber( TDes& aNumber ) const
     {
     LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CheckNumber calling" )
-
+    
     for ( TInt i = 0; i < aNumber.Length(); i++ )
         {
         // check values
@@ -1067,6 +936,7 @@
             aNumber[i] = KExpansionChar;
             }
         }
+    
     LOG2( SIMPLE, 
     "SETUPCALL: CSetUpCallHandler::CheckNumber length of aNumber: %d",
      aNumber.Length() )
@@ -1074,297 +944,54 @@
     }
 
 // -----------------------------------------------------------------------------
-// Converts a TCCP error to the corresponding symbian error.
+// Create emergency call
 // -----------------------------------------------------------------------------
 //
-TInt CSetUpCallHandler::TccpErrorToSymbianError( const TInt aTccpError ) const
+void CSetUpCallHandler::CreateEmergencyCall( 
+        CSetupCallRequestHandler& aHandler )
     {
-    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::TccpErrorToSymbianError \
-        calling" )
-    
-    // Error to be returned after mapped from aTccpError;
-    // Initialized with default value KErrAccessDenied.
-    TInt retValue( KErrAccessDenied );
+    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CreateEmergencyCall calling" )
+   
+    aHandler.DialEmergencyCall( iSetUpCallData.iAddress.iTelNumber );
     
-    // Convert TCCP Error to Symbian Error in the switch braces.
-    switch ( aTccpError )
-        {
-        case ECCPErrorNone:
-        case ECCPErrorNotFound:
-        case ECCPErrorGeneral:
-        case ECCPErrorCancel:
-        case ECCPErrorNoMemory:
-        case ECCPErrorNotSupported:
-        case ECCPErrorAlreadyInUse:
-        case ECCPErrorNotReady:
-            {
-            retValue = aTccpError;
-            break;
-            }
-            
-        case ECCPErrorCCCallRejected:
-            {
-            retValue = KErrGsmCCCallRejected;
-            break;
-            }
-            
-        case ECCPRequestFailure:
-            {
-            retValue = KErrGsmMMCongestion;
-            break;
-            }
-            
-        case ECCPErrorCCBearerCapabilityNotAuthorised:
-        case ECCPErrorBadRequest:
-            {
-            retValue = KErrGsmCCBearerCapabilityNotAuthorised;
-            break;
-            }
-            
-        case ECCPErrorAccessDenied:
-            {
-            retValue = KErrAccessDenied;
-            break;
-            }
-        
-         //The following are KErrGsmCallControlBase group.
-        case ECCPErrorNotReached:
-            {
-            retValue = KErrGsmCCUnassignedNumber;
-            break;
-            }
-            
-        case ECCPErrorBusy:
-            {
-            retValue = KErrGsmCCUserBusy;
-            break;
-            }
-            
-        case ECCPErrorMovedPermanently:
-            {
-            retValue = KErrGsmCCNumberChanged;
-            break;
-            }
-            
-        case ECCPErrorInvalidURI:
-            {
-            retValue = KErrGsmCCInvalidNumberFormat;
-            break;
-            }
-            
-        case ECCPErrorNetworkOutOfOrder:
-            {
-            retValue = KErrGsmCCNetworkOutOfOrder;
-            break;
-            }
-            
-        case ECCPErrorCCNoRouteToDestination:
-            {
-            retValue = KErrGsmCCNoRouteToDestination;
-            break;
-            }
-
-        case ECCPErrorCCDestinationOutOfOrder:
-            {
-            retValue = KErrGsmCCDestinationOutOfOrder;
-            break;
-            }
-            
-        case ECCPErrorCCResourceNotAvailable:
-            {
-            retValue = KErrGsmCCResourceNotAvailable;
-            break;
-            }
-            
-
-        case ECCPErrorCCInvalidTransitNetworkSelection:
-            {
-            retValue = KErrGsmCCInvalidTransitNetworkSelection;
-            break;
-            }
-            
-        case ECCPErrorCCIncompatibleDestination:
-            {
-            retValue = KErrGsmCCIncompatibleDestination;
-            break;
-            }
-            
-        case ECCPErrorCCIncompatibleMessageInCallState:
-            {
-            retValue = KErrGsmCCIncompatibleMessageInCallState;
-            break;
-            }
-
-        case ECCPErrorCCIncompatibleMessageInProtocolState:
-            {
-            retValue = KErrGsmCCIncompatibleMessageInProtocolState;
-            break;
-            }
-            
-        case ECCPErrorCCNormalCallClearing:
-            {
-            retValue = KErrGsmCCNormalCallClearing;
-            break;
-            }
-            
-        case ECCPErrorCCUserAlertingNoAnswer:
-            {
-            retValue = KErrGsmCCUserAlertingNoAnswer;
-            break;
-            }
-
-        case ECCPErrorCCUserNotResponding:
-            {
-            retValue = KErrGsmCCUserNotResponding;
-            break;
-            }
-
-        case ECCPErrorCCPreemption:
-            {
-            retValue = KErrGsmCCPreemption;
-            break;
-            }
-            
-        case ECCPErrorCCFacilityRejected:
-            {
-            retValue = KErrGsmCCFacilityRejected;
-            break;
-            }
-
-        case ECCPErrorCCResponseToStatusEnquiry:
-            {
-            retValue = KErrGsmCCResponseToStatusEnquiry;
-            break;
-            }
-            
-        case ECCPErrorCCInvalidMandatoryInformation:
-            {
-            retValue = KErrGsmCCInvalidMandatoryInformation;
-            break;
-            }
-            
-        case ECCPErrorCCNonExistentMessageType:
-            {
-            retValue = KErrGsmCCNonExistentMessageType;
-            break;
-            }
-
-        case ECCPErrorCCNonExistentInformationElement:
-            {
-            retValue = KErrGsmCCNonExistentInformationElement;
-            break;
-            }
-
-        case ECCPErrorCCNoChannelAvailable:
-            {
-            retValue = KErrGsmCCNoChannelAvailable;
-            break;
-            }
-
-        case ECCPErrorCCRequestedFacilityNotSubscribed:
-            {
-            retValue = KErrGsmCCRequestedFacilityNotSubscribed;
-            break;
-            }
-
-        case ECCPErrorCCIncomingCallsBarredInCug:
-            {
-            retValue = KErrGsmCCIncomingCallsBarredInCug;
-            break;
-            }
-            
-        case ECCPErrorUserNotInCug:
-            {
-            retValue = KErrGsmCCUserNotInCug;
-            break;
-            }
-            
-        case ECCPErrorCCRecoveryOnTimerExpiry:
-            {
-            retValue = KErrGsmCCRecoveryOnTimerExpiry;
-            break;
-            }
-
-        case ECCPErrorCCBearerCapabilityNotCurrentlyAvailable:
-            {
-            retValue = KErrGsmCCBearerCapabilityNotCurrentlyAvailable;
-            break;
-            }
-
-        case ECCPErrorCCServiceNotAvailable:
-            {
-            retValue = KErrGsmCCServiceNotAvailable;
-            break;
-            }
-
-        case ECCPErrorCCBearerServiceNotImplemented:
-            {
-            retValue = KErrGsmCCBearerServiceNotImplemented;
-            break;
-            }
-
-        case ECCPErrorCCOnlyRestrictedDigitalInformationBCAvailable:
-            {
-            retValue = KErrGsmCCOnlyRestrictedDigitalInformationBCAvailable;
-            break;
-            }
-            
-        case ECCPErrorCCServiceNotImplemented:
-            {
-            retValue = KErrGsmCCServiceNotImplemented;
-            break;
-            }
-            
-        case ECCPErrorCCUnspecifiedInterworkingError:
-            {
-            retValue = KErrGsmCCUnspecifiedInterworkingError;
-            break;
-            }
-            
-        case ECCPErrorSatControl:
-            {
-            retValue = KErrSatControl;
-            break;
-            }
-                
-        default:
-            {
-            retValue = KErrAccessDenied;
-            break;
-            }
-        }
-        
-    LOG2( SIMPLE, 
-        "SETUPCALL: CSetUpCallHandler::TccpErrorToSymbianError TCCP error:%d",
-         aTccpError)
-    LOG2( SIMPLE, 
-        "SETUPCALL: CSetUpCallHandler::TccpErrorToSymbianError \
-        mapped Symbian Error:%d", retValue)
-    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::TccpErrorToSymbianError \
-        exiting" )
-    
-    return retValue;
+    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CreateEmergencyCall exiting" )    
     }
 
 // -----------------------------------------------------------------------------
-// Create emergency call
+// check setup call param.
 // -----------------------------------------------------------------------------
 //
-void CSetUpCallHandler::CreateEmergencyCallL()
+TBool CSetUpCallHandler::CheckSetupCallParam()
     {
-    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CreateEmergencyCallL calling" )
-    
-    if( !iEmergencyCallApi )
+    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CheckSetupCallParam calling" )
+
+    TBool valid( ETrue );
+    if ( iSetUpCallData.iAddress.iTelNumber.Length()
+          > KSatMaximumPhoneNumberLength )
+        {
+        LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CheckSetupCallParam num" )
+        valid = EFalse;
+        }    
+    else if ( iSetUpCallData.iAlphaIdCallSetUpPhase.iAlphaId.Length()
+               > KSatMaximumNameLength )
         {
-        // Create service handler for emergency call setup..
-        LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CreateEmergencyCallL\
-         create emergency call handler" )
-        iEmergencyCallApi = CPhCltEmergencyCall::NewL( this );
-        }
+        LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CheckSetupCallParam name" )
+        valid = EFalse;
+        }    
+    else if ( iSetUpCallData.iSubAddress.Length() > KSatSubAddressLength )
+        {
+        LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CheckSetupCallParam sub" )
+        valid = EFalse;
+        }    
+    else if ( iSetUpCallData.iCapabilityConfigParams.Length()
+               > KSatBearerLength )
+        {
+        LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CheckSetupCallParam bear" )
+        valid = EFalse;
+        }    
+    LOG2( SIMPLE, 
+    "SETUPCALL: CSetUpCallHandler::CheckSetupCallParam exiting %d", valid )
     
-    iEmergencyCallApi->DialEmergencyCallL( 
-        iSetUpCallData.iAddress.iTelNumber );
-    LOG( SIMPLE, "SETUPCALL: CSetUpCallHandler::CreateEmergencyCallL exiting" )    
+    return valid;        
     }
-
 // End Of File
--- a/satengine/SatServer/Commands/SetUpIdleModeTextCmd/inc/CSetUpIdleModeTextHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SetUpIdleModeTextCmd/inc/CSetUpIdleModeTextHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -119,9 +119,6 @@
         // Response package.
         RSat::TSetUpIdleModeTextRspV1Pckg iSetUpIdleModeTextRspPckg;
 
-        // Indicates are we waiting for response
-        TBool iWaitingForResponse;
-
         // Store for restoring last valid idle mode text.
         TBool iSimResetExecuting;
         RSat::TIdleModeText iLastValidText;
--- a/satengine/SatServer/Commands/SetUpIdleModeTextCmd/src/CSetUpIdleModeTextHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SetUpIdleModeTextCmd/src/CSetUpIdleModeTextHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -18,7 +18,7 @@
 
 #include    <e32property.h>
 #include    <centralrepository.h>
-#include    <NetworkHandlingDomainPSKeys.h>
+#include    <networkhandlingdomainpskeys.h>
 #include    "SATPrivateCRKeys.h"
 #include    "MSatApi.h"
 #include    "MSatUtils.h"
@@ -66,14 +66,6 @@
     LOG( SIMPLE, "SETUPIDLEMODETEXT: \
         CSetUpIdleModeTextHandler::ConstructL calling" )
 
-    iWaitingForResponse = EFalse;
-
-    // Register to listen Idle mode responses.
-    iUtils->RegisterL( this, MSatUtils::EIdleModeResponseSuccess );
-    iUtils->RegisterL( this, MSatUtils::EIdleModeResponseSuccessNoIcon );
-    iUtils->RegisterL( this, MSatUtils::EIdleModeResponseUnableToProcess );
-    iUtils->RegisterL( this, MSatUtils::EIdleModeResponseBeyondCapabilities );
-
     // Register to listen ESimReset execution.
     iUtils->RegisterL( this, MSatUtils::ESimResetCalled );
     iUtils->RegisterL( this, MSatUtils::ESimResetCancelled );
@@ -135,50 +127,9 @@
     {
     LOG( SIMPLE,
         "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::Event calling" )
-    TBool responseOk( EFalse );
-
     // Check the response
     switch ( aEvent )
         {
-        case MSatUtils::EIdleModeResponseSuccess:
-            {
-            LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                KSuccess")
-            iSetUpIdleModeTextRsp.iGeneralResult = RSat::KSuccess;
-            responseOk = ETrue;
-            break;
-            }
-
-        case MSatUtils::EIdleModeResponseSuccessNoIcon:
-            {
-            LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                KSuccessReqIconNotDisplayed")
-            iSetUpIdleModeTextRsp.iGeneralResult =
-                RSat::KSuccessRequestedIconNotDisplayed;
-            responseOk = ETrue;
-            break;
-            }
-
-        case MSatUtils::EIdleModeResponseUnableToProcess:
-            {
-            LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                KMeUnableToProcessCmd")
-            iSetUpIdleModeTextRsp.iGeneralResult =
-                RSat::KMeUnableToProcessCmd;
-            responseOk = ETrue;
-            break;
-            }
-
-        case MSatUtils::EIdleModeResponseBeyondCapabilities:
-            {
-            LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                KBeyondMeCapabilities")
-            iSetUpIdleModeTextRsp.iGeneralResult =
-                RSat::KCmdBeyondMeCapabilities;
-            responseOk = ETrue;
-            break;
-            }
-
         case MSatUtils::ESimResetCalled:
             {
             LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
@@ -244,17 +195,6 @@
             break;
             }
         }
-
-    if ( responseOk && iWaitingForResponse )
-        {
-        LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-        send response")
-        iWaitingForResponse = EFalse;
-
-        // Send terminal response, if the event was solved
-        TerminalRsp( RSat::ESetUpIdleModeText, iSetUpIdleModeTextRspPckg );
-        }
-
     LOG( SIMPLE,
         "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::Event exiting" )
     }
@@ -402,8 +342,6 @@
         }
     else
         {
-        iWaitingForResponse = ETrue;
-
         // Save data for restore.
         iSimResetExecuting = EFalse;
         iLastValidText = idleModeText;
@@ -431,6 +369,9 @@
                     remove the homezone indicator and return %d", errorCode )
                 }
             }
+        
+        iSetUpIdleModeTextRsp.iGeneralResult = RSat::KSuccess;
+        TerminalRsp( RSat::ESetUpIdleModeText, iSetUpIdleModeTextRspPckg );
         }
 
     LOG( SIMPLE,
--- a/satengine/SatServer/Commands/SetUpMenuCmd/group/UT_CSetUpMenuHandler.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Commands/SetUpMenuCmd/group/UT_CSetUpMenuHandler.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -19,7 +19,7 @@
 *  Name        : UT_CSetUpMenuHandler.mmp
 *  Part of     : SatServer / SetUpMenuCmd
 *  Description : Project package file for project SetUpMenu plug-in
-*  Version     : %version: e003sa18#4 %
+*  Version     : %version: e003sa17#6 %
 *
 *  Copyright (c)2002-2008 Nokia.  All rights reserved.
 *  This material, including documentation and any related computer
--- a/satengine/SatServer/Engine/group/SatEngine.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/group/SatEngine.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -75,12 +75,8 @@
 SYSTEMINCLUDE           /epoc32/include/ecom
 SYSTEMINCLUDE           ../../../../inc         // Domain telephonyservices
 SYSTEMINCLUDE           ../../../inc            // Subsystem satengine
+SYSTEMINCLUDE           /epoc32/include/mw/hb/hbcore
 
-START RESOURCE          ../src/SatServer.rss
-HEADER
-TARGETPATH              RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // RESOURCE
 
 USERINCLUDE             ../inc
 USERINCLUDE             ../../inc
@@ -108,6 +104,7 @@
 LIBRARY                 netmeta.lib
 LIBRARY                 cmmanager.lib
 LIBRARY                 extendedconnpref.lib 
+LIBRARY                 hbcore.lib
 
 #ifdef ENABLE_SAT_LOGGING
 LIBRARY                 flogger.lib
--- a/satengine/SatServer/Engine/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2003-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"
@@ -24,7 +24,6 @@
 PRJ_EXPORTS
 ../inc/MSatShellController.h        |../../../../inc/MSatShellController.h
 ../../CenRep/SATInternalPSKeys.h    |../../../../inc/SATInternalPSKeys.h
-../../loc/SatServer.loc             MW_LAYER_LOC_EXPORT_PATH( satserver.loc )
 
 PRJ_MMPFILES
 SatEngine.mmp
--- a/satengine/SatServer/Engine/inc/CSatApnHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/inc/CSatApnHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -25,8 +25,6 @@
 #include "MSatApnHandler.h"
 
 class MSatUtils;
-class RCmConnectionMethod;
-class RCmManager;
 
 /**
 *  Handles the Access point operations with CMManager. Searches, inserts and
@@ -125,15 +123,6 @@
         */
         HBufC* FormatAPN( const RSat::TAccessName& aReqApn ) const;
 
-        /**
-         * Get default connection method.
-         *
-         * @param aCmManager Input Connection method manager.
-         * @param aDefCm Output reference to RCmConnectionMethod.
-         * @return None
-         */
-        void GetDefConnMethodL( RCmManager& aCmManager, 
-            RCmConnectionMethod& aDefCm );
     private:  // Data
 
         // Reference to command container
--- a/satengine/SatServer/Engine/inc/CSatCommandContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/inc/CSatCommandContainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -372,7 +372,7 @@
      * @since S60 v3.0
      * @param aResourceId Selects name of the item to be read.
      */
-    void CreateSatAppNameL( const TInt aResourceId );
+    void CreateSatAppNameL( const TDesC& aResourceId );
 
     /**
      * Gives pointer to BIP Utils class.
--- a/satengine/SatServer/Engine/inc/csatmultimodeapi.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/inc/csatmultimodeapi.h	Tue Aug 31 15:45:17 2010 +0300
@@ -109,7 +109,13 @@
      * Access RMobilePhone::SendDTMFTones
      * for the paramter information please see the etelmm.h
      */ 
-    void SendDTMFTones( TRequestStatus& aReqStatus, const TDesC& aTones);    
+    void SendDTMFTones( TRequestStatus& aReqStatus, const TDesC& aTones);   
+    
+    /**
+     * Access RMobilePhone::ContinueDTMFStringSending
+     * for the paramter information please see the etelmm.h
+     */ 
+    TInt ContinueDTMFStringSending( TBool aContinue );
     
     /**
      * Access RMobilePhone::CancelAsyncRequest
@@ -147,6 +153,34 @@
      * @return ETrue if there is an incoming call
      */
     TBool IsCallIncoming();
+    
+    /**
+     * Access RMobileCall::NotifyMobileCallStatusChange
+     */
+    void NotifyMobileCallStatusChange( TRequestStatus& aReqStatus,
+                    RMobileCall::TMobileCallStatus& aStatus) ; 
+
+    /**
+     * Access RMobileCall::NotifyStatusChangeCancel
+     */
+    void NotifyCallStatusChangeCancel();
+    /**
+     * Access RMobilePhone::TerminateActiveCalls NotifyMobileCallStatusChange
+     */
+    void TerminateActiveCalls(TRequestStatus& aReqStatus);
+
+    
+    /**
+     * Access RMboileCall::GetMobileCallInfo
+     */
+    TInt GetMobileCallInfo(TDes8& aCallInfo);
+    
+    /**
+     * Access RMboileCall::DialEmergencyCall
+     */
+    virtual void DialEmergencyCall(TRequestStatus& aReqStatus, 
+                const TDesC& aNumber);
+            
 private:
 
     /**
@@ -174,17 +208,17 @@
      */
     void LoadPhoneModuleL( RMobilePhone& aPhone, const TDesC& aModuleName,
             const TDesC& aPhoneName );
-                           
-    /**
-     * Open the RMobileCall
-     */
-    void LoadMobileCallL();
-    
+
     /**
      * Open the RMobileUssdMessaging
      */ 
     void LoadUssdMessagingL();
     
+    /**
+     * Open the RMobileCall
+     */
+    TInt LoadMobileCall();
+    
 
 private: // data
 
--- a/satengine/SatServer/Engine/src/CSatApnHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/src/CSatApnHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -276,7 +276,7 @@
     cm.SetIntAttributeL( CMManager::ECmWapIPWSPOption, 
                          CMManager::ECmWapWspOptionConnectionOriented );
     cm.SetBoolAttributeL( CMManager::EPacketDataDisablePlainTextAuth, EFalse );
-    cm.SetIntAttributeL( CMManager::ECmIFPromptForAuth, EFalse );
+    cm.SetBoolAttributeL( CMManager::ECmIFPromptForAuth, EFalse );
 
     if ( aUserLogin != KNullDesC )
         {
@@ -397,33 +397,59 @@
     {
     LOG( SIMPLE, "SATENGINE: CSatApnHandler::FindDefaultApL calling" );
     TUint32 defaultIap( 0 );
-    TInt pdpType( 0 );
+    TInt pdpType;
+    TBool isFound( EFalse );
 
-    // create CMManager Session
+    // create a network destination
+    RCmDestination des;
+    RCmConnectionMethod cm;
+
+    // Create CMManager Session
     RCmManager cmManager;
     cmManager.OpenL();
     CleanupClosePushL( cmManager );
 
-    // create a network connection method
-    RCmConnectionMethod cm;
-    CleanupClosePushL( cm );
-    // get a default connection method
-    GetDefConnMethodL( cmManager, cm );
+    // Get the Connection Method list from the open CMManager session
+    RArray<TUint32> array( KSatCMGranularity );
+    CleanupClosePushL( array );
+
+    // list all available destinations' id
+    cmManager.AllDestinationsL( array );
+    for( TInt i = 0; ( i < array.Count() ) && !isFound; ++i )
+        {
+        des = cmManager.DestinationL( array[i] );
+        CleanupClosePushL( des );
 
-    // get pdp type
-    pdpType = cm.GetIntAttributeL( CMManager::EPacketDataPDPType );
-    if ( pdpType == aPdpType )
-        {
-        // get a default iap id
-        defaultIap = cm.GetIntAttributeL( CMManager::ECmIapId );
-        LOG2( SIMPLE, "SATENGINE: CSatApnHandler::FindDefaultApL \
-                  default iap had been found defaultIap = %d", defaultIap )
+        if ( CMManager::ESnapPurposeInternet ==
+        des.MetadataL( CMManager::ESnapMetadataPurpose ) )
+            {
+            LOG( SIMPLE, "SATENGINE: CSatApnHandler::FindDefaultApL \
+            the fixed destination is identified as 'Internet'" );
+            for( TInt j = 0; ( j < des.ConnectionMethodCount() ) &&
+            !isFound; ++j )
+                {
+                cm = des.ConnectionMethodL( j );
+                CleanupClosePushL( cm );
+                pdpType = cm.GetIntAttributeL(
+                        CMManager::EPacketDataPDPType );
+                LOG2( SIMPLE, "SATENGINE: CSatApnHandler::FindDefaultApL \
+                        current protocol type is %d", pdpType )
+                if ( pdpType == aPdpType )
+                    {
+                    defaultIap = cm.GetIntAttributeL( CMManager::ECmIapId );
+                    isFound  = ETrue;
+                    LOG2( SIMPLE, "SATENGINE: CSatApnHandler::FindDefaultApL \
+                            default iap had been found %d", defaultIap )
+                    }
+                CleanupStack::PopAndDestroy( &cm );
+                }
+            }
+        CleanupStack::PopAndDestroy( &des );
         }
-
-    CleanupStack::PopAndDestroy( &cm );
+    CleanupStack::PopAndDestroy( &array );
     CleanupStack::PopAndDestroy( &cmManager );
 
-    if ( !defaultIap )
+    if ( !isFound )
         {
         LOG( SIMPLE, "SATENGINE: CSatApnHandler: default AP not found" );
         User::Leave( KErrNotFound );
@@ -432,48 +458,4 @@
     LOG( SIMPLE, "SATENGINE: CSatApnHandler::FindDefaultApL exit" )
     return defaultIap;
     }
-
-// --------------------------------------------------------------------------
-// CSatApnHandler::GetDefConnMethodL
-// --------------------------------------------------------------------------
-void CSatApnHandler::GetDefConnMethodL( RCmManager& aCmManager, 
-        RCmConnectionMethod& aDefCm )
-    {
-    LOG( SIMPLE, "SATENGINE: CSatApnHandler::GetDefConnMethodL calling" )
-
-    // Go through the default connection methods to find
-    // the one valid method
-    TCmDefConnValue defConn;
-    aCmManager.ReadDefConnL( defConn );
-
-    LOG3( SIMPLE, "SATENGINE: CSatApnHandler::\
-    GetDefConnMethodL DefConn type=%d, id=%d", 
-    defConn.iType, defConn.iId )
-
-    // Default setting is a connection method
-    if ( ECmDefConnConnectionMethod == defConn.iType )
-        {
-        LOG( SIMPLE, "SATENGINE: CSatApnHandler::\
-        GetDefConnMethodL ECmDefConnConnectionMethod" )
-        // get a default connection method 
-        aDefCm = aCmManager.ConnectionMethodL( defConn.iId );
-        }
-    // Default setting is a destination method
-    else if ( ECmDefConnDestination == defConn.iType )
-        {
-        RCmDestination defDes;
-        CleanupClosePushL( defDes );
-
-        LOG( SIMPLE, "SATENGINE: CSatApnHandler::\
-        GetDefConnMethodL ECmDefConnDestination" )
-        // get a default destination
-        defDes = aCmManager.DestinationL( defConn.iId );
-        // get the first default connection method from destination
-        aDefCm = defDes.ConnectionMethodL( 0 );
-
-        CleanupStack::PopAndDestroy( &defDes );
-        }
-
-    LOG( SIMPLE, "SATENGINE: CSatApnHandler::GetDefConnMethodL exit" )
-    }
 //  End of File
--- a/satengine/SatServer/Engine/src/CSatCommandContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/src/CSatCommandContainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -20,12 +20,12 @@
 #include    <f32file.h>
 #include    <barsc.h>
 #include    <bautils.h>
-#include    <SatServer.rsg>
 #include    <ecom.h>
 #include    <e32property.h>
 #include    <data_caging_path_literals.hrh>
 #include    <startupdomainpskeys.h>
 #include    <satdomainpskeys.h>
+#include    <hbtextresolversymbian.h>
 
 #include    "MSatSystemState.h"
 #include    "TSatSystemStateFactory.h"
@@ -52,21 +52,44 @@
 #include    "csatmultimodeapi.h"
 #include    "csatsactivewrapper.h"
 
-// Drive letter for resource file
-_LIT( KResourceDrive, "Z:" );
-// SatServer's resource file
-_LIT( KSatServerRsc, "SatServer.rsc" );
-
+_LIT( KResourceDrive, "z:\\resource\\qt\\translations" );
+_LIT( KSatServerRsc, "satapp_");
+_LIT( KSatLogTitle, "txt_simatk_title_sim_services");
+_LIT( KSatCmccTitle, "txt_simatk_titlw_cmcc_sim_services");
 
 const TUid KSatInterfaceDefinitionUid = { 0x1000f001 };
 const TInt KSizeOfBuf = 50;
 
-const TInt8 KCreateSatAppNamePop( 2 );
 
 // Important plugins UIDs. These are started on startup
 // Implementation UID is from the <plugin>.rss
 const TUid KSetUpEventListUid = { 0x10202993 };
 
+// ======== LOCAL FUNCTIONS ========
+
+// -----------------------------------------------------------------------------
+// CleanupPointerArray
+// Cleanup RPointerArray objects by using the cleanup stack. Function will be 
+// called when application leaves while a RPointerArray object still alive, 
+// or when CleanupStack::PopAndDestroy is explicitly called to release a 
+// RPointerArray. See CleanupStack::PushL( TCleanupItem ) for more details.
+// -----------------------------------------------------------------------------
+//
+static void CleanupPointerArray( TAny* aArray )
+    {
+    LOG2( NORMAL, "SATENGINE: CSatCommandContainer::CleanupPointerArray \
+        calling array = 0x%08x", aArray )
+    
+    RImplInfoPtrArray* array = reinterpret_cast<RImplInfoPtrArray*>( aArray );
+    if ( array )
+        {
+        array->ResetAndDestroy();
+        }
+    
+    LOG( NORMAL, "SATENGINE: CSatCommandContainer::CleanupPointerArray \
+        exiting" )
+    }
+
 // ======== MEMBER FUNCTIONS ========
 
 // -----------------------------------------------------------------------------
@@ -158,6 +181,8 @@
              in startup phase" )
         // Create command handlers.
         RImplInfoPtrArray satCommandImplementations;
+        CleanupStack::PushL( 
+            TCleanupItem( CleanupPointerArray, &satCommandImplementations ) );
         REComSession::ListImplementationsL( KSatInterfaceDefinitionUid,
             satCommandImplementations );
 
@@ -196,7 +221,7 @@
                     }
                 }
             }
-        satCommandImplementations.ResetAndDestroy();
+        CleanupStack::PopAndDestroy( &satCommandImplementations );
         
         // Notify TSY about readiness i.e. all nofies are sent
         // Done only once in startup phase
@@ -219,6 +244,8 @@
 
         // Create command handlers.
         RImplInfoPtrArray satCommandImplementations;
+        CleanupStack::PushL( 
+            TCleanupItem( CleanupPointerArray, &satCommandImplementations ) );
         REComSession::ListImplementationsL( KSatInterfaceDefinitionUid,
             satCommandImplementations );
 
@@ -253,7 +280,7 @@
             // No commands, remove SAT Icon from shell
             iSatUiHandler.ShellController().RemoveSatUiL();
             }
-        satCommandImplementations.ResetAndDestroy();
+        CleanupStack::PopAndDestroy( &satCommandImplementations );
         }
     else
         {
@@ -366,7 +393,7 @@
         iIsCmccSim = ETrue;
 
         // Update default name read in ConstructL.
-        TRAPD( err, CreateSatAppNameL( R_QTN_SAT_CMCC_TITLE ) );
+        TRAPD( err, CreateSatAppNameL( KSatCmccTitle ) );
         LOG2( NORMAL, "SATENGINE:   Error: %i", err )
         if ( KErrNone == err )
             {
@@ -598,7 +625,7 @@
         {
         LOG( NORMAL,
             "SATENGINE: CSatCommandContainer::RestoreSatAppNameL name reset" )
-        CreateSatAppNameL( R_QTN_SAT_LOG_TITLE );
+        CreateSatAppNameL( KSatLogTitle );
         }
     LOG( NORMAL, "SATENGINE: CSatCommandContainer::RestoreSatAppNameL exiting" )
     }
@@ -873,7 +900,7 @@
     LOG( NORMAL, "SATENGINE: CSatCommandContainer::ConstructL calling" )
 
     iIsCmccSim = EFalse;
-    CreateSatAppNameL( R_QTN_SAT_LOG_TITLE );
+    CreateSatAppNameL( KSatLogTitle );
 
     // Register for ui events in order to keep track if user or command
     // has launched the ui.
@@ -962,52 +989,22 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void CSatCommandContainer::CreateSatAppNameL( const TInt aResourceId )
+void CSatCommandContainer::CreateSatAppNameL( const TDesC& aResourceId )
     {
     LOG( NORMAL, "SATENGINE: CSatCommandContainer::CreateSatAppNameL calling" )
-
-    // Open the RFs session.
-    RFs fs;
-
-    User::LeaveIfError( fs.Connect() );
-
-    // Push close operation in tbe cleanup stack
-    CleanupClosePushL( fs );
-
-    RResourceFile resFile;
-    // Backslashes are already defined in resource file, not needed here.
-    TBuf<KSizeOfBuf> buf( KResourceDrive );
-    buf.Append( KDC_RESOURCE_FILES_DIR );
-    buf.Append( KSatServerRsc );
-
-    TFileName fileName( buf );
-
-    BaflUtils::NearestLanguageFile( fs, fileName );
-
-    // Open the resource file
-    resFile.OpenL( fs, fileName );
+    delete iSatAppName;
+    iSatAppName = NULL;
+    const TBool textResolver = HbTextResolverSymbian::Init( 
+        KSatServerRsc, KResourceDrive );
+    LOG2(NORMAL,"SATENGINE: CSatCommandContainer::\
+        CreateSatAppNameL textResolver = %d", textResolver ) 
+    LOG2(NORMAL,"SATENGINE: CSatCommandContainer::\
+        CreateSatAppNameL aResourceId = %S", &aResourceId )
 
-    // Push close operation in the cleanup stack
-    CleanupClosePushL( resFile );
-
-    resFile.ConfirmSignatureL( ESatSResourceSignature );
-
-    // Reads a resource structure with memory allocation.
-    HBufC8* dataBuffer = resFile.AllocReadLC( aResourceId );
-
-    TResourceReader resReader;
-    resReader.SetBuffer( dataBuffer );
-
-    // Reads a string with memory allocation
-    iSatAppName = resReader.ReadHBufCL();
+    iSatAppName = HbTextResolverSymbian::LoadL( aResourceId );
+    LOG2(NORMAL,"SATENGINE: CSatCommandContainer::\
+        CreateSatAppNameL iSatAppName = %S", iSatAppName )
     iSatBipName.Copy( SatAppName() );
-
-    // dataBuffer
-    CleanupStack::PopAndDestroy( dataBuffer );
-    // resFile, Calls resFile.Close()
-    // fs, Calls fs.Close
-    CleanupStack::PopAndDestroy( KCreateSatAppNamePop );
-
     LOG( NORMAL, "SATENGINE: CSatCommandContainer::CreateSatAppNameL exiting" )
     }
 
@@ -1085,9 +1082,11 @@
 
     // Create command handlers.
     RImplInfoPtrArray satCommandImplementations;
+    CleanupStack::PushL( 
+        TCleanupItem( CleanupPointerArray, &satCommandImplementations ) );
     REComSession::ListImplementationsL( KSatInterfaceDefinitionUid,
         satCommandImplementations );
-
+    
     // Container for commands
     const TInt cmdCount( satCommandImplementations.Count() );
     LOG2( NORMAL, "SATENGINE: CSatCommandContainer::\
@@ -1118,8 +1117,8 @@
             CleanupStack::Pop( setUpEventListCmd );
             }
         }
-
-    satCommandImplementations.Close();
+    
+    CleanupStack::PopAndDestroy( &satCommandImplementations );
     LOG( NORMAL, "SATENGINE: CSatCommandContainer::\
         StartImportantCommandHandlersL exiting" )
     }
@@ -1142,3 +1141,5 @@
         }
     LOG( NORMAL, "SATENGINE: CSatCommandContainer::CheckStartupState exiting" )
     }
+
+// End Of File
--- a/satengine/SatServer/Engine/src/CSatSIconSubSession.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/src/CSatSIconSubSession.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -219,27 +219,44 @@
     LOG( SIMPLE,
         "SATENGINE: CSatSIconSubSession::NotifyGetIconInstanceL calling" )
 
-    if ( iInfo.iLength == iIconData->Length() )
+    LOG2( NORMAL, "SATENGINE: CSatSIconSubSession::NotifyGetIconInstanceL \
+          infoLength: %x", iInfo.iLength )
+
+    LOG2( NORMAL, "SATENGINE: CSatSIconSubSession::NotifyGetIconInstanceL \
+          dataLength: %x", iIconData->Length() )
+
+    // Get the CLUT and convert the icon data to bitmap.
+
+    // basic icon has empty CLUT
+    if ( RSat::KBasic == iInfo.iCoding )
         {
-        LOG( SIMPLE, "SATENGINE: CSatSIconSubSession::NotifyGetIconInstanceL \
-             length equal" )
-        // Get the clut and convert the icon data to bitmap.
-        if ( RSat::KBasic == iInfo.iCoding )
+        // For the basi icon the length from the icon info and icon data
+        // body should have the same length but for the clore icon the
+        // length not always same.
+        if ( iInfo.iLength == iIconData->Length() )
             {
             LOG( SIMPLE, "CSatSIconSubSession::NotifyGetIconInstanceL \
-                 get the clut" )
+             get the basic clut" )
             // Basic icon does not have CLUT.
             iClut = KNullDesC8().AllocL();
-
             // Complete icon.
             NotifyGetClutL();
             }
         else
             {
             LOG( SIMPLE, "CSatSIconSubSession::NotifyGetIconInstanceL \
-                 others" )
-            TPtr8 iconDataPtr( iIconData->Des() );
+                notify failure basic" )
+            NotifyFailure( KErrCorrupt );
+            }
+        }
+    else // color icon
+        {
+        LOG( SIMPLE, "CSatSIconSubSession::NotifyGetIconInstanceL \
+             others" )
+        TPtr8 iconDataPtr( iIconData->Des() );
 
+        if ( iconDataPtr.Length() >= KNumberOfCLUTByte + 1 )
+            {
             // Create buffer for clut. Each clut entry contains
             // intensity of red, green and blue. The value of 0 is
             // interpreted as 256 clut entries. (ETSI TS 131 102 V4.10.0).
@@ -250,12 +267,17 @@
                 {
                 numberOfClutEntries = KDefaultNumberOfClutEntries;
                 }
-
+    
             // Start getting the icon color lookup table from SIM.
-            iClut = HBufC8::NewL( numberOfClutEntries * KClutEntrySize );
-
-            if ( iconDataPtr.Length() >= KNumberOfCLUTByte + 1 )
+            TInt length = numberOfClutEntries * KClutEntrySize;
+            // In some situation the length we get from the icon information
+            // includes the length of the CLUT and some time it doesn't
+            // Both situation a valid.
+            if ( ( iInfo.iLength == iIconData->Length() )
+                 || ( iInfo.iLength == iIconData->Length() + length ) )  
                 {
+                iClut = HBufC8::NewL( length );
+    
                 LOG( SIMPLE, "CSatSIconSubSession::NotifyGetIconInstanceL \
                      get clut" )
                 const TUint offset( iconDataPtr[KColourDepthByte] << 8 |
@@ -271,12 +293,12 @@
                 NotifyFailure( KErrCorrupt );
                 }
             }
-        }
-    else
-        {
-        LOG( SIMPLE, "CSatSIconSubSession::NotifyGetIconInstanceL \
-             notify failure" )
-        NotifyFailure( KErrCorrupt );
+        else
+            {
+            LOG( SIMPLE, "CSatSIconSubSession::NotifyGetIconInstanceL \
+                 others notify failure" )
+            NotifyFailure( KErrCorrupt );
+            }
         }
 
     LOG( SIMPLE,
--- a/satengine/SatServer/Engine/src/SatServer.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2003-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains all the resources for the module.
-*
-*/
-
-
-NAME    SATS
-
-#include <uikon.rh>
-
-#include "SatServer.hrh"
-#include <satserver.loc>
-
-RESOURCE RSS_SIGNATURE { signature = ESatSResourceSignature; }
-
-/******************* Localized texts **********************/
-
-// -----------------------------------------------------------------------------
-// r_sats_ti_log_title
-// Defines localized text
-// -----------------------------------------------------------------------------
-//
-RESOURCE LBUF r_qtn_sat_log_title
-    {
-    txt = qtn_sat_log_title;
-    }
-
-RESOURCE LBUF r_qtn_sat_cmcc_title
-    {
-    txt = qtn_sat_cmcc_title;
-    }
--- a/satengine/SatServer/Engine/src/csatmediatoreventprovider.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/src/csatmediatoreventprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -15,8 +15,6 @@
 *
 */
 
-
-
 #include    <featmgr.h>
 #include    <centralrepository.h>
 #include    <MediatorDomainUIDs.h>
--- a/satengine/SatServer/Engine/src/csatmultimodeapi.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/src/csatmultimodeapi.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -218,6 +218,17 @@
     }
 
 // -----------------------------------------------------------------------------
+// CSatMultiModeApi::ContinueDTMFStringSending
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CSatMultiModeApi::ContinueDTMFStringSending( TBool aContinue )
+    {
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::ContinueDTMFStringSending" )
+    return iPhone.ContinueDTMFStringSending( aContinue );
+    }
+
+// -----------------------------------------------------------------------------
 // CSatMultiModeApi::DialNoFdnCheck
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
@@ -226,6 +237,9 @@
         const TDesC8& aCallParams, const TDesC& aTelNumber)
     {
     LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialNoFdnCheck calling" )
+    TInt err = LoadMobileCall();
+    LOG2( SIMPLE, "SATENGINE: CSatMultiModeApi::DialNoFdnCheck err %d", err )
+    
     iCall.DialNoFdnCheck( aStatus, aCallParams, aTelNumber );
     LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialNoFdnCheck exiting" )
     }
@@ -294,7 +308,7 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-TBool CSatMultiModeApi::IsCallIncoming( )
+TBool CSatMultiModeApi::IsCallIncoming()
     {
     LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::IsCallIncoming entering" )
     TInt lines( 0 );
@@ -341,8 +355,75 @@
           callIncoming )
     return callIncoming;
     }
+
 // -----------------------------------------------------------------------------
-// CSatMultiModeApi::SetActiveAndWait
+// CSatMultiModeApi::NotifyMobileCallStatusChange
+// -----------------------------------------------------------------------------
+//
+void CSatMultiModeApi::NotifyMobileCallStatusChange ( 
+        TRequestStatus& aReqStatus, RMobileCall::TMobileCallStatus& aStatus )
+    {
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::NotifyMobileCallStatusChange \
+             calling" )
+    iCall.NotifyMobileCallStatusChange( aReqStatus, aStatus );
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::NotifyMobileCallStatusChange \
+             exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSatMultiModeApi::NotifyCallStatusChangeCancel
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSatMultiModeApi::NotifyCallStatusChangeCancel()
+    {
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialCancel calling" )
+    iCall.NotifyStatusChangeCancel();
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialCancel exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSatMultiModeApi::NotifyMobileCallStatusChange
+// -----------------------------------------------------------------------------
+//
+void CSatMultiModeApi::TerminateActiveCalls(TRequestStatus& aReqStatus)
+    {
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::TerminateAllCalls calling" )
+
+    iPhone.TerminateActiveCalls( aReqStatus );
+    
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::TerminateAllCalls exiting" )
+    } 
+
+// -----------------------------------------------------------------------------
+// CSatMultiModeApi::GetMobileCallInfo
+// -----------------------------------------------------------------------------
+//
+TInt CSatMultiModeApi::GetMobileCallInfo(TDes8& aCallInfo)
+    {
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::GetMobileCallInfo calling" )
+    TInt ret = iCall.GetMobileCallInfo( aCallInfo );
+    LOG2( SIMPLE, "SATENGINE: CSatMultiModeApi::GetMobileCallInfo exiting %d",
+            ret )
+    return ret;
+    }
+       
+// -----------------------------------------------------------------------------
+// CSatMultiModeApi::GetMobileCallInfo
+// -----------------------------------------------------------------------------
+//
+void CSatMultiModeApi::DialEmergencyCall(TRequestStatus& aReqStatus, 
+        const TDesC& aNumber)
+    {
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialEmergencyCall calling" )
+    TInt err = LoadMobileCall();
+    LOG2( SIMPLE, "SATENGINE: CSatMultiModeApi::DialEmergencyCall err %d", err )
+    iCall.DialEmergencyCall( aReqStatus, aNumber );
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialEmergencyCall exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSatMultiModeApi::ConstructL
 // -----------------------------------------------------------------------------
 //
 void CSatMultiModeApi::ConstructL()
@@ -354,7 +435,6 @@
 #if !defined ( __WINSCW__ )
     //On the emulator the load will leave. We can not use the functionaly
     //on enmulator
-    LoadMobileCallL();
     LoadUssdMessagingL();
 #endif
 
@@ -535,14 +615,24 @@
     }
 
 // -----------------------------------------------------------------------------
-// CSatMultiModeApi::LoadMobileCallL
+// CSatMultiModeApi::LoadMobileCall
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void CSatMultiModeApi::LoadMobileCallL()
+TInt CSatMultiModeApi::LoadMobileCall()
     {
     LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadMobileCallL calling" )
 
+    if ( iCallOpened )
+        {
+        iCall.Close();
+        }
+    
+    if ( iLineOpened )
+        {
+        iLine.Close();
+        }
+    
     TInt numberOfTries( 1 );        // Indicates loop tryouts
     TBool loopSuccess( EFalse );    // Loop stopper, if this is ETrue
     TInt error = KErrNone;          // Error that is Leave'd
@@ -567,13 +657,11 @@
 
     LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadMobileCallL \
           iLine error: %i", error )
-    User::LeaveIfError( error );
     
     numberOfTries = 1;
     loopSuccess =  EFalse;
-    error = KErrNone;
 
-    while ( !loopSuccess && numberOfTries <= KLoopMaxTryouts )
+    while ( iLineOpened &&!loopSuccess && numberOfTries <= KLoopMaxTryouts )
         {
         error = iCall.OpenNewCall( iLine );
         if ( KErrNone == error )
@@ -594,9 +682,8 @@
     LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadMobileCallL \
           iCall error: %i", error )
 
-    User::LeaveIfError( error );
-
-    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadMobileCallL exiting" )   
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadMobileCallL exiting" )
+    return error;
     }
     
 // -----------------------------------------------------------------------------
@@ -636,7 +723,7 @@
           
     User::LeaveIfError( error );
 
-    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadUssdMessagingL exiting" )   
+    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadUssdMessagingL exiting" )
     }
 
 
--- a/satengine/SatServer/Engine/src/csatprofilechangeobserver.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/Engine/src/csatprofilechangeobserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -17,6 +17,7 @@
 
 
 // INCLUDE FILES
+#include    <coreapplicationuissdkcrkeys.h>
 #include    "TSatSystemStateFactory.h"
 #include    "MSatSystemStateChangeNotifier.h"
 #include    "MSatUtils.h"
@@ -24,10 +25,6 @@
 #include    "SatLog.h"
 #include    "CSatSUiClientHandler.h"
 
-
-// CONSTANTS
-const TInt KSatActiveProfileOffline = 5; // value from ProfileEngine
-
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
@@ -112,7 +109,7 @@
         with value %d", aValue )
 
     // If profile is off-line send removing event
-    if ( KSatActiveProfileOffline == aValue )
+    if ( ECoreAppUIsNetworkConnectionNotAllowed == aValue )
         {
         LOG( SIMPLE, "SATENGINE: Off-line" )
         // Off-line state activated.
@@ -126,8 +123,8 @@
     // SetupMenu command is received from SIM card not before phone is
     // in online mode. iPreviousProfile is -1 when StateChanged is called
     // first time.
-    else if ( ( KSatActiveProfileOffline != aValue ) &&  
-        ( KSatActiveProfileOffline  == iPreviousProfile ) )
+    else if ( ( ECoreAppUIsNetworkConnectionNotAllowed != aValue ) &&  
+        ( ECoreAppUIsNetworkConnectionNotAllowed  == iPreviousProfile ) )
         {
         LOG( SIMPLE, "SATENGINE: !Off-line" )
         // Notify listeners about SAT UI icon adding
--- a/satengine/SatServer/SystemState/src/CSatSystemState.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/SystemState/src/CSatSystemState.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -16,6 +16,7 @@
 */
 
 
+
 #include    <mtclreg.h>
 #include    <smsclnt.h>
 #include    <smutset.h>
@@ -25,8 +26,14 @@
 #include    <ProfileEngineSDKCRKeys.h>
 #include    <settingsinternalcrkeys.h>
 #include    <satdomainpskeys.h>
-#include    <activeidle2domainpskeys.h>
-#include    <ScreensaverInternalPSKeys.h>
+#define Q_OS_SYMBIAN // needed to activate homescreendomainpskeys.h
+#include    <homescreendomainpskeys.h>
+
+// ******************************************************************
+// TODO: ScreensaverInternalPSKeys.h does no longer exist.
+// Must find an alternative way to check screen locked state.
+// #include    <ScreensaverInternalPSKeys.h>
+// ******************************************************************
 #include    <ctsydomainpskeys.h>
 #include    <sbdefs.h>
 #include    <BTSapDomainPSKeys.h>
@@ -269,16 +276,15 @@
 TBool CSatSystemState::IsPhoneInIdleStateL()
     {
     LOG( SIMPLE, "SATSYSTEMSTATE: CSatSystemState::IsPhoneInIdleState calling" )
-    TInt idleStatus;
+    TInt idleStatus(EHomeScreenIdleState) ;
 
     // Get the idle status from P&S
     User::LeaveIfError( RProperty::Get(
-        KPSUidAiInformation,
-        KActiveIdleState,
-        idleStatus ) );
-
-    // Returns true if phone in idle state.
-    const TBool result( EPSAiForeground == idleStatus );
+        KHsCategoryUid, 
+        KHsCategoryStateKey, 
+        idleStatus));
+    // Returns true if phone in idle state. 
+    const TBool result( EHomeScreenIdleState == idleStatus ); 
 
     LOG2( SIMPLE, "SATSYSTEMSTATE: CSatSystemState::IsPhoneInIdleState exiting \
         with value: %d", result )
@@ -294,6 +300,11 @@
     LOG( SIMPLE, 
     "SATSYSTEMSTATE: CSatSystemState::IsScreenSaverActivedFromIdle calling" )
     TBool result( EFalse );
+
+    /*
+    // TODO: This method can no longer be used for checking screen saver status.
+    // Must find an alternative method.
+
     TInt screenSaverActive( -1 );
 
     // Get the idle status from P&S
@@ -312,7 +323,8 @@
     LOG2( SIMPLE, 
         "SATSYSTEMSTATE: CSatSystemState:: IsScreenSaverActivedFromIdle \
          err: %d", err )
-        
+    */
+
     LOG2( SIMPLE, 
         "SATSYSTEMSTATE: CSatSystemState:: \
         IsScreenSaverActivedFromIdle exiting with value: %d", result )
--- a/satengine/SatServer/SystemState/src/TSatSystemStateFactory.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/SystemState/src/TSatSystemStateFactory.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -15,13 +15,13 @@
 *
 */
 
-
 #include    <startupdomainpskeys.h>
 #include    <PSVariables.h>
-#include    <activeidle2domainpskeys.h>
+#define Q_OS_SYMBIAN // needed to activate homescreendomainpskeys.h
+#include    <homescreendomainpskeys.h>
 #include    <CommonEngineDomainCRKeys.h>
 #include    <BTSapDomainPSKeys.h>
-#include    <ProfileEngineSDKCRKeys.h>
+#include    <coreapplicationuissdkcrkeys.h>
 #include    "TSatSystemStateFactory.h"
 #include    "CSatSystemState.h"
 #include    "msatmultimodeapi.h"
@@ -29,7 +29,6 @@
 #include    "CSatCenRepChangeNotifier.h"
 #include    "SatLog.h"
 
-
 // ======== MEMBER FUNCTIONS ========
 
 // -----------------------------------------------------------------------------
@@ -61,10 +60,10 @@
         CreateIdleModeChangeNotifierL calling" )
 
     MSatSystemStateChangeNotifier* ret = CSatPSChangeNotifier::NewL(
-        KPSUidAiInformation,
-        KActiveIdleState,
+        KHsCategoryUid,
+        KHsCategoryStateKey,
         aObserver,
-        EPSAiForeground );
+        EHomeScreenIdleState );
 
     LOG( SIMPLE, "SATSYSTEMSTATE: TSatSystemStateFactory::\
         CreateIdleModeChangeNotifierL exiting" )
@@ -171,8 +170,8 @@
         CreateProfileChangeNotifierL calling" )
 
     MSatSystemStateChangeNotifier* ret = CSatCenRepChangeNotifier::NewL(
-        KCRUidProfileEngine,
-        KProEngActiveProfile,
+        KCRUidCoreApplicationUIs,
+        KCoreAppUIsNetworkConnectionAllowed,
         aObserver,
         CSatCenRepChangeNotifier::ECRTypeInteger );
 
Binary file satengine/SatServer/conf/sat.confml has changed
Binary file satengine/SatServer/conf/sat_102078E1.crml has changed
--- a/satengine/SatServer/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -22,9 +22,8 @@
 DEFAULT
 
 PRJ_EXPORTS
-SatServer_Stub.SIS               /epoc32/data/z/system/install/SatServer_stub.sis
+satserver_stub.sis               /epoc32/data/z/system/install/SatServer_stub.sis
 ../rom/satserver.iby             CORE_MW_LAYER_IBY_EXPORT_PATH( satserver.iby )
-../rom/SatServerResources.iby    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( SatServerResources.iby )
 
 // Generic configuration interface for component cenrep settings  
 ../conf/sat.confml                      MW_LAYER_CONFML(sat.confml)
--- a/satengine/SatServer/inc/CSatCommandHandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/inc/CSatCommandHandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -15,8 +15,6 @@
 *
 */
 
-
-
 #ifndef CSATCOMMANDHANDLER_H
 #define CSATCOMMANDHANDLER_H
 
--- a/satengine/SatServer/inc/SATPrivateCRKeys.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/inc/SATPrivateCRKeys.h	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* 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"
@@ -60,14 +60,6 @@
 * Default value: N/A
 */
 const TUint32 KSatHomeZoneIconVisible( 0x00000032 );
-
-// Defines whether USSD sending result is shown if no alpha id
-/**
-* Support is disabled if value is 0
-*
-* Default value: N/A
-*/
-const TUint32 KSatDisplayUssdResult( 0x00000064 );
 #endif      // SATPRIVATECRKEYS_H
 
 // End of File
--- a/satengine/SatServer/inc/msatmultimodeapi.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/SatServer/inc/msatmultimodeapi.h	Tue Aug 31 15:45:17 2010 +0300
@@ -95,6 +95,12 @@
      */ 
     virtual void SendDTMFTones(TRequestStatus& aReqStatus, 
                     const TDesC& aTones) = 0;    
+    
+    /**
+     * Access RMobilePhone::ContinueDTMFStringSending
+     * for the paramter information please see the etelmm.h
+     */ 
+    virtual TInt ContinueDTMFStringSending( TBool aContinue ) = 0;
     /**
      * Access RMobilePhone::CancelAsyncRequest
      * for the paramter information please see the etelmm.h
@@ -132,6 +138,34 @@
      * @return ETrue if there is an incoming call
      */
     virtual TBool IsCallIncoming() = 0;
+
+    /**
+     * Access RMobileCall::NotifyMobileCallStatusChange
+     */
+    virtual void NotifyMobileCallStatusChange( TRequestStatus& aReqStatus,
+                    RMobileCall::TMobileCallStatus& aStatus) = 0; 
+
+    /**
+     * Access RMobileCall::NotifyStatusChangeCancel
+     */
+    virtual void NotifyCallStatusChangeCancel() = 0;
+
+    /**
+     * Access RMobilePhone::TerminateActiveCalls
+     */
+    virtual void TerminateActiveCalls(TRequestStatus& aReqStatus) = 0;
+    
+    /**
+     * Access RMboileCall::GetMobileCallInfo
+     */
+    virtual TInt GetMobileCallInfo(TDes8& aCallInfo) = 0;
+
+    /**
+     * Access RMboileCall::DialEmergencyCall
+     */
+    virtual void DialEmergencyCall(TRequestStatus& aReqStatus, 
+                const TDesC& aNumber) = 0;
+    
     };
 
 #endif // MSATMULTIMODEAPI_H
--- a/satengine/SatServer/loc/SatServer.loc	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2003-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SatServer localisation file
-*
-*/
-
-
-// LOCALISATION STRINGS:
-
-//d: Sat application name under the Sat icon in app shell.
-//l: cell_app_pane_t1
-//w: S90DeskAppName
-//
-#define qtn_sat_log_title "SIM Services"
-
-//d: Application title and SAT application name when China
-//d: Mobile SIM cards used
-//l: cell_app_pane_t1
-#define qtn_sat_cmcc_title "SIM Card Application"
-
-// End of File
--- a/satengine/SatServer/rom/SatServerResources.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  Sat Server Resources iby file, contains resource file
-*                iby- information
-*
-*/
-
-
-#ifndef SATSERVERRESOURCES_IBY
-#define SATSERVERRESOURCES_IBY
-
-#ifdef __SIMCARD
-
-// Resource file(s) for SatServer
-data = DATAZ_\RESOURCE_FILES_DIR\satserver.rsc  RESOURCE_FILES_DIR\satserver.rsc
-
-#endif // __SIMCARD
-
-#endif // SATSERVERRESOURCES_IBY
-
-//  End of File
--- a/satengine/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/satengine/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description:  Build information file for project SatServer
+* Description:  Build information file for project satserver
 *
 */
 
@@ -19,4 +19,4 @@
 PRJ_PLATFORMS
 DEFAULT
 
-#include "../SatServer/group/bld.inf"
+#include "../satserver/group/bld.inf"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satengine/satserver/Commands/SetUpCallCmd/inc/csetupcalldtmfsender.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Create the call and emergency call to ETelMM
+*
+*/
+
+
+#ifndef CSETUPCALLDTMFSENDER_H
+#define CSETUPCALLDTMFSENDER_H
+
+#include <e32base.h>
+
+class MSatMultiModeApi;
+
+NONSHARABLE_CLASS ( CSetupCallDtmfSender ) : public CActive
+{
+public:
+
+    /**
+     * Two-phased constructor.
+     * @param aPhone A reference to the MSatMultiModeApi.
+     * @return a pointer to the newly created object.
+     */
+    static CSetupCallDtmfSender* NewL( MSatMultiModeApi& aPhone );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CSetupCallDtmfSender();
+
+    /**
+     * Send Dtmf string after creating a call successfully 
+     */
+    void SendDtmfString();    
+
+    /**
+     * Separate Dtmf string from whole string.
+     * Purl tel number will return by aString.
+     * Dtmf string will store in data member for furture sending dtmf. 
+     */
+    void SeparateDtmfFromTelNumber( TDes& aString );
+    
+protected:
+
+    /**
+     * From CActive, handles the request completion.
+     */
+    void RunL();    
+    
+    /**
+     * From CActive, handle the request cancel
+     */
+    void DoCancel();
+    
+private:
+
+    /**
+     * C++ default constructor.
+     * @param aPhone A reference to MSatMultiModeApi.
+     */
+    CSetupCallDtmfSender( MSatMultiModeApi& aPhone );
+        
+private: // Data
+
+    /**
+     * Reference to the MSatMultiModeApi
+     */
+    MSatMultiModeApi& iPhone;
+    
+    /**
+     * Own. Dtmf string
+     */    
+    HBufC* iDtmfString;    
+
+};
+
+#endif // CSETUPCALLDTMFSENDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satengine/satserver/Commands/SetUpCallCmd/inc/csetupcallrequesthandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,119 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Create the call and emergency call to ETelMM
+*
+*/
+
+
+#ifndef CSETUPCALLREQUESTHANDLER_H
+#define CSETUPCALLREQUESTHANDLER_H
+
+#include <e32base.h>
+#include "msatmultimodeapi.h"
+
+class CSetUpCallHandler;
+class MSatAsyncToSync;
+class CSetupCallDtmfSender;
+
+/**
+*  This is the handler for the ETel MM api Request.
+*  This active objects is registered with ETelMM Api to send request and 
+*  receive notifications about some Request Complete.
+*
+*/
+
+NONSHARABLE_CLASS ( CSetupCallRequestHandler ) : public CActive
+    {
+public:
+
+    /**
+     * Two-phased constructor.
+     * @param aPhone A reference to the MSatMultiModeApi.
+     * @param aDispatcher Pointer to Ss handler
+     * @return a pointer to the newly created object.
+     */
+    static CSetupCallRequestHandler* NewL( MSatMultiModeApi& aPhone,
+        CSetUpCallHandler* aDispatcher );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CSetupCallRequestHandler();
+
+    /**
+     * Access RMobileCall::DialNoFdnCheck by MSatMultiModeApi
+     * for the paramter information please see the etelmm.h
+     */
+    void DialNumber( const TDesC8& aCallParams, TDes& aTelNumber,
+            TBool aTerminateOtherCall, MSatAsyncToSync* aAsyncToSync );
+
+    /**
+     * Access RMobileCall::DialEmergencyCall by MSatMultiModeApi
+     * for the paramter information please see the etelmm.h
+     */
+    void DialEmergencyCall( const TDesC& aTelNumber );
+    
+    /**
+     * Cancel the asynchronous operations that required to the ETel MM api  
+     */
+    void CancelOperation();
+    
+ 
+protected:
+
+    /**
+     * From CActive, handles the request completion.
+     */
+    void RunL();
+    
+    
+    /**
+     * From CActive, handle the request cancel
+     */
+    void DoCancel();
+
+private:
+
+    /**
+     * C++ default constructor.
+     * @param aPriority An active object priority value.
+     * @param aPhone A reference to MSatMultiModeApi.
+     */
+    CSetupCallRequestHandler( MSatMultiModeApi& aPhone,
+        CSetUpCallHandler* aDispatcher );
+    
+    /**
+    * By default Symbian 2nd phase constructor is private.
+    */ 
+    void ConstructL();
+        
+private: // Data
+
+    /**
+     * Reference to the MSatMultiModeApi
+     */
+    MSatMultiModeApi& iPhone;
+        
+    /**
+     * Pointer to SetupCall command handler
+     */
+    CSetUpCallHandler* iDispatcher;
+    
+    /**
+     * Own. Dtmf sender
+     */    
+    CSetupCallDtmfSender* iDtmfSender;
+    };
+
+#endif      // CSETUPCALLREQUESTHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satengine/satserver/Commands/SetUpCallCmd/src/csetupcalldtmfsender.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,200 @@
+/*
+* 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: Send DTMF string if necessary after creating a call 
+*
+*/
+
+#include <etelmm.h>
+#include <mmtsy_names.h>
+#include "msatmultimodeapi.h"
+#include "csetupcalldtmfsender.h"
+#include "msatasynctosync.h"
+#include "SatLog.h"
+
+_LIT( KSatDtmfCharp, "p" );
+_LIT( KSatDtmfCharw, "w" );
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------------------------
+// CSetupCallDtmfSender::CSetupCallDtmfSender
+// The class constructor.
+// -----------------------------------------------------------------------------
+//
+CSetupCallDtmfSender::CSetupCallDtmfSender( MSatMultiModeApi& aPhone )
+    : CActive( EPriorityStandard ), iPhone( aPhone ), iDtmfString( NULL ) 
+    {
+    LOG( SIMPLE,
+        "SETUPCALL: CSetupCallDtmfSender::CSetupCallDtmfSender calling" )
+
+    CActiveScheduler::Add( this );
+
+    LOG( SIMPLE,
+        "SETUPCALL: CSetupCallDtmfSender::CSetupCallDtmfSender exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallDtmfSender::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSetupCallDtmfSender* CSetupCallDtmfSender::NewL( MSatMultiModeApi& aPhone )
+    {
+    LOG( SIMPLE, "SETUPCALL: CSetupCallDtmfSender::NewL calling" )
+
+    CSetupCallDtmfSender* self =
+        new ( ELeave ) CSetupCallDtmfSender( aPhone );
+ 
+    LOG( SIMPLE, "SETUPCALL: CSetupCallDtmfSender::NewL exiting" )
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallDtmfSender::~CSetupCallDtmfSender
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSetupCallDtmfSender::~CSetupCallDtmfSender()
+    {
+    LOG( SIMPLE, "SETUPCALL: \
+            CSetupCallDtmfSender::~CSetupCallDtmfSender calling" )
+    Cancel();
+    
+    delete iDtmfString;
+    iDtmfString = NULL;
+
+    LOG( SIMPLE, "SETUPCALL: \
+            CSetupCallDtmfSender::~CSetupCallDtmfSender exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallDtmfSender::SendDtmfString
+// -----------------------------------------------------------------------------
+//
+void CSetupCallDtmfSender::SendDtmfString()
+{
+    LOG( SIMPLE, "SETUPCALL: CSetupCallDtmfSender::SendDtmfString calling" )
+    if( !IsActive() && iDtmfString )
+        {
+        const TInt ret = iPhone.ContinueDTMFStringSending( ETrue );
+        LOG2( SIMPLE, "SETUPCALL: CSetupCallDtmfSender::SendDtmfString\
+            ContinueDTMFStringSending ret %d", ret )        
+        iPhone.SendDTMFTones( iStatus, *iDtmfString );  
+        
+        SetActive();
+        }
+    LOG( SIMPLE, "SETUPCALL: CSetupCallDtmfSender::SendDtmfString exit" )
+}
+
+// -----------------------------------------------------------------------------
+// CSetupCallDtmfSender::SeparateDtmfFromTelNumber
+// Refers to 
+// RPhCltEmergencyCall::RemoveDTMF
+// RPhCltEmergencyCall::FindStartOfDtmfString
+// -----------------------------------------------------------------------------
+//
+void CSetupCallDtmfSender::SeparateDtmfFromTelNumber(TDes& aString)
+    {
+    LOG( SIMPLE, 
+        "SETUPCALL: CSetupCallDtmfSender::SeparateDtmfFromTelNumber calling")
+        
+    delete iDtmfString;
+    iDtmfString = NULL;
+    
+    // String must contain 'p' or 'w'. Find start of dtmf string.
+    TInt indexp; //char 'p' index
+    TInt indexw; // char 'w' index
+    TPtrC ptrDtmfCharp( KSatDtmfCharp );
+    TPtrC ptrDtmfCharw( KSatDtmfCharw );
+
+    indexp = aString.Locate( ptrDtmfCharp[ 0 ] );
+    indexw = aString.Locate( ptrDtmfCharw[ 0 ] ); 
+
+    TInt dtmfIndex = KErrNotFound;
+    if ( indexp != KErrNotFound || indexw != KErrNotFound )
+        {
+        // dtmf char found
+        if ( indexw == KErrNotFound )
+            {
+            // char p index
+            dtmfIndex = indexp;    
+            }   
+        else if ( indexp == KErrNotFound )
+            {
+            // char w index
+            dtmfIndex = indexw;    
+            }                 
+        else
+            {
+            // Both chars p and w found, smaller index selected
+            indexp < indexw ? dtmfIndex = indexp : dtmfIndex = indexw;    
+            }         
+        }
+    LOG2( SIMPLE, 
+        "SETUPCALL: CSetupCallDtmfSender::SeparateDtmfFromTelNumber \
+        dtmfIndex=%d", dtmfIndex )  
+    
+    // Separate purl tel number and dtmf string
+    if ( dtmfIndex != KErrNotFound )
+        {
+        // Dtmf string to member data for furture sending
+        TPtrC temp( aString.Right( aString.Length() - dtmfIndex ) );
+        LOG2( SIMPLE, 
+            "SETUPCALL: CSetupCallDtmfSender::SeparateDtmfFromTelNumber \
+            DTMF=%S", &temp)  
+        
+        iDtmfString = temp.Alloc();
+        LOG2( SIMPLE, 
+            "SETUPCALL: CSetupCallDtmfSender::SeparateDtmfFromTelNumber \
+            iDtmfString address=%d", iDtmfString )         
+        
+        // Tel number for dialing call
+        aString.Delete( dtmfIndex, aString.Length() - dtmfIndex );
+        LOG2( SIMPLE, 
+            "SETUPCALL: CSetupCallDtmfSender::SeparateDtmfFromTelNumber \
+            TelNumber=%S", &aString ) 
+        }
+    LOG( SIMPLE, 
+        "SETUPCALL: CSetupCallDtmfSender::SeparateDtmfFromTelNumber exit" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallDtmfSender::RunL
+// Handles the command.
+// -----------------------------------------------------------------------------
+//
+void CSetupCallDtmfSender::RunL()
+    {
+    LOG2( SIMPLE, "SETUPCALL: CSetupCallDtmfSender::RunL calling iStatus=%i", 
+        iStatus.Int() )
+    
+    delete iDtmfString;
+    iDtmfString = NULL;
+    
+    LOG( SIMPLE, "SETUPCALL: CSetupCallDtmfSender::RunL exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// From class CActive.
+// Cancels the sat request.
+// -----------------------------------------------------------------------------
+//
+void CSetupCallDtmfSender::DoCancel()
+    {
+    LOG( SIMPLE, "SETUPCALL: CSetupCallDtmfSender::DoCancel calling" )
+    iPhone.CancelAsyncRequest( EMobilePhoneSendDTMFTones );
+    LOG( SIMPLE, "SETUPCALL: CSetupCallDtmfSender::DoCancel exiting" )
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satengine/satserver/Commands/SetUpCallCmd/src/csetupcallrequesthandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,219 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Create the call and emergency call to ETelMM
+*
+*/
+
+
+#include <etelmm.h>
+#include <mmtsy_names.h>
+
+#include "csetupcallrequesthandler.h"
+#include "CSetUpCallHandler.h"
+#include "csetupcalldtmfsender.h"
+#include "msatasynctosync.h"
+#include "SatLog.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------------------------
+// CSetupCallRequestHandler::CSetupCallRequestHandler
+// The class constructor.
+// -----------------------------------------------------------------------------
+//
+CSetupCallRequestHandler::CSetupCallRequestHandler(
+                MSatMultiModeApi& aPhone, CSetUpCallHandler* aDispatcher )
+    : CActive( EPriorityStandard ), iPhone( aPhone ), 
+      iDispatcher( aDispatcher )
+    {
+    LOG( SIMPLE,
+        "SETUPCALL: CSetupCallRequestHandler::CSetupCallRequestHandler \
+        calling" )
+
+    CActiveScheduler::Add( this );
+
+    LOG( SIMPLE,
+        "SETUPCALL: CSetupCallRequestHandler::CSetupCallRequestHandler \
+        exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallRequestHandler::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSetupCallRequestHandler* CSetupCallRequestHandler::NewL(
+    MSatMultiModeApi& aPhone, CSetUpCallHandler* aDispatcher )
+    {
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::NewL calling" )
+
+    CSetupCallRequestHandler* self =
+        new ( ELeave ) CSetupCallRequestHandler( aPhone, aDispatcher );
+    
+    self->ConstructL();
+ 
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::NewL exiting" )
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallRequestHandler::~CSetupCallRequestHandler
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSetupCallRequestHandler::~CSetupCallRequestHandler()
+    {
+    LOG( SIMPLE, "SETUPCALL: \
+            CSetupCallRequestHandler::~CSetupCallRequestHandler calling" )
+    Cancel();
+    iDispatcher = NULL;
+    
+    delete iDtmfSender;
+    iDtmfSender = NULL;
+
+    LOG( SIMPLE, "SETUPCALL: \
+            CSetupCallRequestHandler::~CSetupCallRequestHandler exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallRequestHandler::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CSetupCallRequestHandler::ConstructL()
+{
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::ConstructL calling" )
+    iDtmfSender = CSetupCallDtmfSender::NewL( iPhone );
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::ConstructL exiting" )
+}
+
+// -----------------------------------------------------------------------------
+// CSetupCallRequestHandler::DialNumber
+// -----------------------------------------------------------------------------
+//
+void CSetupCallRequestHandler::DialNumber( const TDesC8& aCallParams,
+                  TDes& aTelNumber, TBool aTerminateOtherCall,
+                  MSatAsyncToSync* aAsyncToSync )
+    {
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::DialNumber calling" )
+ 
+    TInt terminateRes ( KErrNone );
+    
+    if( aTerminateOtherCall )
+        {
+        if( aAsyncToSync )
+            {
+            iPhone.TerminateActiveCalls( aAsyncToSync->RequestStatus() );
+            terminateRes = aAsyncToSync->SetActiveAndWait();
+            }
+        else
+            {
+            LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::DialNumber \
+                    bad MSatAsyncToSync pointer" )
+            terminateRes  = KErrGeneral;
+            }
+        }
+    
+    if( !IsActive() )
+        {
+        if( KErrNone == terminateRes )
+            {
+            // Separate dtmf string from whole number and store in iDtmfString
+            // the dtmf string will be removed from aTelNumber 
+            iDtmfSender->SeparateDtmfFromTelNumber(aTelNumber);
+            // Dial the pure tel number
+            iPhone.DialNoFdnCheck( iStatus, aCallParams, aTelNumber );
+            SetActive();
+            }
+        else
+            {
+            iDispatcher->SetupCallRequestComplete( terminateRes );
+            }
+        }
+    else
+        {
+        iDispatcher->SetupCallRequestComplete( KErrInUse );
+        }
+    
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::DialNumber exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallRequestHandler::DialEmergencyCall
+// -----------------------------------------------------------------------------
+//
+void CSetupCallRequestHandler::DialEmergencyCall( const TDesC& aTelNumber )
+    {
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::DialNumber calling" )
+     
+    if( !IsActive() )
+        {
+        iPhone.DialEmergencyCall( iStatus, aTelNumber );
+        SetActive();
+        }
+    else
+        {
+        iDispatcher->SetupCallRequestComplete( KErrInUse );
+        }
+    
+    LOG( SIMPLE, 
+        "SETUPCALL: CSetupCallRequestHandler::DialEmergencyCall exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallRequestHandler::RunL
+// Handles the command.
+// -----------------------------------------------------------------------------
+//
+void CSetupCallRequestHandler::RunL()
+    {
+    LOG2( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::RunL calling\
+        iStatus=%i", iStatus.Int() )
+    
+    iDispatcher->SetupCallRequestComplete( iStatus.Int() );
+    
+    if ( KErrNone == iStatus.Int() )
+        {
+        iDtmfSender->SendDtmfString();
+        }
+    
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::RunL exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSetupCallRequestHandler::CancelOperation
+// -----------------------------------------------------------------------------
+//
+void CSetupCallRequestHandler::CancelOperation()
+    {
+    LOG( SIMPLE, "SETUPCALL: \
+                  CSetupCallRequestHandler::CancelOperation calling" )
+    iPhone.DialCancel();
+    iDtmfSender->Cancel();
+    LOG( SIMPLE, 
+        "SETUPCALL: CSetupCallRequestHandler::CancelOperation exiting" )
+    }
+
+// -----------------------------------------------------------------------------
+// From class CActive.
+// Cancels the sat request.
+// -----------------------------------------------------------------------------
+//
+void CSetupCallRequestHandler::DoCancel()
+    {
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::DoCancel calling" )
+    CancelOperation();
+    LOG( SIMPLE, "SETUPCALL: CSetupCallRequestHandler::DoCancel exiting" )
+    }
+
+//  End of File
--- a/satui/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/satui/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -11,13 +11,13 @@
 *
 * Contributors:
 *
-* Description:  Build information file for project SatApp
+* Description:  Build information file for project SATUI
 *
 */
 
 
+
 PRJ_PLATFORMS
 DEFAULT
 
-#include "../satapp/Group/bld.inf"
-#include "../satplugin/group/bld.inf"
+#include "../satshellcontroller/group/bld.inf"
--- a/satui/satapp/EABI/SatShellCntrlU.DEF	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	_Z16NewSatControllerv @ 1 NONAME
-	_ZTI19CSatShellController @ 2 NONAME ; #<TI>#
-	_ZTV19CSatShellController @ 3 NONAME ; #<VT>#
-
--- a/satui/satapp/Group/SatApp_stub.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ /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 sat application stub.
-;
-; Languages
-&EN
-
-; Header
-#{"satui"}, (0x101f4ce0), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Files
-""-"z:\sys\bin\SatUi.exe"
-""-"z:\sys\bin\SatShellCntrl.dll"
-""-"z:\resource\apps\satui.mbm"
-""-"z:\resource\apps\Satui_aif.mif"
-""-"z:\resource\apps\Satui.rsc"
-""-"z:\private\10003a3f\import\apps\Satui_reg.rsc"
\ No newline at end of file
--- a/satui/satapp/Group/SatShellCntrl.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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:  SatShellCntrl mmp- file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET                  SatShellCntrl.dll
-TARGETTYPE              dll
-UID                     0x1000008D 0x1000A835
-SECUREID                0x1000A835
-
-CAPABILITY              CAP_GENERAL_DLL
-VENDORID                VID_DEFAULT
-
-SOURCEPATH              ../SATShellControllerSrc
-SOURCE                  CSatShellController.cpp
-
-USERINCLUDE             ../SATShellControllerInc
-
-// Application layer system include is needed due MenuSatInterface provided by AppShell
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE           ../../../inc            // Domain telephony
-SYSTEMINCLUDE           ../../inc               // Subsystem satui
-
-LIBRARY                 euser.lib
-LIBRARY                 apparc.lib              // RApaLsSession
-LIBRARY                 apgrfx.lib              // CApaCommandLine
-LIBRARY                 ws32.lib                // RWsSession
-LIBRARY                 menuinterface.lib
-LIBRARY                 flogger.lib
-
-
--- a/satui/satapp/Group/SatUI.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +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:  Build information file for project SatUi
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET                  SATUI.exe
-TARGETTYPE              exe
-UID                     0x100039CE 0x101f4ce0
-
-CAPABILITY              CAP_APPLICATION NetworkControl
-VENDORID                VID_DEFAULT
-
-SECUREID                0x101f4ce0
-EPOCSTACKSIZE           0x5000
-
-SOURCEPATH              ../SATUISrc
-
-SOURCE                  ../SATUISrc/CSatUiApplication.cpp
-SOURCE                  ../SATUISrc/CSatUiDocument.cpp
-SOURCE                  ../SATUISrc/CSatUiViewAppUi.cpp
-SOURCE                  ../SATUISrc/CSatUiActionPerformer.cpp
-SOURCE                  ../SATUISrc/CSatUiView.cpp
-SOURCE                  ../SATUISrc/CSatUiViewContainer.cpp
-SOURCE                  ../SATUISrc/CSatUiTextQueryDialog.cpp
-SOURCE                  ../SATUISrc/CSatUiMessageQueryIcon.cpp
-SOURCE                  ../SATUISrc/CSatUiWaitDialog.cpp
-SOURCE                  ../SATUISrc/csatuiiconhandler.cpp
-
-// Application layer system include needed due Browser and ProfileEngine CR keys
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE           ../../../inc            // Domain telephony
-SYSTEMINCLUDE           ../../inc               // Subsystem satui
-
-START RESOURCE          ../data/SatUi.rss
-HEADER // Build the .rsg file.
-TARGETPATH              APP_RESOURCE_DIR
-LANGUAGE_IDS
-END   // ../Data/SatUi RESOURCE
-
-START RESOURCE          ../data/Satui_reg.rss
-DEPENDS satui.rsg
-// Do not change the UID below.
-TARGETPATH              /private/10003a3f/apps
-END
-
-USERINCLUDE             ../SATUIInc
-
-LIBRARY                 euser.lib
-LIBRARY                 apparc.lib
-LIBRARY                 cone.lib
-LIBRARY                 eikcore.lib
-LIBRARY                 avkon.lib
-LIBRARY                 eikdlg.lib
-LIBRARY                 eikcoctl.lib
-LIBRARY                 bafl.lib
-LIBRARY                 SatInternalClient.lib
-LIBRARY                 SatClient.lib
-LIBRARY                 Commonengine.lib
-LIBRARY                 MediaClientAudio.lib
-LIBRARY                 aknnotify.lib
-LIBRARY                 aknicon.lib
-LIBRARY                 ws32.lib
-LIBRARY                 apgrfx.lib
-LIBRARY                 fbscli.lib
-LIBRARY                 eikctl.lib
-LIBRARY                 egul.lib
-LIBRARY                 etext.lib               // for CRichText
-LIBRARY                 gdi.lib                 // for CPicture
-LIBRARY                 estor.lib               // for TSwizzle
-LIBRARY                 CdlEngine.lib           // for AknLayout2Def
-LIBRARY                 AknLayout2Scalable.lib
-LIBRARY                 hlplch.lib
-LIBRARY                 activitymanager.lib
-LIBRARY                 Flogger.lib
-LIBRARY                 CentralRepository.lib
-LIBRARY                 CenRepNotifHandler.lib
-LIBRARY                 ProfileEng.lib
-LIBRARY                 FeatMgr.lib             // for FeatureManager
--- a/satui/satapp/Group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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:  Build information file for project SATUI
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-//  Help exports
-#include "../help/group/bld.inf"
-
-PRJ_EXPORTS
-../data/SatApp_stub.SIS    /epoc32/data/z/system/install/SatApp_stub.sis
-../loc/satui.loc                                MW_LAYER_LOC_EXPORT_PATH( satui.loc )
-../rom/satui.iby                                CORE_MW_LAYER_IBY_EXPORT_PATH( satui.iby )
-../rom/SatUiResources.iby                       LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( SatUiResources.iby )
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE satui.mif
-  OPTION HEADERFILE satui.mbg
-  OPTION SOURCES -c8,8 qgn_menu_sat_cxt	-c8,8 qgn_menu_sat_lst -c8,8 qgn_note_sim
-END
-
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE satui_aif.mif
-  OPTION SOURCES -c8,8 qgn_menu_sat
-END
-
-PRJ_MMPFILES
-
-./SatUI.mmp
-./SatShellCntrl.mmp
-
-PRJ_TESTMMPFILES
-
--- a/satui/satapp/Group/satui_icons.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /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 satui icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\SYSTEM\APPS\Satui
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\satui.mif
-HEADERFILENAME=$(HEADERDIR)\satui.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: MASK FILE NAMES ARE NOT DEFINED! 
-# 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_menu_sat_cxt.bmp \
- 		/c8,8 qgn_menu_sat_lst.bmp \
-		/c8,8 qgn_note_sim.bmp
-		
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/satui/satapp/Group/satui_icons_aif_bitmaps.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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 satui icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\SYSTEM\APPS\Satui
-ICONTARGETFILENAME=$(TARGETDIR)\satui_aif.mbm
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: MASK FILE NAMES ARE NOT DEFINED! 
-# 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_sat_lst.bmp \
-		/c8,8 qgn_menu_sat_cxt.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/satui/satapp/Group/satui_icons_aif_bitmaps_dc.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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 satui icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\RESOURCE\APPS
-ICONTARGETFILENAME=$(TARGETDIR)\satui_aif.mbm
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-	    	/c8,8 qgn_menu_sat_lst.bmp \
-		/c8,8 qgn_menu_sat_cxt.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/satui/satapp/Group/satui_icons_aif_scalable.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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 satui icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\SYSTEM\APPS\Satui
-ICONTARGETFILENAME=$(TARGETDIR)\satui_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: MASK FILE NAMES ARE NOT DEFINED! 
-# 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_sat.svg
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/satui/satapp/Group/satui_icons_aif_scalable_dc.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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 satui icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\RESOURCE\APPS
-ICONTARGETFILENAME=$(TARGETDIR)\satui_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-	    /c8,8 qgn_menu_sat.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-
--- a/satui/satapp/Group/satui_icons_dc.mk	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +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: Make file for satui icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-
-TARGETDIR=$(ZDIR)\RESOURCE\APPS
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\satui.mif
-HEADERFILENAME=$(HEADERDIR)\satui.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_sat_cxt.bmp \
- 		/c8,8 qgn_menu_sat_lst.bmp \
-		/c8,8 qgn_note_sim.bmp
-		
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/satui/satapp/SATShellControllerInc/CSatShellController.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +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: 
-*     This file contains the SAT Shell Controller class that is responsible
-*     for the actual implementation of the following functionality:
-*       - add SAT UI application to Desk (or similar)
-*       - remove SAT UI application from Desk (or similar)
-*       - bring SAT UI application to foreground if it already is up
-*           and running
-*       - launching the SAT UI application
-*       - launching the Browser
-*       - resolving default access point
-*       - bring Browser to the foreground
-*
-*
-*/
-
-
-#ifndef CSATSHELLCONTROLLER_H
-#define CSATSHELLCONTROLLER_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <MSatShellController.h>
-
-// CONSTS
-const TInt KSatAppNameSize = 255;       //Context pane max
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// This class is used to control adding, removing and launching of
-// the SAT UI Client application. It connects to appropriate module
-// and is used by the SAT Server.
-
-class CSatShellController : public CBase,
-    public MSatShellController
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CSatShellController* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CSatShellController();
-
-    public: // New functions
-
-        /**
-        * Adds SAT UI Client to the Application Shell (or similar).
-        * @param aName Name of the entry
-        * @param aUid UID of the SAT UI Application
-        * @return Nothing
-        */
-        void AddSatUiL( TDesC& aName );
-
-        /**
-        * Adds SAT UI Client to the Application Shell (or similar).
-        * @param aName Name of the entry
-        * @param aIconId Id for icons
-        * @return Nothing
-        */
-        void AddSatUiL( TDesC& aName, TUint8 aIconId );
-
-        /**
-        * Removes SAT UI Client from the Application Shell (or similar).
-        * @param aUid UID of the SAT UI Application
-        * @return Nothing
-        */
-        void RemoveSatUiL();
-
-        /**
-        * Launches the SAT UI Client.
-        * @param aUid UID of the SAT UI Application
-        * @return Nothing
-        */
-        void LaunchSatUiL();
-
-        /**
-        * Brings Browser to foreground after period of time.
-        * @param Nothing
-        * @return Nothing
-        */
-        void BringBrowserToForegroundAfterPeriod();
-
-        /**
-        * Bring the SAT UI Application to foreground.
-        * @param Nothing
-        * @return Nothing
-        */
-        void BringSatUiToForeground();
-        
-        /**
-        * Sets SAT UI Application to background if needed.
-        */
-        void SetSatUiToBackground() const;
-
-        /**
-        * Launch XHTML-browser
-        * @param aUrl URL to be opened when launching browser
-        * @param aAccessPointUid ID number of access point in CommDb
-        * @return The result of the operation
-        */
-        TInt LaunchBrowserL( const TDesC& aUrl, TUid aAccessPointUid );
-
-        /**
-        * This callback function is used to call Browser to the foreground
-        * after short while.
-        * @param aObject Pointer to caller is passed to callback function.
-        * @return Callback function should return TInt.
-        */
-        static TInt TimerCompleted( TAny* aObject );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CSatShellController();
-
-        /**
-        * By default EPOC constructor is private.
-        */
-        void ConstructL();
-
-        /**
-        * Bring the SAT UI Application to foreground.
-        * @param aAppUid The UID value of application.
-        * @return Nothing
-        */
-        void BringApplicationToForeground( const TUid& aAppUid ) const;
-
-        /**
-        * Brings Browser to foreground.
-        * @param Nothing
-        * @return Nothing
-        */
-        void BringBrowserToForeground() const;
-
-        /**
-        * Checks if Browser is not foreground and starts that if needed.
-        * @param Nothing
-        * @return Nothing
-        */
-        void CycleSatUiBackwards();
-        
-        /**
-        * Check if SatUi is needed to set to background.
-        * @param Nothing
-        * @return Nothing
-        */
-        void CheckSatUiStatus();
-
-    private:    // Data
-
-        TBufC<KSatAppNameSize>  iSimAppName;
-        TUid                    iUidWmlBrowser;
-        RWsSession              iWsSession;
-        RApaLsSession           iApaLsSession;
-        // Timer for checking Browser start.
-        CPeriodic*              iTimer;
-        TBool                   iSetSatUiToBackground;
-
-    };
-
-#endif      // CSATSHELLCONTROLLER_H
-
-// End of File
--- a/satui/satapp/SATShellControllerInc/tflogger.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +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:  Defines logging macroes
-*
-*/
-
-
-#ifndef __TFLOGGER_H__
-#define __TFLOGGER_H__
-
-#include <flogger.h>
-#include <e32svr.h>
-
-_LIT( KTfLogFolder, "sat" );
-_LIT( KTfLogFile, "satui.TXT" );
-
-/**
-* ------------------------------------------------------------------------------
-*
-*  Remove #define LOGGING_ENABLED from comments to enable logging
-*
-* ------------------------------------------------------------------------------
-*/
-
-//#define LOGGING_ENABLED
-                				
-/**
-* ------------------------------------------------------------------------------
-*
-*  LOGGING MACROs
-*
-*  USE THESE MACROS IN YOUR CODE
-*
-*  Example: TFLOGTEXT( own_desc )
-*  Example: TFLOGSTRING( "Test" )
-*  Example: TFLOGSTRING( "Test %i", aValue )
-*  Example: TFLOGSTRING( "Test %i %i", aValue1, aValue2 )
-*
-* ------------------------------------------------------------------------------
-*/
-
-#ifdef LOGGING_ENABLED
-
-    #define TFLOGTEXT( TEXT ) \
-        {  \
-        RFileLogger::Write( KTfLogFolder,KTfLogFile, \
-            EFileLoggingModeAppend, TEXT ); \
-        RDebug::Print( TEXT ); \
-        }
-
-    #define TFLOGSTRING( TEXT ) \
-        { \
-        _LIT( tempLogDes, TEXT ); \
-        RFileLogger::Write( \
-            KTfLogFolder, \
-            KTfLogFile, \
-            EFileLoggingModeAppend, \
-            tempLogDes() ); \
-        RDebug::Print( _L( TEXT ) ); \
-        }
-        
-    #define TFLOGSTRING2( TEXT, VAR1 ) \
-        { \
-        _LIT( tempLogDes, TEXT ); \
-        RFileLogger::WriteFormat( \
-            KTfLogFolder, \
-            KTfLogFile, \
-            EFileLoggingModeAppend, \
-            TRefByValue<const TDesC>( tempLogDes() ), VAR1 ); \
-        RDebug::Print( _L( TEXT ), VAR1 ); \
-        }
-        
-    #define TFLOGSTRING3( TEXT, VAR1, VAR2 ) \
-        { \
-        _LIT( tempLogDes, TEXT ); \
-        RFileLogger::WriteFormat( \
-            KTfLogFolder, \
-            KTfLogFile, \
-            EFileLoggingModeAppend, \
-            TRefByValue<const TDesC>( tempLogDes() ), VAR1, VAR2 ); \
-        RDebug::Print( _L( TEXT ), VAR1, VAR2 ); \
-        }
-
-#else
-
-    #define TFLOGTEXT( TEXT )
-    #define TFLOGSTRING( TEXT )
-    #define TFLOGSTRING2( TEXT, VAR1 )
-    #define TFLOGSTRING3( TEXT, VAR1, VAR2 )
-
-#endif // LOGGING_ENABLED
-
-#endif // __TFLOGGER_H__
--- a/satui/satapp/SATShellControllerSrc/CSatShellController.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,515 +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: 
-*     This file contains the SAT Shell Controller class that is responsible
-*     for the actual implementation of the following functionality:
-*       - add SAT UI application to Desk (or similar)
-*       - remove SAT UI application from Desk (or similar)
-*       - bring SAT UI application to foreground if it already is up
-*           and running
-*       - launching the SAT UI application
-*       - launching the Browser
-*       - resolving default access point
-*       - bring Browser to the foreground
-*
-*
-*/
-
-
-//  INCLUDE FILES
-#include <w32std.h>             // RWsSession
-#include <apaid.h>              // TApaAppInfo
-#include <apacmdln.h>           // CApaCommandLine
-#include <apgcli.h>             // RApaLsSession
-#include <apgtask.h>            // TApaTaskList
-#include <apgwgnam.h>           // CApaWindowGroupName
-#include <MenuSatInterface.h>   // CMenuSATInterface
-#include <DocumentHandler.h>    // KWmlcHandler
-#include "CSatShellController.h"
-
-// Browser Cen Rep Keys.
-#ifdef __SERIES60_NATIVE_BROWSER
-    #include <browseruisdkcrkeys.h>
-    #include <browseruiinternalcrkeys.h>
-#endif // __SERIES60_NATIVE_BROWSER
-#include "tflogger.h"
-
-// CONSTANTS
-const TUid KUidSatUi = { 0x101f4ce0 };
-_LIT( KFour, "4" );                     // Browser parameter.
-_LIT( KFive, "5" );                     // Browser parameter.
-_LIT( KSpace, " " );                    // Used as Browser parameter.
-static const TUid KEmptyUid = { KErrNotFound };
-static const TUid KUidBrowser = { KWmlcHandler };
-const TInt KTimerTime( 2000000 );       // 2 seconds.
-const TInt KBrowserParamAndTwoSpaces( 3 );
-#ifndef __SERIES60_NATIVE_BROWSER
-    const TUid KCRUidBrowser = { 0x10008D39 };
-    const TUint32 KBrowserDefaultAccessPoint( 0x0000000E );
-#endif // __SERIES60_NATIVE_BROWSER
-
-// ================= MEMBER FUNCTIONS =======================================
-
-// C++ default constructor can NOT contain any code that
-// might leave.
-//
-CSatShellController::CSatShellController():
-    iUidWmlBrowser( TUid::Uid( KWmlcHandler ))
-    {
-    TFLOGSTRING( "CSatShellController::CSatShellController called-exit" )
-    }
-
-// Symbian OS constructor
-void CSatShellController::ConstructL()
-    {
-    TFLOGSTRING( "CSatShellController::ConstructL called" )
-
-    // Timer is used to get the Browser application to the foreground.
-    iTimer = CPeriodic::NewL( EPriorityNormal );
-
-    TFLOGSTRING( "CSatShellController::ConstructL exit" )
-    }
-
-// Two-phased constructor.
-CSatShellController* CSatShellController::NewL()
-    {
-    TFLOGSTRING( "CSatShellController::NewL called" )
-
-    CSatShellController* self = new ( ELeave ) CSatShellController;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    TFLOGSTRING( "CSatShellController::NewL exit" )
-    return self;
-    }
-
-
-// Destructor
-CSatShellController::~CSatShellController()
-    {
-    TFLOGSTRING( "CSatShellController::~CSatShellController called" )
-
-    // Frees resources.
-    if ( iTimer )
-        {
-        iTimer->Cancel();
-        }
-    delete iTimer;
-
-    TFLOGSTRING( "CSatShellController::~CSatShellController exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::AddSatUiL
-// Adds SAT UI Client application to phone's
-// Application Shell (or similar).
-// ---------------------------------------------------------
-//
-void CSatShellController::AddSatUiL(
-    TDesC& aName )
-    {
-    TFLOGSTRING( "CSatShellController::AddSatUiL(name) called" )
-
-    iSimAppName = aName;
-
-    CMenuSATInterface* menu = new ( ELeave ) CMenuSATInterface;
-    menu->MakeSatUiVisible( ETrue, aName );
-    delete menu;
-
-    TFLOGSTRING( "CSatShellController::AddSatUiL exit" )
-    }
-
-//------------------------------------------------------------
-// CSatShellController::AddSatUiL
-// Adds SAT UI Client application to phone's
-// Application Shell (or similar).
-// ---------------------------------------------------------
-//
-void CSatShellController::AddSatUiL(
-    TDesC& aName, TUint8 aIconId )
-    {
-    TFLOGSTRING( "CSatShellController::AddSatUiL(name,icon) called" )
-
-    iSimAppName = aName;
-
-    CMenuSATInterface* menu = new ( ELeave ) CMenuSATInterface;
-    menu->MakeSatUiVisible( ETrue, aName, aIconId );
-    delete menu;
-
-    TFLOGSTRING( "CSatShellController::AddSatUiL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::RemoveSatUiL
-// Removes SAT UI Client application from phone's
-// Application Shell (or similar).
-// ---------------------------------------------------------
-//
-
-void CSatShellController::RemoveSatUiL()
-    {
-    TFLOGSTRING( "CSatShellController::RemoveSatUiL called" )
-
-    CMenuSATInterface* menu = new ( ELeave ) CMenuSATInterface;
-    menu->MakeSatUiVisible( EFalse, iSimAppName );
-    delete menu;
-
-    TFLOGSTRING( "CSatShellController::RemoveSatUiL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::LaunchSatUiL
-// Launches SAT UI Client application.
-// ---------------------------------------------------------
-//
-void CSatShellController::LaunchSatUiL()
-    {
-    TFLOGSTRING( "CSatShellController::LaunchSatUiL called" )
-
-    RApaLsSession rapaLsSession;
-    User::LeaveIfError( rapaLsSession.Connect() );
-    CleanupClosePushL( rapaLsSession );
-    TThreadId id( static_cast<TInt64>( 0 ) );
-    TApaAppInfo appInfo;
-
-    User::LeaveIfError( rapaLsSession.GetAppInfo( appInfo, KUidSatUi ) );
-    CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
-    cmdLine->SetExecutableNameL( appInfo.iFullName );
-    cmdLine->SetCommandL( EApaCommandOpen );
-    rapaLsSession.StartApp( *cmdLine, id );
-
-    CleanupStack::PopAndDestroy( cmdLine );
-    CleanupStack::PopAndDestroy( &rapaLsSession );
-
-    TFLOGSTRING( "CSatShellController::LaunchSatUiL exit" )
-    }
-
-
-// ---------------------------------------------------------
-// CSatShellController::BringBrowserToForeground
-// Brings the Browser to foreground.
-// ---------------------------------------------------------
-//
-void CSatShellController::BringBrowserToForeground() const
-    {
-    TFLOGSTRING( "CSatShellController::BringBrowserToForeground called" )
-
-    BringApplicationToForeground( iUidWmlBrowser );
-
-    TFLOGSTRING( "CSatShellController::BringBrowserToForeground exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::BringBrowserToForegroundAfterPeriod
-// Brings the Browser to foreground after time has passed.
-// ---------------------------------------------------------
-//
-void CSatShellController::BringBrowserToForegroundAfterPeriod()
-    {
-    TFLOGSTRING(
-        "CSatShellController::BringBrowserToForegroundAfterPeriod called" )
-
-    if ( !iTimer->IsActive() )
-        {
-        TFLOGSTRING(
-            "CSatShellController::BringBrowserToForegroundAfterPeriod \
-             start iTimer" )
-        iTimer->Start( KTimerTime,
-                       KTimerTime,
-                       TCallBack( TimerCompleted, this ) );
-        }
-
-    TFLOGSTRING(
-        "CSatShellController::BringBrowserToForegroundAfterPeriod exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::BringSatUiToForeground
-// Brings the SAT UI application to foreground.
-// ---------------------------------------------------------
-//
-void CSatShellController::BringSatUiToForeground()
-    {
-    TFLOGSTRING( "CSatShellController::BringSatUiToForeground called" )
-
-    CheckSatUiStatus();
-    BringApplicationToForeground( KUidSatUi );
-
-    TFLOGSTRING( "CSatShellController::BringSatUiToForeground exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::BringApplicationToForeground
-// Brings the SAT UI application to foreground.
-// ---------------------------------------------------------
-//
-void CSatShellController::BringApplicationToForeground(
-    const TUid& aAppUid ) const
-    {
-    TFLOGSTRING( "CSatShellController::BringApplicationToForeground called" )
-
-    RWsSession wsSession;
-    // Open the WS server session.
-    if ( KErrNone == wsSession.Connect() )
-        {
-        TFLOGSTRING( "CSatShellController::BringApplicationToForeground \
-            open WS server session" )
-        TApaTaskList tasklist( wsSession );
-        // Find the task with uid
-        TApaTask task = tasklist.FindApp( aAppUid );
-        task.BringToForeground();
-        wsSession.Close();
-        }
-
-    TFLOGSTRING( "CSatShellController::BringApplicationToForeground exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::SetSatUiToBackground
-// Sets SAT UI Application to background if needed.
-// ---------------------------------------------------------
-//
-void CSatShellController::SetSatUiToBackground() const
-    {
-    TFLOGSTRING( "CSatShellController::SetSatUiToBackground called" )
-    
-    if ( iSetSatUiToBackground )
-        {
-        RWsSession wsSession;
-        // Open the WS server session.
-        if ( KErrNone == wsSession.Connect() )
-            {
-            TFLOGSTRING( "CSatShellController::SetSatUiToBackground \
-                open WS server session" )
-            TApaTaskList tasklist( wsSession );
-            // Find the task with uid
-            TApaTask task = tasklist.FindApp( KUidSatUi );
-            task.SendToBackground();
-            wsSession.Close();
-            }            
-        }
-                    
-    TFLOGSTRING( "CSatShellController::SetSatUiToBackground exit" )                    
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::CycleSatUiBackwards
-// Brings the SAT UI application to foreground.
-// ---------------------------------------------------------
-//
-void CSatShellController::CycleSatUiBackwards()
-    {
-    TFLOGSTRING( "CSatShellController::BringSatUiToForeground called" )
-
-    RWsSession wsSession;
-    // Open the WS server session.
-    if ( KErrNone == wsSession.Connect() )
-        {
-        TFLOGSTRING( "CSatShellController::CycleSatUiBackwards \
-            open WS server session" )
-        TApaTaskList taskList( wsSession );
-        // Finds topmost application.
-        TApaTask task = taskList.FindByPos(0);
-        iTimer->Cancel();
-
-        CApaWindowGroupName* name = 0;
-        TRAPD( err,
-            name = CApaWindowGroupName::NewL( wsSession, task.WgId() ) );
-
-        if ( name )
-            {
-            // Check is that Browser is foremost application.
-            if ( !err && ( name->AppUid() == KUidBrowser ) )
-                {
-                TFLOGSTRING(
-                    "CSatShellController::BSUTF Browser is in foreground" )
-                }
-            else
-                {
-                TFLOGSTRING(
-                    "CSatShellController::BSUTF Browser isn't in foreground" )
-                TApaTask browserTask = taskList.FindApp( KUidBrowser );
-                browserTask.BringToForeground();
-                iTimer->Start(
-                    KTimerTime, KTimerTime, TCallBack( TimerCompleted, this ) );
-                }
-
-            delete name;
-            }
-
-        wsSession.Close();
-        }
-
-    TFLOGSTRING( "CSatShellController::BringSatUiToForeground exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::TimerCompleted
-// Callback function. Completes after predefined
-// time has passed
-// ---------------------------------------------------------
-//
-TInt CSatShellController::TimerCompleted( TAny* aObject )
-    {
-    TFLOGSTRING( "CSatShellController::TimerCompleted called" )
-
-    if ( aObject )
-        {
-        STATIC_CAST( CSatShellController*, aObject )->CycleSatUiBackwards();
-        }
-
-    TFLOGSTRING( "CSatShellController::TimerCompleted exit" )
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CSatShellController::LaunchBrowserL
-// Launch XHTML-browser
-// Browser launched with parameter
-// "4" + "<Space>" + "<Url>" + "<Space>" + "<UID of App>" or "5"
-// More information see Browser API Specification Document
-// ---------------------------------------------------------
-//
-TInt CSatShellController::LaunchBrowserL( const TDesC& aUrl,
-     TUid aAccessPointUid )
-    {
-    TFLOGSTRING( "CSatShellController::LaunchBrowserL called" )
-
-    TInt errorCode( KErrNone );
-    HBufC* param = HBufC::NewLC( aUrl.Length() + KMaxUidName +
-        KBrowserParamAndTwoSpaces );
-    
-    TFLOGSTRING2( "CSatShellController::LaunchBrowserL length of aUrl: %d", \
-        aUrl.Length() )
-    if ( aUrl.Length() > 0 )
-        {
-        param->Des().Copy( KFour );
-        param->Des().Append( KSpace );
-        param->Des().Append( aUrl );
-        TFLOGSTRING2( "CSatShellController::LaunchBrowserL \
-                      aAccessPointUid: %d", aAccessPointUid )
-        // Create script for Browser if not empty accesspoint UID.
-        if ( aAccessPointUid != KEmptyUid )
-            {
-            TFLOGSTRING( "CSatShellController::LaunchBrowserL not empty \
-                accesspoint" )
-            // Uid is in decimal format
-            param->Des().Append( KSpace );
-            param->Des().AppendNum( aAccessPointUid.iUid );
-            }
-
-        }
-    else
-        {
-        param->Des().Copy( KFive );
-        }
-
-    User::LeaveIfError( iWsSession.Connect() );
-
-    TFLOGSTRING2( "CSatShellController::LaunchBrowserL \
-                   param string: %S", param )
-    TApaTaskList taskList( iWsSession );
-    TApaTask task = taskList.FindApp( iUidWmlBrowser );
-
-    // If browser already open.
-    if ( task.Exists() )
-        {
-        TFLOGSTRING( "CSatShellController::LaunchBrowserL browser open" )
-        HBufC8* param8 = HBufC8::NewLC( param->Length() );
-        param8->Des().Append( *param );
-        errorCode = task.SendMessage( TUid::Uid( 0 ), param8->Des() );
-        CleanupStack::PopAndDestroy( param8 );
-        }
-    else
-        {
-        TFLOGSTRING( "CSatShellController::LaunchBrowserL launch browser" )
-        // Launch the Browser.
-        TThreadId id( static_cast<TInt64>( 0 ) );
-        RApaLsSession rapaLsSession;
-        User::LeaveIfError( rapaLsSession.Connect() );
-        errorCode = rapaLsSession.StartDocument( *param, iUidWmlBrowser, id );
-        rapaLsSession.Close();
-        }
-
-    BringBrowserToForeground();
-
-    iWsSession.Close();
-    CleanupStack::PopAndDestroy( param );
-
-    TFLOGSTRING2( "CSatShellController::LaunchBrowserL exit %d", errorCode )
-    return errorCode;
-    }
-
-// -----------------------------------------------------------------------------
-// CSatShellController::CheckSatUiStatus
-// Check if SatUi is needed to set to background.
-// -----------------------------------------------------------------------------
-//
-void CSatShellController::CheckSatUiStatus()
-    {
-    TFLOGSTRING( "CSatShellController::CheckSatUiStatus called" )
-    
-    // if SatUi task is found and SatUi is not in foreground flag is set ETrue
-    iSetSatUiToBackground = EFalse;
-
-    RWsSession wsSession;
-    // Open the WS server session.
-    if ( KErrNone == wsSession.Connect() )
-        {
-        TFLOGSTRING( "CSatShellController::CheckSatUiStatus \
-            open WS server session" )
-        TApaTaskList tasklist( wsSession );
-        TApaTask satUiTask = tasklist.FindApp( KUidSatUi );
-        
-        if ( satUiTask.Exists() )
-            {
-            TFLOGSTRING(
-                 "CSatShellController::CheckSatUiStatus task exists" )
-            TApaTask topMostTask = tasklist.FindByPos( 0 );
-            
-            if ( topMostTask.ThreadId() != satUiTask.ThreadId() )
-                {
-                TFLOGSTRING(
-                    "CSatShellController::CheckSatUiStatus set SatUI to BG" )
-                iSetSatUiToBackground = ETrue;                    
-                }
-            }
-            
-        wsSession.Close();
-        }
-        
-    TFLOGSTRING( "CSatShellController::CheckSatUiStatus exit" )
-    }
-    
-// ================= OTHER EXPORTED FUNCTIONS ===============================
-
-EXPORT_C MSatShellController* NewSatController()
-    {
-    TFLOGSTRING( "CSatShellController::NewSatController called" )
-
-    MSatShellController* satController = NULL;
-    TRAPD( err, satController = CSatShellController::NewL() )
-    if ( KErrNone != err )
-        {
-        TFLOGSTRING2( "   CSatShellController::NewSatController \
-            failed: %d", err )
-        satController = NULL;
-        }
-
-    TFLOGSTRING( "CSatShellController::NewSatController exit" )
-    return satController;
-    }
-
-//  End of File
--- a/satui/satapp/SATUIInc/CSatUiActionPerformer.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,390 +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 class handles the communication between server and user 
-*                   interface
-*
-*/
-
-
-#ifndef CSATUIACTIONPERFORMER_H
-#define CSATUIACTIONPERFORMER_H
-
-//  INCLUDES
-#include <msatuiobserver.h>
-#include <rsatuisession.h>
-#include <rsatsession.h>
-
-#include <cenrepnotifyhandler.h>
-
-// CONSTANTS
-//256 max length-header information fields
-const TInt KAdditionalInfoMaxSize = 244;      
-const TInt KMaxPlayToneLength = 50;
-
-enum TIconCommand
-    {
-    EIconSetUpMenuContext = 1,
-    EIconSetUpMenuItems,
-    EIconDisplayText,
-    EIconGetInput,
-    EIconGetInkey,
-    EIconGetYesNo,
-    EIconPlayTone,
-    EIconNotification,
-    EIconConfirmCommand
-    };
-
-// FORWARD DECLARATIONS
-class MSatUiAdapter;
-class MSatUiActionImplementer;
-class CPhoneGsmHandlerContainer;
-class CSatUiSsAdditionalInfoHandler;
-class CSatUiSsRequestCompleteHandler;
-class CCenRepNotifyHandler;
-class CSatUiIconHandler;
-class CRepository;
-
-
-// CLASS DECLARATION
-
-/**
-*  This class implements the methods specified in the MSatUiObserver.
-*/
-
-class CSatUiActionPerformer : public CBase, 
-    public MCenRepNotifyHandlerCallback,
-    public MSatUiObserver
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CSatUiActionPerformer* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CSatUiActionPerformer();
-
-    public: // New functions
-
-        /**
-        * Sets the UI.
-        * @param aImplementer Pointer to be set.
-        */
-        void SetImplementer(MSatUiActionImplementer* aImplementer);
-
-        /**
-        * Returns the adapter provided by SatCli.
-        */
-        MSatUiAdapter* Adapter();
-
-    public: // Functions from base classes
-
-         /**
-        * From MSatUiObserver Notification of the SAT Display Text command.
-        * @param aText The text string to be displayed.
-        * @param aSimApplicationName  Sim Application name
-        * @param aIconId The id of icon.
-        * @param aRequestedIconDisplayed Informs if icon is not used.
-        * @param aSustainedText Indicates is this text sustained ie. no timers
-        *        used if ETrue.
-        * @param aDuration Duration for showing the text
-        * @param aWaitUserToClear Indication if user is needed to clear 
-        *        message        
-        * @return The response to this command.
-        */
-        TSatUiResponse DisplayTextL( const TDesC& aText,
-            const TDesC& aSimApplicationName, 
-            const TSatIconId& aIconId,
-            TBool& aRequestedIconDisplayed,
-            const TBool aSustainedText,
-            const TTimeIntervalSeconds aDuration,
-            const TBool aWaitUserToClear );
-
-        /**
-        * From MSatUiObserver Notification of the SAT Get Inkey command.
-        * @param aText The query text.
-        * @param aCharacterSet The character range allowed.
-        * @param aInput The input character.
-        * @param aHelpIsAvailable A flag indicating  if SAT help is available
-        * @param aIconId The id of icon.
-        * @param aRequestedIconDisplayed Informs if icon is not used.
-        * @param aDuration Duration for showing the dialog.
-        * @param aImmediateDigitResponse Indication if Immediate digit response
-        *        is needed.
-        * @return The response of to this command.
-        */
-        TSatUiResponse GetInkeyL( const TDesC& aText,
-            const TSatCharacterSet aCharacterSet, TChar& aInput,
-            const TBool aHelpIsAvailable,
-            const TSatIconId& aIconId,
-            TBool& aRequestedIconDisplayed,
-            TUint& aDuration,
-            const TBool aImmediateDigitResponse );
-
-        /**
-        * From MSatUiObserver Notification of the SAT Get Input command.
-        * @param aText The query text.
-        * @param aCharacterSet The character range allowed.
-        * @param aInput The input string.
-        * @param aMinLength The minimum length of the input allowed.
-        * @param aMaxLength The maximum length of the input allowed.
-        * @param aHideInput A flag indicating if the input should be hidden.
-        * @param aHelpIsAvailable A flag indicating if SAT help is available.
-        * @param aIconId The id of icon.
-        * @param aRequestedIconDisplayed Informs if icon is not used.
-        * @return The response to this command.
-        */
-        TSatUiResponse GetInputL( const TDesC& aText, 
-            const TSatCharacterSet aCharacterSet, TDes& aInput,
-            const TInt aMinLength, const TInt aMaxLength, 
-            const TBool aHideInput,
-            const TBool aHelpIsAvailable,
-            const TSatIconId& aIconId,
-            TBool& aRequestedIconDisplayed );
-
-        /**
-        * From MSatUiObserver Notification of the SAT Set Up Menu command.
-        * @param aText The title text.
-        * @param aMenuItems The array of menu item captions.
-        * @param aMenuItemNextActions The array of menu item next action 
-        * indicator codes.
-        * @param aHelpIsAvailable A flag indicating if SAT help is available.
-        * @param aIconId The id of title icon.
-        * @param aMenuIcons List of icon identifiers for menu items.
-        * @param aIconListQualifier Indicates how to use icons in the icon list.
-        * @param aSelectionPreference Specifies is the soft keys preferred.
-        * @return The response to this command.
-        */
-        TSatUiResponse SetUpMenuL( const TDesC& aText, 
-            const MDesCArray& aMenuItems, 
-            const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-            const TBool aHelpIsAvailable,
-            const TSatIconId& aIconId,
-            const CArrayFixFlat<TInt>* aMenuIcons,
-            const enum TSatIconQualifier aIconListQualifier,
-            const enum TSatSelectionPreference aSelectionPreference );
-
-        /**
-        * From MSatUiObserver Notification of the SAT Select Item command.
-        * @param aText The title text.
-        * @param aMenuItems The array of menu item captions.
-        * @param aMenuItemNextActions The array of menu item next action 
-        * indicator codes.
-        * @param aDefaultItem The item selected by default.
-        * @param aSelection The item index selected by the user.
-        * @param aHelpIsAvailable A flag indicating if help is available.
-        * @param aIconId The id of title icon.
-        * @param aMenuIcons List of icon identifiers for menu items.
-        * @param aIconListQualifier Indicates how to use icons in the icon list.
-        * @param aRequestedIconDisplayed Informs if icon is not used.
-        * @param aSelectionPreference Specifies is the soft keys preferred.
-        * @return The response to this command.
-        */
-        TSatUiResponse SelectItemL( const TDesC& aText, 
-            const MDesCArray& aMenuItems, 
-            const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-            const TInt aDefaultItem, TUint8& aSelection,
-            const TBool aHelpIsAvailable,
-            const TSatIconId& aIconId,
-            const CArrayFixFlat<TInt>* aMenuIcons,
-            const enum TSatIconQualifier aIconListQualifier,
-            TBool& aRequestedIconDisplayed,
-            const enum TSatSelectionPreference aSelectionPreference );
-
-        /**
-        * From MSatUiObserver Notification of the SAT Play Tone command.
-        * @param aText The text to be displayed.
-        * @param aTone The tone to be played.
-        * @param aDuration The duration of the tone to be played.
-        * @param aIconId The id of icon.
-        * @param aRequestedIconDisplayed Informs if icon is not used.
-        * @return The response to this command.
-        */
-        TSatUiResponse PlayTone( const TDesC& aText, 
-            const TSatTone aTone, 
-            const TTimeIntervalMicroSeconds aDuration,
-            const TSatIconId& aIconId,
-            TBool& aRequestedIconDisplayed );
-
-        /**
-        * From MSatUiObserver General confirmation request
-        * @param aCommandId ID of the quering command
-        * @param aAlphaIdStatus Alpha Identifier status
-        * @param aText The text to be displayed.
-        * @param aAdditionalText Additional text to be used in queries.
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @param aIconId The id of icon.
-        * @param aRequestedIconDisplayed Informs if icon is not used.
-        * @param aTerminatedByUser Informs if end key is used.
-        */
-        void ConfirmCommand(
-            const TSatSQueryCommand aCommandId,
-            const TSatAlphaIdStatus aAlphaIdStatus,
-            const TDesC& aText,
-            const TDesC& aAdditionalText,
-            TBool& aActionAccepted,
-            const TSatIconId& aIconId,
-            TBool& aRequestedIconDisplayed,
-            TBool& aTerminatedByUser );
-            
-        /**
-        * From MSatUiObserver General notification
-        * @param aCommandId ID of the notifying command
-        * @param aAlphaIdStatus Alpha Identifier status
-        * @param aText Alpha Identifier
-        * @param aIconId The id of icon.
-        * @param aRequestedIconDisplayed Informs if icon is not used.
-        * @param aControlResult Control result of the MoSm and CallControl
-        * @return The response of the UI to this command.
-        */
-        TSatUiResponse Notification(
-            const TSatSNotifyCommand aCommandId,
-            const TSatAlphaIdStatus aAlphaIdStatus,
-            const TDesC& aText,
-            const TSatIconId& aIconId,
-            TBool& aRequestedIconDisplayed,
-            const TSatControlResult aControlResult );
-
-        /**
-        * From MSatUiObserverGeneral event notification. Used for example to
-        * tell UI that command has completed its execution.
-        * @param aEventId, identifies the event
-        * @param aEventStatus, status of the event, used as additional info for
-        *        the event
-        * @param aError, possible error code that may affect on event handling. 
-        *        This is also used as additional info
-        */
-        void EventNotification( 
-            const TSatSEvent aEventId,
-            const TSatSEventStatus aEventStatus,
-            const TInt aError );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CSatUiActionPerformer();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Fetch icon information.
-        * @param aIconId Id for icons
-        * @param aIconCommand Command type for icon.
-        * @return Pointer to selected FbsBitmap icon
-        */
-        CFbsBitmap* FetchIcon( const TUint8 aIconId, 
-            const enum TIconCommand aIconCommand );
-
-        /**
-        * Gets default text's resource id
-        * @param aCommandId Identifies the command
-        * @param aControl Used only for MoSm and Call Control
-        * @return Resource id for the default text
-        */
-        TInt DefaultAlphaIdL(
-            const TSatSNotifyCommand aCommandId,
-            const TSatControlResult aControlResult) const;
-        
-        /** 
-        * Get size for the icon in popup window.
-        * @param aSize Reference to the size of icon place.
-        * @param aIconCommand Dialog information
-        * @return TBool Returns EFalse if popup window is not supported
-        *               in current layout.
-        */
-        TBool GetPopUpWindowIconSize( TSize& aSize,
-             const TIconCommand  aIconCommand );
-        
-        /** 
-        * Creates scalable bitmap.
-        * @param aBitMapToConvert Reference icon to be scaled.
-        * @param aIconCommand Dialog information
-        */
-        void GetScalableBitmapL( CFbsBitmap*& aBitMapToConvert, 
-            const TIconCommand  aIconCommand );
-            
-        /** 
-        * Handles scalable bitmap.
-        * @param aBitMapToConvert Reference icon to be scaled.
-        * @param aIconCommand Dialog information
-        * @param aRequestedIconDisplayed Informs if icon is not shown.
-        */
-        void GetScalableBitmap(
-            CFbsBitmap*& aBitMapToConvert, 
-            const TIconCommand  aIconCommand,
-            TBool& aRequestedIconDisplayed );
-        
-        /** 
-        * Handles scalable bitmap.
-        * @param aBitMapToConvert Reference icon to be scaled.
-        * @param aIconCommand Dialog information
-        */
-        void GetScalableBitmap(
-            CFbsBitmap*& aBitMapToConvert, 
-            const TIconCommand  aIconCommand );
-
-    public: // Data
-
-        //wait scheduler
-        CActiveSchedulerWait iWait;
-
-    private: // Data
-
-        // play tone sequence
-        TBuf8<KMaxPlayToneLength> iSequence;
-
-
-        //Ref: Interface to the UI-part
-        MSatUiActionImplementer* iActionImplementer;
-
-        // own: used with refresh started and finished
-        TBool iRefresh;
-
-        // own: session to sat client
-        RSatUiSession iSat;
-
-        //Ref: Adapter provided by SAT Client
-        MSatUiAdapter* iAdapter;
-
-        //Own: Session
-        RSatSession iSatSession;
-        
-        //Own: Current Iconididentifier
-        TInt iIconIdIdentifier;
-       
-        //Own: SetupMenu and SelectItem items icon
-        CAknIconArray* iItemIcons;
-
-        //Own: Icon fetching handler
-        CSatUiIconHandler* iIconHandler;
-        
-        // own: used to signal that icons are supported
-        TBool iIconSupport;
-        
-        //Own: used to indicate if ESatSClearScreenEvent occurs
-        TBool iClearScreenEvent;
-
-    };
-
-#endif    // CSATUIACTIONPERFORMER_H
-
-//  End of File
--- a/satui/satapp/SATUIInc/CSatUiApplication.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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 CSatUiApplication class
-*    
-*
-*/
-
-
-#ifndef CSATUIAPPLICATION_H
-#define CSATUIAPPLICATION_H
-
-#include <aknapp.h>
-
-// CONSTANTS
-const TUid KUidSATUI = { 0x101f4ce0 }; // UID of app
-
-// CLASS DECLARATION
-
-/**
-*  SatUi Application class.
-*/
-class CSatUiApplication : public CAknApplication
-    {
-    private: // Functions from base classes
-
-        /**
-        * From CAknApplication Returns the UId of the application.
-        * @return The UId of the application.
-        */
-        TUid AppDllUid() const;
-
-        /**
-        * From CAknApplication Creates document object.
-        * @return The pointer to the created object.
-        */
-        CApaDocument* CreateDocumentL();
-    };
-
-#endif    // CSATUIAPPLICATION_H
-
-//  End of File
--- a/satui/satapp/SATUIInc/CSatUiDocument.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +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 CSatUiDocument class
-*
-*
-*/
-
-
-#ifndef CSATUIDOCUMENT_H
-#define CSATUIDOCUMENT_H
-
-// INCLUDES
-#include <AknDoc.h>
-
-// FORWARD DECLARATIONS
-class CSatUiActionPerformer;
-class CSatUiViewAppUi;
-
-// CLASS DECLARATION
-
-/**
-*  SatUi Document class.
-*/
-class CSatUiDocument : public CAknDocument
-    {
-    public: // Constructors and destructor
-
-        /**
-        * C++ default constructor.
-        */
-        CSatUiDocument(CEikApplication& aApp): CAknDocument(aApp) {};
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CSatUiDocument();
-
-    private:
-
-        /**
-        * From CEikDocument Creates ViewAppUi object.
-        * @return The pointer to the created object.
-        */
-        CEikAppUi* CreateAppUiL();
-
-    private://Data
-
-        //Own: Command receiver
-        CSatUiActionPerformer *iActionPerformer;
-
-        // application UI pointer
-        CSatUiViewAppUi* iApplicationUi;
-    };
-
-#endif    // CSATUIDOCUMENT_H
-
-//  End of File
--- a/satui/satapp/SATUIInc/CSatUiMessageQueryIcon.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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: 
-*     CPicture derived class. For DisplayText to show icon and text
-*     
-*
-*/
-
-
-#ifndef CSATUIMESSAGEQUERYICON_H
-#define CSATUIMESSAGEQUERYICON_H
-
-//  INCLUDES
-#include <gdi.h>
-
-// FORWARD DECLARATIONS
-class TSize;
-class CFbsBitmap;
-
-// CLASS DECLARATION
-
-class CSatUiMessageQueryIcon :public CPicture
-    {
-
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-		* @param aSize Size of the picture in twips.
-		* @param aBitmap Bitmap
-        */
-        CSatUiMessageQueryIcon( TSize aSize, CFbsBitmap& aBitmap );
-
-        /**
-        * Destructor.
-        */
-	    virtual ~CSatUiMessageQueryIcon();
-
-	public: // From CPicture
-
-		/**
-        * Draw the picture.
-        * @param aGc Graphic context.
-        * @param aTopLeft Co-ordinates of left corner.
-        * @param aClipRect Clipping rectangle.
-        * @param aMap Device map.
-        */
-		virtual void Draw( CGraphicsContext& aGc,
-						   const TPoint& aTopLeft,
-						   const TRect& aClipRect,
-						   MGraphicsDeviceMap* aMap ) const;
-		/**
-        * From CPicture.
-        * A derived class must implement this function.
-        */
-		virtual void ExternalizeL( RWriteStream& aStream ) const;
-		
-        /**
-        * Get the picture's size in twips.
-		* @param aSize Size.
-        */
-		virtual void GetOriginalSizeInTwips( TSize& aSize ) const;
-
-	protected:	// Data
-
-		TSize iSizeInTwips;
-		CFbsBitmap* iBitmap;
-    };
-
-#endif
-            
--- a/satui/satapp/SATUIInc/CSatUiTextQueryDialog.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*     Implements the feature for investigating length of the input. Softkeys
-*     are set based on this information.
-*     
-*
-*/
-
-
-#ifndef CSATUITEXTQUERYDIALOG_H
-#define CSATUITEXTQUERYDIALOG_H
-
-//  INCLUDES
-#include <AknQueryDialog.h>
-
-// CLASS DECLARATION
-
-/**
-*  Defines the SAT spesific data query class.
-*/
-class CSatUiTextQueryDialog : public CAknTextQueryDialog
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        */
-        CSatUiTextQueryDialog(TDes& aDataText, const TTone aTone,
-            TInt aMinLength, TInt aMaxLength);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CSatUiTextQueryDialog();
-
-    public: // Functions from base classes
-
-        /**
-        * From CAknQueryDialog
-        * @param aQueryControl 
-        * @param aEventType 
-        * @param aStatus 
-        * @return 
-        */
-        TBool HandleQueryEditorStateEventL(CAknQueryControl* aQueryControl,
-            TQueryControlEvent aEventType, TQueryValidationStatus aStatus);
-
-    protected: // Functions from base classes
-
-        /**
-        * From CEikDialog, gets called when dialog initializations are done
-        */
-        void PostLayoutDynInitL();
-
-        /**
-        * From CEikDialog, gets called before initializations
-        */
-        void PreLayoutDynInitL();
-
-        /**
-        * From CAknDialog, Hash key is accepted
-        */
-   		TBool NeedToDismissQueryL( const TKeyEvent& aKeyEvent );
-
-        /**
-        * From CAknDialog, Hash key not ignored (workaround)
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                           TEventCode aType );
-
-
-    private:    // Data
-
-        //Minimum length of input
-        TInt iTextMinLength;
-    };
-
-#endif      // CSATUITEXTQUERYDIALOG_H
-
-// End of File
--- a/satui/satapp/SATUIInc/CSatUiView.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,289 +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: 
-*    Defines CSatUiView class
-*
-*
-*/
-
-
-#ifndef CSATUIVIEW_H
-#define CSATUIVIEW_H
-
-// INCLUDES
-#include    <msatuiobserver.h>
-#include    <aknview.h>        // For CAknView class 
-
-// CONSTANTS
-static const TInt KTabLength = 4;     // Items tab length
-
-// FORWARD DECLARATIONS
-class AknStaticNoteDialog;
-class MSatUiAdapter;
-class CSatUiViewContainer;
-class CSatUiViewAppUi;
-
-// CLASS DECLARATION
-
-/**
-* SatUi view (SetUpMenu and SelectItem).
-*/
-class CSatUiView : public CAknView, 
-                   public MEikListBoxObserver
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CSatUiView* NewL( TBool aSetUpMenu, 
-                                 CSatUiViewAppUi* aAppUi, 
-                                 TBool aEmpty );
-
-        /*
-        * Destructor.
-        */
-        virtual ~CSatUiView();
-
-    public: // New functions
-
-        /**
-        * Sets the title needed for showing the view.
-        * @param aTitle The Title pane text.
-        */
-        void SetTitle( const HBufC* aTitle );
-
-        /**
-        * Sets all parameters needed for showing the view.
-        * @param aTitle The Title pane text.
-        * @param aMenuItems The Main pane list items.
-        * @param aMenuItemNextActions The Options items.
-        * @param aHelpIsAvailable The help flag.
-        * @return Operation result.
-        */
-        TSatUiResponse SetItemsL( HBufC* aTitle,
-            const MDesCArray& aMenuItems,
-            const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-            const TBool aHelpIsAvailable );
-
-        /**
-        * Activates SetUpMenu view.
-        * @param aTitle The Title pane text.
-        * @param aMenuItems The Main pane list items.
-        * @param aMenuItemNextActions The Options items.
-        * @param aHelpIsAvailable The help flag.
-        * @return Operation result.
-        */
-        TSatUiResponse SetUpMenuL( HBufC* aTitle,
-            const MDesCArray& aMenuItems,
-            const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-            const TBool aHelpIsAvailable );
-
-        /**
-        * Activates SelectItem view.
-        * @param aTitle The Title pane text.
-        * @param aMenuItems The Main pane list items.
-        * @param aMenuItemNextActions The Options items.
-        * @param aDefaultItem The item in focus.
-        * @param aSelection The selected item.
-        * @param aHelpIsAvailable The help flag.
-        * @return Operation result.
-        */
-        TSatUiResponse SelectItemL( HBufC* aTitle,
-            const MDesCArray& aMenuItems,
-            const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-            const TInt aDefaultItem, TUint8& aSelection,
-            const TBool aHelpIsAvailable );
-
-        /**
-        * Sets the pointer to adapter provided by SatCli.
-        * @param aAdapter A pointer to an abstract adapter interface.
-        */
-        void SetAdapter( MSatUiAdapter* aAdapter );
-
-        /**
-        * Sets the icon bitmap pointer.
-        * @param aIconBitmap Context Pane icon.
-        */
-        void SetIconL( const CFbsBitmap* aIconBitmap );
-
-        /**
-        * Sets the items icon array.
-        * @param aItemsIconArray Items iconarray.
-        * @param aSelfExplanatoryItems Indicate if only icons are shown
-        */
-        void SetItemsIconL( const CAknIconArray* aItemsIconArray, 
-            const TBool aSelfExplanatoryItems );
-
-        /**
-        * Hides and makes list box visible if needed.
-        * @param aVisible Visible or hidden
-        */
-        void MakeListBoxVisible( TBool aVisible );
-        
-        /**
-        * Updates CBA according to current next action
-        * @param aIndex current row on the list
-        * @param aNew is the view just created
-        */
-        void UpdateMskL( TInt aIndex, TBool aNew );
-
-    public: // Functions from base classes
-
-        /**
-        * From CAknView Returns the UId of the view.
-        * @return The UId of the view.
-        */
-        TUid Id() const;
-
-        /**
-        * From CAknView Handles view commands.
-        * @param aCommand The command identifier.
-        */
-        void HandleCommandL(TInt aCommand);
-
-        /**
-        * From CAknView Handles the options menu.
-        * @param aResourceId Resource id of the menu pane.
-        * @param aMenuPane The menu pane.
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-    protected: // New functions
-
-        /**
-        * Updates the view container.
-        */
-        void RefreshL();
-
-        /**
-        * Draws the title and list items of the view.
-        */
-        void DrawL();
-
-    protected: // Functions from base classes
-
-        /**
-        * From MEikListBoxObserver Handles list box events.
-        * @param aEventType The event identifier.
-        */
-        void HandleListBoxEventL( CEikListBox* /*aListBox*/,
-            TListBoxEvent aEventType );
-
-        /**
-        * From CAknView Activates the view.
-        */
-        void DoActivateL( const TVwsViewId& /*PrevViewId*/,
-            TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/);
-
-        /**
-        * From CAknView Deactivates the view.
-        */
-        void DoDeactivate();
-
-    private:
-
-        /** 
-        * called when user has been
-        * inactive for a pre-defined period
-        */
-        static TInt DispatchUserInactive( TAny* aPtr );
-
-        /**
-        * C++ default constructor.
-        */
-        CSatUiView( TBool aSetUpMenu, CSatUiViewAppUi* aAppUi, TBool aEmpty );
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-    public: //Data
-        
-        //CUserActivityManager user response wait scheduler
-        CActiveSchedulerWait iWait;
-
-    private: //Data
-
-        // Own: indicates that a note was cleared after a delay
-        TBool iNoResponseFromUserAfterDelay;
-
-        //Ref: adapter provided by SatCli
-        MSatUiAdapter* iAdapter;
-
-        //To block the keypad abter the user action and unblock when
-        //the new SatServer command comes
-       TBool iKeypadBlocked;
-
-        //Type of the view (SetUpMenu or SelectItem)
-        TBool iSetUpMenu;
-
-        //Ref: UI object
-        CSatUiViewAppUi* iSatUiAppUi;
-
-        //Own: items of the main pain list
-        CDesCArrayFlat* iMenuItems;
-        //Own: codes of options menu items
-        CArrayFixFlat<TSatAction>* iMenuItemNextActions;
-
-        //Number of items in the maind pane
-        TInt iNItems;
-
-        //Ref: view title text
-        const HBufC* iTitle;
-
-        TBool iHelpIsAvailable;
-
-        //Own: view container
-        CSatUiViewContainer* iContainer;
-
-        //Ref: list box model
-        CTextListBoxModel* iModel;
-
-        //The response to SatServer
-        TSatUiResponse iResponse;
-
-        //default item in the Select Item list
-        TInt iDefaultItem;
-
-        //selected item in the list
-        TInt iSelection;
-
-        //client rectangle
-        TRect iRect;
-
-        //Items icon array
-        CAknIconArray* iItemsIconArray;
-
-        //Icons exists on view
-        TBool iIconsOn;
-
-        //Icons state changed
-        TBool iIconStateChange;
-        
-        //If only icons are shown
-        TBool iSelfExplanatoryItems;
-        
-        //Value for displaying list box.
-        TBool iListBoxVisible;
-        
-        //Indication that view is first created empty view
-        TBool iEmpty;
-
-    };
-
-#endif    // CSATUIVIEW_H
-
-//  End of File
--- a/satui/satapp/SATUIInc/CSatUiViewAppUi.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,772 +0,0 @@
-/*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines CSatUiViewAppUi class
-*
-*/
-
-
-#ifndef CSATUIVIEWAPPUI_H
-#define CSATUIVIEWAPPUI_H
-
-// INCLUDES
-#include <aknViewAppUi.h>
-#include <mdaaudiotoneplayer.h>
-#include <mdaaudiosampleplayer.h>
-#include "MSatUiActionImplementer.h"
-#include "CSatUiActionPerformer.h"
-
-// CONSTANTS
-const TUid KSetUpMenuViewId={1};
-const TUid KSelectItemViewId={2};
-
-// FORWARD DECLARATIONS
-class CSatUiView;
-class MSatUiAdapter;
-class CAknMessageQueryDialog;
-class CAknWaitDialog;
-class CSatUiTextQueryDialog;
-class CAknQueryDialog;
-class CSatUiInactivityMonitor;
-class CAknIconArray;
-class CAknPopupForm; 
-class CAknGlobalNote;
-class CSatUiWaitDialog;
-
-// CLASS DECLARATION
-
-/**
-* Implements the UI and methods from the MSatUiActionImplementer.
-*/
-class CSatUiViewAppUi : public CAknViewAppUi,
-    public MSatUiActionImplementer,
-    public MMdaAudioToneObserver,
-    public MMdaAudioPlayerCallback
-    {
-    public: // Constructors and destructor
-
-        /**
-        * C++ default constructor.
-        */
-        CSatUiViewAppUi();
-
-        /**
-        * Destructor.
-        */
-        ~CSatUiViewAppUi();
-
-    public: // New functions
-
-        /**
-        * Sets the pointer to adapter provided by SatCli.
-        * @param aAdapter SAT Client part object.
-        */
-        void SetAdapter( MSatUiAdapter* aAdapter );
-
-    public: // Functions from base classes
-
-        /**
-        * From CAknViewAppUi Called when view is brought to
-        * foreground or put into background
-        * @param aForeground A flag to indicate is SAT background or foreground
-        */
-        void HandleForegroundEventL( TBool aForeground );
-
-        /**
-        * From MMdaAudioToneObserver Called by the player object when
-        * it has been initialised.
-        * @param aError Error type.
-        */
-        void MatoPrepareComplete( TInt aError );
-
-        /**
-        * From MMdaAudioToneObserver Called by the player object when
-        * the playback has been terminated.
-        * @param aError Error type.
-        */
-        void MatoPlayComplete( TInt aError );
-
-        /**
-        * From MSatUiActionImplementer Shows the wait note.
-        */
-        void ShowWaitNoteL();
-
-        /**
-        * From MSatUiActionImplementer Shows the wait note without delay.
-        */
-        void ShowWaitNoteWithoutDelayL();
-
-        /**
-        * From MSatUiActionImplementer Removes the wait note from the screen.
-        */
-        void StopShowWaitNote();
-
-        /**
-        * Checks that is BT SAP connection active.
-        * @return BT SAP activation status.
-        */
-        TBool BTSAPActivatedL();
-
-        /**
-        * From MSatUiActionImplementer 
-        * @return CoeEnv.
-        */
-        CCoeEnv* CoeEnv();
-
-        /**
-        * From MSatUiActionImplementer Displays given text on the screen.
-        * @param aText Text to be shown.
-        * @param aSimApplicationName  Sim Application name
-        * @param aIconBitmapDisplayText Icon for dialog
-        * @param aSelfExplanatoryIcon If selfexplanatory icon
-        * @param aSustainedText Indicates is this text sustained ie. no timers
-        *        used if ETrue.
-        * @param aDuration Duration for showing the text
-        * @param aWaitUserToClear Indication if user is needed to clear 
-        *        message
-        * @return Operation result.
-        */
-        TSatUiResponse DisplayTextL( const TDesC& aText,
-            const TDesC& aSimApplicationName,
-            CFbsBitmap* aIconBitmapDisplayText,
-            const TBool aSelfExplanatoryIcon,
-            const TBool aSustainedText,
-            const TTimeIntervalSeconds aDuration,
-            const TBool aWaitUserToClear );
-
-        /**
-        * From MSatUiActionImplementer Removes Display Text Dialog from
-        * the screen.
-        */
-        void ClearScreen();
-
-        /**
-        * From MSatUiActionImplementer Asks a Yes/No answer from the user.
-        * @param aText A question to be shown.
-        * @param aCharacterSet The character range allowed.
-        * @param aInkey Character user feeds.
-        * @param aIconBitmap Icon for query dialog.
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        * @param aDuration Duration for showing the dialog.
-        * @param aImmediateDigitResponse Indication if Immediate digit response
-        *        is needed.
-        * @return Operation result.
-        */
-        TSatUiResponse GetYesNoL( const TDesC& aText,
-            const TSatCharacterSet aCharacterSet,
-            TChar& aInkey,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory,
-            TUint& aDuration,
-            const TBool aImmediateDigitResponse );
-
-        /**
-        * From MSatUiActionImplementer Asks input from the user.
-        * @param aText A question to be shown.
-        * @param aCharacterSet The character range allowed.
-        * @param aInput The input string.
-        * @param aMinLength The minimum length of the input allowed.
-        * @param aMaxLength The maximum length of the input allowed.
-        * @param aHideInput A flag indicating if the input should be hidden.
-        * @param aGetInkey A flag indicating GetInkey command.
-        * @param aIconBitmapGetInput Icon for query dialog.
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        * @param aDuration Duration for showing the dialog.
-        * @return Operation result.
-        */
-        TSatUiResponse GetInputL( const TDesC& aText,
-            const TSatCharacterSet aCharacterSet,
-            TDes& aInput,
-            const TInt aMinLength,
-            const TInt aMaxLength, 
-            const TBool aHideInput,
-            const TBool aGetInkey,
-            const CFbsBitmap* aIconBitmapGetInput,
-            const TBool aSelfExplanatory,
-            TUint& aDuration );
-
-        /**
-        * From MSatUiActionImplementer Prepares the SetUpMenu view and
-        * calls the method of the view class.
-        * @param aText The title text.
-        * @param aMenuItems The array of menu items.
-        * @param aMenuItemNextActions The array of next action indicators.
-        * @param aIconBitmap The Context Pane icon.
-        * @param aItemsIconArray Array of item icons
-        * @param aSelfExplanatoryItems A flag indicating if only icons are shown.
-        * @param aHelpIsAvailable A flag indicating if SAT help is available.
-        * @return Operation result.
-        */    
-        TSatUiResponse SetUpMenuL( const TDesC& aText,
-            const MDesCArray& aMenuItems,
-            const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-            const CFbsBitmap* aIconBitmap,
-            const CAknIconArray* aItemsIconArray,
-            const TBool aSelfExplanatoryItems,
-            const TBool aHelpIsAvailable );
-
-       /**
-        * From MSatUiActionImplementer Prepares the SelectItem view and
-        * calls the method of the view class.
-        * @param aText The title text.
-        * @param aMenuItems The array of menu items.
-        * @param aMenuItemNextActions The array of next action indicators.
-        * @param aDefaultItem The item in focus.
-        * @param aSelection The item index selected by the user.
-        * @param aIconBitmap The Context Pane icon.
-        * @param aItemsIconArray Array of item icons
-        * @param aSelfExplanatoryItems A flag indicating if only icons are shown.
-        * @param aHelpIsAvailable A flag indicating if SAT help is available.
-        * @return Operation result.
-        */
-        TSatUiResponse SelectItemL( const TDesC& aText,
-            const MDesCArray& aMenuItems,
-            const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-            const TInt aDefaultItem,
-            TUint8& aSelection,
-            const CFbsBitmap* aIconBitmap,
-            const CAknIconArray* aItemsIconArray,
-            const TBool aSelfExplanatoryItems,
-            const TBool aHelpIsAvailable );
-
-        /**
-        * From MSatUiActionImplementer Plays Standard Tone.
-        * @param aText The text to be displayed.
-        * @param aSequence The name of the file to be played.
-        * @param aDuration The duration of the tone to be played.
-        * @param aIconBitmap The tone playing note icon
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        * @return Operation result.
-        */
-        TSatUiResponse PlayStandardToneL( const TDesC& aText, 
-            const TDesC8& aSequence,
-            TTimeIntervalMicroSeconds aDuration,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory );
-
-        /** 
-        * From MSatUiActionImplementer Shows a query to get confirmation
-        * for Send SMS, Send SS or Send USSD command.
-        * @param aText The text to be displayed.
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @param aType Type of the command (SMS, SS or USSD).
-        * @return Operation result.
-        */
-        TSatUiResponse ConfirmSendL( const TDesC& aText,
-            TBool& aActionAccepted, TInt aType );
-
-        /** 
-        * From MSatUiActionImplementer Shows a wait note indicating
-        * Send SMS command.
-        * @param aText The text to be displayed.
-        * @param aIconBitmapSendSM Sending dialog icon.
-        * @param aSelfExplanatoryIcon A flag indicating if only icon is shown.        
-        */
-        void ShowSmsWaitNoteL( const TDesC& aText,
-            const CFbsBitmap* aIconBitmapSendSM, 
-            const TBool aSelfExplanatoryIcon );
-
-        /** 
-        * From MSatUiActionImplementer Shows a wait note indicating
-        * Send SS command.
-        * @param aText The text to be displayed.
-        * @param aIconBitmap Sending dialog icon.
-        * @param aSelfExplanatoryIcon A flag indicating if only icon is shown.        
-        */
-        void ShowSsWaitNoteL( const TDesC& aText, 
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatoryIcon );
-
-        /** 
-        * From MSatUiActionImplementer Shows the query to confirm the
-        * Refresh command.
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @return Operation result.
-        */
-        TSatUiResponse ConfirmRefreshL( TBool& aActionAccepted );
-
-        /**
-        * Notification of the SAT Call Control command.
-        * @param aText The text string to be displayed.
-        * @param aAlphaIdStatus Alpha Identifier status
-        * @param aControlResult Call control general result
-        * @return The response from the UI
-        */
-        TSatUiResponse CallControlL( const TDesC& aText, 
-            const TSatAlphaIdStatus aAlphaIdStatus );
-
-        /** 
-        * Notification of the SAT Launch browser confirmation request
-        * @param aText The text to be displayed.
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @param aIconBitmap The confirm note icon
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        */
-        void ConfirmLaunchBrowserL( 
-            const TDesC& aText,
-            TBool& aActionAccepted,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory );
-
-        /** 
-        * Status of help support
-        * @param aStatus status of help
-        */
-        void HelpStatus( TBool aStatus );
-
-        /**
-        * Notification of the SAT Mo Sm Control command.
-        * @param aText The text string to be displayed.
-        * @param aAlphaIdStatus Alpha Identifier status
-        * @param aControlResult Mo Sm control general result
-        * @return The response from the UI
-        */
-        TSatUiResponse MoSmControlL( const TDesC& aText, 
-            const TSatAlphaIdStatus aAlphaIdStatus );
-
-        /**
-        * From MSatUiActionImplementer Shows the wait note while DTMF are being 
-        * sent.
-        * @param aText The text to be displayed.
-        * @param aIconBitmap The confirm note icon
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        * @return Information on the operation result.
-        */
-        TSatUiResponse ShowDtmfWaitNoteL( const TDesC& aText, 
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatoryIcon );
-
-        /** 
-        * Dispatch iWait to action implementer.
-        * @param aWait Timer.
-        */
-        void DispatchTimer( CActiveSchedulerWait& aWait );
-
-        /**
-        * Get a flag which is indicating if end key is pressed.
-        * @return A Boolean flag which is indicating if end key is pressed.
-        */
-        TBool GetEndKey(); 
-
-        /**
-        * Set a flag which is indicating if end key is pressed.
-        * @param aValue Status of end key
-        */
-        void SetEndKey( TBool aValue );
-
-        /**
-        * Set a flag which is indicating if proactive command is pending.
-        * @param aValue Status of proactive command
-        */
-        void SetCommandPending( TBool aValue );
-
-        /**
-        * Plays user selected tone.
-        * @param aText The text to be displayed.
-        * @param aDuration The duration of the tone to be played.
-        * @param aTone Tone type.
-        * @param aIconBitmap The tone playing note icon
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        * @return Operation result.
-        */
-        TSatUiResponse PlayUserSelectedToneL(
-            const TDesC& aText,
-            TTimeIntervalMicroSeconds aDuration, 
-            TSatTone aTone,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory );
-
-        /**
-        * Confirm user permission for Open Channel.
-        * @param aText The text to be displayed.
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @param aIconBitmapOpenChannel Icon for query dialog
-        * @param aSelfExplanatory A flag indicating if icon is self-explanatory
-        * @return Operation result
-        */
-        TSatUiResponse ConfirmOpenChannelL(
-            const TDesC& aText,
-            TBool& aActionAccepted,
-            const CFbsBitmap* aIconBitmapOpenChannel,
-            const TBool aSelfExplanatory );
-
-        /**
-        * From MSatUiActionImplementer Shows the wait note while BIP packets 
-        * are sent.
-        * @param aCommand Command type.
-        * @param aText The text to be displayed.
-        * @param aIconBitmap Icon for query dialog
-        * @param aSelfExplanatory A flag indicating if icon is self-explanatory
-        */
-        void ShowBIPNoteL(
-            TInt aCommand,
-            const TDesC& aText,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory );
-        
-        /** 
-        * From MSatUiActionImplementer Confirm user permission for SetUpCall
-        * @param aText The text to be displayed.
-        * @param aSimAppName Header for th equery
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @param aIconBitmap Icon for query dialog
-        * @param aSelfExplanatory A flag indicating if icon is self-explanatory
-        */
-        void ConfirmSetUpCallL( 
-            const TDesC& aText, 
-            const TDesC& aSimAppName,
-            TBool& aActionAccepted,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory );
-
-        /**
-        * From MSatUiActionImplementer Show note indicating SAT is not 
-        * available.
-        */        
-        void ShowNotAvailableNoteL();                    
-
-
-        /**
-        * From MSatUiActionImplementer Show the Ss error note.
-        */
-        void ShowSsErrorNoteL();      
-
-        /**
-        * Start SatUi closing process
-        */
-        void CloseSatUI();
-        
-        /**
-        * Get settings from current profile like volume, warning tones on/off etc.
-        * @param aTone, optional specifies the type of needed tone if necessary
-        * @param aToneName, optional buffer to get a soundfile name from 
-        * the active profile if necessary
-        */
-        void GetProfileParamsL( TSatTone aTone = ESatToneNotSet, TDes* aToneName = NULL );
-        
-
-        /**
-        * Return current profile state.
-        * @return current profile state.
-        */
-        TInt ProfileState();
-
-    public: // Functions from base classes
-
-        /**
-        * From CAknViewAppUi Handles UI commands.
-        * @param aCommand Command to be handled.
-        */
-        void HandleCommandL( TInt aCommand );
-        
-    protected:
-    
-       /**
-        * From CEikAppUi. Takes care of commandline parameter.
-        * @param aCommand Indicate the way an application is to be launched.
-        * @param aDocumentName A document file name.
-        * @param aTail Command line parameter.
-        */
-        TBool ProcessCommandParametersL(
-            TApaCommand aCommand,
-            TFileName& aDocumentName, 
-            const TDesC8& aTail );    
-    
-    private:
-
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL();
-
-    private: // functions
-    
-        /** 
-        * Creates empty menu. This is needed in SIM originated commands.
-        */
-        void CreateEmptyMenuL();
-
-        /** 
-        * called when user has been
-        * inactive for a pre-defined period
-        * @param aPtr PPointer to creato
-        * @return Error value
-        */
-        static TInt DispatchUserInactive( TAny* aPtr );
-
-        /** 
-        * Delay callback function. Called when predefined time
-        * has passed
-        * @param Pointer to creator
-        * @return whetwer to call function again after an interval
-        */
-        static TInt DelayCallback( TAny* aPtr );
-
-        /** 
-        * Delay callback function. Called when predefined time
-        * has passed
-        * @param Pointer to creator
-        * @return whetwer to call function again after an interval
-        */
-        static TInt CloseCallControlNoteL( TAny* aPtr );
-
-        /**
-        * Creates a callback timer
-        * @param aDelay delay after callback function is called
-        * @param aCallBack Callback function
-        */
-        void CreateCallBackTimerL( const TInt aDelay, 
-                TInt (*aFunction)(TAny* aPtr) );
-
-        /**
-        * Destroys the callback timer
-        */
-        void DestroyCallBackTimer( );
-
-        /**
-        * Make a mask for get input icon bitmap
-        * @param aMask Mask for Get inpupt icon bitmap    
-        * @param aSize Size for mask
-        */
-        void MakeGetInputBitmapMask( CFbsBitmap* aMask, TSize aSize ) const;
-
-        /**
-        * Handles a exit softkey.
-        */
-        void HandleExitCommandL();
-
-        /**
-        * From CAknViewAppUi Handles window server events..
-        * @param aEvent The window server event that occurred.
-        * @param aDestination The control associated with the event.
-        */
-        void HandleWsEventL( const TWsEvent& aEvent, 
-            CCoeControl* aDestination );
-
-        /**
-        * Close all existing dialogs.
-        */
-        void CloseDialogs();
-
-        /**
-        * Initialisation of an audio sample has completed.
-        * @param aError The status of the audio sample after initialisation.
-        * @param aDuration The duration of the audio sample.
-        */
-        void MapcInitComplete( 
-            TInt aError, 
-            const TTimeIntervalMicroSeconds& /*aDuration*/ );
-
-        /**
-        * Play of an audio sample has completed.
-        * @param aError The status of playback.
-        */
-        void MapcPlayComplete( TInt aError );
-
-        /**
-        * Remove null characters from text.
-        * @param aText Text to be cleaned from NULLs 
-        */
-        void RemoveNullCharacters( HBufC* aText );
-        
-        /**
-        * Make and run note dialog with an icon
-        * @param aResourceId Resource id of the dialog to be created
-        * @param aText Text to the dialog
-        * @param aIconBitmap Pointer to the icon bitmap
-        * @param aSelfExplanatory Whether text is showed or not
-        * @param aIconCommand Layout of dialog for scaling
-        * @param aMskCommand middle softkey command
-        * @return The user response to the note
-        */
-        TInt RunQueryDialogL(
-            TInt aResourceId,
-            const TDesC& aText,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory,
-            TInt aMskCommand );
-
-        /**
-        * Check if it is allowed to change view or SAT UI is in 
-        * view activation loop.
-        * @param aForeground ETrue if the application is in the foreground.
-        * @param aActiveView TUid of active view.
-        * @return ETrue if view activation is allowed.
-        */
-        TBool ViewActivationAllowed( const TBool aForeground, 
-                                     const TUid  aActiveView );
-                                     
-        /**
-        * Handle received key event in immediate digit response case.
-        * @param aScanCode Received key event code.
-        */
-        void HandleImmediateDigitResponse( TInt aScanCode );
-
-        /**
-        * Handle closing display text in high priority events
-        * @param aEvent The window server event that occurred.
-        */
-        void PriorityVerifyAndClose( const TWsEvent& aEvent );
-        
-        /**
-        * Stop playing PLAY TONE command.
-        */
-        void StopPlayToneL();
-        
-        /**
-        * Check if foreground control is alive when HandleForegroundEventL is 
-        * called.
-        * @return ETrue if the foreground control is alive.
-        */
-        TBool CSatUiViewAppUi::ForegroundAlive() const;
-        
-    private: //Data
-
-        // Own: use timer repeat
-        TBool iTimerRepeatOn;
-
-        // Own: repeat count for timer
-        TInt iTimerRepeatCount;
-
-        TBool iHelp;
-
-        // Session Terminated
-        TBool iSelectItemPending;
-
-        // select item command pending
-        TBool iSessionTerminated;
-
-        // delay timer
-        CPeriodic* iTimer;
-
-        // Own: indicates that note was cleared after a delay
-        TBool iNoteClearedAfterDelay;
-
-        // Own: indicates that a note was cleared after a delay
-        TBool iNoResponseFromUserAfterDelay;
-
-        //Ref: SatClient abstract adapter interface
-        MSatUiAdapter* iAdapter;
-
-        //Own: SetUpMenu view
-        CSatUiView* iSetUpMenuView;
-
-        //Own: SelectItem view
-        CSatUiView* iSelectItemView;
-
-        //The command comes first time, so the view should be created
-        TBool iSetUpMenuFirst;
-        TBool iSelectItemFirst;
-
-        // Own: SIM application name
-        HBufC* iAppName;
-        // Own: view title
-        HBufC* iTitle;
-
-        //Own: Display Text dialog and text+icon
-        CAknMessageQueryDialog* iDisplayTextDialog;
-        CAknPopupForm* iDisplayTextIconDialog;
-
-        //Own: get input dialog
-        CSatUiTextQueryDialog* iGetInputDialog;
-        
-        //Own: Wait note
-        CAknWaitDialog* iWaitNote;
-        
-        //Own: BIP Wait note
-        CSatUiWaitDialog* iBipWaitNote;
-        
-        //Own: Refresh note
-        CAknWaitDialog* iRefreshNote;
-
-        //Own: Media server interface to play rtf file
-        CMdaAudioToneUtility *iPlayer;
-
-        //Failure while playing tone
-        TSatUiResponse iPlayToneError;
-
-        //wait scheduler
-        CActiveSchedulerWait* iWait;
-
-        // Flag for indicating end key status
-        TBool iEndKeyPressed;
-
-        // Status of view, select item or setup menu
-        TUid iActiveView;
-
-        // Flag for indicating if command is pending
-        TBool iCommandPending;
-
-        // Own: query dialog
-        CAknQueryDialog* iQueryDialog;
-        
-        // Own: Inform dialog
-        CAknNoteDialog* iNoteDialog;
-
-        // Own: note dialog
-        CAknStaticNoteDialog* iPermanentNote;
-
-        // Player for user selected tones.
-        CMdaAudioPlayerUtility* iAudioPlayer;
-
-        // Volume for user selected tones.
-        TInt iVolume;
-        
-        // Note for call control. 
-        CAknGlobalNote* iCcNote;
-        
-        // The note's ID in call control. 
-        TInt iCcNoteId;
-
-        // Flag for indicating SatUI foreground status        
-        TBool iForeground;
-
-        // Flag indicating previous SatUI foreground status
-        TBool iPreviousForeground;
-
-        // Counter for possible view activation loop
-        TInt iViewLoopCounter;
-        
-        // Duration of tone
-        TTimeIntervalMicroSeconds iDuration;
-
-        // Used key value for immediate digit response
-        TChar iKey;
-        
-        // Indicate if immediate digit response is requested
-        TBool iImmediateDigitResponse;
-
-        // Indication for End key case that wait note existed
-        TBool iWaitNoteInUse;
-        
-        // Request ID for increased buffer size.
-        TInt iReqWSBufferID;
-        
-        // Indication that warning and game tones are in use
-        TBool iWarningAndPlayTones;
-
-        // Not Own
-        // Use to keep track of the dialog which is on the screen
-        CCoeControl* iForegroundControl;
-        
-        // Indication that high priority event occured, used in DisplayText
-        TBool iHighPriorityEvent;
-        
-        // Indication that immediate response TLV, used in DisplayText
-        TBool iImmediateRsp;
-
-    };
-
-#endif    // CSATUIVIEWAPPUI_H
-
-//  End of File
--- a/satui/satapp/SATUIInc/CSatUiViewContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +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: 
-*    Defines CSatUiViewContainer class
-*    
-*
-*/
-
-
-#ifndef CSATUIVIEWCONTAINER_H
-#define CSATUIVIEWCONTAINER_H
-
-// FORWARD DECLARATIONS
-class CCoeControl;
-class CAknView;
-class MSatUiAdapter;
-class CEikTextListBox;
-class MEikListBoxObserver;
-class CSatUiView;
-
-class CSatUiTest;
-
-// CLASS DECLARATION
-
-/**
-*  Container for SatUi View.
-*/
-class CSatUiViewContainer : public CCoeControl
-    {
-    public: // Constructors and destructor
-
-         /**
-        * Two-phased constructor.
-        * @param aIconOn If item icons available
-        * @param aView Pointer to view
-        */
-        static CSatUiViewContainer* NewL( TBool aIconOn,
-            CSatUiView* aView );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CSatUiViewContainer();
-
-    public: // New functions
-
-        /**
-        * Returns a pointer to the listbox object.
-        * @return The listbox object pointer.
-        */
-        CAknColumnListBox* ListBox();
-
-    public: // Functions from base classes
-
-        /**
-        * From CCoeControl Counts controls.
-        * @return A number of controls.
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl Provides a pointer to a control.
-        * @param aIndex Index of the control.
-        * @return A pointer to a control.
-        */
-        CCoeControl* ComponentControl(TInt aIndex) const;
-
-        /**
-        * From CCoeControl Sets the size of the main pane.
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl Handles list box key events.
-        * @param aKeyEvent The key event.
-        * @param aType The type of key event.
-        * @return Was a key consumed or not.
-        */
-        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
-            TEventCode aType);
-
-        /**
-        * From CCoeControl Returns SatUi help context.
-        * @param aContext Help context.
-        */
-        void GetHelpContext(TCoeHelpContext& aContext) const;
-
-        /**
-        * From CCoeControl Handles a change to the control's resources.
-        * @param aType The messages type id
-        */
-        void HandleResourceChange( TInt aType );
-
-        /**
-        * From CCoeControl Indicate the requirements for control redrawing.
-        * @param aDrawNow Control redraw flags.
-        */
-        void FocusChanged( TDrawNow aDrawNow );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CSatUiViewContainer( CSatUiView* aView );
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL( TBool aIconOn );
-
-    private: //Data
-
-        //Own: listbox for SetUpMenu and SelectItem view
-        CAknColumnListBox* iListBox;
-        
-        //If item icons available
-        TBool iIconOn;
-
-        //Pointer to view        
-        CSatUiView* iView;
-
-    };
-
-#endif    // CSATUIVIEWCONTAINER_H
-
-//  End of File
--- a/satui/satapp/SATUIInc/CSatUiWaitDialog.h	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*     Implements the feature for investigating length of the input. Softkeys
-*     are set based on this information.
-*     
-*
-*/
-
-
-#ifndef CSATUIWAITDIALOG_H
-#define CSATUIWAITDIALOG_H
-
-//  INCLUDES
-#include <AknWaitDialog.h>
-
-// FORWARD DECLARATION
-class MSatUiAdapter;
-
-// CLASS DECLARATION
-
-/**
- *  Defines the SAT spesific data query class.
- */
-class CSatUiWaitDialog : public CAknWaitDialog
-    {
-    public:  // Constructors and destructor
-
-         /**
-         * C++ default constructor.
-         */
-        CSatUiWaitDialog( 
-            CEikDialog** aSelfPtr,
-            MSatUiAdapter& aAdapter,                
-            TBool aVisibilityDelayOff );
-
-        /**
-         * Destructor.
-         */
-        virtual ~CSatUiWaitDialog();
-
-    public: // Override functions from base classes
-    
-        /**
-         * From @c CEikDialog.
-         * Handles a dialog button press for the specified button.
-         * @param aButtonId The ID of the button that was activated
-         * @return ETrue to validate and exit the dialog
-         */
-        TBool CSatUiWaitDialog::OkToExitL( TInt aButtonId );
-        
-    private:    // Data
-
-        // Reference to adapter. Used to inform SAT Client if user 
-        // presses Cancel during dialog is showing
-        MSatUiAdapter& iAdapter;
-    };
-
-#endif      // CSATUIWAITDIALOG_H
-
-// End of File
--- a/satui/satapp/SATUIInc/MSatUiActionImplementer.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,373 +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:  An interface class to the UI side. Through this interface it 
-*                   is possible to  perform actual operations
-*
-*/
-
-
-#ifndef MSATUIACTIONIMPLEMENTER_H
-#define MSATUIACTIONIMPLEMENTER_H
-
-//  INCLUDES
-#include <msatuiobserver.h>
-
-// CLASS DECLARATION
-class CAknIconArray;
-
-/**
-*  This class defines the interface between engine and UI.
-*/
-class MSatUiActionImplementer
-    {
-    public:
-
-        /**
-        * Returns CoeEnv.
-        */
-        virtual CCoeEnv* CoeEnv() = 0;
-
-        /**
-        * Shows the wait note.
-        */
-        virtual void ShowWaitNoteL() = 0;
-
-        /**
-        * Shows the wait note without delay
-        */
-        virtual void ShowWaitNoteWithoutDelayL() = 0;
-
-        /**
-        * Removes the wait note from the screen.
-        */
-        virtual void StopShowWaitNote() = 0;
-
-        /**
-        * Handles the DisplayText operation.
-        * @param aText Text to be shown.
-        * @param aSimApplicationName  Sim Application name
-        * @param aIconBitmapDisplayText Icon for dialog
-        * @param aSustainedText Indicates is this text sustained ie. no timers
-        *        used if ETrue.
-        * @param aDuration Duration for showing the text
-        * @param aWaitUserToClear Indication if user is needed to clear 
-        *        message        
-        * @return Information of the operation result.
-        */
-        virtual TSatUiResponse DisplayTextL( const TDesC& aText,
-            const TDesC& aSimApplicationName, 
-            CFbsBitmap* aIconBitmapDisplayText,
-            const TBool aSelfExplanatoryIcon,
-            const TBool aSustainedText,
-            const TTimeIntervalSeconds aDuration,
-            const TBool aWaitUserToClear ) = 0;
-
-        /**
-        * Removes Display Text Dialog from the screen.
-        */
-        virtual void ClearScreen() = 0;
-
-        /**
-        * Asks a Yes/No answer from the user.
-        * @param aText A question to be shown.
-        * @param aCharacterSet The character range allowed.
-        * @param aInkey Character user feeds.
-        * @param aIconBitmap Icon for query dialog.
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        * @param aDuration Duration for showing the dialog.
-        * @param aImmediateDigitResponse Indication if Immediate digit response
-        *        is needed.
-        * @return Information of the operation result.
-        */
-        virtual TSatUiResponse GetYesNoL( const TDesC& aText,
-            const TSatCharacterSet aCharacterSet,
-            TChar& aInkey,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory,
-            TUint& aDuration,
-            const TBool aImmediateDigitResponse ) = 0;
-
-        /**
-        * Asks input from the user.
-        * @param aText A question to be shown.
-        * @param aCharacterSet The character range allowed.
-        * @param aInput The input string.
-        * @param aMinLength The minimum length of the input allowed.
-        * @param aMaxLength The maximum length of the input allowed.
-        * @param aHideInput A flag indicating if the input should be hidden.
-        * @param aGetInkey A flag indicating if GetInkey command is used.
-        * @param aIconBitmapGetInput Icon for query dialog.
-        * @param aSelfExplanatory  A flag indicating if icon is self-explanatory.
-        * @param aDuration Duration for showing the dialog.
-        * @return Information of the operation result.
-        */
-        virtual TSatUiResponse GetInputL( const TDesC& aText,
-            const TSatCharacterSet aCharacterSet, TDes& aInput,
-            const TInt aMinLength, const TInt aMaxLength, 
-            const TBool aHideInput, const TBool aGetInkey,
-            const CFbsBitmap* aIconBitmapGetInput, 
-            const TBool aSelfExplanatory,
-            TUint& aDuration ) = 0; 
-
-        /**
-        * Handles the SetUpMenu view.
-        * @param aText The title text.
-        * @param aMenuItems The array of menu item captions.
-        * @param aMenuItemNextActions The array of menu item next action 
-        * indicator captions.
-        * @param aIconBitmap The Context pane icon.
-        * @param aItemsIconArray Array of item icons
-        * @param aSelfExplanatoryItems Flag indicating if only icons are shown.
-        * @param aHelpIsAvailable A flag indicating if SAT help is available.
-        * @return Information of the operation result.
-        */
-        virtual TSatUiResponse SetUpMenuL( const TDesC& aText,
-            const MDesCArray& aMenuItems,
-            const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-            const CFbsBitmap* aIconBitmap,
-            const CAknIconArray* aItemIconsArray,
-            const TBool aSelfExplanatoryItems,
-            const TBool aHelpIsAvailable ) = 0;
-
-       /**
-        * Handles the SelectItem view.
-        * @param aText The title text.
-        * @param aMenuItems The array of menu items.
-        * @param aMenuItemNextActions The array of next action indicators.
-        * @param aDefaultItem The item in focus.
-        * @param aSelection The item index selected by the user.
-        * @param aIconBitmap The Context Pane icon.
-        * @param aItemsIconArray Array of item icons
-        * @param aSelfExplanatoryItems Flag indicating if only icons are shown.
-        * @param aHelpIsAvailable A flag indicating if SAT help is available.
-        * @return Information of the operation result.
-        */
-        virtual TSatUiResponse SelectItemL( const TDesC& aText,
-            const MDesCArray& aMenuItems,
-            const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-            const TInt aDefaultItem,
-            TUint8& aSelection,
-            const CFbsBitmap* aIconBitmap,
-            const CAknIconArray* aItemsIconArray,
-            const TBool aSelfExplanatoryItems,
-            const TBool aHelpIsAvailable ) = 0;
-
-        /**
-        * Handles Standard Tone playing.
-        * @param aText The text to be displayed.
-        * @param aFileName The name of the file corresponding to the tone.
-        * @param aDuration The duration of the tone to be played.
-        * @param aIconBitmap The tone playing note icon
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        * @return Information of the operation result.
-        */
-        virtual TSatUiResponse PlayStandardToneL( const TDesC& aText,
-            const TDesC8& aSequence,
-            TTimeIntervalMicroSeconds aDuration,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory ) = 0;
-
-        /** 
-        * Shows the confirmation note about the SAT Send SMS, Send SS or
-        * Send USSD command.
-        * @param aText The text to be displayed.
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @param aType Type of the request (SMS, SS, USSD).
-        * @return Information of the operation result.
-        */
-        virtual TSatUiResponse ConfirmSendL( const TDesC& aText,
-            TBool& aActionAccepted, TInt aType ) = 0;
-
-        /** 
-        * Shows the wait note about the Send SMS command.
-        * @param aText The text to be displayed.
-        * @param aIconBitmapSendSM Sending dialog icon.
-        * @param aSelfExplanatoryIcon A flag indicating if only icon is shown.
-        */
-        virtual void ShowSmsWaitNoteL( const TDesC& aText, 
-            const CFbsBitmap* aIconBitmapSendSM, 
-            const TBool aSelfExplanatoryIcon ) = 0;
-
-        /** 
-        * Shows the wait note about the Send SS command.
-        * @param aText The text to be displayed.
-        * @param aIconBitmap Sending dialog icon.
-        * @param aSelfExplanatoryIcon A flag indicating if only icon is shown.        
-        */
-        virtual void ShowSsWaitNoteL( const TDesC& aText, 
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatoryIcon ) = 0;
-
-        /** 
-        * Shows the confirmation note about the SAT Refresh command.
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @return Information of the operation result.
-        */
-        virtual TSatUiResponse ConfirmRefreshL(
-            TBool& aActionAccepted) = 0;
-
-        /**
-        * Notification of the SAT Call Control command.
-        * @param aText The text string to be displayed.
-        * @param aAlphaIdStatus Alpha Identifier status
-        * @param aControlResult Call control general result
-        * @return The response from the UI
-        */
-        virtual TSatUiResponse CallControlL( 
-            const TDesC& aText,
-            const TSatAlphaIdStatus aAlphaIdStatus ) = 0;
-
-        /** 
-        * Notification of the SAT Launch browser confirmation request
-        * @param aText The text to be displayed.
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @param aIconBitmap The confirm note icon
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        */
-        virtual void ConfirmLaunchBrowserL( 
-            const TDesC& aText,
-            TBool& aActionAccepted,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory ) = 0;
-
-        /**
-        * Notification of the SAT Mo Sm Control command.
-        * @param aText The text string to be displayed.
-        * @param aAlphaIdStatus Alpha Identifier status
-        * @param aControlResult Mo Sm control general result
-        * @return The response from the UI
-        */
-        virtual TSatUiResponse MoSmControlL( 
-            const TDesC& aText, 
-            const TSatAlphaIdStatus aAlphaIdStatus ) = 0;
-
-        /**
-        * Shows the wait note while DTMF are being sent.
-        * @param aText The text to be displayed.
-        * @param aIconBitmap The confirm note icon
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        * @return Information on the operation result.
-        */
-        virtual TSatUiResponse ShowDtmfWaitNoteL( const TDesC& aText, 
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatoryIcon ) = 0;
-
-        /** Dispatch iWait to action implementer.
-        * @param aWait Timer.
-        */
-        virtual void DispatchTimer( CActiveSchedulerWait& aWait ) = 0;
-
-        /**
-        * Get flag which is indicating if end key is pressed.
-        * @return A Boolean flag which is indicating if end key is pressed.
-        */
-        virtual TBool GetEndKey() = 0; 
-
-        /**
-        * Set a flag which is indicating if end key is pressed.
-        * @param aValue Status of end key
-        */
-        virtual void SetEndKey( TBool aValue ) = 0;
-
-        /**
-        * Set a flag which is indicating if proactive command is pending.
-        * @param aValue Status of proactive command
-        */
-        virtual void SetCommandPending( TBool aValue ) = 0;
-
-        /**
-        * Plays user selected tone.
-        * @param aText The text to be displayed.
-        * @param aDuration Play duration.
-        * @param aTone Tone to be played.
-        * @param aIconBitmap The tone playing note icon
-        * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
-        * @return Information on the operation result.
-        */
-        virtual TSatUiResponse PlayUserSelectedToneL( 
-            const TDesC& aText,
-            TTimeIntervalMicroSeconds aDuration, 
-            TSatTone aTone,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory ) = 0;
-        
-        /**
-        * Confirm user permission for Open Channel.
-        * @param aText The text to be displayed.
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @param aIconBitmapOpenChannel Icon for query dialog
-        * @param aSelfExplanatory A flag indicating if icon is self-explanatory
-        * @return Operation result
-        */
-        virtual TSatUiResponse ConfirmOpenChannelL(
-            const TDesC& aText,
-            TBool& aActionAccepted,
-            const CFbsBitmap* aIconBitmapOpenChannel,
-            const TBool aSelfExplanatory ) = 0;     
-
-        /**
-        * Shows the wait note while BIP packets are sent.
-        * @param aCommand Command type.
-        * @param aText The text to be displayed.
-        * @param aIconBitmap Icon for query dialog
-        * @param aSelfExplanatory A flag indicating if icon is self-explanatory
-        */
-        virtual void ShowBIPNoteL(
-            TInt aCommand,
-            const TDesC& aText,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory ) = 0;
-
-        /** 
-        * Confirm user permission for SetUpCall
-        * @param aText The text to be displayed.
-        * @param aSimAppName Header for th equery
-        * @param aActionAccepted Indicates whether the command was accepted.
-        * @param aIconBitmap Icon for query dialog
-        * @param aSelfExplanatory A flag indicating if icon is self-explanatory
-        */
-        virtual void ConfirmSetUpCallL( 
-            const TDesC& aText, 
-            const TDesC& aSimAppName,
-            TBool& aActionAccepted,
-            const CFbsBitmap* aIconBitmap,
-            const TBool aSelfExplanatory ) = 0;
-
-        /**
-        * Show note indicating SAT is not available.
-        */        
-        virtual void ShowNotAvailableNoteL() = 0;       
-        
-        /**
-        * Show the Ss error note.
-        */
-        virtual void ShowSsErrorNoteL() = 0;      
-
-        /**
-        * Start SatUi closing process.
-        */
-        virtual void CloseSatUI() = 0;
-
-        /**
-        * Return current profile state.
-        * @return current profile state.
-        */
-        virtual TInt ProfileState() = 0;
-
-        
-    };
-
-#endif    // MSATUIACTIONIMPLEMENTER_H 
-
-//  End of File
--- a/satui/satapp/SATUIInc/csatuiiconhandler.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +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:  Introduces CSatUiIconHandler class, which handles 
-*                icon fetching for SatUi.
-*
-*/
-
-
-#ifndef CSATUIICONHANDLER_H
-#define CSATUIICONHANDLER_H
-
-#include <e32base.h>
-#include <rsatservice.h>
-
-class CFbsBitmap;
-class RSatSession;
-
-/**
- *  Handles asynchronous icon fetching for SatUi.
- *
- *  Opens connection to SatClient by using received session attribute.
- *  Receives icon information and does the selection based on received icon id
- *  attribute. Asks the handle of the icon bitmap from the SatClient's
- *  RSatIcon class by giving the icon information and the package for handle,
- *  which is done asynchronously. For mean time, this class is waiting for
- *  completion of request by starting CActiveSchedulerWait, which is stopped
- *  when request is completed. After that the icon is duplicated via RSatIcon
- *  by giving the handle information. This is also an asynchronous call and
- *  CActiveSchedulerWait is started again. When completed the pointer to the
- *  bitmap is returned.
- *
- *  @lib satui.exedll
- *  @since S60 v3.1
- */
-class CSatUiIconHandler : public CBase
-    {
-
-public: // Constructors and destructor
-
-    /**
-     * Constructor.
-     */
-    static CSatUiIconHandler* NewL();
-
-    /*
-     * Destructor.
-     */
-    virtual ~CSatUiIconHandler();
-
-public: // New functions
-
-    /**
-     * The method, which fetches the icon.
-     *
-     * @since S60 v3.1
-     * @param aSatSession Session information for SatClient interface.
-     * @param aIconId Id for icon to be fetched.
-     * @param aOptWidth Optimal width of the icon to be fetched.
-     * @param aOptHeight Optimal height of the icon to be fetched.
-     * @param aIconSupport Flag to signal if icons are not supported at all
-     * @return A pointer to the icon bitmap.
-     */
-    CFbsBitmap* FetchIconL( const RSatSession& aSatSession,
-                            const TUint8 aIconId,
-                            const TInt aOptWidth,
-                            const TInt aOptHeight,
-                            TBool& aIconSupport );
-
-private:
-
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.1
-     */
-    CSatUiIconHandler();
-    
-    /**
-     * Sorts the icons into order of superiority and saves the order into a list
-     *
-     * @since S60 v3.1
-     * @param aIconEf List of icons
-     * @param aSelectedIcons List into which order is saved
-     * @param aOptWidth Optimal width of the icon to be fetched.
-     * @param aOptHeight Optimal height of the icon to be fetched.
-     */
-    void SortIconsL( const RIconEf& aIconEf,
-                     RArray<TInt>& aSelectedIcons,
-                     const TInt aOptWidth,
-                     const TInt aOptHeight ) const;
-
-private: // data
-
-    /**
-     * RSatService of the SatClient.
-     */
-    RSatService iSatService;
-    
-    };
-
-#endif // CSATUIICONHANDLER_H
--- a/satui/satapp/SATUIInc/satui.hrh	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*     This file contains declarations for resources of SatUi.
-*     The file can be included in C++ or resource file.
-*
-*/
-
-
-#ifndef SATUI_HRH
-#define SATUI_HRH
-
-//  CONSTANTS
-
-enum
-    {
-    ESatUiCmdSelect = 1,
-    ESatUiCmdExit
-    };
-
-enum
-    {
-    ESatUiSoftkeySend = 10,
-    ESatUiSoftkeyCall,
-    ESatUiSoftkeyQuit
-    };
-
-enum
-    {
-    ESatUiWaitNote = 1,
-    ESatUiWaitNoteWithCancel,
-    ESatUiRefreshWaitNote,
-    ESatUiSmsWaitNote,
-    ESatUiSsWaitNote,
-    ESatUiDtmfWaitNote,
-    ESatUiPermanentNote,
-    ESatUiMessage,
-    ESatUiInformationNote
-    };
-
-enum
-    {
-    ESatUiConfirmSendSms = 1,
-    ESatUiConfirmSendSs,
-    ESatUiConfirmSendUssd,
-    ESatUiConfirmSetUpCall
-    };
-
-enum
-    {
-    ESatUiDisplayTextIconLabel=50,
-    ESatUiDisplayTextIconSpacer,
-    ESatUiDisplayTextIconRTxtEd
-    };
-
-#endif    // SATUI_HRH
-
-//  End of File
--- a/satui/satapp/SATUIInc/tflogger.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +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:  Defines logging macroes
-*
-*/
-
-
-#ifndef __TFLOGGER_H__
-#define __TFLOGGER_H__
-
-#include <flogger.h>
-#include <e32svr.h>
-
-_LIT( KTfLogFolder, "sat" );
-_LIT( KTfLogFile, "satui.TXT" );
-
-/**
-* ------------------------------------------------------------------------------
-*
-*  Remove #define LOGGING_ENABLED from comments to enable logging
-*
-* ------------------------------------------------------------------------------
-*/
-
-//#define LOGGING_ENABLED
-                				
-/**
-* ------------------------------------------------------------------------------
-*
-*  LOGGING MACROs
-*
-*  USE THESE MACROS IN YOUR CODE
-*
-*  Example: TFLOGTEXT( own_desc )
-*  Example: TFLOGSTRING( "Test" )
-*  Example: TFLOGSTRING( "Test %i", aValue )
-*  Example: TFLOGSTRING( "Test %i %i", aValue1, aValue2 )
-*
-* ------------------------------------------------------------------------------
-*/
-
-#ifdef LOGGING_ENABLED
-
-    #define TFLOGTEXT( TEXT ) \
-        {  \
-        RFileLogger::Write( KTfLogFolder,KTfLogFile, \
-            EFileLoggingModeAppend, TEXT ); \
-        RDebug::Print( TEXT ); \
-        }
-
-    #define TFLOGSTRING( TEXT ) \
-        { \
-        _LIT( tempLogDes, TEXT ); \
-        RFileLogger::Write( \
-            KTfLogFolder, \
-            KTfLogFile, \
-            EFileLoggingModeAppend, \
-            tempLogDes() ); \
-        RDebug::Print( _L( TEXT ) ); \
-        }
-        
-    #define TFLOGSTRING2( TEXT, VAR1 ) \
-        { \
-        _LIT( tempLogDes, TEXT ); \
-        RFileLogger::WriteFormat( \
-            KTfLogFolder, \
-            KTfLogFile, \
-            EFileLoggingModeAppend, \
-            TRefByValue<const TDesC>( tempLogDes() ), VAR1 ); \
-        RDebug::Print( _L( TEXT ), VAR1 ); \
-        }
-        
-    #define TFLOGSTRING3( TEXT, VAR1, VAR2 ) \
-        { \
-        _LIT( tempLogDes, TEXT ); \
-        RFileLogger::WriteFormat( \
-            KTfLogFolder, \
-            KTfLogFile, \
-            EFileLoggingModeAppend, \
-            TRefByValue<const TDesC>( tempLogDes() ), VAR1, VAR2 ); \
-        RDebug::Print( _L( TEXT ), VAR1, VAR2 ); \
-        }
-
-#else
-
-    #define TFLOGTEXT( TEXT )
-    #define TFLOGSTRING( TEXT )
-    #define TFLOGSTRING2( TEXT, VAR1 )
-    #define TFLOGSTRING3( TEXT, VAR1, VAR2 )
-
-#endif // LOGGING_ENABLED
-
-#endif // __TFLOGGER_H__
--- a/satui/satapp/SATUISrc/CSatUiActionPerformer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1837 +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 class handles the communication between server and
-*                user interface
-*
-*/
-
-
-// INCLUDE FILES
-#include    <aknenv.h>
-#include    <StringLoader.h>
-#include    <SatUi.rsg>
-#include    <e32test.h>
-
-#include    <msatuiadapter.h>
-
-#include    <AknIconArray.h>                //for itemsicon
-#include    <gulicon.h>                     //for itemsicon
-#include    <aknlayout.cdl.h>               //for TAknWindowLineLayout
-#include    <aknlayoutscalable_avkon.cdl.h> //for scalable layouts
-#include    <AknUtils.h>
-#include    <AknIconUtils.h>
-#include    <aknnotedialog.h>
-
-#include    "CSatUiActionPerformer.h"
-#include    "MSatUiActionImplementer.h"
-#include    "csatuiiconhandler.h"
-#include    "tflogger.h"
-
-#include    "satui.hrh"
-
-#include    <ProfileEngineSDKCRKeys.h>
-#include    <centralrepository.h>
-#include    <cenrepnotifyhandler.h>
-
-// General Settings Cen Rep Keys.
-#include    <settingsinternalcrkeys.h>
-
-// CONSTANTS
-
-const TInt KSatActiveProfileOffline = 5; // value from ProfileEngine
-
-// PlayTone durations
-const TInt64 KSatDur170ms  = 170000;  // 170ms
-const TInt64 KSatDur200ms  = 200000;  // 200ms
-const TInt64 KSatDur250ms  = 250000;  // 250ms
-const TInt64 KSatDur1200ms = 1200000; // 1200ms
-
-// play tone tones
-_LIT8( KNetToneSeqNetBusy, "\x00\x11\x05\x4E\x30\x40\x30\x07\x0B" );
-
-_LIT8( KNetToneSeqNetCallWaiting, "\x00\x11\x05\x4E\x14\x40\x3C\x4E\x14\
-\x40\x64\x40\x64\x40\x64\x4E\x14\x40\x3C\x4E\x14\x40\x64\x40\x64\x40\x64\
-\x07\x0B" );
-
-_LIT8( KNetToneSeqNetCongestion, "\x00\x11\x05\x4E\x14\x40\x14\x07\x0B" );
-
-_LIT8( KNetToneSeqNetSpecialInformation, "\x00\x11\x05\x4F\x21\x50\
-\x21\x51\x21\x40\x64\x07\x0B" );
-
-_LIT8( KNetToneSeqDial,"\x00\x11\x05\x4E\xFE\x4E\xFE\x4E\xFE\x4E\xFE\x4E\xFE\
-\x4E\xFE\x4E\xFE\x4E\xFE\x07\x0B");
-
-_LIT8( KNetToneSeqRingGoing, "\x00\x11\x05\x4E\x64\x05\x04\x40\x64\06\x07\x0B" );
-
-// General Beep is set for forever duration. Instead of AVKON definition 170ms.
-_LIT8( KGeneralBeep, "\x00\x11\x0A\x76\x00\x0B" );
-_LIT8( KErrorTone, "\x00\x11\x0A\x6C\x19\x0B" );
-_LIT8( KRadioPathNotAvailable, "\x00\x11\x0A\x05\x03\x4E\x14\x40\x14\x06\x0B" );
-_LIT8( KRadioPathAck, "\x00\x11\x0A\x02\xFC\x0A\x80\x4E\x14\x0A\x7f\x0B" );
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CSatUiActionPerformer::CSatUiActionPerformer():
-    iRefresh( EFalse ),
-    iIconSupport( ETrue ),
-    iClearScreenEvent( EFalse )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CSatUiActionPerformer::ConstructL()
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::ConstructL called" )
-
-    //Register to Server as subsession
-    //If Server is not up, this function call may take time
-    iSatSession.ConnectL();
-
-    iSat.RegisterL( iSatSession, this );
-    iAdapter = iSat.Adapter();
-    if ( !iAdapter )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    // create icon handler
-    iIconHandler = CSatUiIconHandler::NewL();
-
-    //Item icons
-    iItemIcons = new ( ELeave ) CAknIconArray( 1 );
-    
-    TFLOGSTRING( "CSatUiActionPerformer::ConstructL exit" )
-    }
-
-// Two-phased constructor.
-CSatUiActionPerformer* CSatUiActionPerformer::NewL()
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::NewL() called" )
-    CSatUiActionPerformer* self = new ( ELeave ) CSatUiActionPerformer;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    TFLOGSTRING( "CSatUiActionPerformer::NewL() exit" )
-    return self;
-    }
-
-// Destructor.
-CSatUiActionPerformer::~CSatUiActionPerformer()
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::~CSatUiActionPerformer() called" )
-
-    iSat.Close();
-    iSatSession.Close();
-
-    if ( iItemIcons )
-        {
-        iItemIcons->ResetAndDestroy();
-        delete iItemIcons;
-        }
-
-    // delete icon handler
-    delete iIconHandler;
-    iIconHandler = NULL;
-
-    iActionImplementer = NULL;
-    iAdapter = NULL;
-
-    TFLOGSTRING( "CSatUiActionPerformer::~CSatUiActionPerformer() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::SetImplementer
-// Sets a pointer to CSatUiViewAppUi object.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiActionPerformer::SetImplementer(
-    MSatUiActionImplementer* aImplementer )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::SetImplementer calling" )
-    iActionImplementer = aImplementer;
-    TFLOGSTRING( "CSatUiActionPerformer::SetImplementer exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::Adapter
-// Returns a pointer to MSatUiAdapter provided by SatCli.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-MSatUiAdapter* CSatUiActionPerformer::Adapter()
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::Adapter calling-exiting" )
-    return iAdapter;
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::DisplayTextL
-// Checks length of the text and calls method from
-// the CSatUiViewAppUi class if the length is OK.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiActionPerformer::DisplayTextL(
-    const TDesC& aText,
-    const TDesC& aSimApplicationName,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed,
-    const TBool aSustainedText,
-    const TTimeIntervalSeconds aDuration,
-    const TBool aWaitUserToClear )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::DisplayText called" )
-    TSatUiResponse response( ESatFailure );
-    aRequestedIconDisplayed = ETrue;
-    TBool selfExplanatoryIcon( EFalse );
-
-    TInt textLength( aText.Length() );
-
-    if ( ( !textLength ) || ( textLength > RSat::KTextToDisplayMaxSize ) )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::DisplayText no text" )
-        aRequestedIconDisplayed = EFalse;
-        return response;
-        }
-
-    CFbsBitmap* iconBitmapDisplayText = NULL;
-    iActionImplementer->SetCommandPending( ETrue );
-
-    //if icon is available for command
-    if ( ( ( ESatSelfExplanatory == aIconId.iIconQualifier ) ||
-        ( ESatNotSelfExplanatory == aIconId.iIconQualifier ) ) &&
-        ( iIconSupport ) )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::DisplayText have icon" )
-        iconBitmapDisplayText = FetchIcon( aIconId.iIdentifier,
-                                           EIconDisplayText );
-
-        if ( ESatSelfExplanatory == aIconId.iIconQualifier )
-            {
-            TFLOGSTRING( "CSatUiActionPerformer::DisplayText self \
-                explanatory icon" )
-            selfExplanatoryIcon = ETrue;
-            }
-        }
-
-    //icon not found not shown
-    if ( !iconBitmapDisplayText )
-        {
-        aRequestedIconDisplayed = EFalse;
-        }
-
-    iActionImplementer->DispatchTimer( iWait );
-
-    TRAPD( err,
-        response = iActionImplementer->DisplayTextL( aText, aSimApplicationName,
-            iconBitmapDisplayText, selfExplanatoryIcon,
-            aSustainedText, aDuration, aWaitUserToClear );
-        );
-
-    if ( err != KErrNone )
-        {
-        response = ESatFailure;
-        aRequestedIconDisplayed = EFalse;
-        }
-
-    if ( iActionImplementer->GetEndKey() )
-        {
-        response = ESatSessionTerminatedByUser;
-        iActionImplementer->SetEndKey( EFalse );
-        }
-
-    iActionImplementer->SetCommandPending( EFalse );
-
-    TFLOGSTRING2( "CSatUiActionPerformer::DisplayText exit, return: %d", \
-        response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::GetInkeyL
-// Checks type of the input wanted and calls right method
-// from the CSatUiViewAppUi class.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiActionPerformer::GetInkeyL(
-    const TDesC& aText,
-    const TSatCharacterSet aCharacterSet,
-    TChar& aInput,
-    const TBool /*aHelpIsAvailable*/,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed,
-    TUint& aDuration,
-    const TBool aImmediateDigitResponse )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::GetInkey called" )
-
-    TSatUiResponse response( ESatSuccess );
-    aRequestedIconDisplayed = EFalse;
-    TBuf<1> input;
-
-    if ( aInput.IsAssigned() )
-        {
-        input.Fill( aInput, 1 );
-        }
-
-    if ( ( aCharacterSet == ESatYesNo ) && ( aText.Length() == 0 ) )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::GetInkey return ESatFailure" )
-        return ESatFailure;
-        }
-
-    CFbsBitmap* iconBitmapGetInkey = NULL;
-    iActionImplementer->SetCommandPending( ETrue );
-
-    // If icon is available for command
-    if ( ( ( ESatSelfExplanatory == aIconId.iIconQualifier ) ||
-        ( ESatNotSelfExplanatory == aIconId.iIconQualifier ) ) &&
-        ( iIconSupport ) )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::GetInkey have icon" )
-        TIconCommand iconCommand ( EIconGetInkey );
-
-        if ( ESatYesNo == aCharacterSet )
-            {
-            iconCommand = EIconGetYesNo;
-            }
-
-        iconBitmapGetInkey = FetchIcon( aIconId.iIdentifier,
-                iconCommand );
-        GetScalableBitmap( iconBitmapGetInkey, iconCommand,
-            aRequestedIconDisplayed );
-        }
-
-    TBool selfExplanatory( EFalse );
-
-    // Icon is self-explanatory
-    if ( ESatSelfExplanatory == aIconId.iIconQualifier )
-        {
-        selfExplanatory = ETrue;
-        }
-
-    iActionImplementer->DispatchTimer( iWait );
-
-    TRAPD( err,
-
-        if ( ESatYesNo == aCharacterSet || aImmediateDigitResponse )
-            {
-            TFLOGSTRING( "CSatUiActionPerformer::GetInkey digit response" )
-            response = iActionImplementer->GetYesNoL( aText, aCharacterSet,
-                aInput, iconBitmapGetInkey, selfExplanatory, aDuration,
-                aImmediateDigitResponse );
-            }
-        else //ESatCharSmsDefaultAlphabet, ESatCharUcs2Alphabet, ESatDigitOnly
-            {
-            TFLOGSTRING( "CSatUiActionPerformer::GetInkey other conditions" )
-            response = iActionImplementer->GetInputL(
-                aText, aCharacterSet, input, 1, 1, EFalse, ETrue,
-                iconBitmapGetInkey, selfExplanatory, aDuration );
-
-            if ( ESatSuccess == response )
-                {
-                if ( input.Length() )
-                    {
-                    aInput = input[0];
-                    }
-                }
-            }
-        );
-
-    if ( err != KErrNone )
-        {
-        response = ESatFailure;
-        }
-
-    if ( iActionImplementer->GetEndKey() )
-        {
-        response = ESatSessionTerminatedByUser;
-        iActionImplementer->SetEndKey( EFalse );
-        }
-    iActionImplementer->SetCommandPending( EFalse );
-
-    TFLOGSTRING2( "CSatUiActionPerformer::GetInkey exit, return: %d", \
-        response )
-    return response;
-    }
-
-// --------------------------------------------------------
-// CSatUiActionPerformer::GetInputL
-// Checks type of the input wanted and whether it should be
-// hidden and calls right method from the CSatUiViewAppUi class.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiActionPerformer::GetInputL(
-    const TDesC& aText,
-    const TSatCharacterSet aCharacterSet,
-    TDes& aInput,
-    const TInt aMinLength,
-    const TInt aMaxLength,
-    const TBool aHideInput,
-    const TBool /*aHelpIsAvailable*/,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::GetInput called" )
-    TSatUiResponse response( ESatSuccess );
-    aRequestedIconDisplayed = EFalse;
-
-    if ( ( ( aCharacterSet == ESatCharSmsDefaultAlphabet ) ||
-         ( aCharacterSet == ESatCharUcs2Alphabet ) ) &&
-         ( aHideInput ) )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::GetInput return ESatFailure" )
-        return ESatFailure;
-        }
-
-    CFbsBitmap* iconBitmapGetInput = NULL;
-    iActionImplementer->SetCommandPending( ETrue );
-
-    // If icon is available for command
-    if ( ( ( ESatSelfExplanatory == aIconId.iIconQualifier ) ||
-        ( ESatNotSelfExplanatory == aIconId.iIconQualifier ) ) &&
-        ( iIconSupport ) )
-        {
-        iconBitmapGetInput = FetchIcon( aIconId.iIdentifier, EIconGetInput );
-        GetScalableBitmap( iconBitmapGetInput, EIconGetInput,
-            aRequestedIconDisplayed );
-        }
-
-    TBool selfExplanatory( EFalse );
-
-    // Icon is self-explanatory
-    if ( ESatSelfExplanatory == aIconId.iIconQualifier )
-        {
-        selfExplanatory = ETrue;
-        }
-
-    iActionImplementer->DispatchTimer( iWait );
-
-    TUint duration ( 0 );
-    TRAPD( err,
-        response = iActionImplementer->GetInputL(
-            aText, aCharacterSet, aInput, aMinLength, aMaxLength,
-            aHideInput, EFalse, iconBitmapGetInput, selfExplanatory,
-            duration );
-        );
-
-    if ( err != KErrNone )
-        {
-        TFLOGSTRING2( "CSatUiActionPerformer::GetInput err:%d", err )
-        response = ESatFailure;
-        aRequestedIconDisplayed = EFalse;
-        }
-
-    if ( iActionImplementer->GetEndKey() )
-        {
-        response = ESatSessionTerminatedByUser;
-        iActionImplementer->SetEndKey( EFalse );
-        }
-    iActionImplementer->SetCommandPending( EFalse );
-
-    TFLOGSTRING2( "CSatUiActionPerformer::GetInput response:%d", response )
-    TFLOGSTRING2( "CSatUiActionPerformer::GetInput aRequestedIconDisplayed:%d",
-        aRequestedIconDisplayed )
-    TFLOGSTRING( "CSatUiActionPerformer::GetInput exit" )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::SetUpMenuL
-// Calls the method from the CSatUiViewAppUi class to show
-// a SetUpMenu view.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiActionPerformer::SetUpMenuL(
-    const TDesC& aText,
-    const MDesCArray& aMenuItems,
-    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-    const TBool aHelpIsAvailable,
-    const TSatIconId& aIconId,
-    const CArrayFixFlat<TInt>* aMenuIcons,
-    const enum TSatIconQualifier aIconListQualifier,
-    const enum TSatSelectionPreference /*aSelectionPreference*/ )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::SetUpMenu called" )
-    TSatUiResponse response( ESatSuccess );
-    TBool selfExplanatoryItems( EFalse );
-    CFbsBitmap* iconTitleBitmap = NULL;
-    iActionImplementer->SetCommandPending( ETrue );
-
-    if ( !aMenuItems.MdcaCount() ||
-        ( KSatActiveProfileOffline == 
-            iActionImplementer->ProfileState() ) )
-        {
-        iActionImplementer->SetCommandPending( EFalse );
-        iActionImplementer->ShowNotAvailableNoteL();
-        iActionImplementer->CloseSatUI();
-        return response;
-        }
-
-    //if contextpane icon available for command
-    if ( ( ( ESatSelfExplanatory == aIconId.iIconQualifier ) ||
-        ( ESatNotSelfExplanatory == aIconId.iIconQualifier ) ) &&
-         ( iIconSupport ) )
-        {
-        iconTitleBitmap = FetchIcon( aIconId.iIdentifier,
-                                     EIconSetUpMenuContext );
-        GetScalableBitmap( iconTitleBitmap, EIconSetUpMenuContext );
-        }
-
-    iItemIcons->ResetAndDestroy();
-    TInt iconCount( 0 );
-
-    if ( aMenuIcons )
-        {
-        iconCount = aMenuIcons->Count();
-        }
-
-    //if icons are available for item list
-    if ( ( aMenuItems.MdcaCount() == iconCount ) &&
-        ( ( aIconListQualifier == ESatSelfExplanatory ) ||
-        ( aIconListQualifier == ESatNotSelfExplanatory ) ) &&
-        ( iIconSupport ) )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::SetUpMenu have icon" )
-        if ( aIconListQualifier == ESatSelfExplanatory )
-            {
-            selfExplanatoryItems = ETrue;
-            }
-
-        TBool continueLoop( ETrue );
-        TInt count( 0 );      
-        for ( count = 0; ( count < iconCount ) && continueLoop; count++ )
-            {
-            CGulIcon* gulIcon = CGulIcon::NewLC();
-            TUint8 itemIconId( STATIC_CAST( TUint8,
-                aMenuIcons->operator[]( count ) ) );
-            CFbsBitmap* iconItemBitmap = NULL;
-            iconItemBitmap = FetchIcon( itemIconId, EIconSetUpMenuItems );
-
-            if ( !iconItemBitmap &&
-                ( aIconListQualifier == ESatSelfExplanatory ) )
-                {
-                TFLOGSTRING( "CSatUiActionPerformer::SetUpMenu \
-                    SelfExplanatory " )
-                CleanupStack::PopAndDestroy( gulIcon ); // gulIcon
-                iItemIcons->ResetAndDestroy();
-                continueLoop = EFalse;
-                }
-            else
-                {
-                if ( !iconItemBitmap &&
-                    ( aIconListQualifier == ESatNotSelfExplanatory ) )
-                    {
-                    TFLOGSTRING( "CSatUiActionPerformer::SetUpMenu \
-                        not SelfExplanatory " )
-                    iconItemBitmap = new( ELeave )CFbsBitmap();
-                    }
-                else
-                    {
-                    TFLOGSTRING( "CSatUiActionPerformer::SetUpMenu \
-                        other conditions " )
-                    GetScalableBitmap( iconItemBitmap, EIconSetUpMenuItems );
-                    }
-
-                gulIcon->SetBitmap( iconItemBitmap );
-                iItemIcons->AppendL( gulIcon );
-                CleanupStack::Pop( gulIcon );
-                }
-            }
-        TFLOGSTRING2( "CSatUiActionPerformer::SetUpMenu count: %d", count )
-        }
-
-    TRAPD( err,
-        response = iActionImplementer->SetUpMenuL(
-            aText, aMenuItems, aMenuItemNextActions, iconTitleBitmap,
-            iItemIcons, selfExplanatoryItems, aHelpIsAvailable );
-        );
-
-    if ( KErrNone != err )
-        {
-        response = ESatFailure;
-        }
-
-    if ( iActionImplementer->GetEndKey() )
-        {
-        response = ESatSessionTerminatedByUser;
-        iActionImplementer->SetEndKey( EFalse );
-        }
-
-    iActionImplementer->SetCommandPending( EFalse );
-    TFLOGSTRING2( "CSatUiActionPerformer::SetUpMenu exit, \
-        return:%i", response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::SelectItemL
-// Calls the method from the CSatUiViewAppUi class to show
-// a SelectItem view.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiActionPerformer::SelectItemL(
-    const TDesC& aText,
-    const MDesCArray& aMenuItems,
-    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-    const TInt aDefaultItem,
-    TUint8& aSelection,
-    const TBool aHelpIsAvailable,
-    const TSatIconId& aIconId,
-    const CArrayFixFlat<TInt>* aMenuIcons,
-    const enum TSatIconQualifier aIconListQualifier,
-    TBool& aRequestedIconDisplayed,
-    const enum TSatSelectionPreference /*aSelectionPreference*/ )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::SelectItem called" )
-    TSatUiResponse response( ESatSuccess );
-    aRequestedIconDisplayed = ETrue;
-    TBool selfExplanatoryItems( EFalse );
-
-    CFbsBitmap* iconTitleBitmap = NULL;
-    iActionImplementer->SetCommandPending( ETrue );
-
-    //if contextpane icon available for command
-    if ( ( ( ESatSelfExplanatory == aIconId.iIconQualifier ) ||
-        ( ESatNotSelfExplanatory == aIconId.iIconQualifier ) ) &&
-        ( iIconSupport ) )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::SelectItem icon available" )
-        iconTitleBitmap = FetchIcon( aIconId.iIdentifier,
-                                     EIconSetUpMenuContext );
-        GetScalableBitmap( iconTitleBitmap, EIconSetUpMenuContext,
-            aRequestedIconDisplayed );
-        }
-
-    iItemIcons->ResetAndDestroy();
-
-    TInt iconCount( 0 );
-
-    if ( aMenuIcons )
-        {
-        iconCount = aMenuIcons->Count();
-        }
-
-    TFLOGSTRING2( "CSatUiActionPerformer::SelectItem iconCount:%d", iconCount )
-
-    //if icons are available for item list
-    if ( ( aMenuItems.MdcaCount() == iconCount ) &&
-        ( ( aIconListQualifier == ESatSelfExplanatory ) ||
-        ( aIconListQualifier == ESatNotSelfExplanatory ) ) &&
-        ( iIconSupport ) )
-        {
-        TFLOGSTRING(
-            "CSatUiActionPerformer::SelectItem icon available for item list" )
-
-        if ( aIconListQualifier == ESatSelfExplanatory )
-            {
-            selfExplanatoryItems = ETrue;
-            }
-
-        TBool continueLoop( ETrue );
-        TInt count( 0 ); 
-        for ( count = 0; ( count < iconCount ) && continueLoop; count++ )
-            {
-            CGulIcon* gulIcon = CGulIcon::NewLC();
-            TUint8 itemIconId = STATIC_CAST( TUint8,
-                aMenuIcons->operator[]( count ) );
-            CFbsBitmap* iconItemBitmap = NULL;
-            iconItemBitmap = FetchIcon( itemIconId, EIconSetUpMenuItems );
-
-            // when icon can't be received and is set to self explanatory, we
-            // iqnore all icons and show only text
-            if ( !iconItemBitmap &&
-                ( aIconListQualifier == ESatSelfExplanatory ) )
-                {
-                TFLOGSTRING( "CSatUiActionPerformer::SelectItem \
-                    SelfExplanatory " )
-                CleanupStack::PopAndDestroy( gulIcon ); // gulIcon
-                iItemIcons->ResetAndDestroy();
-                continueLoop = EFalse;
-                aRequestedIconDisplayed = EFalse;
-                }
-            else
-                {
-                // when icon can't be received and is set to not self
-                // explanatory, we replace it with empty icon
-                if ( !iconItemBitmap &&
-                    ( aIconListQualifier == ESatNotSelfExplanatory ) )
-                    {
-                    TFLOGSTRING( "CSatUiActionPerformer::SelectItem \
-                        not SelfExplanatory " )
-                    iconItemBitmap = new( ELeave )CFbsBitmap();
-                    aRequestedIconDisplayed = EFalse;
-                    }
-                // when icon was able to receive, we scale it
-                // if every prior icon is correctly received
-                else if ( aRequestedIconDisplayed )
-                    {
-                    TFLOGSTRING( "CSatUiActionPerformer::SelectItem \
-                        receive icon " )
-                    GetScalableBitmap( iconItemBitmap, EIconSetUpMenuItems,
-                        aRequestedIconDisplayed );
-                    }
-                // if aRequestIconDisplayed is false, at least one prior icon
-                // fetch had problems and thus we must report that by not
-                // updating aRequestedIconDisplayed
-                else
-                    {
-                    TFLOGSTRING( "CSatUiActionPerformer::SelectItem \
-                        aRequestIconDisplayed false " )
-                    GetScalableBitmap( iconItemBitmap, EIconSetUpMenuItems );
-                    }
-
-                gulIcon->SetBitmap( iconItemBitmap );
-                iItemIcons->AppendL( gulIcon );
-                CleanupStack::Pop( gulIcon );
-                }
-            }
-        TFLOGSTRING2( "CSatUiActionPerformer::SelectItem count: %d", count )
-        }
-
-    TRAPD( err,
-        response = iActionImplementer->SelectItemL( aText, aMenuItems,
-            aMenuItemNextActions, aDefaultItem, aSelection, iconTitleBitmap,
-            iItemIcons, selfExplanatoryItems, aHelpIsAvailable );
-        );
-
-    if ( err != KErrNone )
-        {
-        response = ESatFailure;
-        aRequestedIconDisplayed = EFalse;
-        }
-
-    if ( iActionImplementer->GetEndKey() )
-        {
-        response = ESatSessionTerminatedByUser;
-        iActionImplementer->SetEndKey( EFalse );
-        }
-
-    iActionImplementer->SetCommandPending( EFalse );
-
-    TFLOGSTRING2( "CSatUiActionPerformer::SelectItem response:%d", response )
-    TFLOGSTRING( "CSatUiActionPerformer::SelectItem exit" )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::PlayTone
-// Checks type of the tone wanted and calls right method
-// from the CSatUiViewAppUi class.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiActionPerformer::PlayTone(
-    const TDesC& aText,
-    const TSatTone aTone,
-    const TTimeIntervalMicroSeconds aDuration,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::PlayTone called" )
-    TFLOGSTRING2( "CSatUiActionPerformer::PlayTone tone is %i", aTone )
-
-    aRequestedIconDisplayed = EFalse;
-
-    iSequence.Zero();
-    TTimeIntervalMicroSeconds duration( aDuration.Int64() );
-    iActionImplementer->SetCommandPending( ETrue );
-    // This is used to determine zero length duration.
-    const TTimeIntervalMicroSeconds zeroDuration( static_cast<TInt64>( 0 ) );
-
-    CFbsBitmap* iconBitmap = NULL;
-    // If icon is available for command
-    if ( ( ( ESatSelfExplanatory == aIconId.iIconQualifier ) ||
-         ( ESatNotSelfExplanatory == aIconId.iIconQualifier ) ) &&
-        ( iIconSupport ) )
-        {
-        iconBitmap = FetchIcon( aIconId.iIdentifier, EIconPlayTone );
-        GetScalableBitmap( iconBitmap, EIconPlayTone,
-            aRequestedIconDisplayed );
-        }
-
-    TBool selfExplanatory( EFalse );
-
-    // Icon is self-explanatory
-    if ( ESatSelfExplanatory == aIconId.iIconQualifier )
-        {
-        selfExplanatory = ETrue;
-        }
-
-    // Check if the current Profile is Meeting
-    TInt errCR( KErrNone );
-    TInt profileId( 0 );
-    
-    CRepository* repository = NULL;
-    TSatTone tone = aTone;
-
-    // Which UID to monitor.
-    TRAP( errCR, repository = CRepository::NewL( KCRUidProfileEngine ) );
-
-    if ( !errCR && repository )
-        {
-        errCR = repository->StartTransaction(
-            CRepository::EReadWriteTransaction );
-        errCR = repository->Get( KProEngActiveProfile, profileId );
-        }
-
-    delete repository;
-
-    TFLOGSTRING2( "CSatUiActionPerformer::PlayTone(): err = %d", errCR )
-
-    TFLOGSTRING2( "SCSatUiActionPerformer::PlayTone() profileId: %d",
-        profileId )
-        
-    switch ( tone )
-        {
-        case ESatGeneralBeep:
-        case ESatPositiveTone:
-        case ESatToneNotSet:
-            if ( zeroDuration == duration )
-                {
-                duration = KSatDur170ms; // 170ms
-                }
-            iSequence.Copy( KGeneralBeep );
-            break;
-        case ESatNegativeTone:
-            if ( zeroDuration == duration )
-                {
-                duration = KSatDur250ms; // 250ms
-                }
-            iSequence.Copy( KErrorTone );
-            break;
-        case ESatRadioPathNotAvailableCallDropped:
-            if ( zeroDuration == duration )
-                {
-                duration = KSatDur1200ms; // 1200ms
-                }
-            iSequence.Copy( KRadioPathNotAvailable );
-            break;
-        case ESatRadioPathAcknowledge:
-            if ( zeroDuration == duration )
-                {
-                duration = KSatDur200ms; // 200ms
-                }
-            iSequence.Copy( KRadioPathAck );
-            break;
-        case ESatDialTone:
-            {
-            if ( zeroDuration == duration )
-                {
-                TFLOGSTRING( "CSatUiActionPerformer::PlayTone() ESatDialTone" )
-                return ESatCmdDataNotUnderstood;
-                }
-            else
-                {
-                iSequence.Copy( KNetToneSeqDial );
-                }
-            }
-            break;
-        case ESatCalledSubscriberBusy:
-            {
-            if ( zeroDuration == duration )
-                {
-                return ESatCmdDataNotUnderstood;
-                }
-            else
-                {
-                iSequence.Copy( KNetToneSeqNetBusy );
-                }
-            }
-            break;
-        case ESatCongestion:
-            {
-            if ( zeroDuration == duration )
-                {
-                return ESatCmdDataNotUnderstood;
-                }
-            else
-                {
-                iSequence.Copy( KNetToneSeqNetCongestion );
-                }
-            }
-            break;
-        case ESatErrorSpecialInfo:
-            {
-            if ( zeroDuration == duration )
-                {
-                return ESatCmdDataNotUnderstood;
-                }
-            else
-                {
-                iSequence.Copy( KNetToneSeqNetSpecialInformation );
-                }
-            }
-            break;
-        case ESatCallWaitingTone:
-            {
-            if ( zeroDuration == duration )
-                {
-                return ESatCmdDataNotUnderstood;
-                }
-            else
-                {
-                iSequence.Copy( KNetToneSeqNetCallWaiting );
-                }
-            }
-            break;
-        case ESatRingingTone:
-            {
-            if ( zeroDuration == duration )
-                {
-                return ESatCmdDataNotUnderstood;
-                }
-            else
-                {
-                iSequence.Copy( KNetToneSeqRingGoing );
-                }
-            }
-            break;
-        case ESatUserSelectedToneIncomingSpeech:
-        case ESatUserSelectedToneIncomingSms:
-            {
-            // These are handled later.
-            }
-            break;
-        default:
-            TFLOGSTRING( "CSatUiActionPerformer::PlayTone Default" )
-            return ESatCmdDataNotUnderstood;
-        }
-
-    TSatUiResponse response( ESatFailure );
-
-    iActionImplementer->DispatchTimer( iWait );
-    
-    // ESatSClearScreenEvent doesn't occur,clear displaytext on screen.
-    if ( EFalse == iClearScreenEvent )
-        {
-        // Clear displaytext on the screen.
-        TFLOGSTRING( "CSatUiActionPerformer::PlayTone clear screen" )
-        iActionImplementer->ClearScreen();        
-        }
-    
-    if ( 0 != iSequence.Length() )
-        {
-        TFLOGSTRING2( "CSatUiActionPerformer::PlayTone duration microseconds %d",
-            aDuration.Int64() )
-        TRAPD( err,
-            response = iActionImplementer->PlayStandardToneL(
-                aText,
-                iSequence,
-                duration,
-                iconBitmap,
-                selfExplanatory );
-            );
-
-        if ( KErrNone != err )
-            {
-            response = ESatFailure;
-            TFLOGSTRING2( "CSatUiActionPerformer::PlayTone error %i", err )
-            }
-        TFLOGSTRING( "CSatUiActionPerformer::PlayTone StandardTone exit" )
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::PlayTone length of sequence \
-            is zero" )        
-        
-            TRAPD( err,
-            response = iActionImplementer->PlayUserSelectedToneL(
-                aText,
-                aDuration.Int64(),
-                tone,
-                iconBitmap,
-                selfExplanatory );
-            );
-
-            if ( KErrNone != err )
-                {
-                response = ESatFailure;
-                TFLOGSTRING2( "CSatUiActionPerformer::PlayTone error %i", err )
-                }
-            
-        TFLOGSTRING( "CSatUiActionPerformer::PlayTone UserSelectedTone exit" )
-        }
-
-    if ( iActionImplementer->GetEndKey() )
-        {
-        response = ESatSessionTerminatedByUser;
-        iActionImplementer->SetEndKey( EFalse );
-        }
-
-    iActionImplementer->SetCommandPending( EFalse );
-    
-    TFLOGSTRING( "CSatUiActionPerformer::PlayTone iClearScreenEvent false" )
-    iClearScreenEvent = EFalse;
-    
-    TFLOGSTRING2( "CSatUiActionPerformer::PlayTone response: %d", response )
-    TFLOGSTRING( "CSatUiActionPerformer::PlayTone exit" )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::ConfirmCommand
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiActionPerformer::ConfirmCommand(
-    const TSatSQueryCommand aCommandId,
-    const TSatAlphaIdStatus aAlphaIdStatus,
-    const TDesC& aText,
-    const TDesC& aAdditionalText,
-    TBool& aActionAccepted,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed,
-    TBool& aTerminatedByUser )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::ConfirmCommand calling" )
-    aRequestedIconDisplayed = EFalse;
-    TInt error( KErrNone );
-    TBool selfExplanatory( EFalse );
-
-    // Icon is self-explanatory
-    if ( ESatSelfExplanatory == aIconId.iIconQualifier )
-        {
-        selfExplanatory = ETrue;
-        }
-
-    aActionAccepted = ETrue;
-
-    iActionImplementer->SetCommandPending( ETrue );
-
-    iActionImplementer->StopShowWaitNote();
-
-    CFbsBitmap* iconBitmap = NULL;
-    // If icon is available for command
-    if ( ( ( ( ESatSelfExplanatory == aIconId.iIconQualifier ) ||
-        ( ESatNotSelfExplanatory == aIconId.iIconQualifier ) ) &&
-        ( ( ESatOpenChannelQuery == aCommandId ) ||
-        ( ESatSLaunchBrowserQuery == aCommandId ) ||
-        ( ESatSSetUpCallQuery == aCommandId ) ) ) &&
-        ( iIconSupport ) )
-        {
-        iconBitmap = FetchIcon( aIconId.iIdentifier,
-            EIconConfirmCommand );
-        GetScalableBitmap( iconBitmap, EIconConfirmCommand,
-            aRequestedIconDisplayed );
-        }
-    TFLOGSTRING2( "CSatUiActionPerformer::ConfirmCommand aCommandId: %d",
-                  aCommandId )
-    // Check quering command
-    switch ( aCommandId )
-        {
-        case ESatOpenChannelQuery:
-            {
-            TFLOGSTRING( " Quering OpenChannel" )
-            TRAP( error, iActionImplementer->ConfirmOpenChannelL(
-                aText, aActionAccepted, iconBitmap, selfExplanatory ) );
-            break;
-            }
-
-        case ESatSRefreshQuery:
-            {
-            TFLOGSTRING( " Quering Refresh" )
-            TRAP(
-                error, iActionImplementer->ConfirmRefreshL( aActionAccepted );
-                );
-            break;
-            }
-
-        case ESatSLaunchBrowserQuery:
-            {
-            TFLOGSTRING( " Quering LaunchBrowser" )
-            HBufC* textHolder = NULL;
-
-            TRAP( error,
-            if ( ESatAlphaIdNull != aAlphaIdStatus )
-                {
-                TFLOGSTRING( " CSatUiActionPerformer::ConfirmCommand AlphaId \
-                    isn't null" )    
-                if ( ESatAlphaIdNotProvided == aAlphaIdStatus )
-                    {
-                    TFLOGSTRING( " CSatUiActionPerformer::ConfirmCommand \
-                        AlphaId not provided" )
-                    textHolder = StringLoader::LoadLC(
-                        R_QTN_SAT_CONF_LAUNCH_BROW,
-                        iActionImplementer->CoeEnv() );
-                    }
-                else
-                    {
-                    TFLOGSTRING( " CSatUiActionPerformer::ConfirmCommand \
-                        AlphaId provided" )
-                    textHolder = HBufC::NewLC( aText.Length() );
-                    TPtr ptr = textHolder->Des();
-                    ptr.Append( aText );
-                    }
-
-                iActionImplementer->ConfirmLaunchBrowserL( *textHolder,
-                    aActionAccepted, iconBitmap, selfExplanatory );
-                // Clean textHolder
-                CleanupStack::PopAndDestroy( textHolder );
-                }
-
-            ); // TRAP
-            break;
-            }
-
-        case ESatSSendSmQuery:
-            {
-            TFLOGSTRING( " Quering SendSm" )
-            TRAP( error, iActionImplementer->ConfirmSendL( aText,
-                  aActionAccepted, ESatUiConfirmSendSms ) );
-            break;
-            }
-
-        case ESatSSendSsQuery:
-            {
-            TFLOGSTRING( " Quering SendSs" )
-            TRAP( error, iActionImplementer->ConfirmSendL( aText,
-                  aActionAccepted, ESatUiConfirmSendSs ) );
-            break;
-            }
-
-        case ESatSSendUssdQuery:
-            {
-            TFLOGSTRING( " Quering SendUssd" )
-            TRAP( error, iActionImplementer->ConfirmSendL( aText,
-                  aActionAccepted, ESatUiConfirmSendUssd ) );
-            break;
-            }
-
-        case ESatSSetUpCallQuery:
-            {
-            TFLOGSTRING( " Quering SetUpCall" )
-            TRAP( error, iActionImplementer->ConfirmSetUpCallL(
-                aText, aAdditionalText, aActionAccepted, iconBitmap,
-                selfExplanatory ) );
-            break;
-            }
-
-        default:
-            {
-            TFLOGSTRING( " Unknown quering command" )
-            aActionAccepted = EFalse;
-            }
-        }
-
-    if ( KErrNone != error )
-        {
-        TFLOGSTRING2( "CSatUiActionPerformer::ConfirmCommand error:%d", error )
-        aActionAccepted = EFalse;
-        }
-    else if ( iActionImplementer->GetEndKey() )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::ConfirmCommand press endkey" )
-        aTerminatedByUser = ETrue;
-        aActionAccepted = EFalse;
-        iActionImplementer->SetEndKey( EFalse );
-        }
-    else
-        {
-        // Meaningless else
-        }
-
-    iActionImplementer->SetCommandPending( EFalse );
-    TFLOGSTRING( "CSatUiActionPerformer::ConfirmCommand exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::Notification
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiActionPerformer::Notification(
-    const TSatSNotifyCommand aCommandId,
-    const TSatAlphaIdStatus aAlphaIdStatus,
-    const TDesC& aText,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed,
-    const TSatControlResult aControlResult )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::Notification calling" )
-    TSatUiResponse response = ESatSuccess;
-    TInt error( KErrNone );
-    aRequestedIconDisplayed = EFalse;
-    iActionImplementer->SetCommandPending( ETrue );
-
-    HBufC* textHolder = NULL;
-
-    // In case where command id is SendDtmf and alphaID is not provided,
-    // DTMF string to be sent is shown in dialog along with default text.
-    if ( ( ESatSSendDtmfNotify == aCommandId ) &&
-         ( ESatAlphaIdNotProvided == aAlphaIdStatus ) )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::Notification SendDtmf" )
-        TRAP( error,
-            TInt resource = DefaultAlphaIdL( aCommandId, aControlResult );
-            // Now that resource is defined, get default text
-            textHolder = StringLoader::LoadL(
-                resource, aText )
-            );
-        }
-    // Get default text, if alpha not provided or it is NULL
-    else if ( aText.Length() == 0 && ESatAlphaIdNotNull != aAlphaIdStatus )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::Notification alpha is null" )
-        TRAP( error,
-            TInt resource = DefaultAlphaIdL( aCommandId, aControlResult );
-            // Now that resource is defined, get default text
-            textHolder = StringLoader::LoadL(
-                resource, iActionImplementer->CoeEnv() )
-            );
-        }
-    // else use given text
-    else
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::Notification alpha is provided" )
-        TRAP( error,
-            textHolder = HBufC::NewL( aText.Length() );
-            TPtr ptr = textHolder->Des();
-            ptr.Copy( aText );
-            );
-        }
-
-    if ( !textHolder )
-        {
-        TRAP( error, textHolder = HBufC::NewL( 0 ) );
-        }
-
-    // No need to add textHolder into CleanupStack, since this is
-    // not a leaving function
-
-    if ( ( KErrNone == error || KErrArgument == error ) && textHolder )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::Notification none error " )
-        CFbsBitmap* iconBitmap = NULL;
-        TBool selfExplanatoryIcon( EFalse );
-        // Fetch icon
-        // Icons not supported for sending and receiving data
-        if ( ( ( ( ESatSelfExplanatory == aIconId.iIconQualifier ) ||
-            ( ESatNotSelfExplanatory == aIconId.iIconQualifier ) ) &&
-            ( ( ESatSSendDataNotify != aCommandId ) &&
-            ( ESatSReceiveDataNotify != aCommandId ) ) ) &&
-            ( iIconSupport ) )
-            {
-            iconBitmap = FetchIcon( aIconId.iIdentifier,
-                EIconNotification );
-            GetScalableBitmap( iconBitmap, EIconNotification,
-                aRequestedIconDisplayed );
-            }
-
-        if ( ESatSelfExplanatory == aIconId.iIconQualifier )
-            {
-            selfExplanatoryIcon = ETrue;
-            }
-
-        // Check notifying command
-        switch ( aCommandId )
-            {
-            case ESatSSendDataNotify:
-                {
-                TFLOGSTRING( " Notifying SendData" )
-                TRAP( error,
-                    iActionImplementer->ShowBIPNoteL(
-                        ESendDataIdentier, *textHolder, iconBitmap,
-                        selfExplanatoryIcon )
-                    );
-                break;
-                }
-            case ESatSReceiveDataNotify:
-                {
-                TFLOGSTRING( " Notifying ReceiveData" )
-                TRAP( error,
-                    iActionImplementer->ShowBIPNoteL(
-                        EReceiveDataIdentifier, *textHolder, iconBitmap,
-                        selfExplanatoryIcon )
-                    );
-                break;
-                }
-            case ESatSCloseChannelNotify:
-                {
-                TFLOGSTRING( " Notifying CloseChannel" )
-                iActionImplementer->StopShowWaitNote();
-                TRAP( error,
-                    iActionImplementer->ShowBIPNoteL(
-                        ECloseChannelIdentifier, *textHolder, iconBitmap,
-                        selfExplanatoryIcon )
-                    );
-                break;
-                }
-            case ESatSMoSmControlNotify:
-                {
-                TFLOGSTRING( " Notifying MoSmControl" )
-                TRAP( error,
-                    iActionImplementer->MoSmControlL(
-                        *textHolder, aAlphaIdStatus )
-                    );
-                iActionImplementer->SetCommandPending( EFalse );
-                break;
-                }
-            case ESatSCallControlNotify:
-                {
-                TFLOGSTRING( " Notifying CallControl" )
-                iActionImplementer->DispatchTimer( iWait );
-                TRAP( error,
-                    iActionImplementer->CallControlL(
-                        *textHolder, aAlphaIdStatus )
-                    );
-                iActionImplementer->SetCommandPending( EFalse );
-                break;
-                }
-            case ESatSSendUssdNotify:   // fall through
-            case ESatSSendSsNotify:
-                {
-                TFLOGSTRING( " Notifying SendSs / SendUssd" )
-                iActionImplementer->StopShowWaitNote();
-                TRAP( error,
-                    if ( ( ESatAlphaIdNotNull == aAlphaIdStatus ) ||
-                        ( ESatAlphaIdNotProvided == aAlphaIdStatus ) )
-                        {
-                        iActionImplementer->ShowSsWaitNoteL( *textHolder,
-                            iconBitmap, selfExplanatoryIcon );
-                        }
-                    else
-                        {
-                        iActionImplementer->ShowWaitNoteWithoutDelayL();
-                        }
-                    );
-                break;
-                }
-            case ESatSSendDtmfNotify:
-                {
-                TFLOGSTRING( " Notifying SendDtmf" )
-                iActionImplementer->StopShowWaitNote();
-                TRAP( error, response = iActionImplementer->ShowDtmfWaitNoteL(
-                    *textHolder, iconBitmap, selfExplanatoryIcon ) );
-                break;
-                }
-            case ESatSSendSmsNotify:
-                {
-                TFLOGSTRING( " Notifying SendSms" )
-                iActionImplementer->StopShowWaitNote();
-
-                if ( KErrNone == error )
-                    {
-                    // Show Sms wait note
-                    TRAP( error,
-                        iActionImplementer->ShowSmsWaitNoteL( *textHolder,
-                            iconBitmap, selfExplanatoryIcon ) );
-                    }
-
-                break;
-                }
-            default:
-                {
-                TFLOGSTRING( " Unkown notification" )
-                response = ESatFailure;
-                break;
-                }
-            }
-        }
-
-    delete textHolder;
-    textHolder = NULL;
-
-    if ( KErrNone != error )
-        {
-        TFLOGSTRING2( "CSatUiActionPerformer::Notification error:%d", error )
-        response = ESatFailure;
-        }
-    else if ( iActionImplementer->GetEndKey() )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::Notification terminated by user" )
-        response = ESatSessionTerminatedByUser;
-        iActionImplementer->SetEndKey( EFalse );
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::Notification success" )
-        response = ESatSuccess;
-        }
-
-
-    TFLOGSTRING2( "CSatUiActionPerformer::Notification exiting, return: %d", \
-        response )
-    return response;
-    }
-
-// -----------------------------------------------------------------------------
-// CSatUiActionPerformer::EventNotification
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSatUiActionPerformer::EventNotification(
-    const TSatSEvent aEventId,
-    const TSatSEventStatus /*aEventStatus*/,
-    const TInt /*aError*/ )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::EventNotification calling" )
-
-    iActionImplementer->SetCommandPending( EFalse );
-    switch ( aEventId )
-        {
-        case ESatSSmEndEvent:
-            {
-            TFLOGSTRING( " SmsEnd event" )
-            iActionImplementer->StopShowWaitNote();
-            break;
-            }
-        case ESatSClearScreenEvent:
-            {
-            TFLOGSTRING( " ClearScreen event" )
-            iClearScreenEvent = ETrue;
-            iActionImplementer->ClearScreen();
-            break;
-            }
-        case ESatSsEndEvent:
-            {
-            TFLOGSTRING( " Ss end event" )
-            iActionImplementer->StopShowWaitNote();
-            break;
-            }
-        case ESatSsErrorEvent:
-            {
-            TFLOGSTRING( " Notifying Ss error" )
-            // If error occurred (and Alpha ID provided), notify user
-            TRAPD( err, iActionImplementer->ShowSsErrorNoteL() )
-            
-            if ( err )
-                {
-                TFLOGSTRING( " Error Note could not be created!" )
-                }
-            break;
-            }
-        case ESatSDtmfEndEvent:
-            {
-            TFLOGSTRING( " DTMF End event" )
-            iActionImplementer->StopShowWaitNote();
-            break;
-            }
-        case ESatSCloseSatUiAppEvent:
-            {
-            TFLOGSTRING( " Close UI event" )
-            // Handle this similar way when End key is used
-            if ( KSatActiveProfileOffline == 
-                    iActionImplementer->ProfileState() )
-                {
-                iActionImplementer->SetEndKey( ETrue );
-                TRAP_IGNORE( iActionImplementer->ShowNotAvailableNoteL() )
-                }
-            iActionImplementer->CloseSatUI();
-            break;
-            }
-        default:
-            {
-            TFLOGSTRING2( " Unknown event occured: %i", aEventId )
-            break;
-            }
-        }
-
-    TFLOGSTRING( "CSatUiActionPerformer::EventNotification exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::DefaultAlphaIdL
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CSatUiActionPerformer::DefaultAlphaIdL(
-    const TSatSNotifyCommand aCommandId,
-    const TSatControlResult aControlResult ) const
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::DefaultAlphaIdL calling" )
-    TInt resource( 0 );
-
-    switch ( aCommandId )
-        {
-        case ESatSSendDataNotify: // SendData
-            {
-            TFLOGSTRING( " SendData default" )
-            resource = R_QTN_SAT_CONF_SEND_DATA_BIP;
-            break;
-            }
-
-        case ESatSReceiveDataNotify: // ReceiveData
-            {
-            TFLOGSTRING( " ReceiveData default" )
-            resource = R_QTN_SAT_CONF_RECEIVE_DATA_BIP;
-            break;
-            }
-
-        case ESatSCloseChannelNotify: // CloseChannel
-            {
-            TFLOGSTRING( " CloseChannel default" )
-            resource = R_QTN_SAT_CONF_CLOSE_CHANNEL_BIP;
-            break;
-            }
-
-        case ESatSMoSmControlNotify: // MoSmControl
-            {
-            if ( ESatNotAllowed == aControlResult )
-                {
-                TFLOGSTRING( " MoSmcontrol Not allowed default" )
-                resource = R_QTN_SAT_MOSM_NOT_ALLOWED;
-                }
-            else if ( ESatAllowedWithModifications == aControlResult )
-                {
-                TFLOGSTRING( " MoSmcontrol Modified default" )
-                resource = R_QTN_SAT_MOSM_MODIFIED;
-                }
-            else
-                {
-                TFLOGSTRING( " MoSmcontrol No default" )
-                resource = 0; // Allowed, default alpha -> no info
-                }
-            break;
-            }
-
-        case ESatSCallControlNotify: // CallControl
-            {
-            if ( ESatNotAllowed == aControlResult )
-                {
-                TFLOGSTRING( " CallControl Not allowed default" )
-                resource = R_QTN_SAT_CC_NOT_ALLOWED;
-                }
-            else if ( ESatAllowedWithModifications == aControlResult )
-                {
-                TFLOGSTRING( " CallControl Modified default" )
-                resource = R_QTN_SAT_CC_MODIFIED;
-                }
-            else
-                {
-                TFLOGSTRING( " CallControl No default" )
-                resource = 0; // Allowed, default alpha -> no info
-                }
-            break;
-            }
-
-        case ESatSSendSmsNotify: // SendSm
-            {
-            TFLOGSTRING( " SendSms default" )
-            resource = R_QTN_SAT_SENDING_SMS;
-            break;
-            }
-
-        case ESatSSendDtmfNotify: // SendDtmf
-            {
-            TFLOGSTRING( " SendDTMF default" )
-            resource = R_QTN_SAT_NOTE_SENDING_DTMF_TEMPLATE;
-            break;
-            }
-
-        default:
-            {
-            TFLOGSTRING2( " Unknown command id: %i", aCommandId )
-            User::Leave( KErrArgument );
-            }
-        }
-
-    TFLOGSTRING2( "CSatUiActionPerformer::DefaultAlphaIdL exiting, resource: \
-        %d", resource )
-    return resource;
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::FetchIcon
-// Fetch the icon information.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CFbsBitmap* CSatUiActionPerformer::FetchIcon( const TUint8 aIconId,
-    const enum TIconCommand aIconCommand )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::FetchIcon called" )
-    CFbsBitmap* iconBitmap = NULL;
-
-    TSize layoutSize( 0, 0 );
-
-    // Set icon max size according the command
-    if ( GetPopUpWindowIconSize( layoutSize, aIconCommand ) )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::FetchIcon max size" )
-        TRAPD( err, iconBitmap = iIconHandler->FetchIconL( iSatSession,
-            aIconId, layoutSize.iWidth, layoutSize.iHeight, iIconSupport ) );
-
-        if ( err != KErrNone )
-            {
-            #if defined _DEBUG
-            _LIT( KFetchIcon, "CSatUiActionPerformer::FetchIcon" );
-            User::Panic( KFetchIcon, err );
-            #endif
-            }
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::FetchIcon not supported" )
-        }
-
-    TFLOGSTRING( "CSatUiActionPerformer::FetchIcon exit" )
-    return iconBitmap;
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::GetPopUpWindowIconSize
-// Get size for the icon in popup window.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TBool CSatUiActionPerformer::GetPopUpWindowIconSize( TSize& aSize,
-    const TIconCommand  aIconCommand )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::GetPopUpWindowIconSize called" )
-
-    TRect rect( TSize( 0, 0 ) );
-    TBool supported( ETrue );
-    TAknLayoutRect opLogoLayout;
-    
-    TFLOGSTRING2( "CSatUiActionPerformer::GetPopUpWindowIconSize, \
-        aIconCommand: %i", aIconCommand )
-    // depending on the command, get correct layout and
-    // Calculate rectangle based on LAF specification.
-    switch ( aIconCommand )
-        {
-        case EIconSetUpMenuContext:
-            {
-            opLogoLayout.LayoutRect( rect,
-                AknLayoutScalable_Avkon::context_pane_g1().LayoutLine() );
-            break;
-            }
-        case EIconSetUpMenuItems:
-            {
-            opLogoLayout.LayoutRect( rect,
-                AknLayout::List_pane_elements__single_graphic__Line_1() );
-            break;
-            }
-        case EIconDisplayText:
-            {
-            // layout borrowed from video
-            opLogoLayout.LayoutRect( rect, AknLayoutScalable_Avkon::
-                popup_query_sat_info_window( 0 ).LayoutLine() );
-            break;
-            }
-        case EIconPlayTone:
-            {
-            opLogoLayout.LayoutRect( rect, AknLayoutScalable_Avkon::
-                popup_note_window_g1( 0 ).LayoutLine() );
-            break;
-            }
-        case EIconConfirmCommand:   // fall through
-        case EIconGetInput:         // fall through
-        case EIconGetYesNo:         // fall through
-        case EIconGetInkey:
-            {
-            opLogoLayout.LayoutRect( rect, AknLayout::Icon( 0 ) );
-            break;
-            }
-        case EIconNotification:
-            {
-            opLogoLayout.LayoutRect( rect, AknLayout::
-                Wait_or_progress_note_pop_up_window_elements_Line_1() );
-            break;
-            }
-        default:
-            {
-            TFLOGSTRING(
-                "CSatUiActionPerformer::GetPopUpWindowIconSize not supported" )
-            supported = EFalse;
-            break;
-            }
-        }
-
-    aSize = opLogoLayout.Rect().Size();
-
-    // Layout for title icon gives incorrect width
-    // but since it is square height can be set to width
-    if ( EIconSetUpMenuContext == aIconCommand )
-        {
-        aSize.iWidth = aSize.iHeight;
-        }
-
-    TFLOGSTRING3( "CSatUiActionPerformer::GetPopUpWindowIconSize %dx%d exit",
-        aSize.iWidth, aSize.iHeight )
-    return supported;
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::GetScalableBitmap
-// Creates scalable bitmap
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiActionPerformer::GetScalableBitmapL(
-    CFbsBitmap*& aBitMapToConvert,
-    const TIconCommand  aIconCommand )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap called" )
-    TSize layoutSize( 0, 0 );
-    CFbsBitmap* bitmap = NULL;
-
-    // If scalable icon is supported in current layout then
-    // makes the scalable icon.
-    if ( GetPopUpWindowIconSize( layoutSize, aIconCommand ) )
-        {
-        bitmap = new ( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( bitmap );
-        // CAknIcon takes ownership of bitmaps.
-        CFbsBitmap* dupMain = new ( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( dupMain );
-        TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap duplicate original" )
-        User::LeaveIfError(
-            dupMain->Duplicate( aBitMapToConvert->Handle() ) );
-
-        CAknIcon* bitmapIcon = CAknIcon::NewL();
-        // Mask is not set because skins are not used.
-        // Ownership is transferred.
-        bitmapIcon->SetBitmap( dupMain );
-        CleanupStack::Pop( dupMain );
-        CleanupStack::PushL( bitmapIcon );
-        CAknIcon* scalableIcon = AknIconUtils::CreateIconL( bitmapIcon );
-        CleanupStack::Pop( bitmapIcon );
-        CleanupStack::PushL( scalableIcon );
-
-        // fetch the size of icon
-        TSize iconSize = dupMain->SizeInPixels();
-
-        // At first we assume that width is scaled to layout maximum and
-        // thus height is set so that the ratio of the image remains correct
-
-        TInt newHeight =
-            ( layoutSize.iWidth * iconSize.iHeight ) / iconSize.iWidth;
-
-        // If the new height is larger than the height of the layout
-        // we scale height to maximum and set the width so that the ratio of
-        // the image remains correct
-        if ( newHeight > layoutSize.iHeight )
-            {
-            TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap \
-                larger than layout height" )
-            layoutSize.iWidth =
-                ( layoutSize.iHeight * iconSize.iWidth ) / iconSize.iHeight;
-            }
-        // If the new height is smaller or the same as the height of the
-        // layout, the image is scaled according to it
-        else
-            {
-            TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap \
-                smaller than layout height" )
-            layoutSize.iHeight = newHeight;
-            }
-
-        TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap resize scaled icon" )
-        AknIconUtils::SetSize( scalableIcon->Bitmap(), layoutSize );
-
-        TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap duplicate scaled" )
-        User::LeaveIfError( bitmap->Duplicate(
-            scalableIcon->Bitmap()->Handle() ) );
-
-        CleanupStack::PopAndDestroy( scalableIcon );
-
-        // Uses scaled icon if scalable bitmap is supported.
-        TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap Show Scaled" )
-        delete aBitMapToConvert;
-        aBitMapToConvert = bitmap;
-        CleanupStack::Pop( bitmap );
-        }
-
-    TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::GetScalableBitmap
-// Handles scalable bitmap
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiActionPerformer::GetScalableBitmap(
-    CFbsBitmap*& aBitMapToConvert,
-    const TIconCommand  aIconCommand,
-    TBool& aRequestedIconDisplayed )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap called" )
-
-    if ( aBitMapToConvert )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap bitmap \
-            to convert" )
-        // Scale icon
-        TRAPD( err, GetScalableBitmapL( aBitMapToConvert, aIconCommand ); );
-
-        if ( KErrNoMemory == err )
-            {
-            TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap memory \
-                low" )
-            // Memory low, command is done without icon
-            delete aBitMapToConvert;
-            aBitMapToConvert = NULL;
-            aRequestedIconDisplayed = EFalse;
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap have \
-                memory" )
-            aRequestedIconDisplayed = ETrue;
-            }
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap  no bitmap" )
-        // Icon not received
-        aRequestedIconDisplayed = EFalse;
-        }
-
-    TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiActionPerformer::GetScalableBitmap
-// Handles scalable bitmap
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiActionPerformer::GetScalableBitmap(
-    CFbsBitmap*& aBitMapToConvert,
-    const TIconCommand  aIconCommand )
-    {
-    TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap called" )
-
-    if ( aBitMapToConvert )
-        {
-        TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap bitmap \
-            to convert" )
-        // Scale icon
-        TRAPD( err, GetScalableBitmapL( aBitMapToConvert, aIconCommand ); );
-
-        if ( KErrNoMemory == err )
-            {
-             TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap memory \
-                 low" )
-            // Memory low, command is done without icon
-            delete aBitMapToConvert;
-            aBitMapToConvert = NULL;
-            }
-        }
-
-    TFLOGSTRING( "CSatUiActionPerformer::GetScalableBitmap exit" )
-    }
-
-//  End of File
--- a/satui/satapp/SATUISrc/CSatUiApplication.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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: 
-*    Defines CSatUiApplication class
-*
-*
-*/
-
-
-// INCLUDE FILES
-#include    "CSatUiDocument.h"
-#include    "CSatUiApplication.h"
-#include    <eikpanic.h>
-#include    <eikstart.h>
-#include    "tflogger.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CSatUiApplication::AppDllUid
-// Returns application UID.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TUid CSatUiApplication::AppDllUid() const
-    {
-    TFLOGSTRING( "CSatUiApplication::AppDllUid() called" )
-    return KUidSATUI;
-    }
-
-// ---------------------------------------------------------
-// CSatUiApplication::CreateDocumentL
-// Creates the document object.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CApaDocument* CSatUiApplication::CreateDocumentL()
-    {
-    TFLOGSTRING( "CSatUiApplication::CreateDocumentL() called" )
-    CSatUiDocument* document = new ( ELeave ) CSatUiDocument( *this );
-    CleanupStack::PushL( document );
-    document->ConstructL();
-    CleanupStack::Pop( document );
-    TFLOGSTRING( "CSatUiApplication::CreateDocumentL() exit" )
-    return( document );
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-LOCAL_C CApaApplication* NewApplication()
-    {
-    TFLOGSTRING( "NewApplication() called" )
-    return new CSatUiApplication;
-    }
-
-GLDEF_C TInt E32Main()
-    {
-    TFLOGSTRING( "E32Main() called" )
-    return EikStart::RunApplication(NewApplication);
-    }
-
-//
-// ---------------------------------------------------------
-// Panic
-// The needed panic method.
-// Returns: void
-//
-GLREF_C void Panic(
-    TEikPanic aPanic)
-    {
-    _LIT(KPanicText,"satui.app");
-    User::Panic(KPanicText,aPanic);
-    }
-
-//  End of File
--- a/satui/satapp/SATUISrc/CSatUiDocument.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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: 
-*    Defines CSatUiDocument class
-*
-*
-*/
-
-
-// INCLUDE
-#include    <apgwgnam.h>
-#include    <aknnotedialog.h>
-#include    <aknstaticnotedialog.h>
-#include    "CSatUiViewAppUi.h"
-#include    "CSatUiActionPerformer.h"
-#include    "CSatUiDocument.h"
-#include    "tflogger.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// Symbian OS default constructor can leave.
-void CSatUiDocument::ConstructL()
-    {
-    TFLOGSTRING( "CSatUiDocument::ConstructL() called" )
-    iActionPerformer = CSatUiActionPerformer::NewL();
-    TFLOGSTRING( "CSatUiDocument::ConstructL() exit" )
-    }
-
-// Destructor.
-CSatUiDocument::~CSatUiDocument()
-    {
-    TFLOGSTRING( "CSatUiDocument::~CSatUiDocument called" )
-    delete iActionPerformer;
-    TFLOGSTRING( "CSatUiDocument::~CSatUiDocument exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiDocument::CreateAppUiL
-// Constructs App Ui object.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CEikAppUi* CSatUiDocument::CreateAppUiL()
-    {
-    TFLOGSTRING( "CSatUiDocument::CreateAppUiL called" )
-    iApplicationUi = new (ELeave) CSatUiViewAppUi;
-    // Set adapter into SetUpMenu view.
-    iApplicationUi->SetAdapter( iActionPerformer->Adapter() ); 
-
-    iActionPerformer->SetImplementer( iApplicationUi );
-    TFLOGSTRING( "CSatUiDocument::CreateAppUiL exit" )
-    return iApplicationUi;
-    }
-
-//  End of File
--- a/satui/satapp/SATUISrc/CSatUiMessageQueryIcon.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +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: 
-*     CPicture derived class. For DisplayText to show icon and text
-*     
-*
-*/
-
-
-// INCLUDE FILES
-#include <fbs.h>
-
-#include "CSatUiMessageQueryIcon.h"
-#include    "tflogger.h"
-
-
-// ---------------------------------------------------------
-// CSatUiMessageQueryIcon::CSatUiMessageQueryIcon
-// Constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CSatUiMessageQueryIcon::CSatUiMessageQueryIcon( TSize aSize, 
-    CFbsBitmap& aBitmap ): 
-    iSizeInTwips( aSize ), 
-    iBitmap( &aBitmap )
-    {
-    }
-    
-// Destructor
-CSatUiMessageQueryIcon::~CSatUiMessageQueryIcon()
-    {
-    delete iBitmap;
-    iBitmap = NULL;
-    }
-
-// ---------------------------------------------------------
-// CSatUiMessageQueryIcon::Draw
-// Draw the picture.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiMessageQueryIcon::Draw( CGraphicsContext& aGc,
-    const TPoint& aTopLeft, const TRect& aClipRect, 
-    MGraphicsDeviceMap* aMap ) const
-	{
-    TFLOGSTRING( "CSatUiMessageQueryIcon::Draw called" )
-	TRect bitmapRect=aMap->TwipsToPixels( TRect(TPoint(), iSizeInTwips ) );
-	bitmapRect.Move( aTopLeft );
-	aGc.Reset();
-	aGc.SetClippingRect( aClipRect );
-	aGc.DrawBitmap( bitmapRect, iBitmap );    
-	TFLOGSTRING( "CSatUiMessageQueryIcon::Draw exit" )    
-	}
-
-// ---------------------------------------------------------
-// CSatUiMessageQueryIcon::ExternalizeL
-// From CPicture
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiMessageQueryIcon::ExternalizeL( RWriteStream& /*aStream*/ ) const
-	{
-	}
-
-// ---------------------------------------------------------
-// CSatUiMessageQueryIcon::GetOriginalSizeInTwips
-// Get the picture's size in twips..
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiMessageQueryIcon::GetOriginalSizeInTwips( TSize& aSize ) const
-	{
-	TFLOGSTRING( "CSatUiMessageQueryIcon::GetOriginalSizeInTwips called" )
-	aSize = iSizeInTwips;
-	TFLOGSTRING( "CSatUiMessageQueryIcon::GetOriginalSizeInTwips exit" )
-	}
-
--- a/satui/satapp/SATUISrc/CSatUiTextQueryDialog.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +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: 
-*     Implements the feature for investigating length of the input. Softkeys
-*     are set based on this information.
-*     
-*
-*/
-
-
-// INCLUDE FILES
-#include    <eikenv.h>
-#include    <barsread.h>
-#include    <badesca.h> // for descriptor arrays
-#include    <e32std.h>
-#include    <StringLoader.h>
-#include    <AknQueryDialog.h>
-#include    <aknQueryControl.h>
-#include    <eikcapc.h>
-#include    <avkon.hrh>
-#include    <fepbase.h>
-#include    <Aknnumseced.h>
-#include    <aknedsts.h>
-#include    <featmgr.h> // Used for FeatureManager
-
-#include    "CSatUiTextQueryDialog.h"
-#include    "tflogger.h"
-
-const TInt KSatMinTextLengthForT9 = 1;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CSatUiTextQueryDialog::CSatUiTextQueryDialog(
-    TDes& aDataText,
-    const TTone aTone,
-    TInt aMinLength,
-    TInt aMaxLength) :
-    CAknTextQueryDialog(aDataText, aTone),
-    iTextMinLength(aMinLength)
-    {
-    SetMaxLength( aMaxLength );
-    }
-
-// Destructor.
-CSatUiTextQueryDialog::~CSatUiTextQueryDialog()
-    {
-    }
-
-// ---------------------------------------------------------
-// CSatUiTextQueryDialog::HandleQueryEditorStateEventL
-// Show left CBA only if editor text is valid
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TBool CSatUiTextQueryDialog::HandleQueryEditorStateEventL(
-    CAknQueryControl* aQueryControl,
-    TQueryControlEvent /*aEventType*/,
-    TQueryValidationStatus /*aStatus*/)
-    {
-    TFLOGSTRING( "CSatUiTextQueryDialog::HandleQueryEditorStateEventL calling" )
-    if ( aQueryControl->GetTextLength() < iTextMinLength )
-        {
-        TFLOGSTRING( "CSatUiTextQueryDialog::HandleQueryEditorStateEventL \
-            hide softkey" )
-        // Hide both left and middle softkey
-        ButtonGroupContainer().MakeCommandVisibleByPosition( 
-            CEikButtonGroupContainer::ELeftSoftkeyPosition, EFalse );
-        ButtonGroupContainer().MakeCommandVisibleByPosition( 
-            CEikButtonGroupContainer::EMiddleSoftkeyPosition, EFalse );
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiTextQueryDialog::HandleQueryEditorStateEventL \
-            reveal softkey" )
-        // Reveal both left and middle softkey
-        ButtonGroupContainer().MakeCommandVisibleByPosition( 
-            CEikButtonGroupContainer::ELeftSoftkeyPosition, ETrue );
-        ButtonGroupContainer().MakeCommandVisibleByPosition( 
-            CEikButtonGroupContainer::EMiddleSoftkeyPosition, ETrue );
-        }
-    TFLOGSTRING( "CSatUiTextQueryDialog::HandleQueryEditorStateEventL exiting" )
-    return ETrue;
-    }
-
-
-// ---------------------------------------------------------
-// CSatUiTextQueryDialog::PostLayoutDynInitL
-// Checks if min length was 0 and shows the OK key
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiTextQueryDialog::PostLayoutDynInitL()
-    {
-    TFLOGSTRING( "CSatUiTextQueryDialog::PostLayoutDynInitL calling" )
-    CAknTextQueryDialog::PostLayoutDynInitL();
-    if ( iTextMinLength == 0 )
-        {
-        TFLOGSTRING( "CSatUiTextQueryDialog::PostLayoutDynInitL \
-            reveal softkey" )
-        // Reveal both left and middle softkey
-        ButtonGroupContainer().MakeCommandVisibleByPosition( 
-            CEikButtonGroupContainer::ELeftSoftkeyPosition, ETrue );
-        ButtonGroupContainer().MakeCommandVisibleByPosition( 
-            CEikButtonGroupContainer::EMiddleSoftkeyPosition, ETrue );
-        }
-    TFLOGSTRING( "CSatUiTextQueryDialog::PostLayoutDynInitL exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiTextQueryDialog::PreLayoutDynInitL
-// Initializations needed to accept sathidden keymap
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiTextQueryDialog::PreLayoutDynInitL()
-    {
-    TFLOGSTRING( "CSatUiTextQueryDialog::PreLayoutDynInitL calling" )
-    CAknTextQueryDialog::PreLayoutDynInitL();
-    
-    // Get KFeatureIdAvkonApac value
-    FeatureManager::InitializeLibL();      
-          
-    TBool isApac( FeatureManager::FeatureSupported( KFeatureIdAvkonApac ) );
-            
-    FeatureManager::UnInitializeLib();
-    
-    CAknQueryControl* control = QueryControl();
-    
-    if ( control )
-        {
-        CCoeControl* controlByLayout = NULL;
-        
-        if ( EPinLayout == control->QueryType() )
-            {
-            TFLOGSTRING( "CSatUiTextQueryDialog::PreLayoutDynInitL \
-                EPinLayout" )
-            controlByLayout = 
-                QueryControl()->ControlByLayoutOrNull( EPinLayout );
-            if ( controlByLayout )
-                {
-                TFLOGSTRING( "CSatUiTextQueryDialog::PreLayoutDynInitL \
-                    controlByLayout" )
-                CEikSecretEditor* editor = 
-                    ( CEikSecretEditor* ) controlByLayout;
-                CAknEdwinState* editorState = new(ELeave) CAknEdwinState();
-
-                editorState->SetFlags( 
-                    EAknEditorFlagNoLRNavigation | EAknEditorFlagNoT9 );
-                editorState->SetDefaultInputMode( EAknEditorNumericInputMode );
-                editorState->SetCurrentInputMode( EAknEditorNumericInputMode );
-                editorState->SetPermittedInputModes( 
-                    EAknEditorNumericInputMode );
-                editorState->SetDefaultCase( EAknEditorLowerCase );
-                editorState->SetCurrentCase( EAknEditorLowerCase );
-                editorState->SetPermittedCases( 
-                    EAknEditorLowerCase|EAknEditorUpperCase );
-                editorState->SetSpecialCharacterTableResourceId( 0 );
-                editorState->SetNumericKeymap( 
-                    EAknEditorSATHiddenNumberModeKeymap );
-                editorState->SetObjectProvider( editor );
-                
-                // ...............
-                MCoeFepAwareTextEditor_Extension1 *ext
-                     = ( MCoeFepAwareTextEditor_Extension1* )editor;
-                CleanupStack::PushL( ext );
-                CleanupStack::PushL( editorState );
-                ext->SetStateTransferingOwnershipL( editorState, KNullUid );
-                CleanupStack::Pop( editorState );         // editorState
-                CleanupStack::Pop( ext ); // ext
-                }
-            }
-        else if ( EDataLayout == control->QueryType() )
-            {
-            TFLOGSTRING( "CSatUiTextQueryDialog::PreLayoutDynInitL \
-                EDataLayout" )
-            controlByLayout = 
-                QueryControl()->ControlByLayoutOrNull( EDataLayout );
-            if ( controlByLayout )
-                {
-                CEikEdwin* editor = ( CEikEdwin* ) controlByLayout;
-                if ( !isApac )
-                    {
-                    if ( KSatMinTextLengthForT9 >= iTextMaxLength )
-                        {
-                        editor->SetAknEditorFlags( EAknEditorFlagNoT9 );
-                        }
-                    editor->AddFlagToUserFlags( EEikEdwinNoHorizScrolling );
-                    editor->AddFlagToUserFlags( EEikEdwinResizable );
-                    editor->SetAknEditorInputMode( EAknEditorTextInputMode );
-                    editor->SetAknEditorAllowedInputModes( 
-                        EAknEditorTextInputMode );
-                    }
-                else
-                    {
-                    TFLOGSTRING( "CSatUiTextQueryDialog::PreLayoutDynInitL \
-                        isApac ETrue" )
-                    if ( KSatMinTextLengthForT9 >= iTextMaxLength )
-                        {
-                        editor->SetAknEditorFlags( EAknEditorFlagNoT9 );
-                        }
-                    else
-                        {
-                        editor->SetAknEditorFlags( 0 );    
-                        }
-                    }
-                }
-            }
-        else if ( EPhoneLayout == control->QueryType() )
-            {
-            TFLOGSTRING( "CSatUiTextQueryDialog::PreLayoutDynInitL \
-                EPhoneLayout" )
-            controlByLayout = 
-                QueryControl()->ControlByLayoutOrNull( EPhoneLayout );
-            if ( controlByLayout )
-                {
-                CEikEdwin* editor = ( CEikEdwin* ) controlByLayout;
-                
-                if ( !isApac )
-                    {                    
-                    editor->AddFlagToUserFlags( EEikEdwinNoHorizScrolling );
-                    editor->AddFlagToUserFlags( EEikEdwinResizable );
-                    editor->AddFlagToUserFlags( EEikEdwinAlternativeWrapping );
-                    }
-                else
-                    {
-                    TFLOGSTRING( "CSatUiTextQueryDialog::PreLayoutDynInitL \
-                        isApac ETrue" )
-                    editor->SetAknEditorFlags( 0 );
-                    }
-                }
-            }
-        }
-    TFLOGSTRING( "CSatUiTextQueryDialog::PreLayoutDynInitL exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiTextQueryDialog::NeedToDismissQueryL
-// Checks for hash key (workaround)
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TBool CSatUiTextQueryDialog::NeedToDismissQueryL( const TKeyEvent& /* aKeyEvent */ )
-    {
-    TFLOGSTRING( "CSatUiTextQueryDialog::NeedToDismissQueryL calling-exiting" )
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CSatUiTextQueryDialog::OfferKeyEventL
-// Hash key accepted (workaround)
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TKeyResponse CSatUiTextQueryDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                TEventCode aType )
-    {
-    TFLOGSTRING( "CSatUiTextQueryDialog::OfferKeyEventL calling" )
-    TKeyEvent keyEvent = aKeyEvent;
-    if ( aKeyEvent.iScanCode == EStdKeyHash && aType==EEventKey )
-        {
-        keyEvent.iScanCode = 0;
-        }
-
-    TFLOGSTRING( "CSatUiTextQueryDialog::OfferKeyEventL exiting" )
-    return CAknTextQueryDialog::OfferKeyEventL( keyEvent, aType );
-    }
-
-
-//  End of File
--- a/satui/satapp/SATUISrc/CSatUiView.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1134 +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: 
-*    Defines CSatUiView class
-*
-*
-*/
-
-
-// INCLUDE FILES
-#include    <coecntrl.h> //for CCoeControl class
-#include    <akntitle.h>
-#include    <eikmenup.h>
-#include    <barsread.h>
-#include    <badesca.h> // for descriptor arrays
-#include    <aknlists.h>
-#include    <eiktxlbx.h>
-#include	<akncontext.h>	//for Context pane
-#include	<fbs.h>			//for iocn bitmap
-#include    <StringLoader.h>
-#include    <avkon.hrh>
-#include    "satui.hrh"
-#include    <SatUi.rsg>
-#include    <AknIconArray.h> 
-#include    <gulicon.h>
-#include    <eikclbd.h>
-#include    <msatuiadapter.h>
-#include    <aknnotedialog.h>
-#include    <aknstaticnotedialog.h>
-#include    <featmgr.h> // Used for FeatureManager
-#include    <activitymanager.h>
-
-#include    "CSatUiApplication.h"
-#include    "CSatUiViewAppUi.h"
-#include    "CSatUiViewContainer.h"
-#include    "CSatUiView.h"
-#include    "tflogger.h"
-
-// CONSTANTS
-// From Ui spec 60 sec delay user response
-const TInt KNoResponseFromUserDelay = 60;
-
-_LIT( KTab, "\t" );
-_LIT( KIconTab, "%d\t" );
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CSatUiView::CSatUiView( TBool aSetUpMenu, CSatUiViewAppUi* aAppUi, 
-                        TBool aEmpty ):
-    iSetUpMenu( aSetUpMenu ),
-    iSatUiAppUi( aAppUi ),
-	iModel( NULL ),
-    iIconsOn( EFalse ),
-    iIconStateChange( EFalse ),
-    iSelfExplanatoryItems( EFalse ),
-    iListBoxVisible( ETrue ),
-    iEmpty( aEmpty )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CSatUiView::ConstructL()
-    {
-	TFLOGSTRING( "CSatUiView::ConstructL() called" )
-
-	TInt recource( R_SATUI_SELECTITEM_VIEW );
-
-    if ( iSetUpMenu )
-        {
-        if ( iEmpty )
-            {
-            recource = R_SATUI_EMPTYMENU_VIEW;
-            }
-        else
-            {
-            recource = R_SATUI_SETUPMENU_VIEW;
-            }
-        }
-
-    BaseConstructL( recource );
-
-    iItemsIconArray = new(ELeave) CAknIconArray( 1 );
-	TFLOGSTRING( "CSatUiView::ConstructL() exit" )
-    }
-
-// Two-phased constructor.
-CSatUiView* CSatUiView::NewL( TBool aSetUpMenu, 
-                              CSatUiViewAppUi* aAppUi, 
-                              TBool aEmpty )
-    {
-	TFLOGSTRING( "CSatUiView::NewL called" )
-    CSatUiView* self = new ( ELeave ) CSatUiView( aSetUpMenu, aAppUi, aEmpty );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-	TFLOGSTRING( "CSatUiView::NewL exit" )
-    return self;
-    }
-
-// Destructor.
-CSatUiView::~CSatUiView()
-    {
-	TFLOGSTRING( "CSatUiView::~CSatUiView() called" )
-
-    delete iContainer;
-    delete iMenuItemNextActions;
-    delete iMenuItems;
-
-    if ( iItemsIconArray )
-        {
-        iItemsIconArray->ResetAndDestroy();
-        delete iItemsIconArray;
-        iItemsIconArray = NULL;
-        }
-
-	TFLOGSTRING( "CSatUiView::~CSatUiView() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::SetTitle
-// Sets the title needed for showing the view.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::SetTitle( const HBufC* aTitle )
-    {
-    TFLOGSTRING( "CSatUiView::SetTitle called" )
-    iTitle = aTitle;
-    TFLOGSTRING( "CSatUiView::SetTitle exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::SetIconL
-// Sets the icon needed to the view.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::SetIconL( const CFbsBitmap* aIconBitmap )
-	{
-    TFLOGSTRING( "CSatUiView::SetIconL called" )
-	if ( StatusPane()->PaneCapabilities( TUid::Uid(
-        EEikStatusPaneUidContext ) ).IsPresent() )
-		{
-		TFLOGSTRING( "CSatUiView::SetIconL pane is present" )
-        CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
-        CleanupStack::PushL( sp );
-		CAknContextPane* contextPane=( CAknContextPane * )sp->
-            ControlL( TUid::Uid( EEikStatusPaneUidContext ) );
-		CleanupStack::Pop( sp );    //sp
-        if ( aIconBitmap )      //icon from SIM
-            {
-            TFLOGSTRING( "CSatUiView::SetIconL icon from SIM" )
-            contextPane->SetPicture( aIconBitmap );
-            }
-        else                    //set default icon
-            {
-            TFLOGSTRING( "CSatUiView::SetIconL default icon" )
-            contextPane->SetPictureToDefaultL();
-            }
-		}
-	TFLOGSTRING( "CSatUiView::SetIconL exit" )
-	}
-
-// ---------------------------------------------------------
-// CSatUiView::SetItemsIconL
-// Sets the items icon array.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::SetItemsIconL( 
-    const CAknIconArray* aItemsIconArray, 
-    const TBool aSelfExplanatoryItems )
-    {
-    TFLOGSTRING( "CSatUiView::SetItemsIconL called" )
-    iItemsIconArray->ResetAndDestroy();
-    //if items icon array available
-    if ( aItemsIconArray->Count() )
-        {
-        TFLOGSTRING( "CSatUiView::SetItemsIconL icon array available" )
-        if( !iIconsOn )
-            {
-            //last view not with icons
-            iIconStateChange = ETrue;
-            }
-        iItemsIconArray->InsertL( 0, &aItemsIconArray->operator[]( 0 ), 
-            aItemsIconArray->Count() );
-        iIconsOn = ETrue;
-        iSelfExplanatoryItems = aSelfExplanatoryItems;
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiView::SetItemsIconL icon array not available" )
-        if( iIconsOn )
-            {
-            TFLOGSTRING( "CSatUiView::SetItemsIconL iIconsOn true" )
-            iIconStateChange = ETrue;
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiView::SetItemsIconL iIconsOn false" )
-            iIconStateChange = EFalse;
-            }
-        iIconsOn = EFalse;
-        iSelfExplanatoryItems = EFalse;
-        }
-    TFLOGSTRING( "CSatUiView::SetItemsIconL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::SetItemsL
-// Sets all parameters needed for showing the view.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiView::SetItemsL(
-    HBufC* aTitle,
-    const MDesCArray& aMenuItems,
-    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-    const TBool aHelpIsAvailable )
-    {
-	TFLOGSTRING( "CSatUiView::SetItemsL called" )
-    iKeypadBlocked = EFalse;
-
-    delete iMenuItemNextActions;
-    iMenuItemNextActions = NULL;
-
-    if( !iMenuItems )
-		{
-		iMenuItems = new ( ELeave ) CDesCArrayFlat( 1 );
-		}
-	// This reset is required
-	iMenuItems->Reset();
-
-    // Remove NULL characters from title
-    TPtr titleptr = aTitle->Des();
-    TInt nullLocation;
-    while ( ( nullLocation = titleptr.Locate( NULL ) ) >= 0 )
-        {
-        titleptr.Delete( nullLocation, 1 );
-        }
-
-    iTitle = aTitle;
-
-    //no memory is allocated to the array buffers here:
-    iMenuItemNextActions = new ( ELeave ) CArrayFixFlat<TSatAction>( 1 );
-
-    iNItems = aMenuItems.MdcaCount();
-
-    TBool nextActions( EFalse );
-    
-    TFLOGSTRING2( "CSatUiView::SetItemsL, iNItems: %d", iNItems )
-    if ( iNItems == ( aMenuItemNextActions->Count() ) )
-        {
-        nextActions = ETrue;
-        }
-
-    if (iNItems > 0)
-        {
-        for ( TInt i(0); i < iNItems; i++ )
-            {
-            TInt itemLength = aMenuItems.MdcaPoint(i).Length();
-            HBufC* tmpBuf = HBufC::NewLC(
-                aMenuItems.MdcaPoint(i).Length() + KTabLength );
-            TPtr tmpPtr( tmpBuf->Des() );
-
-            // Item text
-            TPtrC16 text ( aMenuItems.MdcaPoint(i) );
-                        
-            // Needed for NULL check
-            HBufC* correctText = HBufC::NewLC( itemLength );
-            TPtr ptr = correctText->Des();
-
-            // Check item text through
-            for ( TInt j(0); j < itemLength; j++)
-                {
-                TChar ch = text[j];
-                // Remove NULL characters from item text
-                if ( ch )
-                    {
-                    ptr.Append( ch ); 
-                    }
-                }
-
-            //if view includes icons
-            if( iIconsOn )
-                {
-                TFLOGSTRING( "CSatUiView::SetItemsL iIconsOn true" )
-                //with icons
-                TBuf<KTabLength> lineTab;
-                lineTab.Format( KIconTab,i );
-                tmpPtr.Copy( lineTab );
-                }
-            else
-                {
-                TFLOGSTRING( "CSatUiView::SetItemsL iIconsOn false" )
-                //without icons
-                tmpPtr.Copy( KTab );
-                }
-
-            if( !iSelfExplanatoryItems )
-                {
-                //icons not selfexplanatory show text
-                tmpPtr.Append( ptr );
-                }
-
-            //memory is allocated here:
-            TRAPD( err, iMenuItems->AppendL(tmpPtr) );
-
-            if ( err )
-                {
-                iMenuItems->Reset();
-                iMenuItemNextActions->Reset();
-                CleanupStack::PopAndDestroy( correctText );
-                CleanupStack::PopAndDestroy( tmpBuf ); //tmpBuf, correctText
-                TFLOGSTRING( "CSatUiView::SetItemsL having error" )
-                return ESatFailure;
-                }
-            TFLOGSTRING2( "CSatUiView::SetItemsL tmpPtr=%S", &tmpPtr )
-            CleanupStack::PopAndDestroy( correctText );
-            CleanupStack::PopAndDestroy( tmpBuf ); //tmpBuf, correctText
-            //select options menu command
-            if ( nextActions )
-                {
-                TRAP( err, iMenuItemNextActions->AppendL(
-                    aMenuItemNextActions->At( i ) ) );
-
-                if ( err )
-                    {
-                    iMenuItems->Reset();
-                    iMenuItemNextActions->Reset();
-    				TFLOGSTRING( "CSatUiView::SetItemsL return ESatFailure" )
-                    return ESatFailure;
-                    }
-                }
-            }
-        }
-
-    iHelpIsAvailable = aHelpIsAvailable;
-
-	TFLOGSTRING( "CSatUiView::SetItemsL return ESatSuccess" )
-    return ESatSuccess;
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::SetUpMenuL
-// Checks whether the same view should be refreshed or another
-// one activated and do it.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiView::SetUpMenuL(
-    HBufC* aTitle,
-    const MDesCArray& aMenuItems,
-    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-    const TBool aHelpIsAvailable )
-    {
-	TFLOGSTRING( "CSatUiView::SetUpMenuL called" )
-    iDefaultItem = 0; //could be iSelection
-
-    CSatUiView* setUpMenuView = STATIC_CAST( CSatUiView*,
-        AppUi()->View( KSetUpMenuViewId ) );
-
-    TVwsViewId setUpMenuViewId( KUidSATUI, KSetUpMenuViewId );
-    TVwsViewId viewId;
-
-    AppUi()->GetActiveViewId( viewId );
-
-    setUpMenuView->SetItemsL( aTitle, aMenuItems, aMenuItemNextActions,
-        aHelpIsAvailable );
-        
-    // Incase empty view is created before the actual SetUpMenu view
-    // CBA resource has to be updated
-    if ( iEmpty )
-        {
-        TFLOGSTRING( "CSatUiView::SetUpMenuL empty view" )
-        iEmpty = EFalse;
-        CEikButtonGroupContainer* cba = Cba();
-        
-        if ( cba )
-            {
-            TFLOGSTRING( "CSatUiView::SetUpMenuL cba" )
-            cba->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_EXIT );
-            cba->DrawDeferred();
-            }
-        }
-
-    if ( viewId.iAppUid == setUpMenuViewId.iAppUid )
-        {        
-        TFLOGSTRING( "CSatUiView::SetUpMenuL activate SetUpMenuView" )        
-        //Activate SetUpMenuView
-        AppUi()->ActivateLocalViewL( KSetUpMenuViewId );
-
-        if ( iContainer )
-            {
-            RefreshL();
-            }
-        }
-	TFLOGSTRING( "CSatUiView::SetUpMenuL return ESatSuccess" )
-    return ESatSuccess;
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::SetAdapter
-// Sets a pointer to MSatUiAdapter provided by SatCli.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::SetAdapter( MSatUiAdapter* aAdapter )
-    {
-    TFLOGSTRING( "CSatUiView::SetAdapter called" )
-    iAdapter = aAdapter;
-    TFLOGSTRING( "CSatUiView::SetAdapter exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiSelectItemView::SelectItemL
-// Checks whether the same view should be refreshed or another
-// one activated and do it.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiView::SelectItemL(
-    HBufC* aTitle,
-    const MDesCArray& aMenuItems,
-    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-    const TInt aDefaultItem, TUint8& aSelection,
-    const TBool aHelpIsAvailable )
-    {
-	TFLOGSTRING( "CSatUiView::SelectItemL called" )
-    iDefaultItem = aDefaultItem;
-    TFLOGSTRING2( "CSatUiView::SelectItemL in aDefaultItem = %d", aDefaultItem )
-    CSatUiView* selectItemView = STATIC_CAST( CSatUiView*,
-        AppUi()->View( KSelectItemViewId ) );
-
-    TVwsViewId selectItemViewId( KUidSATUI,KSelectItemViewId );
-    TVwsViewId viewId;
-
-    AppUi()->GetActiveViewId( viewId );
-
-    selectItemView->SetItemsL( aTitle, aMenuItems, aMenuItemNextActions,
-        aHelpIsAvailable);
-
-    if ( viewId.iAppUid == selectItemViewId.iAppUid )
-        {        
-        TFLOGSTRING( "CSatUiView::SelectItemL activate SelectItemview" )        
-        //Activate SelectItemview
-        AppUi()->ActivateLocalViewL( KSelectItemViewId );
-    
-        if ( iContainer )
-            {
-            RefreshL();
-            }
-        }
-
-    iResponse = ESatSuccess;
-
-    iNoResponseFromUserAfterDelay = EFalse;
-
-    //activitymanager for wait user actions
-    CUserActivityManager* activityManager = 
-        CUserActivityManager::NewL( EPriorityNormal );
-
-    CleanupStack::PushL( activityManager );
-
-	User::ResetInactivityTime();
-    activityManager->Start( TTimeIntervalSeconds( KNoResponseFromUserDelay ), 
-        TCallBack( DispatchUserInactive, this ), 0 );
-
-    if ( !iWait.IsStarted() )
-        {
-        TFLOGSTRING( "CSatUiView::SelectItemL start iWait" )
-        iSatUiAppUi->DispatchTimer( iWait );
-        iWait.Start();
-        }
-
-    CleanupStack::PopAndDestroy( activityManager ); // activityManager
-
-    if ( iNoResponseFromUserAfterDelay )
-        {
-        iResponse = ESatNoResponseFromUser;
-        }
-
-    aSelection= STATIC_CAST(TUint8,iSelection);
-    TFLOGSTRING2( "CSatUiView::SelectItemL out aDefaultItem = %d", aDefaultItem )
-	TFLOGSTRING2( "CSatUiView::SelectItemL exit, return: %d", iResponse )
-    return iResponse;
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::Id
-// Returns the id of the view.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TUid CSatUiView::Id() const
-    {
-	TFLOGSTRING( "CSatUiView::Id() called" )
-    //this should be an UID.
-    if ( iSetUpMenu )
-        {
-        TFLOGSTRING( "CSatUiView::Id() setupmenu-exit" )
-        return KSetUpMenuViewId;
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiView::Id() selectitem-exit" )
-        return KSelectItemViewId;
-        }
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::HandleCommandL
-// Called by the UI framework when a command has been issued.
-// A command can originate by pressing a softkey or 
-// by selection of the options menu item.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::HandleCommandL(
-    TInt aCommandId)
-    {
-	TFLOGSTRING( "CSatUiView::HandleCommandL called" )
-    if ( iKeypadBlocked || ( EAknSoftkeyEmpty == aCommandId ) )
-        {
-        return;
-        }
-        
-    TFLOGSTRING2( "CSatUiView::HandleCommandL iNItems: %d", iNItems )
-    if ( iNItems > 0 )
-        {
-        iSelection = iContainer->ListBox()->CurrentItemIndex();
-        }
-
-    TBool taskSwapper ( EFalse );
-    
-    TFLOGSTRING2( "CSatUiView::HandleCommandL aCommandId: %d", aCommandId )
-    switch ( aCommandId )
-        {
-        case ESatUiCmdSelect:
-            {
-            iSatUiAppUi->HelpStatus( EFalse );
-
-            if ( iSetUpMenu )
-                {
-                TFLOGSTRING( "CSatUiView::HandleCommandL setupmenu" )
-                iSatUiAppUi->ShowWaitNoteL();
-                iAdapter->MenuSelection( iSelection, EFalse );
-                }
-            else
-                {
-                TFLOGSTRING( "CSatUiView::HandleCommandL others" )
-                iResponse = ESatSuccess;
-				iWait.AsyncStop();
-                }
-            break;
-            }
-
-        case EAknSoftkeyBack:
-            {
-            iResponse = ESatBackwardModeRequestedByUser;
-            iWait.AsyncStop();
-            break;
-            }
-
-        case EAknSoftkeyExit:
-        case EEikCmdExit:
-            {
-            AknSelectionService::HandleMarkableListProcessCommandL( 
-                EAknCmdExit, iContainer->ListBox() );
-            STATIC_CAST( CSatUiViewAppUi*,
-                AppUi())->HandleCommandL( EEikCmdExit );
-            break;
-            }
-        case ESatUiCmdExit:
-            {
-            TFLOGSTRING( "CSatUiView::HandleCommandL ESatUiCmdExit" )
-            iResponse = ESatSessionTerminatedByUser;
-            if ( iWait.IsStarted() )
-                {
-                iWait.AsyncStop();
-                TFLOGSTRING( "CSatUiView::HandleCommandL iWait stopped" )
-                }
-            break;
-            }
-        case EAknCmdHelp:
-			if ( iHelpIsAvailable )
-                {
-                TFLOGSTRING( "CSatUiView::HandleCommandL help available" )
-                iSatUiAppUi->HelpStatus( ETrue );
-
-                if ( iSetUpMenu )
-                    {
-                    TFLOGSTRING( "CSatUiView::HandleCommandL setupmenu" )
-                    iAdapter->MenuSelection( iSelection, ETrue );
-                    }
-                else
-                    {
-                    TFLOGSTRING( "CSatUiView::HandleCommandL others" )
-                    iResponse = EHelpRequestedByUser;
-                    iWait.AsyncStop();
-                    }
-                }
-            else
-                {
-                TFLOGSTRING( "CSatUiView::HandleCommandL help not available" )
-                // Show Help
-                STATIC_CAST( CSatUiViewAppUi*, 
-								AppUi())->HandleCommandL( EAknCmdHelp );
-                }
-			break;
-        case EAknCmdTaskSwapper:
-            {
-            taskSwapper = ETrue;
-            break;
-            }
-		default:
-            break;
-        }
-
-    if ( ( ( iNItems > 0 )) && ( iContainer->ListBox()->ScrollBarFrame() ) )
-        {
-        iContainer->ListBox()->ScrollBarFrame()->MoveVertThumbTo(
-            iSelection );
-        }
-        
-    if ( ( ( EAknCmdHelp == aCommandId ) && !iHelpIsAvailable ) || taskSwapper )
-        {
-        TFLOGSTRING( "CSatUiView::HandleCommandL iKeypadBlocked false" )
-        iKeypadBlocked = EFalse;
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiView::HandleCommandL iKeypadBlocked true" )
-        iKeypadBlocked = ETrue;
-        }
-        
-	TFLOGSTRING( "CSatUiView::HandleCommandL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::DynInitMenuPaneL
-// Update the options menu when opened.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::DynInitMenuPaneL(
-    TInt aResourceId,
-    CEikMenuPane* aMenuPane )
-    {
-    TFLOGSTRING( "CSatUiView::DynInitMenuPaneL called" )
-    if (( aResourceId == R_SATUI_SETUPMENU_OPTIONS_MENU ) ||
-        ( aResourceId == R_SATUI_SELECTITEM_OPTIONS_MENU ) )
-        {
-        
-        FeatureManager::InitializeLibL();      
-          
-        if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
-            aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
-            }
-
-        FeatureManager::UnInitializeLib();
-
-        TInt nItems( aMenuPane->NumberOfItemsInPane() );
-
-        TFLOGSTRING2( "CSatUiView::DynInitMenuPaneL nItems: %d", nItems )
-        if ( nItems > 0 )    //number of items in the options menu
-            {
-            TFLOGSTRING2( "CSatUiView::DynInitMenuPaneL iNItems: %d", \
-                iNItems )
-            if ( iNItems > 0 )    //number of items in the main pane
-                {
-                TInt sItem = iContainer->ListBox()->CurrentItemIndex();
-                TFLOGSTRING2( "CSatUiView::DynInitMenuPaneL sItem: %d", sItem )
-                HBufC* menuItemNextActions;
-                TInt resource( R_QTN_SAT_OPTION_SELECT );
-
-                if ( iMenuItems->MdcaCount() ==
-                    iMenuItemNextActions->Count() )
-                    {
-                    switch ( ( *iMenuItemNextActions )[ sItem ] )
-                        {
-                        case ESatSetUpCallAction:
-                            {                            
-                            TFLOGSTRING( "CSatUiView::DynInitMenuPaneL \
-                                setupcall" )
-                            resource = R_QTN_SAT_OPTION_CALL;
-                            break;
-                            }
-                        case ESatSendSsAction:   // flow through
-                        case ESatSendUssdAction: // flow through
-                        case ESatSendSmAction:
-                            {                            
-                            TFLOGSTRING( "CSatUiView::DynInitMenuPaneL \
-                                sendss,sendussd or sendsm" )
-                            resource = R_QTN_SAT_OPTION_SEND;
-                            break;
-                            }
-                        case ESatPlayToneAction:
-                            {                            
-                            TFLOGSTRING( "CSatUiView::DynInitMenuPaneL \
-                                playtone" )
-                            resource = R_QTN_SAT_OPTION_PLAY_TONE;
-                            break;
-                            }
-                        case ESatDisplayTextAction:
-                            {                            
-                            TFLOGSTRING( "CSatUiView::DynInitMenuPaneL \
-                                displaytext" )
-                            resource = R_QTN_SAT_OPTION_READ;
-                            break;
-                            }
-                        case ESatSetUpMenuAction:
-                        case ESatSelectItemAction:
-                            {                            
-                            TFLOGSTRING( "CSatUiView::DynInitMenuPaneL \
-                                setupmenu or selectitem" )
-                            resource = R_QTN_SAT_OPTION_OPEN;
-                            break;
-                            }
-                        case ESatLaunchBrowserAction:
-                            {                            
-                            TFLOGSTRING( "CSatUiView::DynInitMenuPaneL \
-                                launchbrowser" )
-                            resource = R_QTN_SAT_OPTION_GOTO;
-                            break;
-                            }
-                        default:
-                            {                            
-                            TFLOGSTRING( "CSatUiView::DynInitMenuPaneL \
-                                others" )
-                            resource = R_QTN_SAT_OPTION_SELECT;
-                            break; 
-                            }
-                        }
-                    }
-                menuItemNextActions = StringLoader::LoadLC(
-                    resource, iCoeEnv );
-                aMenuPane->SetItemTextL( ESatUiCmdSelect,
-                    *menuItemNextActions );
-                aMenuPane->SetItemSpecific( ESatUiCmdSelect, ETrue );
-                // menuItemNextActions    
-                CleanupStack::PopAndDestroy( menuItemNextActions ); 
-                }
-            else
-                {
-                aMenuPane->SetItemDimmed( ESatUiCmdSelect, ETrue );
-                aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
-                }
-            }
-        }
-    TFLOGSTRING( "CSatUiView::DynInitMenuPaneL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::HandleListBoxEventL
-// Handles events that occur by selection of the menu item.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::HandleListBoxEventL(
-    CEikListBox* /*aListBox*/,
-    TListBoxEvent aEventType)
-    {
-    TFLOGSTRING( "CSatUiView::HandleListBoxEventL called" )
-
-    if ( iKeypadBlocked || 
-        ( EEventEnterKeyPressed != aEventType &&
-        EEventItemSingleClicked != aEventType ) )
-        {
-        return;
-        }
-
-    TFLOGSTRING2( "CSatUiView::HandleListBoxEventL aEventType: %d", \
-        aEventType )
-    switch ( aEventType )
-        {
-        case EEventItemSingleClicked:
-        case EEventEnterKeyPressed:
-
-            iSatUiAppUi->HelpStatus( EFalse );
-
-            if ( iNItems > 0 )
-                {
-                iSelection = iContainer->ListBox()->CurrentItemIndex();
-                }
-
-            if ( iSetUpMenu )
-                {
-                TFLOGSTRING( "CSatUiView::HandleListBoxEventL setupmenu" )
-                iSatUiAppUi->ShowWaitNoteL();
-                iAdapter->MenuSelection( iSelection, EFalse );
-                }
-            else
-                {
-                TFLOGSTRING( "CSatUiView::HandleListBoxEventL others" )
-                iResponse = ESatSuccess;
-
-                iWait.AsyncStop();
-                }
-            break;
-
-        default:
-            break;
-        }
-
-    iKeypadBlocked = ETrue;
-
-    TFLOGSTRING( "CSatUiView::HandleListBoxEventL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::DoActivateL
-// Called by the view framework when this view is activated.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::DoActivateL(
-    const TVwsViewId& PrevViewId,
-    TUid /*aCustomMessageId*/,
-    const TDesC8& /*aCustomMessage*/)
-    {
-	TFLOGSTRING( "CSatUiView::DoActivateL called" )
-	
-    TVwsViewId viewId;
-    AppUi()->GetActiveViewId( viewId );
-    
-    if ( ( viewId == PrevViewId ) && ( !iIconStateChange ) )
-        {
-        TFLOGSTRING( "CSatUiView::DoActivateL refresh" )
-        //if selectitems and icon state changed 
-        RefreshL();
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiView::DoActivateL draw" )
-        iContainer = CSatUiViewContainer::NewL( iIconsOn, this );
-
-        iContainer->SetMopParent( this );
-        iContainer->ListBox()->SetListBoxObserver( this );
-
-        iModel = STATIC_CAST( CTextListBoxModel*,
-            iContainer->ListBox()->Model() );
-
-        if ( !iMenuItems )
-            {
-            //no memory is allocated to the array buffers here:
-            iMenuItems = new (ELeave) CDesCArrayFlat(1);
-            iMenuItemNextActions = new (ELeave) CArrayFixFlat<TSatAction>( 1 );
-            }
-
-        iRect = ClientRect();
-
-        AppUi()->AddToStackL( iContainer );
-
-        DrawL();
-        }
-	TFLOGSTRING( "CSatUiView::DoActivateL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::DoDeactivateL
-// Called by the view framework when this view is deactivated.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::DoDeactivate()
-    {
-	TFLOGSTRING( "CSatUiView::DoDeactivate() called" )
-    if ( iContainer )
-        {
-        TFLOGSTRING( "CSatUiView::DoActivateL iContainer" )
-        AppUi()->RemoveFromStack( iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-	TFLOGSTRING( "CSatUiView::DoDeactivate() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::MakeListBoxVisible
-// Hides and makes list box visible if needed.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::MakeListBoxVisible( TBool aVisible )
-    {
-    
-    TFLOGSTRING( "CSatUiView::MakeListBoxVisible() called" )  
-    iListBoxVisible = aVisible;
-    TFLOGSTRING( "CSatUiView::MakeListBoxVisible() exit" )
-    
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::RefreshL
-// Called by SetUpMenuL and SelectItemL when view is the same but
-// data is changed.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::RefreshL()
-    {
-	TFLOGSTRING( "CSatUiView::RefreshL() called" )
-    if ( !iIconStateChange )
-        {
-        TFLOGSTRING( "CSatUiView::RefreshL() iIconStateChange false" )
-        iRect = ClientRect();
-        DrawL();
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiView::RefreshL() iIconStateChange true" )
-        //deactivate last selectitem view with other icon state
-        DoDeactivate();
-
-        iContainer = CSatUiViewContainer::NewL( iIconsOn, this );
-
-        iContainer->SetMopParent( this );
-        iContainer->ListBox()->SetListBoxObserver( this );
-
-        iModel = STATIC_CAST( CTextListBoxModel*,
-            iContainer->ListBox()->Model() );
-
-        if ( !iMenuItems )
-            {
-            //no memory is allocated to the array buffers here:
-            iMenuItems = new ( ELeave ) CDesCArrayFlat(1);
-            iMenuItemNextActions = new ( ELeave ) CArrayFixFlat<TSatAction>( 1 );
-            }
-
-        iRect = ClientRect();
-
-        AppUi()->AddToStackL( iContainer );
-
-        DrawL();
-        }
-	TFLOGSTRING( "CSatUiView::RefreshL() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::DrawL
-// Called by DoActivateL and RefreshL to draw the view.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::DrawL()
-    {
-	TFLOGSTRING( "CSatUiView::DrawL() called" )
-	
-    if ( iContainer )
-        {
-        TFLOGSTRING( "CSatUiView::DrawL make ListBox visible" )
-        iContainer->ListBox()->MakeVisible( iListBoxVisible );
-        }
-    	
-    if ( ( iTitle ) && ( StatusPane()->PaneCapabilities( TUid::Uid(
-        EEikStatusPaneUidTitle ) ).IsPresent() )
-        && iListBoxVisible )
-        {
-        TFLOGSTRING( "CSatUiView::DrawL set title pane" )       
-        CAknTitlePane* titlePane = STATIC_CAST( CAknTitlePane*,
-            StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-        titlePane->SetTextL( *iTitle );
-        titlePane->DrawNow();
-        }
-
-    if( iIconsOn )
-        {
-        TFLOGSTRING( "CSatUiView::DrawL set icons" )
-        //set icons to view
-        CAknIconArray* itemIconsArray = new( ELeave ) CAknIconArray(1);
-        CleanupStack::PushL( itemIconsArray );
-        itemIconsArray->InsertL( 0, &iItemsIconArray->operator[]( 0 ),
-            iItemsIconArray->Count() );
-        iContainer->ListBox()->ItemDrawer()->ColumnData()->
-            SetIconArray( itemIconsArray );
-        CleanupStack::Pop( itemIconsArray );
-        iItemsIconArray->Reset();
-        }
-
-    iModel->SetItemTextArray( iMenuItems );
-    iModel->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
-    iContainer->MakeVisible( ETrue );
-    iContainer->SetRect( iRect );
-    iContainer->ActivateL();
-    
-    if ( iSetUpMenu )
-	    {
-	    TFLOGSTRING( "CSatUiView::DrawL() SetupMenu" )
-	    UpdateMskL( 0, ETrue ); // SetupMenu starts at beginning
-	    }
-	else
-	    {
-	    TFLOGSTRING( "CSatUiView::DrawL() others" )
-	    UpdateMskL( iDefaultItem, ETrue ); // SelectItem may have default item
-	    }
-    iContainer->ListBox()->SetCurrentItemIndex( iDefaultItem );
-    iContainer->ListBox()->DrawNow();
-    TFLOGSTRING2( "CSatUiView::DrawL() iDefaultItem=%d", iDefaultItem )
-	TFLOGSTRING( "CSatUiView::DrawL() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiView::DispatchUserInactive
-// Called when user has been inactive for a pre-defined time period
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CSatUiView::DispatchUserInactive( TAny* aPtr )
-    {
-    TFLOGSTRING( "CSatUiView::DispatchUserInactive called-exit" )
-    if ( ( ( CSatUiView* )aPtr )->iWait.IsStarted() )
-        {
-        ( ( CSatUiView* )aPtr )->iNoResponseFromUserAfterDelay = ETrue;
-        ( ( CSatUiView* )aPtr )->iWait.AsyncStop();
-        }
-    return ( EFalse );
-    }
-    
-
-// ---------------------------------------------------------
-// CSatUiView::UpdateMskL
-// Updates the middle soft key
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiView::UpdateMskL( TInt aIndex, TBool aNew )
-    {
-    TFLOGSTRING( "CSatUiView::UpdateMskL() enter" )
-    CEikButtonGroupContainer* cba = Cba();
-
-    if ( cba && ( aNew  || ( iMenuItems->MdcaCount() ==
-        iMenuItemNextActions->Count() ) ) )
-        {
-        TInt resource ( R_QTN_MSK_SELECT  );
-        TInt commandId ( ESatUiCmdSelect );
-        
-        if ( iEmpty )
-            {
-            TFLOGSTRING( "CSatUiView::UpdateMskL iEmpty" )
-            resource = R_TEXT_SOFTKEY_EMPTY;
-            commandId = EAknSoftkeyEmpty;
-            } 
-        else if ( iMenuItems->MdcaCount() ==
-            iMenuItemNextActions->Count() && iNItems )
-            {
-            switch ( ( *iMenuItemNextActions )[ aIndex ] )
-                {
-                case ESatSetUpCallAction:
-                    {                    
-                    TFLOGSTRING( "CSatUiView::UpdateMskL \
-                                setupcall" )
-                    resource = R_QTN_MSK_CALL_SAT;
-                    break;
-                    }
-                case ESatSendSsAction:   // flow through
-                case ESatSendUssdAction: // flow through
-                case ESatSendSmAction:
-                    {                    
-                    TFLOGSTRING( "CSatUiView::UpdateMskL \
-                                sendss,sendussd or sendsm" )
-                    resource = R_QTN_MSK_SEND;
-                    break;
-                    }                        
-                case ESatPlayToneAction:
-                    {                    
-                    TFLOGSTRING( "CSatUiView::UpdateMskL \
-                                playtone" )
-                    resource = R_QTN_MSK_PLAY;
-                    break;
-                    }
-                case ESatDisplayTextAction:
-                    {                    
-                    TFLOGSTRING( "CSatUiView::UpdateMskL \
-                                displaytext" )
-                    resource = R_QTN_MSK_READ_SAT;
-                    break;
-                    }
-                case ESatSetUpMenuAction:
-                case ESatSelectItemAction:
-                    {                    
-                    TFLOGSTRING( "CSatUiView::UpdateMskL \
-                                setupmenu or selectitem" )
-                    resource = R_QTN_MSK_OPEN;
-                    break;
-                    }
-                case ESatLaunchBrowserAction:
-                    {                    
-                    TFLOGSTRING( "CSatUiView::UpdateMskL \
-                                launchbrowser" )
-                    resource = R_QTN_MSK_GOTO_SAT;
-                    break;
-                    }
-                default:
-                    {                    
-                    TFLOGSTRING( "CSatUiView::UpdateMskL \
-                                others" )
-                    resource = R_QTN_MSK_SELECT ;
-                    break; 
-                    }
-                }
-            TFLOGSTRING2( "CSatUiView::UpdateMskL:aIndex=%d", aIndex )
-            }
-        else // Basic aNew
-            {
-            // No need to to do anything here, default values are used
-            }
-            
-        HBufC* msk = StringLoader::LoadLC( resource, iCoeEnv );
-        cba->SetCommandL( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
-            commandId, *msk );
-        cba->DrawDeferred();
-        CleanupStack::PopAndDestroy( msk );
-        }
-    
-    TFLOGSTRING( "CSatUiView::UpdateMskL() exit" )
-    }
-
--- a/satui/satapp/SATUISrc/CSatUiViewAppUi.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3563 +0,0 @@
-/*
-* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*    Implements the application UI and the methods derived from 
-*    MSatUiActionImplementer i.e. showing messages and asking input. 
-*
-*
-*/
-
-
-// INCLUDE FILES
-#include    <barsread.h>
-#include    <badesca.h> // for descriptor arrays
-#include    <e32std.h>
-#include    <eikenv.h>
-#include    <eikapp.h>
-#include    <StringLoader.h>
-#include    <aknview.h>
-#include    <aknnotedialog.h>
-#include    <aknstaticnotedialog.h>
-#include    <AknGlobalNote.h>
-#include    <AknQueryDialog.h>
-#include    <aknmessagequerydialog.h>
-#include    <AudioPreference.h>
-#include    <mdaaudiotoneplayer.h>
-#include    <activitymanager.h>
-#include    <AknIconArray.h>
-#include    <AknPopupform.h>                //DisplayText icon popupform
-#include    <eikcapc.h>                     //CEikCaptionedControl
-#include    <txtrich.h>                     //CRichText
-#include    <eikrted.h>                     //CEikRichTextEditor
-#include    <hlplch.h>
-#include    <aknsoundsystem.h>
-#include    <AknWaitDialog.h>
-#include    <akntitle.h>
-#include    <AknUtils.h>
-#include    <AknIconUtils.h>
-#include    <aknconsts.h>
-#include    <avkon.hrh>
-#include    <SatUi.rsg>
-#include    <msatuiadapter.h>
-#include    <aknkeylock.h>
-
-#include    "satui.hrh"
-#include    "CSatUiApplication.h"
-#include    "CSatUiViewAppUi.h"
-#include    "CSatUiView.h"
-#include    "CSatUiTextQueryDialog.h"
-#include    "CSatUiMessageQueryIcon.h" 
-#include    "CSatUiWaitDialog.h"
-#include    "tflogger.h"
-
-#include    <MProfile.h>
-#include    <MProfileEngine.h>
-#include    <MProfileTones.h>
-#include    <TProfileToneSettings.h>
-#include    <MProfileName.h>
-#include    <MProfileExtraTones.h>
-#include    <featmgr.h>                     // Used for FeatureManager
-#include    <BTSapDomainPSKeys.h>           // For BT SAP connection state keys.
-#include    <e32property.h>                 // Used for RProperty
-#include    <aknnotewrappers.h>
-
-#include    <aknlayout.cdl.h> 
-#include    <aknlayoutscalable_avkon.cdl.h>
-#include    <ctsydomainpskeys.h>
-#include    <mda/common/resource.h>
-
-#include    <ProfileEngineSDKCRKeys.h>
-#include    <centralrepository.h>
-
-
-// CONSTANTS
-const TInt KSatActiveProfileOffline = 5; // value from ProfileEngine
-const TInt K32TIntMaxValue = 0x7FFFFFFF;
-// From UI spec 60 sec delay user response.
-const TInt KNoResponseFromUserDelay = 60; 
-const TInt KMicroSecondsInSecond = 1000000;
-const TInt KClearScreenDelay = 3;
-const TInt KMicroSecondsInTenthOfSecond = 100000;
-const TInt K3Seconds = 3000000;
-
-// Maximum length for sound file. 
-const TInt KMaxSoundFileLength = 256;
-// Audio sample is repeated indefinitely.
-const TInt KSoundPlayerRepeatForever = KMdaRepeatForever;
-// Used when dividing some values. Used only for preventing the use of magic 
-// numbers
-const TInt KDivideByEight = 8;
-
-const TUint8 KGetInputStringMaxSize = 0xEF;
-
-_LIT( K3Spaces, "   " );                    // Used for empty title.
-const TInt KEmptyTitleLength( 3 );          // Length of empty title.                      
-_LIT( KSatEmptySpace, " " );                // Used for empty item.
-_LIT( KSatEmptyDes, "" );
-
-const TUint8 KKeyZero = 0x30;
-const TUint8 KKeyNine = 0x39;
-const TUint8 KHwAsterisk = 0x2a;    // In hw scan code value for asterisk
-
-// The max volume value from settings.
-// From TProfileToneSettings.h
-const TInt KMaxVolumeFromProfile( 10 );
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CSatUiViewAppUi::CSatUiViewAppUi():
-    iHelp( EFalse ),
-    iSetUpMenuFirst( ETrue ),
-    iSelectItemFirst( ETrue ),
-    iPreviousForeground( EFalse ),
-    iViewLoopCounter( 0 ),
-    iDuration( TTimeIntervalMicroSeconds( static_cast<TInt64>( 0 ) ) ),
-    iReqWSBufferID( KErrNone )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CSatUiViewAppUi::ConstructL()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ConstructL() called" )
-    BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-    
-    // Requests Window Server client buffer used by the application to
-    // be of at least the given size.
-    iReqWSBufferID = CAknEnv::Static()->RequestWsBuffer( KAknMaxWsBufferSize );
-    TFLOGSTRING2( "iReqWSBufferID is %d", iReqWSBufferID )
-
-    if ( BTSAPActivatedL() )
-        {
-        HBufC* sapText = 
-            iCoeEnv->AllocReadResourceLC( R_QTN_OFFLINE_NOT_POSSIBLE_SAP );
-        CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
-        iForegroundControl = note;
-        note->ExecuteLD( *sapText );
-        iForegroundControl = NULL;
-        CleanupStack::PopAndDestroy( sapText );
-        Exit();
-        }
-
-    if ( ProfileState() == KSatActiveProfileOffline )
-        {
-        ShowNotAvailableNoteL();
-        Exit();        
-        }
-
-    
-    if ( StatusPane()->PaneCapabilities( TUid::Uid(
-        EEikStatusPaneUidTitle ) ).IsPresent() )
-        {
-        CAknTitlePane* titlePane = STATIC_CAST( CAknTitlePane*,
-            StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-        titlePane->SetTextL( KNullDesC );
-        titlePane->DrawNow();
-        }
-        
-    TFLOGSTRING( "CSatUiViewAppUi::ConstructL() exit" )
-    }
-
-// Destructor.
-CSatUiViewAppUi::~CSatUiViewAppUi()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::~CSatUiViewAppUi() called" )
-    this->StopShowWaitNote();
-
-    delete iTitle;
-    delete iAppName;
-    delete iPlayer;
-    delete iTimer;    
-    
-    TFLOGSTRING( "CSatUiViewAppUi::~CSatUiViewAppUi() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::CreateEmptyMenuL
-// Creates empty menu. This is used in SIM originated commands.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::CreateEmptyMenuL()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::CreateEmptyMenuL() called" )
-
-    // Create the menu item array with no content.
-    CDesCArrayFlat* menuItems = new( ELeave ) CDesCArrayFlat( 1 );
-    CleanupStack::PushL( menuItems );
-    menuItems->Reset();
-    menuItems->AppendL( KSatEmptySpace );
-
-    // Create the empty next action indicator array.
-    CArrayFixFlat<TSatAction>* menuActions =
-        new( ELeave ) CArrayFixFlat<TSatAction>( 1 );
-    CleanupStack::PushL( menuActions );
-    menuActions->Reset();
-
-    // Create empty title pane.
-    HBufC* satTitle = HBufC::NewLC( KEmptyTitleLength );
-    satTitle->Des().Append( K3Spaces );
-
-    iSetUpMenuFirst = EFalse;
-    iSetUpMenuView = CSatUiView::NewL( ETrue, this, ETrue );
-    iSetUpMenuView->SetItemsL( satTitle, 
-        *menuItems, 
-        menuActions, 
-        EFalse );
-        
-    // Hide list box.
-    iSetUpMenuView->MakeListBoxVisible( EFalse );
-    
-    // Transfer ownership to CAknViewAppUi.
-    AddViewL( iSetUpMenuView );
-
-    iSetUpMenuView->SetAdapter( iAdapter );
-    iActiveView = KSetUpMenuViewId; 
-    
-    // satTitle, menuActions, menuItems  
-    CleanupStack::PopAndDestroy( satTitle );
-    CleanupStack::PopAndDestroy( menuActions );
-    CleanupStack::PopAndDestroy( menuItems );
-    TFLOGSTRING( "CSatUiViewAppUi::CreateEmptyMenuL() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::SetAdapter
-// Sets the pointer to MSatUiAdapter object.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::SetAdapter(
-    MSatUiAdapter* aAdapter )
-    {
-    iAdapter = aAdapter;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ShowWaitNoteL
-// Displays the wait note.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ShowWaitNoteL()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ShowWaitNoteL() called" )
-    if ( !iWaitNote )
-        {
-        iWaitNote = new(ELeave)CAknWaitDialog(
-            (REINTERPRET_CAST(CEikDialog**,&iWaitNote)));
-        iForegroundControl = iWaitNote;
-        iWaitNote->ExecuteLD( R_SATUI_WAIT_NOTE );
-        // iForegroundControl won't be clear until the wait dialog
-        // closed. It will avoid we lose the chance to set focus for
-        // the wait dialog when the switch of foreground/background
-        // happened.
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::ShowWaitNoteL() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ShowWaitNoteWithoutDelayL
-// Displays the wait note without delay
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ShowWaitNoteWithoutDelayL()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ShowWaitNoteWithoutDelayL() called" )
-    if ( !iWaitNote )
-        {
-        iWaitNote = new(ELeave)CAknWaitDialog(
-            (REINTERPRET_CAST(CEikDialog**,&iWaitNote)), ETrue );
-        iForegroundControl = iWaitNote;
-        iWaitNote->ExecuteLD( R_SATUI_WAIT_NOTE );
-        // iForegroundControl won't be clear until the wait dialog
-        // closed. It will avoid we lose the chance to set focus for
-        // the wait dialog when the switch of foreground/background
-        // happened.
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::ShowWaitNoteWithoutDelayL() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::StopShowWaitNote
-// Removes the wait note from the screen.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::StopShowWaitNote()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::StopShowWaitNote() called" )
-
-    if ( iNoteDialog )
-        {
-        iForegroundControl = NULL;
-
-        TFLOGSTRING( "CSatUiViewAppUi::StopShowWaitNote() Closing \
-            NoteDialog" )
-        delete iNoteDialog;
-        iNoteDialog = NULL;
-        }
-
-    if ( iWaitNote )
-        {
-        iForegroundControl = NULL;
-
-        TFLOGSTRING( "CSatUiViewAppUi::StopShowWaitNote() Closing WaitNote" )
-        // Process finished. The function was either ExecuteLD or RunLD.
-        // This function call stops the execution of these function and 
-        // causes the deletion of object
-        TInt err(0);
-        TRAP( err, iWaitNote->ProcessFinishedL() )
-        TFLOGSTRING2(" 2nd: iWaitNote: %x ", iWaitNote )
-        TFLOGSTRING2( "TRAP: %d", err )
-        // Delete the object just in case. Seems that above method does not 
-        // delete the object in some cases. e.g in very fast execution
-        delete iWaitNote;
-        iWaitNote = NULL;
-        }
-    if ( iBipWaitNote )
-        {
-        iForegroundControl = NULL;
-
-        TFLOGSTRING( "CSatUiViewAppUi::StopShowWaitNote() Closing BIP note" )
-        delete iBipWaitNote;
-        iBipWaitNote = NULL;
-        }
-        
-    if ( iPermanentNote )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::StopShowWaitNote() \
-               iPermanentNote cleared" )
-        // If iPermanentNote exists until wait note is stopped,
-        // then dialog has been already removed.
-        iPermanentNote->ExitSleepingDialog();
-        delete iPermanentNote;
-        iPermanentNote = NULL;
-        }
-        
-    TFLOGSTRING( "CSatUiViewAppUi::StopShowWaitNote() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::BTSAPActivatedL
-// Check that if BT SAP connection activated.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TBool CSatUiViewAppUi::BTSAPActivatedL()
-    {
-
-    TFLOGSTRING( "CSatUiViewAppUi::BTSAPActivated() called" )
-
-    TBool isActive( EFalse );
-    FeatureManager::InitializeLibL();
-    if ( FeatureManager::FeatureSupported( KFeatureIdBtSap ) )
-        {
-        TFLOGSTRING( "BTSAP is supported by ME" )
-        TInt status( EBTSapNotConnected );
-        TInt err = RProperty::Get( KPSUidBluetoothSapConnectionState, 
-                                   KBTSapConnectionState, 
-                                   status );
-
-        if ( EBTSapNotConnected != status && !err )
-            {
-            TFLOGSTRING( "BTSAP is connected" )
-            isActive = ETrue;
-            }
-        else
-            {
-            TFLOGSTRING3( "BTSAP status %d and error %d", status, err )
-            }
-        }
-    else
-        {
-        TFLOGSTRING( "BTSAP is not supported by ME" )
-        }
-
-    FeatureManager::UnInitializeLib();
-    TFLOGSTRING( "CSatUiViewAppUi::BTSAPActivated() exit" )
-    return isActive;
-
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::CoeEnv
-// Returns CoeEnv.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CCoeEnv* CSatUiViewAppUi::CoeEnv()
-    {
-    return iCoeEnv;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::DisplayTextL
-// Displays the text in a note. 
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::DisplayTextL(
-    const TDesC& aText,
-    const TDesC& aSimApplicationName,
-    CFbsBitmap* aIconBitmapDisplayText,
-    const TBool aSelfExplanatoryIcon,
-    const TBool aSustainedText,
-    const TTimeIntervalSeconds aDuration,
-    const TBool aWaitUserToClear )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL called" )
-    StopShowWaitNote();
-
-    TSatUiResponse response( ESatSuccess );
-    iHighPriorityEvent = EFalse;
-    
-    // Indication immediate response TLV for Display Text during MT call,
-    // if it is immediate response, close dialog, otherwise leave it alone.
-    iImmediateRsp = aSustainedText;
-    TFLOGSTRING2( "CSatUiViewAppUi::DisplayTextL immediate rsp: %d", 
-                   iImmediateRsp )    
-    
-    HBufC* header;
-
-    if ( iHelp )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL iHelp ETrue" )
-        header = StringLoader::LoadLC(
-            R_QTN_SAT_HELP_HEADER, iCoeEnv );
-        iHelp = EFalse;
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL iHelp EFalse" )
-        TFLOGSTRING2( "CSatUiViewAppUi::DisplayTextL length of \
-            aSimApplicationName: %d", aSimApplicationName.Length() )
-        if ( aSimApplicationName.Length() > 0 )
-            {
-            header = aSimApplicationName.AllocLC();
-            }
-        else
-            {
-            //Reads a resource string with memory allocation
-            header = StringLoader::LoadLC( R_QTN_SAT_MESSAGE_HEADER, iCoeEnv );
-            }
-        }
-
-    // Remove NULL characters from title
-    RemoveNullCharacters( header );
-
-    if ( aIconBitmapDisplayText )
-        {
-        //icon available use querydialog
-        iDisplayTextIconDialog = CAknPopupForm::NewL();
-        }
-
-    CUserActivityManager* activityManager = 
-        CUserActivityManager::NewL( EPriorityNormal );
-
-    CleanupStack::PushL( activityManager );
-    
-    // Duration handling: 
-    // If duration is given use that value for timeout.
-    TTimeIntervalSeconds duration ( aDuration );
-
-    // If user is expected to clear shown dialog and 
-    // duration is NOT given use 60s timeout.
-    if ( aWaitUserToClear && !aDuration.Int() )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL wait user to clear" )
-        duration = TTimeIntervalSeconds( KNoResponseFromUserDelay );
-        }
-    // If user is NOT expected to clear shown dialog and 
-    // duration is NOT given use 3s timeout.
-    else if ( !aDuration.Int() )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL don't wait user \
-            to clear" )
-        duration = TTimeIntervalSeconds( KClearScreenDelay );
-        }        
-
-    // If not sustained or Clear after delay requested start timer
-    if ( !aSustainedText || aDuration.Int() || !aWaitUserToClear )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL No sustained text" )
-        TFLOGSTRING2( "CSatUiViewAppUi::DisplayTextL duration: %d", 
-            duration.Int() )
-        
-        // If duration is given start timer which doesn't 
-        // care about user activity.        
-        if ( aDuration.Int() )
-            {
-            CreateCallBackTimerL( duration.Int() * KMicroSecondsInSecond,
-                DelayCallback );
-            }
-        // Otherwise start timer which takes account user activity.
-        else
-            {
-            User::ResetInactivityTime();
-            activityManager->Start( duration, 
-                TCallBack( DispatchUserInactive, this ), 0 );            
-            }
-        }
-
-    TInt userResponse;
-
-    if ( aIconBitmapDisplayText )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL have IconBitmap" )
-        // Prepare dialog with icon
-        iDisplayTextIconDialog->SetPopupFormType( EAknQuery );
-        iDisplayTextIconDialog->PrepareLC( R_SATUI_MESSAGE_TEXT_ICON );
-        iDisplayTextIconDialog->SetTitleL( *header );
-
-        // Get richtext control
-        CEikCaptionedControl* capControl = 
-            iDisplayTextIconDialog->GetControlByControlType
-            ( EEikCtRichTextEditor );
-        CCoeControl* coeControl = NULL;
-        if ( capControl )
-            {
-            coeControl = capControl->iControl;
-            }
-        if ( !coeControl )
-            {
-            User::Leave( KErrUnknown );
-            }
-        CEikRichTextEditor* rtxtEditor = 
-            reinterpret_cast<CEikRichTextEditor*>( coeControl );
-
-        if ( !aSelfExplanatoryIcon )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL not \
-                SelfExplanatoryIcon" )
-            // Not selfexplanatory icon, add text
-            // Get font
-            const CFont* logicalFont = AknLayoutUtils::FontFromId( 
-                EAknLogicalFontSecondaryFont );
-            
-            // Extract font information
-            TFontSpec fontspec = logicalFont->FontSpecInTwips();
-            TCharFormat charFormat( fontspec.iTypeface.iName, 
-                            fontspec.iHeight );
-            
-            // Make the font to be anti-aliased
-            TFontStyle style;
-            style.SetBitmapType( EAntiAliasedGlyphBitmap );
-            charFormat.iFontSpec.iFontStyle = style;
-                
-            // Set mask (which settings are set)
-            TCharFormatMask charFormatMask;
-            charFormatMask.SetAttrib( EAttColor );
-            charFormatMask.SetAttrib( EAttFontTypeface );
-            charFormatMask.SetAttrib( EAttFontHeight );
-            
-            // Apply settings
-            rtxtEditor->RichText()->ApplyCharFormatL(
-                charFormat, charFormatMask, 0, 0 );
-                    
-            // One space between icon and text
-            rtxtEditor->RichText()->InsertL( 0, KSatEmptySpace );
-            rtxtEditor->RichText()->InsertL( 1, aText );
-            }
-
-        // Count icon size in twips 
-        CWsScreenDevice* device = CCoeEnv::Static()->ScreenDevice();
-        TInt width = device->HorizontalPixelsToTwips( 
-            aIconBitmapDisplayText->SizeInPixels().iWidth );
-        TInt height = device->VerticalPixelsToTwips( 
-            aIconBitmapDisplayText->SizeInPixels().iHeight );
-        TSize twipsSize( width, height );
-
-        // Create picture
-        CSatUiMessageQueryIcon* picture = new( ELeave ) 
-            CSatUiMessageQueryIcon( twipsSize, *aIconBitmapDisplayText );
-        TPictureHeader pictureHeader;    
-        pictureHeader.iPicture = TSwizzle<CPicture>( picture );
-        //Insert picture
-        rtxtEditor->RichText()->InsertL( 0, pictureHeader );
-        //Needed to show whole picture
-        _LIT( KString, "\f\f\f");
-        rtxtEditor->RichText()->InsertL( rtxtEditor->Text()->DocumentLength(),
-            KString );
-
-        // Set MSK same as LSK without any text causing the icon drawing
-        iDisplayTextIconDialog->ButtonGroupContainer().SetCommandL(
-            CEikButtonGroupContainer::EMiddleSoftkeyPosition, EAknSoftkeyOk,
-            KSatEmptyDes );
-        iForegroundControl = iDisplayTextIconDialog;
-        userResponse = iDisplayTextIconDialog->RunLD();
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL don't have IconBitmap" )
-        // Dialog without icon
-        iDisplayTextDialog = new (ELeave) CAknMessageQueryDialog();
-        iDisplayTextDialog->PrepareLC( R_SATUI_MESSAGE );
-        iDisplayTextDialog->SetMessageTextL( aText );
-        iDisplayTextDialog->QueryHeading()->SetTextL( *header );
-
-        // Set MSK same as LSK without any text causing the icon drawing
-        iDisplayTextDialog->ButtonGroupContainer().SetCommandL(
-            CEikButtonGroupContainer::EMiddleSoftkeyPosition, EAknSoftkeyOk,
-            KSatEmptyDes );
-        iForegroundControl = iDisplayTextDialog;
-        userResponse = iDisplayTextDialog->RunLD();
-        }
-    iForegroundControl = NULL;
-
-    CleanupStack::PopAndDestroy( activityManager );
-    CleanupStack::PopAndDestroy( header ); // header,activityManager
-    // After duration call back timer is destroyed
-    DestroyCallBackTimer();
-    
-    // If user is not expected to clear message used response is success
-    // in timeout case.
-    if ( userResponse 
-        || ( iNoteClearedAfterDelay && !aWaitUserToClear ) )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL successful response" )
-        response = ESatSuccess;
-        }
-    else if ( iNoResponseFromUserAfterDelay || 
-        ( aWaitUserToClear && iHighPriorityEvent ) )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL no user response" )
-        // User did not close the text, closed by the timer or MT call
-        response = ESatNoResponseFromUser;
-        }
-    else
-        {
-        if ( IsAppShutterRunning() )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL satsession \
-                terminated by user " )
-            response = ESatSessionTerminatedByUser;
-            iSessionTerminated = ETrue;
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::DisplayTextL backward \
-                requested by user " )
-            response = ESatBackwardModeRequestedByUser;
-            }
-        }
-
-    if ( iDisplayTextDialog )
-        {
-        iDisplayTextDialog = NULL;
-        }
-    if ( iDisplayTextIconDialog )
-        {
-        iDisplayTextIconDialog = NULL;
-        }
-
-    iNoteClearedAfterDelay = EFalse;
-    iNoResponseFromUserAfterDelay = EFalse;
-
-    ShowWaitNoteL();
-        
-    TFLOGSTRING2( "CSatUiViewAppUi::DisplayTextL exit, return: %d", response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ClearScreen
-// Displays yes/no confirmation query.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ClearScreen()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ClearScreen() called" )
-    
-    iNoteClearedAfterDelay = ETrue;
-    CloseDialogs();
-    
-    TFLOGSTRING( "CSatUiViewAppUi::ClearScreen() exit" )
-    }
-// ---------------------------------------------------------
-// CSatUiViewAppUi::GetYesNoL
-// Displays yes/no confirmation query.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::GetYesNoL(
-    const TDesC& aText,
-    const TSatCharacterSet aCharacterSet,
-    TChar& aInkey,
-    const CFbsBitmap* aIconBitmap,
-    const TBool aSelfExplanatory,
-    TUint& aDuration,
-    const TBool aImmediateDigitResponse )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::GetYesNoL called" )
-    TSatUiResponse response( ESatSuccess );
-
-    StopShowWaitNote();
-
-    CUserActivityManager* activityManager = 
-        CUserActivityManager::NewL( EPriorityNormal );
-    CleanupStack::PushL( activityManager );
-
-    // Start time for duration
-    TTime startTime;
-    iImmediateDigitResponse = aImmediateDigitResponse;
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::GetYesNoL duration in 1/10 sec: %d",
-            aDuration )
-
-    // If duration is given use that value for timeout.
-    // Start timer which doesn't care about user activity.
-    if ( aDuration )
-        {
-        TInt duration ( 0 );
-         
-        TTimeIntervalMicroSeconds max32Bit(
-            static_cast<TInt64>( K32TIntMaxValue ) );        
-        TTimeIntervalMicroSeconds durationInTenthOfSeconds( 
-            static_cast<TInt64>( aDuration ) );
-        TTimeIntervalMicroSeconds durationInus( 
-            durationInTenthOfSeconds.Int64() * KMicroSecondsInTenthOfSecond );
-        
-        if ( durationInus > max32Bit )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::GetYesNoL durationInus bigger \
-                than max32Bit" )
-            // since timers can only handle 32-bit values,
-            // let's break the aDuration to smaller bits.
-            // we break it here to 8 bits to fit in 32-bit value
-            duration = durationInus.Int64() / KDivideByEight;
-            iTimerRepeatOn = ETrue;
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::GetYesNoL durationInus less \
-                than max32Bit" )
-            duration = durationInus.Int64();
-            }
-            
-        CreateCallBackTimerL( duration, DelayCallback );
-        startTime.HomeTime();
-        }
-    // Otherwise start timer which takes account user activity.
-    else
-        {
-        User::ResetInactivityTime();
-        activityManager->Start( 
-            TTimeIntervalSeconds( KNoResponseFromUserDelay ),
-            TCallBack( DispatchUserInactive, this ), 0 );            
-        }
-
-    TInt resource( 0 );        
-
-    if ( aIconBitmap )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetYesNoL iGetYesNoIconDialog" )
-
-        if ( ESatYesNo == aCharacterSet )
-            {
-            resource = R_SATUI_CONFIRM_YES_NO_QUERY_WITH_ICON;
-            }
-        else
-            {
-            resource = R_SATUI_IMMEDIATE_DIGIT_NOTE_WITH_ICON;
-            }
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetYesNoL iGetYesNoDialog" )
-
-        if ( ESatYesNo == aCharacterSet )
-            {
-            resource = R_SATUI_CONFIRM_YES_NO_QUERY;
-            }
-        else
-            {
-            resource = R_SATUI_IMMEDIATE_DIGIT_QUERY;
-            }
-        }
-    
-    TInt userResponse = RunQueryDialogL( resource , aText, aIconBitmap,
-        aSelfExplanatory, EAknSoftkeyYes );
-
-    iImmediateDigitResponse = EFalse;
-    
-    // set received immediate digit response
-    aInkey = iKey;
-    iKey = 0;
-    
-    if ( aDuration )
-        {
-        TTime endTime;
-        endTime.HomeTime();
-        TTimeIntervalMicroSeconds timeDifference( 0 );
-        timeDifference = endTime.MicroSecondsFrom( startTime );
-        aDuration = timeDifference.Int64() / KMicroSecondsInTenthOfSecond;
-        
-        // After duration call back timer is destroyed
-        DestroyCallBackTimer();
-        }
-    
-    CleanupStack::PopAndDestroy( activityManager );
-
-    // Timeout
-    if ( iNoResponseFromUserAfterDelay )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetYesNoL no response from user" )
-        response = ESatNoResponseFromUser;
-        }
-    // Cancel is pressed if immediate digit response without Yes/No
-    else if ( !userResponse &&  ESatYesNo != aCharacterSet && !aInkey )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetYesNoL backward request by user" )
-        response = ESatBackwardModeRequestedByUser;
-        }
-    // Yes button is used
-    else if ( userResponse && !aInkey)
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetYesNoL button used" )
-        aInkey = 1;
-        }
-    // No button is used
-    else if ( !aInkey )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetYesNoL no button used" )
-        aInkey = 0;
-        }
-
-    iNoResponseFromUserAfterDelay = EFalse;
-
-    ShowWaitNoteL();
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::GetYesNoL exit, return: %d", response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::GetInputL
-// Displays data query.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::GetInputL(
-    const TDesC& aText,
-    const TSatCharacterSet aCharacterSet,
-    TDes& aInput,
-    const TInt aMinLength,
-    const TInt aMaxLength,
-    const TBool aHideInput,
-    const TBool aGetInkey,
-    const CFbsBitmap* aIconBitmapGetInput,
-    const TBool aSelfExplanatory,
-    TUint& aDuration ) 
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::GetInputL called" )
-    StopShowWaitNote();
-
-    TSatUiResponse response( ESatSuccess );
-
-    TPtrC textPtr( aText );
-
-    TInt minLength( 0 );
-    TInt maxLength( 1 );
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::GetInputL aMinLength %d", aMinLength )
-    TFLOGSTRING2( "CSatUiViewAppUi::GetInputL aMaxLength %d", aMaxLength )
-    //lint -e{961} else block not needed, minLength initialized.
-    if ( aMinLength <= KGetInputStringMaxSize && aMinLength > 0 )
-        {
-        minLength = aMinLength;
-        }
-    else if ( aMinLength > KGetInputStringMaxSize )
-        {
-        minLength = KGetInputStringMaxSize;
-        }
-
-    //lint -e{961} else block not needed, maxLength initialized.
-    if ( aMaxLength < minLength )
-        {
-        maxLength = minLength;
-        }
-    else if ( aMaxLength <= KGetInputStringMaxSize && aMaxLength > 1 )
-        {
-        maxLength = aMaxLength;
-        }
-    else if ( aMaxLength > KGetInputStringMaxSize )
-        {
-        maxLength = KGetInputStringMaxSize;
-        }
-
-    HBufC* input = HBufC::NewLC( KGetInputStringMaxSize );
-    TPtr inputPtr(input->Des());
-
-    HBufC* textHolder = NULL;
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::GetInputL aInput.Length %d",\
-        aInput.Length() )
-
-    if ( ( aInput.Length() >= minLength )
-        && ( aInput.Length() <= maxLength ) )
-        {
-        inputPtr = aInput;
-        }
-
-    TInt userResponse;
-
-    CUserActivityManager* activityManager = 
-        CUserActivityManager::NewL( EPriorityNormal );
-
-    CleanupStack::PushL( activityManager );
-
-    // Start time for timer
-    TTime startTime;
-
-    // If duration is given use that value for timeout.
-    // Start timer which doesn't care about user activity.
-    if ( aDuration && aGetInkey )
-        {
-        TFLOGSTRING2( "CSatUiViewAppUi::GetInputL duration in 1/10 sec: %d",
-            aDuration )        
-        
-        TInt duration ( 0 );
-         
-        TTimeIntervalMicroSeconds max32Bit(
-            static_cast<TInt64>( K32TIntMaxValue ) );        
-        TTimeIntervalMicroSeconds durationInTenthOfSeconds( 
-            static_cast<TInt64>( aDuration ) );
-        TTimeIntervalMicroSeconds durationInus( 
-            durationInTenthOfSeconds.Int64() * KMicroSecondsInTenthOfSecond );
-        
-        if ( durationInus > max32Bit )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::GetInputL durationInus bigger \
-                than max32Bit" )
-            // since timers can only handle 32-bit values,
-            // let's break the aDuration to smaller bits.
-            // we break it here to 8 bits to fit in 32-bit value
-            duration = durationInus.Int64() / KDivideByEight;
-            iTimerRepeatOn = ETrue;
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::GetInputL durationInus less \
-                than max32Bit" )
-            duration = durationInus.Int64();
-            }
-            
-        CreateCallBackTimerL( duration, DelayCallback );
-        startTime.HomeTime();
-        }
-    // Otherwise start timer which takes account user activity.
-    else
-        {
-        User::ResetInactivityTime();
-        activityManager->Start( 
-            TTimeIntervalSeconds( KNoResponseFromUserDelay ),
-            TCallBack( DispatchUserInactive, this ), 0 );            
-        }
-
-    CEikImage* image = new(ELeave) CEikImage;
-    CleanupStack::PushL( image );
-    
-    if ( aIconBitmapGetInput )
-        {        
-        image->SetBitmap( aIconBitmapGetInput );
-    
-        // Create mask for icon bitmap
-        CFbsBitmap* mask = new(ELeave) CFbsBitmap;
-
-        TSize size = aIconBitmapGetInput->SizeInPixels();
-        CleanupStack::PushL( mask );
-        MakeGetInputBitmapMask( mask, size );
-
-        image->SetMask( mask );
-        CleanupStack::Pop( mask ); 
-        }
-
-    TInt resource( 0 );
-    TInt textResource( 0 );
-    // Query dialog
-    iGetInputDialog = new (ELeave) CSatUiTextQueryDialog( inputPtr,
-                CAknQueryDialog::ENoTone, minLength, maxLength );
-    iForegroundControl = iGetInputDialog;
-
-    if ( aCharacterSet == ESatDigitOnly ) 
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetInputL ESatDigitOnly" )
-        if ( aText.Length() == 0 )
-            {
-            if ( aGetInkey )
-                {
-                textResource = R_TEXT_SIMATK_ENTER_NBR;
-                }
-            else
-                {
-                textResource = R_TEXT_SIMATK_ENTER_NBR_STRING;
-                }
-            }
-        
-        // Hidden digit as input
-        if ( aHideInput )
-            {            
-            TFLOGSTRING( "CSatUiViewAppUi::GetInputL Hidden digit" )            
-            if ( aIconBitmapGetInput )
-                {
-                resource = R_SATUI_HIDDEN_NUMBER_QUERY_WITH_LABEL_AND_ICON;
-                }
-            else
-                {
-                resource = R_SATUI_HIDDEN_NUMBER_QUERY_WITHOUT_LABEL;
-                }
-            }
-        // Normal number query
-        else
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::GetInputL normal digit" ) 
-            if ( aIconBitmapGetInput )
-                {
-                resource = R_SATUI_NUMBER_QUERY_WITH_LABEL_AND_ICON;
-                }
-            else
-                {
-                resource = R_SATUI_NUMBER_QUERY_WITHOUT_LABEL;
-                }
-            }
-        }
-
-    else // ESatCharSmsDefaultAlphabet or ESatCharUcs2Alphabet
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetInputL ESatCharSmsDefaultAlphabet \
-            or ESatCharUcs2Alphabet" )
-        if ( aText.Length() == 0 )
-            {
-            if ( aGetInkey )
-                {
-                textResource = R_TEXT_SIMATK_ENTER_CHAR;
-                }
-            else
-                {
-                textResource = R_TEXT_SIMATK_ENTER_CHAR_STRING;
-                }
-            }
-        
-        if ( !aGetInkey )
-            {
-            iGetInputDialog->SetPredictiveTextInputPermitted( ETrue );
-            }
-
-        iGetInputDialog->SetMaxLength( maxLength );
-
-        if ( aIconBitmapGetInput )
-            {
-            resource = R_SATUI_TEXT_QUERY_WITH_LABEL_AND_ICON;
-            }
-        else
-            {
-            resource = R_SATUI_TEXT_QUERY_WITHOUT_LABEL;
-            }
-        }
-
-    // Read default text if sim doesn't provide text to dialog 
-    if ( aText.Length() == 0 )
-        {
-        // Reads a resource string with memory allocation
-        // and pushes the string onto the cleanup stack.
-        textHolder = StringLoader::LoadLC( textResource, iCoeEnv);
-        textPtr.Set( *textHolder );       
-        }
-
-    // Icon is used and command is get input
-    if ( aIconBitmapGetInput )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetInputL icon is used" )
-        iGetInputDialog->PrepareLC( resource );
-        if ( !aSelfExplanatory )
-            {
-            // Icon is not self-explanatory, show also text
-            iGetInputDialog->SetPromptL( textPtr );            
-            }
-        // Add icon to query
-        iGetInputDialog->QueryHeading()->SetHeaderImageL( image );
-        // Set MSK same as LSK without any text causing the icon drawing
-        iGetInputDialog->ButtonGroupContainer().SetCommandL(
-            CEikButtonGroupContainer::EMiddleSoftkeyPosition, EAknSoftkeyOk,
-            KSatEmptyDes );
-        userResponse = iGetInputDialog->RunLD();
-        TFLOGSTRING2( "CSatUiViewAppUi::GetInputL userResponse is: %d",
-            userResponse )                
-        }
-    // No icon in use
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetInputL icon isn't used" )
-        iGetInputDialog->PrepareLC( resource );
-        iGetInputDialog->SetPromptL( textPtr );  
-        // Set MSK same as LSK without any text causing the icon drawing
-        iGetInputDialog->ButtonGroupContainer().SetCommandL(
-            CEikButtonGroupContainer::EMiddleSoftkeyPosition, EAknSoftkeyOk,
-            KSatEmptyDes );
-        userResponse = iGetInputDialog->RunLD();
-        TFLOGSTRING2( "CSatUiViewAppUi::GetInputL userResponse is: %d",
-            userResponse )                
-        }
-    iForegroundControl = NULL;
-
-    if ( textHolder )
-        {
-        CleanupStack::PopAndDestroy( textHolder ); 
-        }
-
-    if ( aDuration && aGetInkey )
-        {
-        TTime endTime;
-        endTime.HomeTime();
-        TTimeIntervalMicroSeconds timeDifference( 0 );
-        timeDifference = endTime.MicroSecondsFrom( startTime );
-        aDuration = timeDifference.Int64() / KMicroSecondsInTenthOfSecond;
-        
-        // After duration call back timer is destroyed
-        DestroyCallBackTimer();
-        }
-
-    CleanupStack::PopAndDestroy( image );
-    CleanupStack::PopAndDestroy( activityManager ); // image, activityManager
-    iGetInputDialog = NULL;
-
-    if ( iNoResponseFromUserAfterDelay )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetInputL no response from user" )
-        response = ESatNoResponseFromUser;
-        }
-    else if ( userResponse )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetInputL successful response" )
-        if ( inputPtr.Length() )
-            {
-            aInput.Copy( inputPtr );
-            }
-        response = ESatSuccess;
-        }
-    else
-        {
-        if ( IsAppShutterRunning() )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::GetInputL satsession \
-                terminated by user " )
-            response = ESatSessionTerminatedByUser;
-            iSessionTerminated = ETrue;
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::GetInputL backward \
-                requested by user " )
-            response = ESatBackwardModeRequestedByUser;
-            }
-        }
-
-    iNoResponseFromUserAfterDelay = EFalse;
-    
-    CleanupStack::PopAndDestroy( input ); // input
-
-    ShowWaitNoteL();
-
-    TFLOGSTRING2( "CSatUiViewAppUi::GetInputL exit, return: %d", response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::SetUpMenuL
-// Sets the parameters for SetUpMenu view and calls the method
-// from the CSatUiView class.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::SetUpMenuL(
-    const TDesC& aText,
-    const MDesCArray& aMenuItems,
-    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-    const CFbsBitmap* aIconBitmap,
-    const CAknIconArray* aItemsIconArray,
-    const TBool aSelfExplanatoryItems,
-    const TBool aHelpIsAvailable )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::SetUpMenuL called" )
-    StopShowWaitNote();
-    TSatUiResponse response( ESatSuccess );
-
-    delete iTitle;
-    iTitle = NULL;
-
-    delete iAppName;
-    iAppName = NULL;
-
-    TFLOGSTRING2( "CSatUiViewAppUi::SetUpMenuL length of aText %d", \
-        aText.Length() )
-    if ( aText.Length() > 0 )
-        {
-        iTitle = aText.AllocL();
-        iAppName = aText.AllocL();
-        } 
-    else
-        {
-        //Reads a resource string with memory allocation
-        iTitle = StringLoader::LoadL( R_QTN_SAT_TITLE, iCoeEnv );
-        }
-
-    if ( iSetUpMenuFirst )
-        {
-        iSetUpMenuFirst = EFalse;
-        iSetUpMenuView = CSatUiView::NewL( ETrue, this, EFalse );
-
-        // transfer ownership to CAknViewAppUi:
-        AddViewL( iSetUpMenuView );
-
-        iSetUpMenuView->SetAdapter( iAdapter );
-        }
-
-    // Make list box visible.
-    iSetUpMenuView->MakeListBoxVisible( ETrue );
-        
-    //set contextpane icon and item icons
-    iSetUpMenuView->SetIconL( aIconBitmap );
-    iSetUpMenuView->SetItemsIconL( aItemsIconArray, aSelfExplanatoryItems );    
-    iSetUpMenuView->SetTitle( iTitle );
-
-    response = iSetUpMenuView->SetUpMenuL( iTitle, aMenuItems,
-        aMenuItemNextActions, aHelpIsAvailable );
-
-    iActiveView = KSetUpMenuViewId;
-    
-    // Reset counter for detecting possible loop in HandleForegroundEventL.
-    iViewLoopCounter = 0;
-
-    TFLOGSTRING2( "CSatUiViewAppUi::SetUpMenuL exit, return: %d", response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::HandleForegroundEventL
-// Called when satui is brought to foreground or put into
-// background
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::HandleForegroundEventL( TBool aForeground )
-    {
-    TFLOGSTRING2( "CSatUiViewAppUi::HandleForegroundEventL called \
-        value %d", aForeground )
-    
-    iForeground = aForeground;
-    
-    // Check whether it is only need to display a dialog. 
-    if ( iForeground && ( iForegroundControl || iCcNote ) ) 
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleForegroundEventL \
-            need to display a dialog" )
-        if ( iForegroundControl && ForegroundAlive() )
-            {
-            iForegroundControl->SetFocus( ETrue, EDrawNow );
-            }
-        }
-    // Check is it allowed to activate local view.
-    // Removes possibility of view activation loop for example when
-    // launching Browser.
-    else if ( ViewActivationAllowed( aForeground, iActiveView ) )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleForegroundEventL \
-            activate local view allowed" )
-        TVwsViewId viewId;
-        GetActiveViewId( viewId );
-        TFLOGSTRING2( "CSatUiViewAppUi::HandleForegroundEventL called \
-            appUid %x", viewId.iAppUid )
-        TFLOGSTRING2( "CSatUiViewAppUi::HandleForegroundEventL called \
-            viewUid %x", viewId.iViewUid )
-            
-        if( ( KUidSATUI != viewId.iAppUid ) || 
-            ( ( KUidSATUI == viewId.iAppUid ) 
-                && ( viewId.iViewUid != iActiveView ) ) )
-            {       
-            TFLOGSTRING( "CSatUiViewAppUi::HandleForegroundEventL \
-                activate local view executing" )
-            if ( KSetUpMenuViewId == iActiveView )
-                {
-                ActivateLocalViewL( KSetUpMenuViewId );
-                }
-            else
-                {
-                ActivateLocalViewL( KSelectItemViewId );
-                }
-            }
-            
-        }        
-    // Forwards event to the base class.
-    CAknViewAppUi::HandleForegroundEventL( aForeground );
-    TFLOGSTRING( "CSatUiViewAppUi::HandleForegroundEventL exit" )
-    }
-    
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ViewActivationAllowed
-// Sets the parameters for SelectItem view and calls the method
-// from the CSatUiView class.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//    
-TBool CSatUiViewAppUi::ViewActivationAllowed( const TBool aForeground, 
-    const TUid  aActiveView )
-    {
-
-    TFLOGSTRING( "CSatUiViewAppUi::ViewActivationAllowed called" )
-    TBool activationAllowed( EFalse );
-    // Value for detecting view activation loop. 
-    const TInt certainViewLoopCount( 6 );
-    
-    // Check for foreground event, background event, 
-    // foreground event, background event, ... sequence.
-    if ( aForeground ^ iPreviousForeground )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ViewActivationAllowed \
-            check foreground event" )
-        iViewLoopCounter++;
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ViewActivationAllowed \
-            no foreground event" )
-        iViewLoopCounter = 0;
-        }
-    
-    // Store information is application in foreground or
-    // in background for next evaluation round.  
-    iPreviousForeground = aForeground;
-
-    // Check that there is no loop.
-    if ( aForeground && aActiveView.iUid ) 
-        {
-        if ( iViewLoopCounter < certainViewLoopCount )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::ViewActivationAllowed \
-                there are loops" )
-            activationAllowed = ETrue;    
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::ViewActivationAllowed \
-                no loop" )
-            // Counter is reset in case of foreground event
-            // because of background event does not draw anything.
-            iViewLoopCounter = 0;
-            }
-        
-        }
-
-    if ( iDisplayTextDialog || iDisplayTextIconDialog )
-        {
-        activationAllowed = EFalse;
-        }
-        
-    TFLOGSTRING2( "CSatUiViewAppUi::ViewActivationAllowed exit, return: %d",\
-        activationAllowed )
-    return activationAllowed;
-    
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::SelectItemL
-// Sets the parameters for SelectItem view and calls the method
-// from the CSatUiView class.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::SelectItemL(
-    const TDesC& aText,
-    const MDesCArray& aMenuItems,
-    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-    const TInt aDefaultItem,
-    TUint8& aSelection,
-    const CFbsBitmap* aIconBitmap,
-    const CAknIconArray* aItemsIconArray,
-    const TBool aSelfExplanatoryItems,
-    const TBool aHelpIsAvailable )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::SelectItemL called" )
-    StopShowWaitNote();
-
-    TSatUiResponse response( ESatSuccess );
-
-    delete iTitle;
-    iTitle = NULL;
-
-    TFLOGSTRING2( "CSatUiViewAppUi::SelectItemL length of aText %d",
-        aText.Length() )
-    if ( aText.Length() > 0 )
-        {
-        iTitle = aText.AllocL();
-        } 
-    else if ( iAppName )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::SelectItemL there is appname" )
-        iTitle = iAppName->AllocL();
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::SelectItemL read appname" )
-        //Reads a resource string with memory allocation
-        iTitle = StringLoader::LoadL( R_QTN_SAT_TITLE, iCoeEnv );
-        } 
-
-    if ( iSelectItemFirst )
-        {
-        iSelectItemFirst = EFalse;
-        iSelectItemView = CSatUiView::NewL( EFalse, this, EFalse );
-
-        // transfer ownership to CAknViewAppUi:
-        AddViewL( iSelectItemView );
-        }
-                
-    iSelectItemPending = ETrue;
-    iActiveView = KSelectItemViewId;
-
-    //set contextpane icon and item icons
-    iSelectItemView->SetIconL( aIconBitmap );
-    iSelectItemView->SetItemsIconL( aItemsIconArray, aSelfExplanatoryItems );
-    response = iSelectItemView->SelectItemL( iTitle, aMenuItems,
-        aMenuItemNextActions, aDefaultItem, aSelection, aHelpIsAvailable );
-
-    iSelectItemPending = EFalse;
-
-    if ( iEndKeyPressed )
-        {
-        response = ESatSessionTerminatedByUser;
-        }
-
-    if ( response != ESatSessionTerminatedByUser )
-        {
-        ShowWaitNoteL();
-        }
-
-    TFLOGSTRING2( "CSatUiViewAppUi::SelectItemL exit, return: %d", response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::MatoPrepareComplete
-// Indicates success or failure.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::MatoPrepareComplete(TInt aError)
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::MatoPrepareComplete called" )
-    TFLOGSTRING2( "CSatUiViewAppUi::MatoPrepareComplete error %i", aError )
-    if ( KErrNone == aError )
-        {
-        iPlayToneError = ESatSuccess;
-
-        TTimeIntervalMicroSeconds zero( static_cast<TInt64>( 0 ) );
-
-        iPlayer->SetPriority( KAudioPriorityLowLevel,
-               STATIC_CAST( TMdaPriorityPreference, KAudioPrefConfirmation ) );
-
-        iPlayer->SetRepeats( KMdaAudioToneRepeatForever, zero );
-
-        iPlayer->Play();
-        }
-    else
-        {
-        iPlayToneError = ESatFailure;
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::MatoPrepareComplete exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::MatoPlayComplete
-// Indicates success or failure.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::MatoPlayComplete( TInt aError )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::MatoPlayComplete calling" )
-    if ( KErrNone == aError && iPlayer )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::MatoPlayComplete play" )
-        iPlayer->Play();
-        }
-    else if ( iWait && iWait->IsStarted() )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::MatoPlayComplete stop playing" )
-        // Stops playing if error.
-        iWait->AsyncStop();
-        }
-    TFLOGSTRING2( "CSatUiViewAppUi::MatoPlayComplete exit, error %i", aError )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::PlayStandardToneL
-// Plays Standard Tone. If needed displays the text in a note
-// while playing.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::PlayStandardToneL(
-    const TDesC& aText,
-    const TDesC8& aSequence,
-    TTimeIntervalMicroSeconds aDuration,
-    const CFbsBitmap* aIconBitmap,
-    const TBool aSelfExplanatory )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::PlayStandardToneL called" )
-    StopShowWaitNote();
-    // Delete timer just in case e.g. if DisplayText was on the screen
-    DestroyCallBackTimer();
-
-    iPermanentNote = NULL;
-    iTimerRepeatOn = EFalse;
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::PlayStandardToneL length of aText %i", \
-        aText.Length() )
-    if (aText.Length() != 0)
-        {
-        iPermanentNote = new (ELeave) CAknStaticNoteDialog();
-        iPermanentNote->PrepareLC( R_SATUI_PERMANENT_NOTE );
-        
-        if ( ( !aSelfExplanatory ) || ( !aIconBitmap ) )
-            {
-            // Set text
-            iPermanentNote->SetTextL( aText );
-            }
-        
-        if ( aIconBitmap )
-            {
-            //Set image 
-            TFLOGSTRING( "CSatUiViewAppUi::PlayStandardToneL SetImage" )
-            // Get scalable bitmap if available.
-            CEikImage* image = new ( ELeave ) CEikImage();
-            CleanupStack::PushL( image );
-            image->SetBitmap( aIconBitmap ); 
-            iPermanentNote->SetImageL( image );
-            CleanupStack::Pop( image );
-            }
-        
-        iForegroundControl = iPermanentNote;
-        iPermanentNote->RunLD();
-        iPermanentNote->DrawNow();
-        iCoeEnv->WsSession().Flush();
-        }
-
-    iPlayer = CMdaAudioToneUtility::NewL(*this);
-
-    TInt volume( iPlayer->MaxVolume() );
-    iPlayer->SetVolume( volume );
-    TFLOGSTRING2( "CSatUiViewAppUi::PlayStandardToneL SetVolume %d",
-        volume )    
-
-    iPlayer->PrepareToPlayDesSequence( aSequence );
-
-    TTimeIntervalMicroSeconds max32Bit(
-        static_cast<TInt64>( K32TIntMaxValue ) );
-    
-    if ( aDuration > max32Bit )
-        {
-        // since timers can only handle 32-bit values,
-        // let's break the aDuration to smaller bits.
-        // we break it here to 8 bits to fit in 32-bit value
-        aDuration = aDuration.Int64() / KDivideByEight;
-        iTimerRepeatOn = ETrue;
-        }
-
-    CreateCallBackTimerL( I64INT( aDuration.Int64() ), DelayCallback );
-
-    if ( !iWait->IsStarted() )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::PlayStandardToneL starting iWait" )
-        iWait->Start();
-        TFLOGSTRING( "CSatUiViewAppUi::PlayStandardToneL strarting done" )
-        }
-
-    iPlayer->CancelPlay();
-
-    DestroyCallBackTimer();
-
-    delete iPlayer;
-    iPlayer = NULL;
-    
-    if ( iPermanentNote )
-        {
-        iPermanentNote->ExitSleepingDialog();
-        delete iPermanentNote;
-        iPermanentNote = NULL;
-        }
-    iForegroundControl = NULL;
-    
-    if ( !iEndKeyPressed )
-        {
-        ShowWaitNoteL();
-        }
-    
-    //get warning and game tones setting from active profile
-    GetProfileParamsL();
-    
-    if( ( EFalse == iWarningAndPlayTones ) && 
-                        ( ESatSuccess == iPlayToneError  ) )
-        {
-        iPlayToneError = ESatSuccessToneNotPlayed;
-        }
-        
-    TFLOGSTRING2( "CSatUiViewAppUi::PlayStandardToneL exit,return: %d", \
-        iPlayToneError )
-    return iPlayToneError;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ConfirmSendL
-// Displays a query to get confirmation for Send SMS,
-// Send SS or Send USSD command.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::ConfirmSendL(
-    const TDesC& /* aText */,
-    TBool& aActionAccepted,
-    TInt aType)
-    {
-    TFLOGSTRING2( "CSatUiViewAppUi::ConfirmSendL called, aType: %d", \
-        aType )
-    HBufC* textHolder = NULL;
-
-    switch ( aType )
-        {
-        case ESatUiConfirmSendSms:
-            textHolder = StringLoader::LoadLC( R_TEXT_SIMATK_SEND_SMS,
-                iCoeEnv );
-            break;
-        case ESatUiConfirmSendSs:
-        case ESatUiConfirmSendUssd: //the same string for SS and USSD
-            textHolder = StringLoader::LoadLC( R_TEXT_SIMATK_SEND_SS,
-                iCoeEnv );
-            break;
-        default:
-            return ESatFailure;
-        }
-        
-    TInt userResponse = RunQueryDialogL( R_SATUI_CONFIRM_SEND_CANCEL_QUERY,
-        *textHolder, NULL, EFalse, ESatUiSoftkeySend );
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::ConfirmSendL userResponse: %d", \
-        userResponse )
-    if ( userResponse )
-        {
-        aActionAccepted = ETrue;
-        }
-    else
-        {
-        aActionAccepted = EFalse;
-        }
-
-    if ( textHolder )
-        {
-        CleanupStack::PopAndDestroy( textHolder ); //textHolder
-        }
-
-    TFLOGSTRING( "CSatUiViewAppUi::ConfirmSendL return ESatSuccess" )
-    return ESatSuccess;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ShowSmsWaitNoteL
-// Displays a wait note to indicate SMS sending.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ShowSmsWaitNoteL( const TDesC& aText, 
-    const CFbsBitmap* aIconBitmapSendSM,
-    const TBool aSelfExplanatoryIcon )
-    {
-
-    TFLOGSTRING( "CSatUiViewAppUi::ShowSmsWaitNoteL called" )
-    
-    iWaitNoteInUse = ETrue;
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::ShowSmsWaitNoteL iWaitNote: %d", \
-        iWaitNote )
-    if ( NULL == iWaitNote )
-        {
-        iWaitNote = new(ELeave) CAknWaitDialog(
-            ( REINTERPRET_CAST( CEikDialog**, &iWaitNote ) ), ETrue );
-        iWaitNote->PrepareLC( R_SATUI_SMS_WAIT_NOTE );
-
-        if ( ( aText.Length() > 0 ) && ( !aSelfExplanatoryIcon ||
-            !aIconBitmapSendSM ) )
-            {
-            //Set text
-            TFLOGSTRING( "CSatUiViewAppUi::ShowSmsWaitNoteL SetText" )
-            iWaitNote->SetTextL( aText );
-            }
-            
-        if ( aIconBitmapSendSM )
-            {
-            //Set image
-            TFLOGSTRING( "CSatUiViewAppUi::ShowSmsWaitNoteL SetImage" )
-            CEikImage* image = new ( ELeave ) CEikImage();
-            CleanupStack::PushL( image );
-            image->SetBitmap( aIconBitmapSendSM );               
-            iWaitNote->SetImageL( image );
-            CleanupStack::Pop( image );
-            }
-            
-        iForegroundControl = iWaitNote;
-        iWaitNote->RunLD();
-        // iForegroundControl won't be clear until the wait dialog
-        // closed. It will avoid we lose the chance to set focus for
-        // the wait dialog when the switch of foreground/background
-        // happened.
-        }
-        
-    TFLOGSTRING( "CSatUiViewAppUi::ShowSmsWaitNoteL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ShowSsWaitNoteL
-// Displays a wait note to indicate SS sending.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ShowSsWaitNoteL( const TDesC& aText, 
-    const CFbsBitmap* aIconBitmap,
-    const TBool aSelfExplanatoryIcon )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ShowSsWaitNoteL called" )
-    
-    iWaitNoteInUse = ETrue;
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::ShowSsWaitNoteL iWaitNote: %d", \
-        iWaitNote )
-    if ( !iWaitNote )
-        {
-        iWaitNote = new ( ELeave ) CSatUiWaitDialog( 
-            ( REINTERPRET_CAST ( CEikDialog**,&iWaitNote ) ), 
-            *iAdapter, ETrue );
-        iForegroundControl = iWaitNote;
-        
-        TFLOGSTRING2( "CSatUiViewAppUi::ShowSsWaitNoteL length of aText: %d",\
-            aText.Length() )
-        // if there is an alpha id
-        if ( aText.Length() > 0 )
-            {
-            // if there is not an icon or it's not self explanatory
-            if ( ( !aSelfExplanatoryIcon ) || ( !aIconBitmap ) )
-                {
-                iWaitNote->SetTextL( aText );
-                }
-            
-            if ( aIconBitmap )
-                {
-                //Set image
-                TFLOGSTRING( "CSatUiViewAppUi::ShowSsWaitNoteL SetImage" )
-                CEikImage* image = new ( ELeave ) CEikImage();
-                CleanupStack::PushL( image );
-                image->SetBitmap( aIconBitmap );
-                iWaitNote->SetImageL( image );
-                CleanupStack::Pop( image );
-                }
-                
-            iWaitNote->ExecuteLD( R_SATUI_SS_WAIT_NOTE );
-            }
-        else
-            {
-            iWaitNote->ExecuteLD( R_SATUI_REQUESTING_WAIT_NOTE );    
-            }
-        // iForegroundControl won't be clear until the wait dialog
-        // closed. It will avoid we lose the chance to set focus for
-        // the wait dialog when the switch of foreground/background
-        // happened.
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::ShowSsWaitNoteL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ShowDtmfWaitNoteL
-// Shows a wait note while DTMF are being sent.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::ShowDtmfWaitNoteL( const TDesC& aText, 
-    const CFbsBitmap* aIconBitmap,
-    const TBool aSelfExplanatoryIcon )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ShowDtmfWaitNoteL called" )
-    TSatUiResponse response(ESatFailure);
-
-    iWaitNoteInUse = ETrue;
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::ShowDtmfWaitNoteL iWaitNote: %d", \
-        iWaitNote )
-    if ( !iWaitNote )
-        {
-        iWaitNote = new ( ELeave ) CSatUiWaitDialog(
-            (REINTERPRET_CAST( CEikDialog**,&iWaitNote ) ), *iAdapter, ETrue );
-        
-        if ( ( aText.Length() > 0 ) &&
-            ( ( !aSelfExplanatoryIcon ) || ( !aIconBitmap ) ) )
-            {
-            iWaitNote->SetTextL( aText );
-            }
-            
-        if ( aIconBitmap )
-            {
-            //Set image
-            TFLOGSTRING( "CSatUiViewAppUi::ShowDtmfWaitNoteL SetImage" )
-            CEikImage* image = new ( ELeave ) CEikImage();
-            CleanupStack::PushL( image );
-            image->SetBitmap( aIconBitmap ); 
-            iWaitNote->SetImageL( image );
-            CleanupStack::Pop( image );
-            }
-        
-        iForegroundControl = iWaitNote;
-        iWaitNote->ExecuteLD( R_SATUI_DTMF_WAIT_NOTE );
-        // iForegroundControl won't be clear until the wait dialog
-        // closed. It will avoid we lose the chance to set focus for
-        // the wait dialog when the switch of foreground/background
-        // happened.
-        response = ESatSuccess;
-        }
-    TFLOGSTRING2( "CSatUiViewAppUi::ShowDtmfWaitNoteL exit, return: %d",\
-        response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ConfirmRefreshL
-// Displays a query to get confirmation Refresh command.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::ConfirmRefreshL(TBool& aActionAccepted)
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ConfirmRefreshL called" )
-    StopShowWaitNote();
-
-    TSatUiResponse response( ESatSuccess );
-
-    HBufC* textHolder = NULL;
-
-    textHolder = StringLoader::LoadLC( R_QTN_SAT_QUERY_ALLOW_RESET,
-            iCoeEnv );
-            
-    TInt userResponse = RunQueryDialogL( R_SATUI_CONFIRM_OK_CANCEL_QUERY,
-        *textHolder, NULL, EFalse, EAknSoftkeyOk );
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::ConfirmRefreshL userResponse: %d", \
-        userResponse )
-    if ( userResponse )
-        {
-        aActionAccepted = ETrue;
-        }
-    else
-        {
-        aActionAccepted = EFalse;
-        }
-
-    if ( textHolder )
-        {
-        CleanupStack::PopAndDestroy( textHolder ); //textHolder
-        }
-
-    ShowWaitNoteL();
-
-    TFLOGSTRING2( "CSatUiViewAppUi::ConfirmRefreshL exit, return: %d",\
-        response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::CallControlL
-// Displays info about call control to user
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::CallControlL(
-    const TDesC& aText,
-    const TSatAlphaIdStatus aAlphaIdStatus )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::CallControlL called" )
-    
-    if ( !iCcNote ) 
-        {
-        iCcNote = CAknGlobalNote::NewL();
-        }
-    iCcNote->SetTone( CAknNoteDialog::ENoTone );
-    
-    if ( ESatAlphaIdNotNull == aAlphaIdStatus )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CallControlL AlphaIdNotNull" )
-        
-        // The note will be disabled by the phone UI when the call is 
-        // in connecting status. But call controll case is an exception, So we
-        // use RAknKeyLock to enable soft notifications.
-        RAknKeyLock keyLock;
-        TInt errorCode = keyLock.Connect();
-        TFLOGSTRING2( "CSatUiViewAppUi::CallControlL connect error %d", \
-            errorCode )
-        if ( KErrNone == errorCode )
-            {
-            keyLock.EnableSoftNotifications( ETrue );
-            }
-        keyLock.Close();
-        
-        iCcNote->SetSoftkeys( R_AVKON_SOFTKEYS_OK_EMPTY );
-        iCcNoteId = iCcNote->ShowNoteL( 
-                                       EAknGlobalInformationNote, aText );
-        CreateCallBackTimerL( K3Seconds, CloseCallControlNoteL );
-        if ( iWait && !iWait->IsStarted() )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::CallControlL iWait starting" )
-            iWait->Start();
-            }
-        DestroyCallBackTimer();
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CallControlL AlphaId Null" )
-        iCcNote->ShowNoteL( EAknGlobalInformationNote, aText );
-        }
-
-    if ( iCcNote )
-        {
-        delete iCcNote;
-        iCcNote = NULL;
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::CallControlL exit" )
-    
-    return ESatSuccess;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::MoSmControlL
-// Displays info about Mo SM control to user
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::MoSmControlL(
-    const TDesC& aText,
-    const TSatAlphaIdStatus aAlphaIdStatus )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::MoSmControlL called" )
-    if ( ESatAlphaIdNotNull == aAlphaIdStatus )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::MoSmControlL AlphaIdNotNull" )
-        CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            REINTERPRET_CAST( CEikDialog**,&dialog ),
-            CAknNoteDialog::ENoTone,
-            CAknNoteDialog::ELongTimeout );
-
-        dialog->PrepareLC( R_SATUI_MOSM_CONTROL_NOTE );
-
-        dialog->SetTextL( aText );
-
-        iForegroundControl = dialog;
-        dialog->RunLD();
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::MoSmControlL AlphaId Null" )
-        CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            REINTERPRET_CAST( CEikDialog**,&dialog ),
-            CAknNoteDialog::ENoTone,
-            CAknNoteDialog::ELongTimeout );
-
-        dialog->PrepareLC( R_SATUI_INFORMATION_NOTE );
-
-        dialog->SetTextL( aText );
-
-        iForegroundControl = dialog;
-        dialog->RunLD();
-        }
-    iForegroundControl = NULL;
-    TFLOGSTRING( "CSatUiViewAppUi::MoSmControlL exit" )
-    return ESatSuccess;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ConfirmLaunchBrowserL
-// Displays a query to get confirmation for Launch Browser
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ConfirmLaunchBrowserL(
-    const TDesC& aText,
-    TBool& aActionAccepted,
-    const CFbsBitmap* aIconBitmap,
-    const TBool aSelfExplanatory )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ConfirmLaunchBrowserL called" )
-    
-    TInt resource( 0 );
-    
-    if ( aIconBitmap )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ConfirmLaunchBrowserL icon" )
-        resource = R_SATUI_CONFIRM_OK_CANCEL_QUERY_WITH_ICON;
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ConfirmLaunchBrowserL no icon" )
-        resource = R_SATUI_CONFIRM_OK_CANCEL_QUERY;
-        }
-        
-    TInt userResponse = RunQueryDialogL( resource, aText, aIconBitmap,
-        aSelfExplanatory, EAknSoftkeyOk ); 
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::ConfirmLaunchBrowserL userResponse %d",\
-        userResponse )
-    if ( userResponse )
-        {
-        aActionAccepted = ETrue;
-        }
-    else
-        {
-        aActionAccepted = EFalse;
-        }
-        
-    TFLOGSTRING( "CSatUiViewAppUi::ConfirmLaunchBrowserL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::HandleCommandL
-// Called by CSatUiView::HandleCommandL.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::HandleCommandL(
-    TInt aCommand )
-    {
-    TFLOGSTRING2( "CSatUiViewAppUi::HandleCommandL called, aCommand: %d",\
-        aCommand )
-    switch ( aCommand )
-        {
-        case EEikCmdExit:
-            {
-            HandleExitCommandL();
-            break;
-            }
-        case EAknCmdHelp:
-            {
-            //Show Series 60 Help
-            HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), 
-                                                AppHelpContextL() );
-            break;
-            }
-        default: 
-            break;
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::HandleCommandL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::HandleExitCommandL
-// Handling of the exit softkey.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::HandleExitCommandL()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL called" )
-  
-    if ( iBipWaitNote )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL iBipWaitNote" )
-        SetCommandPending( EFalse );
-        }
-
-    if ( iWait )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL iWait " )
-        if ( iWait->IsStarted() )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL \
-                iWait->AsyncStop()" )
-            iWait->AsyncStop();
-            }
-        }
-
-    CloseDialogs();
-
-    if ( iEndKeyPressed )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL endkeypressed" )
-        // Inform SAT Server that end key has been pressed
-        iAdapter->SessionTerminated( EEndKeyUsed );        
-        }
-
-    if ( !iCommandPending )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL !iCommandPending" )
-
-        if ( iPlayer && EMdaAudioToneUtilityPlaying == iPlayer->State() )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL cancel playtone")
-            iPlayer->CancelPlay();
-            }
-            
-        if ( iAudioPlayer )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL cancel \
-                userselected tone" )
-            iAudioPlayer->Stop();
-            delete iAudioPlayer;
-            iAudioPlayer = NULL;
-            TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL\
-                iAudioPlayer deleted" )
-            }
-        TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL exiting AppUI ")
-        Exit();
-        }
-    if ( iWaitNoteInUse )
-        {
-        iCommandPending = EFalse;
-        }
-    if ( iSelectItemPending && !iEndKeyPressed )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL SelectItem pending" )
-        iSessionTerminated = ETrue;
-        iSelectItemView->HandleCommandL( ESatUiCmdExit );
-        }
-
-    TFLOGSTRING( "CSatUiViewAppUi::HandleExitCommandL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::HandleWsEventL
-// Handling of the window server events.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::HandleWsEventL( 
-        const TWsEvent& aEvent,
-        CCoeControl* aDestination )
-    {
-    switch ( aEvent.Type() )
-        {
-        // This is End key closing event. If this window server event is 
-        // received, by default application will be closed unless it is 
-        // the system application.
-        case KAknUidValueEndKeyCloseEvent:
-            {            
-            // Performs the same behaviour as when Exit softkey is pressed.
-            TFLOGSTRING( "CSatUiViewAppUi::HandleWsEventL End key pressed" )
-            iEndKeyPressed = ETrue;
-            HandleExitCommandL();
-            break;
-            }
-        case EEventPointer:
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::HandleWsEventL EEventPointer" )
-            const TPointerEvent& pointer = *( aEvent.Pointer() );
-            const TPointerEvent::TType pointerType = pointer.iType;
-            
-            if ( ( TPointerEvent::EButton1Down == pointerType ) ||
-                 ( TPointerEvent::EButton2Down == pointerType ) ||
-                 ( TPointerEvent::EButton3Down == pointerType ) )
-                {
-                TFLOGSTRING( "CSatUiViewAppUi::HandleWsEventL EEventPointer\
-                    handle the event" )
-                // Check if we need to end play tone    
-                StopPlayToneL();
-                }
-            break;
-            }
-        case EEventKeyDown:
-            {
-            // Handles other user key presses
-            TFLOGSTRING( "CSatUiViewAppUi::HandleWsEventL EEventKeyDown" )
-            // Check if we need to end play tone
-            StopPlayToneL();
-            if ( iImmediateDigitResponse )
-                {
-                HandleImmediateDigitResponse( aEvent.Key()->iScanCode );
-                }
-            break;
-            }
-
-        default:
-            break;
-        }
-    // Forwards event to the base class.
-    CAknViewAppUi::HandleWsEventL( aEvent, aDestination );
-    PriorityVerifyAndClose( aEvent );
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::HelpStatus
-// Help support status
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::HelpStatus( TBool aStatus )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::HelpStatus calling" )
-    iHelp = aStatus;
-    TFLOGSTRING( "CSatUiViewAppUi::HelpStatus exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::DelayCallback
-// Delay Callback function. Completes after predefined 
-// time has passed
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CSatUiViewAppUi::DelayCallback( TAny* aPtr )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::DelayCallback calling" )
-    if ( ((CSatUiViewAppUi* )aPtr)->iTimerRepeatOn )
-        {
-        if ( ((CSatUiViewAppUi* )aPtr)->iTimerRepeatCount++ == KDivideByEight )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::DelayCallback  -- 1" )
-            if ( ((CSatUiViewAppUi* )aPtr)->iWait->IsStarted() )
-                {
-                TFLOGSTRING( "CSatUiViewAppUi::DelayCallback  -- 2" )
-                ((CSatUiViewAppUi* )aPtr)->iWait->AsyncStop();
-                }
-            if ( ( ( CSatUiViewAppUi* ) aPtr )->iGetInputDialog ||
-                ( ( CSatUiViewAppUi* ) aPtr )->iQueryDialog )
-                {
-                TFLOGSTRING( "CSatUiViewAppUi::DelayCallback  -- 3" )
-                ( ( CSatUiViewAppUi* ) aPtr )->
-                    iNoResponseFromUserAfterDelay = ETrue;
-                ( ( CSatUiViewAppUi* ) aPtr )->CloseDialogs();
-                }
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::DelayCallback  -- 4" )
-            return ( ETrue );
-            }
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DelayCallback  -- 5" )
-        if ( ((CSatUiViewAppUi* )aPtr)->iWait->IsStarted() )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::DelayCallback  -- 6" )
-            ((CSatUiViewAppUi* )aPtr)->iWait->AsyncStop();
-            }
-        }
-
-    // Close DisplayText dialog if clearing after delay is requested
-    if ( ((CSatUiViewAppUi* )aPtr)->iDisplayTextDialog ||
-        ((CSatUiViewAppUi* )aPtr)->iDisplayTextIconDialog )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DelayCallback  -- 7" )
-        ( ( CSatUiViewAppUi* ) aPtr )->iNoResponseFromUserAfterDelay = ETrue;
-        ( ( CSatUiViewAppUi* ) aPtr )->ClearScreen();
-        }    
-    else if ( ( ( CSatUiViewAppUi* ) aPtr )->iGetInputDialog ||
-        ( ( CSatUiViewAppUi* ) aPtr )->iQueryDialog )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DelayCallback  -- 8" )
-        ( ( CSatUiViewAppUi* ) aPtr )->iNoResponseFromUserAfterDelay = ETrue;
-        ( ( CSatUiViewAppUi* ) aPtr )->CloseDialogs();
-        }
-
-    TFLOGSTRING( "CSatUiViewAppUi::DelayCallback exiting" )
-    return ( EFalse );
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::CreateCallBackTimerLC
-// Creates a callback timer
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::CreateCallBackTimerL( const TInt aDelay, 
-    TInt (*aFunction)(TAny* aPtr) )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::CreateCallBackTimerLC called" )
-    iTimerRepeatCount = 0;
-    iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-
-    if ( iTimerRepeatOn )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CreateCallBackTimerLC repeating" )
-        iTimer->Start( aDelay, aDelay,
-            TCallBack( aFunction, this  ) );
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CreateCallBackTimerLC \
-            no repeating" )
-        iTimer->Start( aDelay, KMicroSecondsInSecond,
-            TCallBack( aFunction, this  ) );
-        }
-    
-    TFLOGSTRING( "CSatUiViewAppUi::CreateCallBackTimerLC exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::DestroyCallBackTimer
-// Destroys the callback timer
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::DestroyCallBackTimer( )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::DestroyCallBackTimer() called" )
-    delete iTimer;
-    iTimer = NULL;
-    iTimerRepeatOn = EFalse;
-    TFLOGSTRING( "CSatUiViewAppUi::DestroyCallBackTimer() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ProcessCommandParametersL
-// Takes care of external launching.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TBool CSatUiViewAppUi::ProcessCommandParametersL(
-    TApaCommand aCommand,
-    TFileName& aDocumentName,
-    const TDesC8& aTail )
-    {
-    TFLOGSTRING2( "CSatUiViewAppUi::ProcessCommandParametersL called,\
-        aCommand: %d", aCommand )    
-    // TApaCommand is 0 for SIM originated opening and 2 for user originated
-    // opening. Empty view is only needed for SIM originated opening. 
-    if ( EApaCommandOpen == aCommand )
-        {
-        // Creates empty view for commands without view.
-        CreateEmptyMenuL();
-        }
-    
-    TFLOGSTRING( "CSatUiViewAppUi::ProcessCommandParametersL exit" )
-    return CAknViewAppUi::ProcessCommandParametersL( aCommand, aDocumentName, 
-                                                     aTail );
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::DispatchUserInactive
-// Called when user has been inactive for a pre-defined time period
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CSatUiViewAppUi::DispatchUserInactive( TAny* aPtr )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::DispatchUserInactive calling" )
-    ((CSatUiViewAppUi* )aPtr)->iNoResponseFromUserAfterDelay = ETrue;
-
-    //lint -e{961} else block not needed.
-    if ( ( ( CSatUiViewAppUi* ) aPtr )->iDisplayTextDialog ||
-        ( ( CSatUiViewAppUi* ) aPtr )->iDisplayTextIconDialog )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DispatchUserInactive clear screen" )
-        ( ( CSatUiViewAppUi* ) aPtr )->ClearScreen();
-        }
-    else if ( ( ( CSatUiViewAppUi* ) aPtr )->iQueryDialog ||
-        ( (CSatUiViewAppUi* ) aPtr )->iGetInputDialog )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::DispatchUserInactive close dialog" )
-        ( ( CSatUiViewAppUi* ) aPtr )->CloseDialogs();
-        }
-
-    TFLOGSTRING( "CSatUiViewAppUi::DispatchUserInactive exiting" )
-    return (EFalse);
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::MakeGetInputBitmapMask
-// Make a mask for get input icon
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::MakeGetInputBitmapMask( CFbsBitmap* aMask,
-        TSize aSize ) const
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::MakeGetInputBitmapMask calling" )
-    TInt width = aSize.iWidth;
-    TInt height = aSize.iHeight;
-    aMask->Create( TSize( width, height ), EColor16M );
-
-    TBitmapUtil bitmap1Util( aMask );
-    // Begin manipulation with bitmap1Util, setting initial pixel to 0,0 
-    bitmap1Util.Begin( TPoint( 0,0 ) ); 
-
-    // Make mask which covers whole icon
-    for ( TInt y = 0; y < height; y++ )
-        {
-        for ( TInt x = 0; x < width; x++ )
-            {
-            bitmap1Util.SetPos( TPoint( x, y ) );
-            bitmap1Util.SetPixel( 0x0000ff );
-            }
-        }
-    bitmap1Util.End();
-    TFLOGSTRING( "CSatUiViewAppUi::MakeGetInputBitmapMask exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::DispatchTimer
-// Dispatch iWait to action implementer.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-// 
-void CSatUiViewAppUi::DispatchTimer( CActiveSchedulerWait& aWait )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::DispatchTimer calling" )
-    iWait = &aWait;
-    TFLOGSTRING( "CSatUiViewAppUi::DispatchTimer exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::GetEndKey
-// Get a flag which is indicating if end key is pressed.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TBool CSatUiViewAppUi::GetEndKey()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::GetEndKey calling-exiting" )
-    return iEndKeyPressed;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::SetEndKey
-// Set a flag which is indicating if end key is pressed.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::SetEndKey( TBool aValue )
-    {
-    TFLOGSTRING2( "CSatUiViewAppUi::SetEndKey calling, aValue:%d", aValue )
-    iEndKeyPressed = aValue;
-    TFLOGSTRING( "CSatUiViewAppUi::SetEndKey exiting" )    
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::SetCommandPending
-// Set a flag which is indicating proactive command is pending.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::SetCommandPending( TBool aValue )
-    {
-    TFLOGSTRING2( "CSatUiViewAppUi::SetCommandPending calling, aValue:%d", \
-        aValue )
-    iCommandPending = aValue;
-    if ( aValue )
-        {
-        // Cancels a request to save RAM when higher than normal buffer size is
-        // no longer required.
-        CAknEnv::Static()->CancelWsBufferRequest( iReqWSBufferID );
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::SetCommandPending exiting" )  
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::CloseDialogs
-// Close all existing dialogs.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::CloseDialogs()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::CloseDialogs() called" )
-    if ( iWaitNote || iBipWaitNote || iNoteDialog ) 
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CloseDialogs() StopShowWaitNote" )
-        StopShowWaitNote();
-        }
-    if ( iDisplayTextDialog )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CloseDialogs() iDisplayTextDialog" )
-        delete iDisplayTextDialog;
-        iDisplayTextDialog = NULL;
-        iImmediateRsp = EFalse;
-        }
-    if ( iDisplayTextIconDialog )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CloseDialogs() iDisplayTextIconDialog" )
-        delete iDisplayTextIconDialog;
-        iDisplayTextIconDialog = NULL;
-        iImmediateRsp = EFalse;
-        }
-    if ( iGetInputDialog )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CloseDialogs() iGetInputDialog" )
-        TRAP_IGNORE( iGetInputDialog->DismissQueryL() )
-        iGetInputDialog = NULL;
-        }
-    if ( iQueryDialog )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CloseDialogs() iQueryDialog" )
-        delete iQueryDialog;
-        iQueryDialog = NULL;
-        }
-    if ( iPermanentNote )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CloseDialogs() iPermanentNote" )
-        // CAknNoteDialog has already performed deletion when user action.
-        iPermanentNote = NULL;
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::CloseDialogs() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::MapcInitComplete
-// Plays the tone.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::MapcInitComplete( TInt aError, 
-    const TTimeIntervalMicroSeconds& /*aDuration*/ )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::MapcInitComplete called" )
-    // Audio player is initialised, so if there is no error, we can start 
-    // playing the tone.
-    if( KErrNone == aError )
-        {
-        const TInt volume( Max( 0, Min( iVolume, 
-                           iAudioPlayer->MaxVolume() ) ) );
-        TFLOGSTRING2( "CSatUiViewAppUi::\
-            MapcInitComplete SetVolume %i", volume )
-        // Set volume according Settings. 
-        iAudioPlayer->SetVolume( volume );
-        iAudioPlayer->Play();
-        TFLOGSTRING( "CSatUiViewAppUi::MapcInitComplete Play" )
-        }
-    else
-        {
-        // Otherwise, we delete the initialised audio player.
-        if ( iAudioPlayer )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::MapcInitComplete iAudioPlayer \
-                          true" )
-            delete iAudioPlayer;
-            iAudioPlayer = NULL;
-            }
-
-        // Remove also the note for play tone
-        if ( iPermanentNote )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::MapcInitComplete iPermanentNote \
-                          true" )
-            iPermanentNote->ExitSleepingDialog();
-            delete iPermanentNote;
-            iPermanentNote = NULL;
-            }
-
-        // If there was a duration for play tone, stop waiting
-        if ( iWait->IsStarted() )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::MapcInitComplete stop iWait" )
-            iWait->AsyncStop();
-            }
-
-        TFLOGSTRING2( "CSatUiViewAppUi::MapcInitComplete Error %i", aError )
-        }
-
-    TFLOGSTRING( "CSatUiViewAppUi::MapcInitComplete exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::MapcPlayComplete
-// Deletes audio player after playing is completed.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::MapcPlayComplete( TInt aError )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::MapcPlayComplete called" )
-    
-    // When playing is completed, deleting the audio player.
-    if ( iAudioPlayer )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::MapcPlayComplete delete iAudioPlayer" )
-        delete iAudioPlayer;
-        iAudioPlayer = NULL;
-        }
-    // Remove note after play has completed.
-    if ( iPermanentNote )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::MapcPlayComplete ExitSleepingDialog" )
-        iPermanentNote->ExitSleepingDialog();
-        delete iPermanentNote;
-        iPermanentNote = NULL;
-        }
-    // Show wait note only for samples that have duration, otherwise there is
-    // chance that wait note is not stopped.
-    if ( TTimeIntervalMicroSeconds( static_cast<TInt64>( 0 ) ) != iDuration )
-        {
-        // It does not affect for tone playing if wait note
-        // is not able to show.
-        TFLOGSTRING( "CSatUiViewAppUi::MapcPlayComplete ShowWaitNoteL" )
-        TRAP_IGNORE( ShowWaitNoteL() )
-        }
-
-    TFLOGSTRING2( "CSatUiViewAppUi::MapcPlayComplete exit, error:%i", aError )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::PlayUserSelectedToneL
-// Plays user selected tone from active Profile. 
-// If needed displays the text in a note while playing.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::PlayUserSelectedToneL(
-    const TDesC& aText,
-    TTimeIntervalMicroSeconds aDuration,
-    TSatTone aTone,
-    const CFbsBitmap* aIconBitmap,
-    const TBool aSelfExplanatory )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::PlayUserSelectedToneL called" )
-    StopShowWaitNote();
-    // Delete timer just in case e.g. if DisplayText was on the screen
-    DestroyCallBackTimer();
-
-    iPermanentNote = NULL;
-    iDuration = aDuration;
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::PlayUserSelectedToneL length of aText \
-        %d", aText.Length() )
-    if ( 0 != aText.Length() )
-        {
-        iPermanentNote = new (ELeave) CAknStaticNoteDialog();
-        iPermanentNote->PrepareLC( R_SATUI_PERMANENT_NOTE );
-        
-        if ( ( !aSelfExplanatory ) || ( !aIconBitmap ) )
-            {
-            // Set text
-            iPermanentNote->SetTextL( aText );
-            }
-        
-        if ( aIconBitmap )
-            {
-            //Set image 
-            TFLOGSTRING( "CSatUiViewAppUi::PlayUserSelectedToneL SetImage" )
-            CEikImage* image = new ( ELeave ) CEikImage();
-            CleanupStack::PushL( image );
-            image->SetBitmap( aIconBitmap ); 
-            iPermanentNote->SetImageL( image );
-            CleanupStack::Pop( image );
-            }
-        
-        iPermanentNote->SetTimeout( CAknNoteDialog::ENoTimeout );
-        iForegroundControl = iPermanentNote;
-        iPermanentNote->RunLD();
-        }
-
-    // If several messages/calls arrive during a small amount of time and if the
-    // message received or incoming call tone is already being played we do not 
-    // restart it.
-    if ( iAudioPlayer )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::\
-            PlayUserSelectedToneL Error - already played" )
-        return ESatFailure;
-        }
-
-    // This defines name for the current message alert or incoming call tone. 
-    TBuf<KMaxSoundFileLength> soundFileName;
-    GetProfileParamsL( aTone, &soundFileName );
-    // This defines the behaviour to be adopted by an
-    // audio client if a higher priority client takes over the device.
-    TInt mdaPriority( KAudioPrefIncomingCall );
-    // This is used to resolve conflicts when more than one client tries to 
-    // access the same sound output device simultaneously.
-    TInt audioPriority( KAudioPriorityPhoneCall );
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::PlayUserSelectedToneL\
-        Volume is %i ", iVolume )
-
-    // Creates the audio player.
-    iAudioPlayer = CMdaAudioPlayerUtility::NewFilePlayerL( 
-        soundFileName,                                                
-        *this,                                              
-        audioPriority,                                                  
-        ( TMdaPriorityPreference ) mdaPriority );
-
-    if ( TTimeIntervalMicroSeconds( static_cast<TInt64>( 0 ) ) != aDuration )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::PlayUserSelectedToneL duration not 0" )
-        TTimeIntervalMicroSeconds max32Bit( 
-            static_cast<TInt64>( K32TIntMaxValue ) );
-        if ( aDuration > max32Bit )
-            {
-            // Timers can only handle 32-bit values 
-            // and 64-bit value is received.
-            // Let's break the aDuration to smaller bits.
-            // Divided here by 8 to fit in 32-bit maxvalue.
-            // Loops 8 times in DelayCallback to play tone
-            // right duration. 
-            aDuration = aDuration.Int64() / KDivideByEight;
-            iTimerRepeatOn = ETrue;
-            }
-        iAudioPlayer->SetRepeats( KSoundPlayerRepeatForever, 
-                                  TTimeIntervalMicroSeconds( 
-                                  static_cast<TInt64>( 0 ) ) );
-        CreateCallBackTimerL( I64INT( aDuration.Int64() ), DelayCallback );
-        
-        if ( !iWait->IsStarted() )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::PlayUserSelectedToneL\
-                starting iWait" )
-            iWait->Start();
-            TFLOGSTRING( "CSatUiViewAppUi::PlayUserSelectedToneL\
-                strarting done" )
-            }
-        
-        // Sample is played in forever loop for the duration.
-        // After duration call back timers are destroyed       
-        DestroyCallBackTimer();
-        // If player exists, stop playing and delete player. MapcPlayComplete
-        // is not called because CallBackTimer stops the playing.
-        if ( iAudioPlayer )
-            {
-            iAudioPlayer->Stop();
-            delete iAudioPlayer;
-            iAudioPlayer = NULL;
-            TFLOGSTRING( "CSatUiViewAppUi::PlayUserSelectedToneL\
-                iAudioPlayer deleted" )
-            }
-        // Remove note after play has completed.
-        if ( iPermanentNote )
-            {
-            iPermanentNote->ExitSleepingDialog();
-            delete iPermanentNote;
-            iPermanentNote = NULL;
-            }
-        iForegroundControl = NULL;
-        
-        if ( !iEndKeyPressed )
-            {
-            ShowWaitNoteL();
-            }
-            
-        }
-    else
-        {
-        // If duration is zero then tone is played only once.
-        // Playing duration is same as duration of the sample.
-        iAudioPlayer->SetRepeats(
-            0, TTimeIntervalMicroSeconds( static_cast<TInt64>( 0 ) ) );
-        TFLOGSTRING( "CSatUiViewAppUi::PlayUserSelectedToneL SetRepeats 0" )
-        }
-
-    TFLOGSTRING( "CSatUiViewAppUi::PlayUserSelectedToneL exit" )
-    if( EFalse == iWarningAndPlayTones )
-        {
-        return ESatSuccessToneNotPlayed;
-        }
-        
-    return ESatSuccess;
-    }
-
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ConfirmOpenChannelL
-// Displays a query to get confirmation for Open Channel command.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TSatUiResponse CSatUiViewAppUi::ConfirmOpenChannelL(
-    const TDesC& aText,
-    TBool& aActionAccepted,
-    const CFbsBitmap* aIconBitmapOpenChannel,
-    const TBool aSelfExplanatory )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ConfirmOpenChannelL called" )
-    
-    TSatUiResponse response( ESatSuccess );
-    TInt resource( 0 );
-    TPtrC textPtr( aText );
-    HBufC* textHolder = NULL;
-    
-    if ( aIconBitmapOpenChannel )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ConfirmOpenChannelL have icon" )
-        resource = R_SATUI_CONFIRM_OK_CANCEL_QUERY_WITH_ICON;
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ConfirmOpenChannelL no icon" )
-        resource = R_SATUI_CONFIRM_OK_CANCEL_QUERY;
-        
-        TFLOGSTRING2( "CSatUiViewAppUi::ConfirmOpenChannelL length of \
-            aText %d", aText.Length() )
-        if ( 0 == aText.Length() )
-            {
-            textHolder = StringLoader::LoadLC( R_QTN_SAT_CONF_OPEN_CHANNEL_BIP,
-                iCoeEnv );    
-            textPtr.Set( *textHolder ); 
-            }
-        }
-    
-    TInt userResponse = RunQueryDialogL( resource, textPtr,
-        aIconBitmapOpenChannel, aSelfExplanatory, EAknSoftkeyOk );
-        
-    if ( textHolder )
-        {
-        CleanupStack::PopAndDestroy( textHolder ); 
-        }
-
-    if ( userResponse )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ConfirmOpenChannelL action accepted" )
-        aActionAccepted = ETrue;
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ConfirmOpenChannelL action not \
-            accepted" )
-        aActionAccepted = EFalse;
-        }
-
-    
-
-    ShowWaitNoteL();
-
-    TFLOGSTRING2( "CSatUiViewAppUi::ConfirmOpenChannelL exit,return: %d",\
-        response )
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ShowBIPNoteL
-// Displays the BIP note.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ShowBIPNoteL( TInt aCommand, const TDesC& aText,
-    const CFbsBitmap* aIconBitmap,
-    const TBool aSelfExplanatory )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL() called" )
-    TFLOGSTRING2( "CSatUiViewAppUi::ShowBIPNoteL() aCommand: %d", aCommand )
-    
-    iWaitNoteInUse = ETrue;
-    TBool showNote( EFalse );
-    TInt resourceId( 0 );
-    switch ( aCommand )
-        {
-        case ESendDataIdentier: // fall through
-        case EReceiveDataIdentifier:
-            {
-            resourceId = R_SATUI_BIP_WAIT_NOTE;
-            showNote = ETrue;
-            break;
-            }
-        case ECloseChannelIdentifier:
-            {
-            HBufC* textHolder = StringLoader::LoadLC(
-                        R_QTN_SAT_CONF_CLOSE_CHANNEL_BIP, iCoeEnv );
-                        
-            if ( !iNoteDialog )
-                {
-                TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL no NoteDialog" )
-                iNoteDialog = new (ELeave) CAknNoteDialog(
-                    REINTERPRET_CAST( CEikDialog**, &iNoteDialog ),
-                    CAknNoteDialog::ENoTone,
-                    CAknNoteDialog::EShortTimeout );
-                              
-                if ( aIconBitmap )
-                    {
-                    iNoteDialog->PrepareLC( R_SATUI_CLOSE_CHANNEL_ICON_NOTE );
-                    //Set image
-                    TFLOGSTRING(
-                        "CSatUiViewAppUi::ShowBIPNoteL SetImage" )
-                    CEikImage* image = new ( ELeave ) CEikImage();
-                    CleanupStack::PushL( image );
-                    image->SetBitmap( aIconBitmap );
-                    iNoteDialog->SetImageL( image );
-                    CleanupStack::Pop( image );
-                    }
-                else
-                    {
-                    TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL no Icon" )
-                    iNoteDialog->PrepareLC( R_SATUI_CLOSE_CHANNEL_NOTE );
-                    }
-                
-                // inform the user using received alpha id
-                if ( ( aText.Length() > 0 ) &&
-                    ( !aSelfExplanatory || !aIconBitmap ) )
-                    {
-                    TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL using \
-                        received alpha id" )
-                    iNoteDialog->SetTextL( aText );
-                    }
-                // inform the user using localized text
-                else if ( aText.Length() == 0 )
-                    {
-                    TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL using \
-                        localized text" )
-                    iNoteDialog->SetTextL( *textHolder );
-                    }
-                    
-                iForegroundControl = iNoteDialog;
-                iNoteDialog->RunLD();    
-                // iForegroundControl won't be clear until the note dialog
-                // closed. It will avoid we lose the chance to set focus for
-                // the wait dialog when the switch of foreground/background
-                // happened.
-                }
-                
-            CleanupStack::PopAndDestroy( textHolder ); // textHolder
-            
-            showNote = EFalse;
-            break;
-            }
-        default:
-            {
-            showNote = EFalse;
-            break;
-            }
-        }
-    if ( showNote )
-        {
-        
-        // First, stop normal wait note.
-        if ( iWaitNote )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL() Closing WaitNote" )
-            TRAP_IGNORE( iWaitNote->ProcessFinishedL() )
-            iWaitNote = NULL;
-            }
-        
-        if ( !iBipWaitNote )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL() no  BipWaitNote" )
-            iBipWaitNote = new ( ELeave ) CSatUiWaitDialog(
-                (REINTERPRET_CAST(CEikDialog**,&iBipWaitNote)),
-                *iAdapter, ETrue );
-
-            if ( ( aText.Length() > 0 ) && ( !aSelfExplanatory ||
-                !aIconBitmap ) )
-                {
-                iBipWaitNote->SetTextL( aText );
-                }
-                
-            if ( aIconBitmap )
-                {
-                //Set image
-                TFLOGSTRING(
-                    "CSatUiViewAppUi::ShowBIPNoteL SetImage" )    
-                CEikImage* image = new ( ELeave ) CEikImage();
-                CleanupStack::PushL( image );
-                image->SetBitmap( aIconBitmap );      
-                iBipWaitNote->SetImageL( image );
-                CleanupStack::Pop( image );
-                }
-            
-            iForegroundControl = iBipWaitNote;
-            iBipWaitNote->ExecuteLD( resourceId );
-            // iForegroundControl won't be clear until the BipWait dialog
-            // closed. It will avoid we lose the chance to set focus for
-            // the wait dialog when the switch of foreground/background
-            // happened.
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL() have BipWaitNote" )
-            // BIP note already exists, update text if not with self
-            // explanatory icon
-            if ( ( aText.Length() > 0 ) &&
-                ( !aSelfExplanatory || !aIconBitmap ) )
-                {
-                iBipWaitNote->SetTextL( aText );
-                }
-            else if ( aSelfExplanatory && aIconBitmap )
-                {
-                const TDesC emptyText( KNullDesC );
-                iBipWaitNote->SetTextL( emptyText );
-                }
-            // BIP note already exists, update image
-            if ( aIconBitmap )
-                {
-                //Set image
-                TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL SetImage" )   
-                CEikImage* image = new ( ELeave ) CEikImage();
-                CleanupStack::PushL( image ); 
-                image->SetBitmap( aIconBitmap );            
-                iBipWaitNote->SetImageL( image );
-                CleanupStack::Pop( image );
-                }
-            }
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::ShowBIPNoteL() exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::RemoveNullCharacters
-// Null characters are removed from text
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::RemoveNullCharacters( HBufC* aText )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::RemoveNullCharacters calling" )
-    TPtr titleptr = aText->Des();
-    TInt nullLocation( 0 );
-    while ( ( nullLocation = titleptr.Locate( NULL ) ) >= 0 )
-        {
-        titleptr.Delete( nullLocation, 1 );
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::RemoveNullCharacters exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ConfirmSetUpCallL
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ConfirmSetUpCallL( 
-    const TDesC& aText,
-    const TDesC& aSimAppName,
-    TBool& aActionAccepted,
-    const CFbsBitmap* aIconBitmap,
-    const TBool aSelfExplanatory )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ConfirmSetUpCallL calling" )
-    
-    aActionAccepted = EFalse;
-    TPtrC text( aText );
-    HBufC* textHolder = NULL;
-    HBufC* titleHolder = NULL;    
-    TInt resource( 0 );
-    
-    if ( aIconBitmap )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ConfirmSetUpCallL have icon" )
-        resource = R_SATUI_CONFIRM_CALL_CANCEL_QUERY_WITH_ICON;
-
-        }
-    else
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ConfirmSetUpCallL no icon" )
-        resource = R_SATUI_CONFIRM_CALL_CANCEL_QUERY;
-        
-        TFLOGSTRING2( "CSatUiViewAppUi::ConfirmSetUpCallL length of aText, \
-            %d", aText.Length() )
-        if ( aText.Length() == 0 )
-            {
-            
-            if ( aSimAppName.Length() > 0 )
-                {
-                titleHolder = aSimAppName.AllocLC();
-                }
-            else
-                {
-                titleHolder = StringLoader::LoadLC( R_QTN_SAT_QUERY_TITLE, 
-                    iCoeEnv );
-                }
-
-            textHolder = StringLoader::LoadLC( R_TEXT_CALL_SETUP_BY_SIMATK, 
-                *titleHolder, iCoeEnv );
-
-            RemoveNullCharacters( textHolder );
-
-            text.Set(*textHolder);
-            }
-        }
-
-    TInt userResponse = RunQueryDialogL( resource, text, aIconBitmap,
-        aSelfExplanatory, ESatUiSoftkeyCall );
-
-    if ( textHolder )
-        {
-        CleanupStack::PopAndDestroy( textHolder ); //textHolder
-        }
-
-    if ( titleHolder )
-        {
-        CleanupStack::PopAndDestroy( titleHolder ); //titleHolder
-        }
-    
-    if ( userResponse )
-        {
-        aActionAccepted = ETrue;
-        }
-
-    TFLOGSTRING( "CSatUiViewAppUi::ConfirmSetUpCallL exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ShowNotAvailableNoteL
-// Show note indicating SAT is not available
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ShowNotAvailableNoteL()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ShowNotAvailableNoteL() called" )
-    CAknNoteDialog* noteDialog = new (ELeave) CAknNoteDialog(
-        REINTERPRET_CAST(CEikDialog**,&noteDialog),
-        CAknNoteDialog::ENoTone,
-        CAknNoteDialog::ELongTimeout );
-
-    HBufC* textHolder = StringLoader::LoadLC( R_QTN_SAT_SERVICES_NOT_AVAILABLE,
-            iCoeEnv );
-
-    noteDialog->PrepareLC( R_SATUI_INFORMATION_NOTE );
-    noteDialog->SetTextL( *textHolder );
-    iForegroundControl = noteDialog;
-    noteDialog->RunLD();
-    iForegroundControl = NULL;
-    
-    CleanupStack::PopAndDestroy( textHolder );
-    
-    TFLOGSTRING( "CSatUiViewAppUi::ShowNotAvailableNoteL() exit" )    
-    }
-    
-// ---------------------------------------------------------
-// CSatUiViewAppUi::RunQueryIconDialogL
-// Make and run note dialog with an icon
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CSatUiViewAppUi::RunQueryDialogL(
-    TInt aResourceId, const TDesC& aText, const CFbsBitmap* aIconBitmap,
-    const TBool aSelfExplanatory, TInt aMskCommand )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::RunQueryDialogL called" )
-    CEikImage* image = new(ELeave) CEikImage;
-    CleanupStack::PushL( image );     
-    iQueryDialog = CAknQueryDialog::NewL();
-    iQueryDialog->PrepareLC( aResourceId );
-    TInt userResponse( 0 );
-
-    if ( aIconBitmap )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::RunQueryDialogL set icon" ) 
-        image->SetBitmap( aIconBitmap );
-    
-        // Create mask for icon bitmap
-        CFbsBitmap* mask = new(ELeave) CFbsBitmap;
-        TSize size = aIconBitmap->SizeInPixels();
-        MakeGetInputBitmapMask( mask, size );
-        image->SetMask( mask );
-        // Add icon to query
-        iQueryDialog->QueryHeading()->SetHeaderImageL( image );
-        }
-
-    if ( !aSelfExplanatory || !aIconBitmap )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::RunQueryDialogL set text" )
-        TPtrC textPtr( aText );
-        // Icon is not self-explanatory, show also text
-        iQueryDialog->SetPromptL( textPtr );            
-        }
-                   
-    // Set MSK same as LSK without any text causing the icon drawing
-    iQueryDialog->ButtonGroupContainer().SetCommandL(
-        CEikButtonGroupContainer::EMiddleSoftkeyPosition, aMskCommand,
-        KSatEmptyDes );
-    iForegroundControl = iQueryDialog;
-    userResponse = iQueryDialog->RunLD();
-    iForegroundControl = NULL;
-    CleanupStack::PopAndDestroy( image ); // image
-
-    iQueryDialog = NULL;
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::RunQueryDialogL exit,return: %d", \
-        userResponse )
-    return userResponse;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::CloseSatUI
-// Start SatUi closing process
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::CloseSatUI()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::CloseSatUI called" )
-    
-    TRAP_IGNORE( HandleExitCommandL() );
-    
-    if ( !IsAppShutterRunning() )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::CloseSatUI RunAppShutter" )
-        RunAppShutter();
-        }    
-    
-    TFLOGSTRING( "CSatUiViewAppUi::CloseSatUI exit" )
-    }
-    
-// ---------------------------------------------------------
-// CSatUiViewAppUi::GetProfileParamsL
-// Get and store settings from current profile 
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::GetProfileParamsL( TSatTone aTone /*= ESatToneNotSet*/,
-                                         TDes* aToneName /*= NULL*/ )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::GetProfileParamsL calling" )
-    
-    MProfile* profile = NULL;
-    MProfileEngine* engine = NULL;
-    
-    engine = CreateProfileEngineL();
-    CleanupReleasePushL( *engine );
-        
-    profile = engine->ActiveProfileLC();
-               
-    const MProfileTones& tones = profile->ProfileTones();
-    
-    // Takes a current warning and gametones setting.
-    const TProfileToneSettings& ts = tones.ToneSettings();
-    iWarningAndPlayTones = ts.iWarningAndGameTones;
-    iVolume = ts.iRingingVolume;
-    TFLOGSTRING2( "CSatUiViewAppUi::GetProfileParamsL \
-        iVolume before mapping %d", iVolume )
-    
-    // Max volume from profile is KMaxVolumeFromProfile, Max volume from 
-    // CMdaAudioToneUtility is different, maybe 10,000. So, 
-    // rate = maxVolumeFromPlayer / KMaxVolumeFromProfile
-    // User may never hear the TONE, because volume is too small.
-    // iVolume times the rate make it can be heard.
-    
-    CMdaAudioToneUtility* toneUtl = CMdaAudioToneUtility::NewL( *this );
-    TInt maxVolumeFromPlayer( toneUtl->MaxVolume() );
-    iVolume *= maxVolumeFromPlayer / KMaxVolumeFromProfile;
-    delete toneUtl;
-    toneUtl = NULL;
-    TFLOGSTRING2( "CSatUiViewAppUi::GetProfileParamsL \
-        iVolume after mapping %d", iVolume )
-    
-    if ( ( ESatUserSelectedToneIncomingSms == aTone ) && ( aToneName ) )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetProfileParamsL message tone" )
-        aToneName->Copy( tones.MessageAlertTone() );
-        }
-    else if( aToneName )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::GetProfileParamsL ring tone" )
-        aToneName->Copy( tones.RingingTone1() );
-        }
-        
-    CleanupStack::PopAndDestroy( 2 ); // engine, profile
-    
-    TFLOGSTRING( "CSatUiViewAppUi::GetProfileParamsL exits" )    
-    }
-    
-// ---------------------------------------------------------
-// CSatUiViewAppUi::HandleImmediateDigitResponse
-// Check received key event.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::HandleImmediateDigitResponse( TInt aScanCode )
-    {
-    TFLOGSTRING2( "CSatUiViewAppUi::HandleImmediateDigitResponse() code: %d",
-        aScanCode )
-    TBool closeDialog( ETrue );
-
-    // If number button is pressed
-    if ( ( KKeyZero <= aScanCode ) && ( KKeyNine >= aScanCode ) )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleImmediateDigitResponse press \
-            digit 0-9" )
-        iKey = aScanCode;
-        }
-    else if ( EStdKeyNkpAsterisk == aScanCode || KHwAsterisk == aScanCode )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleImmediateDigitResponse press \
-            *" )
-        iKey = 0x2A;
-        }
-    else if ( EStdKeyHash == aScanCode )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleImmediateDigitResponse press \
-            #" )
-        iKey = 0x23;
-        }
-    else 
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::HandleImmediateDigitResponse press \
-            others" )
-        closeDialog = EFalse;
-        iKey = 0x00;
-        }
-        
-    if( closeDialog )
-        {
-        CloseDialogs();
-        }
-    
-    TFLOGSTRING( "CSatUiViewAppUi::HandleImmediateDigitResponse exits" )
-    }
-      
-// ---------------------------------------------------------
-// CSatUiViewAppUi::PriorityVerifyAndClose
-// Handle closing display text in high priority events
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::PriorityVerifyAndClose( const TWsEvent& aEvent )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::PriorityVerifyAndClose calling" )
-    
-    if ( ( iDisplayTextDialog || iDisplayTextIconDialog ) &&
-        ( EEventFocusLost == aEvent.Type() ) )
-        {
-        // Open the WS server session.
-        RWsSession wsSession;
-        if ( KErrNone == wsSession.Connect() )
-            {
-            TInt wgFocus( wsSession.GetFocusWindowGroup() );
-            TInt wgPriority(
-                wsSession.GetWindowGroupOrdinalPriority( wgFocus ) );
-            TFLOGSTRING2(
-                "CSatUiViewAppUi::PriorityVerifyAndClose priority=%d",
-                wgPriority )
-            
-            // For some reason window group priority for call dialogs was 0
-            // so those cases must be checked in addition
-            TInt callActiveState = EPSCTsyCallStateNone;
-                
-            // Get current call status from P&S
-            const TInt errCode( RProperty::Get(
-                KPSUidCtsyCallInformation,
-                KCTsyCallState,
-                callActiveState ) );
-            
-            // Receiving MT or creating MO call
-            const TBool callIncoming(
-                ( EPSCTsyCallStateAlerting == callActiveState ) ||
-                ( EPSCTsyCallStateRinging == callActiveState ) ||
-                ( EPSCTsyCallStateDialling == callActiveState ) ); 
-            TFLOGSTRING2(
-                "CSatUiViewAppUi::PriorityVerifyAndClose callActiveState=%d",
-                callActiveState )
-            TFLOGSTRING2(
-                "CSatUiViewAppUi::PriorityVerifyAndClose iImmediateRsp=%d",
-                iImmediateRsp )  
-                
-            // If the new focus window group has high priority
-            // close dialog
-            if ( ( wgPriority > 0 && iForeground ) || 
-                 ( iImmediateRsp && callIncoming ) )
-                {
-                iHighPriorityEvent = ETrue;
-                CloseDialogs();
-                }
-                
-            wsSession.Close();
-            }
-        }
-        
-    TFLOGSTRING( "CSatUiViewAppUi::PriorityVerifyAndClose exiting" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::CloseCallControlNote
-// Call back method, close the note in call control. 
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CSatUiViewAppUi::CloseCallControlNoteL( TAny* aPtr )
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::CloseCallControlNote calling" )
-
-    if ( !aPtr ) 
-        {
-        return KErrArgument;
-        }
-
-    CSatUiViewAppUi* pAppUi = 
-        reinterpret_cast<CSatUiViewAppUi*>( aPtr );
-    
-    TRAPD( err, pAppUi->iCcNote->CancelNoteL( pAppUi->iCcNoteId ) );
-    if( KErrNone != err )
-        {
-        return err;
-        }
-
-    if ( pAppUi->iWait->IsStarted() ) 
-        {
-        pAppUi->iWait->AsyncStop();
-        }
-    delete pAppUi->iCcNote;
-    pAppUi->iCcNote = NULL;
-        
-    TFLOGSTRING( "CSatUiViewAppUi::CloseCallControlNote exiting" )
-    
-    return 0;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewAppUi::ShowSsErrorNoteL
-// Show a Ss Error note. 
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewAppUi::ShowSsErrorNoteL()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ShowSsErrorNoteL calling" )
-    CAknNoteDialog* errorNote = new ( ELeave ) CAknNoteDialog( 
-                                REINTERPRET_CAST( CEikDialog**,&errorNote ),
-                                CAknNoteDialog::ENoTone, 
-                                CAknNoteDialog::ELongTimeout );
-    CleanupStack::PushL( errorNote );
-        
-    HBufC* textHolder = StringLoader::LoadLC(R_TEXT_NOT_DONE, iCoeEnv );
-    errorNote->SetTextL( *textHolder );
-    CleanupStack::PopAndDestroy( textHolder ); 
-    CleanupStack::Pop( errorNote );
-    errorNote->ExecuteLD( R_SATUI_INFORMATION_NOTE );
-        
-    TFLOGSTRING( "CSatUiViewAppUi::ShowSsErrorNoteL exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSatUiViewAppUi::ProfileState
-// Return current profile state
-// -----------------------------------------------------------------------------
-//
-TInt CSatUiViewAppUi::ProfileState()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ProfileState called" )
-
-    TInt profileId( 0 );
-    CRepository* cr ( NULL );
-
-    TRAPD( err, cr = CRepository::NewL( KCRUidProfileEngine ) );
-    if ( ( KErrNone == err ) && cr )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::ProfileState no err" )
-        // Get the ID of the currently active profile:
-        cr->Get( KProEngActiveProfile, profileId );
-        delete cr;
-        }
-
-    else
-        {
-        TFLOGSTRING2( "CR failed: %i", err )
-        }
-
-    TFLOGSTRING2( "CSatUiViewAppUi::ProfileState exit value: %d",
-        profileId )
-
-    return profileId;
-    }
-// -----------------------------------------------------------------------------
-// CSatUiViewAppUi::StopPlayToneL
-// Stops playing play tone. Used when user terminates play tone 
-// -----------------------------------------------------------------------------
-//
-void CSatUiViewAppUi::StopPlayToneL()
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::StopPlayToneL called" )
-    if ( iPlayer && iWait->IsStarted() )
-        {
-        TFLOGSTRING( "CSatUiViewAppUi::StopPlayToneL\
-            iPlayer exists" )
-        iPlayToneError = ESatSessionTerminatedByUser;
-        iWait->AsyncStop();
-        }
-    if ( iAudioPlayer )
-        {
-        TFLOGSTRING( "StopPlayToneL iAudioPlayer exists" )
-        if ( iWait->IsStarted() )
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::StopPlayToneL\
-                iWait started" )
-            // Remove note when play has been interrupted.
-            if ( iPermanentNote )
-                {
-                iPermanentNote->ExitSleepingDialog();
-                delete iPermanentNote;
-                iPermanentNote = NULL;
-                }
-            iPlayToneError = ESatSessionTerminatedByUser;
-            iWait->AsyncStop();
-            }
-        else
-            {
-            TFLOGSTRING( "CSatUiViewAppUi::StopPlayToneL\
-                iWait not started" )
-            iAudioPlayer->Stop();
-            // When playing is stopped, deleting the audio player.
-            // MapcPlayComplete is not called because user stops
-            // the playing.
-            if ( iAudioPlayer )
-                {
-                delete iAudioPlayer;
-                iAudioPlayer = NULL;
-                TFLOGSTRING( "CSatUiViewAppUi::StopPlayToneL\
-                    iAudioPlayer deleted" )
-
-                // Remove note after play has completed.
-                if ( iPermanentNote )
-                    {
-                    TFLOGSTRING( "CSatUiViewAppUi::StopPlayToneL\
-                                 iPermanentNote true" )
-                    iPermanentNote->ExitSleepingDialog();
-                    delete iPermanentNote;
-                    iPermanentNote = NULL;
-                    }
-
-                // Show wait note only for samples that have 
-                // duration, otherwise there is chance that wait 
-                // note is not stopped.
-                if ( TTimeIntervalMicroSeconds(
-                    static_cast<TInt64>( 0 ) ) != iDuration )
-                    {
-                    ShowWaitNoteL();
-                    }
-                }
-            }
-        }
-    TFLOGSTRING( "CSatUiViewAppUi::StopPlayToneL exiting" )
-    }
-    
-// -----------------------------------------------------------------------------
-// CSatUiViewAppUi::ForegroundAlive
-// Check if foreground control is alive when HandleForegroundEventL is called.
-// -----------------------------------------------------------------------------
-//
-TBool CSatUiViewAppUi::ForegroundAlive() const
-    {
-    TFLOGSTRING( "CSatUiViewAppUi::ForegroundAlive called" )
-    
-    // Only if value of iForegroundControl equals to one of the following 8
-    // pointers, the alive value will be set to true. This will check if 
-    // the foreground control is alive.
-    TBool alive = 
-        iForegroundControl == static_cast<CCoeControl*>( iWaitNote ) 
-        || iForegroundControl == static_cast<CCoeControl*>( 
-           iDisplayTextIconDialog )
-        || iForegroundControl == static_cast<CCoeControl*>( 
-           iDisplayTextDialog )
-        || iForegroundControl == static_cast<CCoeControl*>( iGetInputDialog )
-        || iForegroundControl == static_cast<CCoeControl*>( iPermanentNote )
-        || iForegroundControl == static_cast<CCoeControl*>( iNoteDialog )
-        || iForegroundControl == static_cast<CCoeControl*>( iBipWaitNote )
-        || iForegroundControl == static_cast<CCoeControl*>( iQueryDialog );
-    
-    TFLOGSTRING2( "CSatUiViewAppUi::ForegroundAlive exiting alive=%d", alive )
-    
-    return alive;
-    }
-
-// End of File
--- a/satui/satapp/SATUISrc/CSatUiViewContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +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: 
-*    Defines CSatUiViewContainer class
-*    
-*
-*/
-
-
-// INCLUDE FILES
-#include    <eiktxlbx.h>
-#include    <eiklbx.h>              //for CEikListBox
-#include    <barsread.h>
-#include    <eikenv.h>
-#include    <aknlists.h>
-
-#include    <SatUi.rsg>
-
-#include    <AknIconArray.h>
-#include    <eikclbd.h>
-#include    <AknDef.h>              // New Akn header
-#include    <csxhelp/sat.hlp.hrh>   // For help
-
-#include    "CSatUiApplication.h"
-#include    "CSatUiViewContainer.h"
-#include    "CSatUiView.h"
-#include    "tflogger.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CSatUiViewContainer::CSatUiViewContainer( CSatUiView* aView ) :
-    iView( aView )
-    {
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::ConstructL
-// Symbian OS default constructor can leave.
-// (other items were commented in a header).
-// ---------------------------------------------------------.
-void CSatUiViewContainer::ConstructL( TBool aIconOn )
-    {
-    TFLOGSTRING( "CSatUiViewContainer::ConstructL called" )
-    CreateWindowL();
-    iIconOn = aIconOn;
-
-    TResourceReader resourceReader;
-
-    iCoeEnv->CreateResourceReaderLC( resourceReader , 
-        R_SATUI_LISTBOX );
-    
-    //different listbox depends on item icon
-    if ( iIconOn )
-        {
-        TFLOGSTRING( "CSatUiViewContainer::ConstructL iIconOn true" )
-        iListBox = new (ELeave) 
-            CAknSingleGraphicStyleListBox;
-        }
-    else
-        {        
-        TFLOGSTRING( "CSatUiViewContainer::ConstructL iIconOn false" )        
-        iListBox = new (ELeave) CAknSingleStyleListBox;
-        }
-
-    iListBox->SetContainerWindowL( *this );
-
-    iListBox->ConstructFromResourceL( resourceReader );
-
-    iListBox->CreateScrollBarFrameL( ETrue );
-
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-        CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
-
-    iListBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
-
-    // resourceReader. Cannot add this as a parameter since 
-    // TResourceReader is not derived from CBase
-    CleanupStack::PopAndDestroy();
-    TFLOGSTRING( "CSatUiViewContainer::ConstructL exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::NewL
-// Two-phased constructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------.
-CSatUiViewContainer* CSatUiViewContainer::NewL( TBool aIconOn,
-    CSatUiView* aView )
-    {
-    TFLOGSTRING( "CSatUiViewContainer::NewL called-exit" )
-    CSatUiViewContainer* self =
-        new (ELeave) CSatUiViewContainer( aView );
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aIconOn );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::~CSatUiViewContainer
-// Destructor.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CSatUiViewContainer::~CSatUiViewContainer()
-    {
-    TFLOGSTRING( "CSatUiViewContainer::~CSatUiViewContainer called" )
-    //need to reset first if contains icons
-    if ( iListBox->ItemDrawer()->ColumnData()->IconArray() )
-        {
-        iListBox->ItemDrawer()->ColumnData()->IconArray()->Reset();
-        }
-    delete iListBox;
-    TFLOGSTRING( "CSatUiViewContainer::~CSatUiViewContainer exit" )
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::ListBox
-// Returns a pointer to a listbox object.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CAknColumnListBox* CSatUiViewContainer::ListBox()
-    {
-    TFLOGSTRING( "CSatUiViewContainer::ListBox called-exit" )
-    return iListBox;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::CountComponentControls
-// The only control is a listbox.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CSatUiViewContainer::CountComponentControls() const
-    {
-    TFLOGSTRING( "CSatUiViewContainer::CountComponentControls called-exit" )
-    return 1;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::ComponentControl
-// The only control is a listbox.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CCoeControl* CSatUiViewContainer::ComponentControl(
-    TInt /* aIndex */) const
-    { 
-    TFLOGSTRING( "CSatUiViewContainer::ComponentControl called-exit" )
-    return iListBox;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::SizeChanged
-// Sets the available size.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewContainer::SizeChanged()
-    {
-    TFLOGSTRING( "CSatUiViewContainer::SizeChanged called" )    
-    TRect parentRect( Rect() );
-	if ( iListBox )
-        {
-        iListBox->SetRect( parentRect );
-        }
-    TFLOGSTRING( "CSatUiViewContainer::SizeChanged exit" ) 
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::OfferKeyEventL
-// Listbox takes all event even if it doesn't use them.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TKeyResponse CSatUiViewContainer::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    TFLOGSTRING( "CSatUiViewContainer::OfferKeyEventL called" ) 
-    TKeyResponse response( EKeyWasNotConsumed );
-    
-    if ( ( EKeyLeftArrow != aKeyEvent.iCode ) &&
-        ( EKeyRightArrow != aKeyEvent.iCode ) )
-        {
-        response = iListBox->OfferKeyEventL( aKeyEvent, aType );
-        }
-    
-    if ( ( EKeyUpArrow == aKeyEvent.iCode ) ||
-        ( EKeyDownArrow == aKeyEvent.iCode ) )
-        {
-        iView->UpdateMskL( iListBox->CurrentItemIndex(), EFalse );
-        }
-    TFLOGSTRING2( "CSatUiViewContainer::OfferKeyEventL exit, return: %d", \
-        response ) 
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::GetHelpContext
-// Returns SatUi help context.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewContainer::GetHelpContext(
-    TCoeHelpContext& aContext ) const
-    {
-    TFLOGSTRING( "CSatUiViewContainer::GetHelpContext called" ) 
-	aContext.iMajor = KUidSATUI;
-    aContext.iContext = KSAT_HLP_APP;
-    TFLOGSTRING( "CSatUiViewContainer::GetHelpContext exit" ) 
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::HandleResourceChange
-// Handles control's layout change.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewContainer::HandleResourceChange( TInt aType )
-    {
-    TFLOGSTRING2( "CSatUiViewContainer::HandleResourceChange called, \
-        aType: %d", aType ) 
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( 
-            AknLayoutUtils::EMainPane, mainPaneRect );
-        SetRect( mainPaneRect );
-        DrawDeferred();
-        }
-    
-    CCoeControl::HandleResourceChange( aType );
-    TFLOGSTRING( "CSatUiViewContainer::HandleResourceChange exit" ) 
-    }
-
-// ---------------------------------------------------------
-// CSatUiViewContainer::FocusChanged
-// Indicate the requirements for control redrawing.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CSatUiViewContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    TFLOGSTRING( "CSatUiViewContainer::FocusChanged called" ) 
-    CCoeControl::FocusChanged( aDrawNow );
-    if ( iListBox )
-        {
-        iListBox->SetFocus( IsFocused(), aDrawNow );
-        }
-    TFLOGSTRING( "CSatUiViewContainer::FocusChanged exit" ) 
-    }
-
-//  End of File
--- a/satui/satapp/SATUISrc/CSatUiWaitDialog.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /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: 
-*     Implements the feature for investigating length of the input. Softkeys
-*     are set based on this information.
-*     
-*
-*/
-
-
-#include    <avkon.hrh>
-#include    <avkon.rsg>
-#include    <eikbtgpc.h>
-#include    <msatuiadapter.h>
-#include    <msatuiobserver.h>
-#include    "CSatUiWaitDialog.h"
-#include    "tflogger.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CSatUiWaitDialog::CSatUiWaitDialog(
-    CEikDialog** aSelfPtr,
-    MSatUiAdapter& aAdapter, 
-    TBool aVisibilityDelayOff ) :
-    CAknWaitDialog( aSelfPtr, aVisibilityDelayOff ),
-    iAdapter( aAdapter )
-    {
-    }
-
-// Destructor.
-CSatUiWaitDialog::~CSatUiWaitDialog()
-    {
-    }
-
-// ---------------------------------------------------------
-// CSatUiWaitDialog::OkToExitL()
-// ---------------------------------------------------------
-//
-TBool CSatUiWaitDialog::OkToExitL( TInt aButtonId )
-    {
-    TFLOGSTRING( "CSatUiWaitDialog::OkToExitL called" )
-    if ( aButtonId == EAknSoftkeyCancel )
-        {        
-        iAdapter.SessionTerminated( ESessionCancel );
-        }
-    TFLOGSTRING( "CSatUiWaitDialog::OkToExitL exit" )
-    return ETrue;
-    }
-//  End of File
--- a/satui/satapp/SATUISrc/csatuiiconhandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +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: Implementation of CSatUiIconHandler class.
-*
-*/
-
-
-#include    <fbs.h>
-#include    <rsatservice.h>
-#include    <tsaticoninfo.h>
-
-#include    "csatuiiconhandler.h"
-#include    "tflogger.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// First part of Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CSatUiIconHandler* CSatUiIconHandler::NewL()
-    {
-    TFLOGSTRING( "CSatUiIconHandler::NewL enter" )
-    CSatUiIconHandler* self = new ( ELeave ) CSatUiIconHandler;
-    TFLOGSTRING( "CSatUiIconHandler::NewL exit" )
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CSatUiIconHandler::~CSatUiIconHandler()
-    {
-    TFLOGSTRING( "CSatUiIconHandler::~CSatUiIconHandler enter" )
-    // Close RSatService interface
-    iSatService.Close();
-    TFLOGSTRING( "CSatUiIconHandler::~CSatUiIconHandler exit" )
-    }
-
-// ---------------------------------------------------------------------------
-// Fetches first icon information, then the handle to the icon and at last
-// does the duplication of the icon bitmap. Object is set to wait the
-// completion of the request.
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CSatUiIconHandler::FetchIconL( const RSatSession& aSatSession,
-                                           const TUint8 aIconId,
-                                           const TInt aOptWidth,
-                                           const TInt aOptHeight,
-                                           TBool& aIconSupport )
-    {
-    TFLOGSTRING( "CSatUiIconHandler::FetchIconL enter" )
-    TFLOGSTRING3( "CSatUiIconHandler::FetchIconL aOptWidth=%d aOptHeight=%d",
-            aOptWidth, aOptHeight )
-            
-    iSatService.OpenL( aSatSession );
-    CleanupClosePushL( iSatService );
-
-    RIconEf iconEf;
-    CleanupClosePushL( iconEf );
-    // Order of superiority list
-    RArray<TInt> selectedIcons;
-    CleanupClosePushL( selectedIcons );
-    CFbsBitmap* iconBitmap = NULL;
-    
-    // Getting the information of the icon
-    TRAPD( err, iSatService.GetIconInfoL( aIconId, iconEf ); );
-    
-    if ( KErrNone == err )
-        {
-        TFLOGSTRING( "CSatUiIconHandler::FetchIconL no error" )
-        // Sorting into order of superiority
-        SortIconsL( iconEf, selectedIcons, aOptWidth, aOptHeight );
-        
-        // Reset iconCount by approved icons
-        const TInt iconCount = selectedIcons.Count() <= iconEf.Count() ? 
-                               selectedIcons.Count() :
-                               iconEf.Count();
-        TBool fetchSuccess( EFalse );
-        
-        TFLOGSTRING2( "CSatUiIconHandler::FetchIconL iconCount: %d", iconCount )
-        // If there were icons to be fetched
-        if ( 0 < iconCount )
-            {
-            // start going through approved icons list from the 
-            // first and biggest icon
-            TInt counter( 0 );
-            for ( counter = 0; ( counter < iconCount ) && !fetchSuccess;
-                counter++ )
-                {
-                TInt selectedIconCounter = selectedIcons.operator[]( counter );
-                TFLOGSTRING2( "CSatUiIconHandler::\
-                    FetchIconL selectedIconCounter: %d", selectedIconCounter )
-                TRAPD( err, 
-                       iconBitmap = iSatService.GetIconL( iconEf.operator[](
-                           selectedIconCounter ) ) );
-                if ( KErrNone == err  )
-                    {
-                    fetchSuccess = ETrue;
-                    TFLOGSTRING( "CSatUiIconHandler::FetchIconL fetchSuccess!" )
-                    }
-                else
-                    {
-                    delete iconBitmap;
-                    }
-                }
-            }
-        }
-        
-        TFLOGSTRING2( "CSatUiIconHandler::FetchIconL icon info error=%d", err )
-        if ( KErrNotSupported == err )
-            {
-            TFLOGSTRING( "CSatUiIconHandler::FetchIconL icons not supported" )
-            aIconSupport = EFalse;
-            }
-    
-    // selectedIcons, iconEf and iSatService not deleted but closed
-    CleanupStack::PopAndDestroy( 3, &iSatService );
-
-    TFLOGSTRING( "CSatUiIconHandler::FetchIconL exit" )
-    // Icon was not found, icons are not supported or an error was received.
-    return iconBitmap;
-    }
-
-// ---------------------------------------------------------------------------
-// C++ default constructor cannot contain any code that might leave.
-// ---------------------------------------------------------------------------
-//
-CSatUiIconHandler::CSatUiIconHandler()
-    {
-    TFLOGSTRING( "CSatUiIconHandler::CSatUiIconHandler enter - exit" )
-    }
-
-// ---------------------------------------------------------------------------
-// Sorts icons into order of superiority
-// ---------------------------------------------------------------------------
-//
-void CSatUiIconHandler::SortIconsL( const RIconEf& aIconEf,
-    RArray<TInt>& aSelectedIcons, const TInt aOptWidth,
-    const TInt aOptHeight ) const
-    {
-    TFLOGSTRING( "CSatUiIconHandler::SortIcons enter" )
-    
-    const TInt iconCount = aIconEf.Count();
-    TFLOGSTRING2( "CSatUiIconHandler::SortIcons iconCount=%d", iconCount )
-    TInt counter( 0 );
-    // Search icon from available iconarray
-    for ( counter = 0; counter < iconCount; counter++ )
-        {
-        TFLOGSTRING3( "CSatUiIconHandler::SortIcons Icon Width=%d Height=%d",
-            aIconEf.operator[]( counter ).IconSize().iWidth,
-            aIconEf.operator[]( counter ).IconSize().iHeight )
-
-        const TInt selectedCount( aSelectedIcons.Count() );
-        TBool replacement( EFalse );
-        
-        // Count the difference of the icon versus layout
-        TInt newWidthDifference(
-            aOptWidth - aIconEf.operator[]( counter ).IconSize().iWidth );
-        TInt newHeightDifference(
-            aOptHeight - aIconEf.operator[]( counter ).IconSize().iHeight );
-        
-        // Make the difference absolute value
-        if ( newWidthDifference < 0 )
-            {
-            newWidthDifference = -newWidthDifference;
-            }
-        
-        if ( newHeightDifference < 0 )
-            {
-            newHeightDifference = -newHeightDifference;
-            }
-        TInt listCounter( 0 );
-        // Going through the list of icons of suitable size
-        for ( listCounter = 0; ( listCounter < selectedCount ) &&
-            !replacement; listCounter++ )
-            {
-            
-            // Count the difference of the icon versus layout
-            TInt oldWidthDifference( aOptWidth - aIconEf.operator[](
-              aSelectedIcons.operator[]( listCounter ) ).IconSize().iWidth );
-            TInt oldHeightDifference( aOptHeight - aIconEf.operator[](
-              aSelectedIcons.operator[]( listCounter ) ).IconSize().iHeight );
-               
-            // Make the difference absolute value
-            if ( oldWidthDifference < 0 )
-                {
-                oldWidthDifference = -oldWidthDifference;
-                }
-            
-            if ( oldHeightDifference < 0 )
-                {
-                oldHeightDifference = -oldHeightDifference;
-                }
-            
-            // New icon is better either by being closer to the layout or by
-            // being same size and color instead of black and white
-            if ( ( ( newWidthDifference < oldWidthDifference ) &&
-                  ( newHeightDifference <= oldHeightDifference ) ) ||
-                ( ( newWidthDifference <= oldWidthDifference ) &&
-                  ( newHeightDifference < oldHeightDifference ) ) ||
-                ( ( newWidthDifference == oldWidthDifference ) &&
-                  ( newHeightDifference == oldHeightDifference ) &&
-                 ( TSatIconInfo::EBasic == aIconEf.operator[]( aSelectedIcons.
-                    operator[]( listCounter ) ).CodingScheme() ) &&
-                 ( TSatIconInfo::EColor ==  aIconEf.operator[]( counter ).
-                    CodingScheme() ) ) )
-                {
-                TFLOGSTRING2( "CSatUiIconHandler::SortIcons \
-                             newWidthDifference: %d", newWidthDifference ) 
-                TFLOGSTRING2( "CSatUiIconHandler::SortIcons \
-                             oldHeightDifference: %d", oldHeightDifference )    
-                // Insert new icon to correct place
-                aSelectedIcons.InsertL( counter, listCounter );
-                replacement = ETrue;
-                }
-            }
-            
-        TFLOGSTRING2( "CSatUiIconHandler::SortIcons listCounter: %d", \
-            listCounter )    
-        // Either first item or was not better than any in the list
-        // New icon is added to the end of the array
-        if ( !replacement )
-            {
-            aSelectedIcons.AppendL( counter );
-            }
-        }
-        
-    TFLOGSTRING2( "CSatUiIconHandler::SortIcons counter: %d", \
-            counter )
-    TFLOGSTRING( "CSatUiIconHandler::SortIcons exit" )
-    }
-
--- a/satui/satapp/aif/Satui.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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: 
-*	    Application information (AIF) resource file for SatUi application.
-*
-*
-*/
-
-
-//  INCLUDES
-
-#include <aiftool.rh>
-#include <satui.loc>
-
-//  RESOURCE DEFINITIONS 
-
-RESOURCE AIF_DATA
-    {
-    // App UID
-    app_uid = 0x101f4ce0;
-
-    // Number of icons
-    num_icons = 2;
-
-    // Application capabilities
-    hidden = KAppIsHidden;
-    embeddability = KAppNotEmbeddable;
-    newfile = KAppDoesNotSupportNewFile;
-    }
-
-// End of File
--- a/satui/satapp/aif/Satui_caption.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  Resource file.
-*
-*/
-
-
-#include <satui.loc>
-#include <apcaptionfile.rh>
-
-// ---------------------------------------------------------
-//
-//    Application captions.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CAPTION_DATA
-    {
-    caption = qtn_apps_simapps_list;
-    shortcaption = qtn_apps_simapps_grid;
-    }
--- a/satui/satapp/aif/TSatui.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  Application information (AIF) resource file for SatUi
-*                application.
-*
-*/
-
-
-//  INCLUDES
-
-#include <aiftool.rh>
-#include <satui.loc>
-
-//  RESOURCE DEFINITIONS 
-
-/*
------------------------------------------------------------------------------
-    
-    AIF_DATA
-
-    Standard EPOC application information structure.
-
------------------------------------------------------------------------------
-*/
-RESOURCE AIF_DATA
-    {
-    // App UID
-    app_uid = 0x101f4ce0;
-
-    // Number of icons
-    num_icons = 2;
-
-    // Application capabilities
-    hidden = KAppNotHidden;
-    embeddability = KAppNotEmbeddable;
-    newfile = KAppDoesNotSupportNewFile;
-    }
-
-// End of File
--- a/satui/satapp/bmarm/SATSHELLCNTRLU.DEF	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	NewSatController__Fv @ 1 NONAME R3UNUSED ; NewSatController(void)
-
--- a/satui/satapp/bwins/SATSHELLCNTRLU.DEF	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?NewSatController@@YAPAVMSatShellController@@XZ @ 1 NONAME ; class MSatShellController * __cdecl NewSatController(void)
-
Binary file satui/satapp/data/SatApp_stub.SIS has changed
--- a/satui/satapp/data/SatUi.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1760 +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    SATU
-
-//  INCLUDES
-#include <eikon.rsg>
-#include <eikon.rh>
-
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <avkon.rh>
-#include <avkon.loc>
-#include <avkon.mbg>
-#include <AvkonIcons.hrh>   // AVKON_ICON_FILE
-#include <appinfo.rh>       //2.8 SCALABLE UI 
-
-#include <satui.mbg>
-#include "satui.hrh"
-#include <satui.loc>
-#include <data_caging_paths_strings.hrh>
-
-
-#define satui_bitmap_file APP_BITMAP_DIR"\\satui.mbm"
-
-#define avkon_bitmap_file AVKON_ICON_FILE   
-
-#define space " "
-
-//  RESOURCE DEFINITIONS 
-
-// ---------------------------------------------------------
-//
-//    Standard resource signature.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------
-//
-//    Unique name-identifier.
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF16 { buf = "SATU"; }
-
-// ---------------------------------------------------------
-//
-//    This is used when you enter first time to
-//    the application.
-//
-// ---------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_satui_localisable_app_info
-    {
-    short_caption = qtn_apps_simapps_grid;
-    caption_and_icon = 
-    CAPTION_AND_ICON_INFO
-        {
-        caption = qtn_apps_simapps_list;
-#ifdef __SCALABLE_ICONS
-    number_of_icons = 1;
-
-	icon_file = APP_BITMAP_DIR"\\Satui_aif.mif";
-
-#else
-    number_of_icons = 2;
-
-	icon_file = APP_BITMAP_DIR"\\Satui_aif.mbm";
-
-#endif	//__SCALABLE_ICONS
-        };
-    }
-
-
-/******************** SET UP MENU *************************/
-
-//----------------------------------------------------------
-//
-//    r_satui_setupmenu_view
-//    Defines the main view
-//
-//----------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_satui_setupmenu_view
-    {
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    menubar = r_satui_setupmenu_menubar;
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_setupmenu_menubar
-//    Defines the menu bar on the view
-//
-//----------------------------------------------------------
-//
-RESOURCE MENU_BAR r_satui_setupmenu_menubar
-    {
-    titles=
-        {
-        MENU_TITLE {menu_pane = r_satui_setupmenu_options_menu;}
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_satui_setupmenu_options_menu
-//    Defines the menu pane on the view
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_satui_setupmenu_options_menu
-    {
-    items=
-        {
-        MENU_ITEM 
-            { command = ESatUiCmdSelect;
-              txt = qtn_sat_option_select;
-              flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM 
-            { command = EAknCmdHelp;
-              txt = qtn_options_help;
-              flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            { command = EAknCmdExit;
-              txt = qtn_options_exit;
-            }
-        };
-    }
-
-/******************** SELECT ITEM *************************/
-
-// ---------------------------------------------------------
-//
-//    r_satui_selectitem_view
-//    Defines the SelectItem view
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_satui_selectitem_view
-    {
-    cba = R_AVKON_SOFTKEYS_SELECTION_LIST;
-    menubar = r_satui_selectitem_menubar;
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_selectitem_menubar
-//    Defines the menu bar on the view
-//
-//----------------------------------------------------------
-//
-RESOURCE MENU_BAR r_satui_selectitem_menubar
-    {
-    titles=
-        {
-        MENU_TITLE {menu_pane = r_satui_selectitem_options_menu;}
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_satui_selectitem_options_menu
-//    Defines the menu pane on the view
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_satui_selectitem_options_menu
-    {
-    items=
-        {
-        MENU_ITEM 
-            { command = ESatUiCmdSelect;
-              txt = qtn_sat_option_select;
-              flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            { command = EAknCmdHelp;
-             txt = qtn_options_help;
-             flags = EEikMenuItemSpecific; 
-            },
-        MENU_ITEM 
-            { command = ESatUiCmdExit;
-              txt = qtn_options_exit;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_satui_listbox
-//    Defines the listbox on the main pane
-//
-// ---------------------------------------------------------
-//
-RESOURCE LISTBOX r_satui_listbox
-    {
-    flags = EAknListBoxSelectionList;
-    }
-
-/******************** EMPTY MENU **************************/
-
-//----------------------------------------------------------
-//
-//    r_satui_emptymenu_view
-//    Defines the main view
-//
-//----------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_satui_emptymenu_view
-    {
-    cba = R_AVKON_SOFTKEYS_EMPTY;
-    menubar = r_satui_setupmenu_menubar;
-    }
-
-/********************** DIALOGS ***************************/
-
-//----------------------------------------------------------
-//
-//    r_satui_wait_note
-//    Defines the wait note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiWaitNote;
-            control = AVKON_NOTE 
-                {
-                layout = EWaitLayout;
-                singular_label = qtn_gen_note_processing;
-                imagefile = satui_bitmap_file;
-                imageid = EMbmSatuiQgn_note_sim;
-                imagemask = EMbmSatuiQgn_note_sim_mask;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_wait_note_with_cancel
-//    Defines the wait note with cancel (modal dialog)
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_wait_note_with_cancel
-    {
-    flags = EAknWaitNoteFlags | EEikDialogFlagWait;
-
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiWaitNoteWithCancel;
-            control = AVKON_NOTE 
-                {
-                layout = EWaitLayout;
-                singular_label = qtn_gen_note_processing;
-                imagefile = satui_bitmap_file;
-                imageid = EMbmSatuiQgn_note_sim;
-                imagemask = EMbmSatuiQgn_note_sim_mask;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_refresh_wait_note
-//    Defines the refresh wait note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_refresh_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiRefreshWaitNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                singular_label = qtn_sat_wait_refresh_update;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_sms_wait_note
-//    Defines the sms sending wait note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_sms_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiSmsWaitNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_ss_wait_note
-//    Defines the ss sending wait note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_ss_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiSsWaitNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                singular_label = qtn_sat_sending_sms;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_dtmf_wait_note
-//    Defines the dtmf sending wait note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_dtmf_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiDtmfWaitNote;
-            control = AVKON_NOTE 
-                {
-                // text will be set at run-time 
-                layout = EWaitLayout;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_permanent_note
-//    Defines the permanent note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_permanent_note
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiPermanentNote;
-            control = AVKON_NOTE 
-                {
-                layout = EGeneralLayout;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_confirm_yes_no_query
-//    Defines the yes/no confirmation query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_confirm_yes_no_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY 
-                {
-                layout = EConfirmationLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-    
-//----------------------------------------------------------
-//
-//    r_satui_confirm_yes_no_query_with_icon
-//    Defines the yes/no confirmation query with icon
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_confirm_yes_no_query_with_icon
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE 
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = space;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY 
-                {
-                layout = EConfirmationLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_immediate_digit_query
-//    Defines the immediate digit response query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_immediate_digit_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY 
-                {
-                layout = EConfirmationLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-    
-//----------------------------------------------------------
-//
-//    r_satui_immediate_digit_note_with_icon
-//    Defines the immediate digit response note with icon
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_immediate_digit_note_with_icon
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE 
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = space;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY 
-                {
-                layout = EConfirmationLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_confirm_ok_cancel_query
-//    Defines the ok/cancel confirmation query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_confirm_ok_cancel_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY 
-                {
-                layout = EConfirmationLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-    
-//----------------------------------------------------------
-//
-//    r_satui_confirm_ok_cancel_query_with_icon
-//    Defines the ok/cancel confirmation query with icon
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_confirm_ok_cancel_query_with_icon
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE 
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = space;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY 
-                {
-                layout = EConfirmationLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        
-        };
-    }    
-
-//----------------------------------------------------------
-//
-//    r_satui_confirm_send_cancel_query
-//    Defines the send/cancel confirmation query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_confirm_send_cancel_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = r_satui_softkeys_send_cancel;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY 
-                {
-                layout = EConfirmationLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-
-
-
-//----------------------------------------------------------
-//
-//    r_satui_confirm_call_cancel_query
-//    Defines the call/cancel confirmation query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_confirm_call_cancel_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = r_satui_softkeys_call_cancel;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY 
-                {
-                layout = EConfirmationLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-    
-//----------------------------------------------------------
-//
-//    r_satui_confirm_call_cancel_query_with_icon
-//    Defines the call/cancel confirmation query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_confirm_call_cancel_query_with_icon
-    {
-    flags = EGeneralQueryFlags;
-    buttons = r_satui_softkeys_call_cancel;
-    items =
-        {
-        DLG_LINE 
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = space;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY 
-                {
-                layout = EConfirmationLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        
-        };
-    }   
-
-//----------------------------------------------------------
-//
-//    r_satui_information_note
-//    Defines the information note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_information_note
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons |
-	    EEikDialogFlagWait;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiInformationNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EGeneralLayout;
-                singular_label = space;
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_call_control_note
-//    Defines the call control
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_call_control_note
-    {
-    flags = EGeneralQueryFlags;
-
-    buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiInformationNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EGeneralLayout;
-                singular_label = space;
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_mosm_control_note
-//    Defines the mo sm control note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_mosm_control_note
-    {
-    flags = EGeneralQueryFlags;
-
-    buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiInformationNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EGeneralLayout;
-                singular_label = space;
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//   
-//    r_satui_message
-//    Defines the message query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_message
-    {
-    flags = EGeneralQueryFlags|
-            EEikDialogFlagNoBorder|
-            EEikDialogFlagNoShadow|
-            EEikDialogFlagWait;
-
-    buttons = R_AVKON_SOFTKEYS_OK_BACK;
-    items =
-        {
-        DLG_LINE 
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                headinglayout = R_AVKON_WML_SIGN_QUERY_HEADING_PANE;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtMessageQuery;
-            id = EAknMessageQueryContentId;   
-            control = AVKON_MESSAGE_QUERY    
-                {
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//   
-//    r_satui_message_text_icon
-//    Defines the message query with icon and text
-//
-//----------------------------------------------------------
-//
-
-
-RESOURCE DIALOG r_satui_message_text_icon
-    {
-    flags= EEikDialogFlagWait;
-    buttons=R_AVKON_SOFTKEYS_OK_BACK;
-    items=
-        {
-        DLG_LINE 
-            {
-            type = EEikCtLabel;
-            id = ESatUiDisplayTextIconLabel;
-            control = LABEL 
-                {
-                };
-            },
-        DLG_LINE 
-            {
-            type = EEikCtSpacer;
-            id = ESatUiDisplayTextIconSpacer;
-            control = SPACER 
-                {
-                color=EEikSpacerBlack;
-                };
-            },
-        DLG_LINE
-            {
-            type=EEikCtRichTextEditor;
-            id = ESatUiDisplayTextIconRTxtEd;
-            control = RTXTED
-                {
-                width=170;
-                height=150;
-                numlines = 10;
-                max_view_height_in_lines=6;
-                flags= EEikEdwinNoHorizScrolling | EEikEdwinDisplayOnly | 
-                    EEikEdwinReadOnly | EEikEdwinNoAutoSelection | 
-                    EEikEdwinAvkonDisableCursor;
-                };
-            }
-        };
-    }
-
-
-//----------------------------------------------------------
-//
-//    r_satui_text_query_without_label
-//    Defines the text query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_text_query_without_label
-    {
-    flags = EEikDialogFlagWait|
-            EEikDialogFlagNoDrag|
-            EEikDialogFlagNoTitleBar|
-            EEikDialogFlagCbaButtons|
-            EEikDialogFlagNoShadow;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY 
-                { 
-                layout = EDataLayout;
-                control = EDWIN
-                    {
-                    width=16; 
-                    lines=1; 
-                    maxlength = 256;
-
-                    };
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_number_query_without_label
-//    Defines the number query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_number_query_without_label
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY 
-                {
-                layout = EPhoneLayout;
-                label = space;
-                control = EDWIN 
-                    { 
-                    numeric_keymap = EAknEditorSATNumberModeKeymap;
-                    maxlength=256; 
-                    width=16; 
-                    lines=1; 
-                    };
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_hidden_number_query_without_label
-//    Defines the hidden number query
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_hidden_number_query_without_label
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY 
-                { 
-                layout = EPinLayout;
-                control = SECRETED
-                    {
-                    num_letters = 32;
-                    };
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//    
-//    r_satui_number_query_with_label_and_icon
-//    Defines the number query with label and icon
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_number_query_with_label_and_icon
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE 
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = space;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY 
-                {
-                layout = EPhoneLayout;
-                control = EDWIN 
-                    { 
-                    numeric_keymap = EAknEditorSATNumberModeKeymap;
-                    maxlength=256; 
-                    width=16; 
-                    lines=1; 
-                    };
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//    
-//    r_satui_text_query_with_label_and_icon
-//    Defines the text query with label and icon
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_text_query_with_label_and_icon
-    {
-    flags=EGeneralQueryFlags;
-    buttons=R_AVKON_SOFTKEYS_OK_CANCEL;
-    items=
-        {
-        DLG_LINE 
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = space;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY 
-                { 
-                layout = EDataLayout;
-                control = EDWIN
-                    {
-                    width=16; 
-                    lines=1; 
-                    maxlength = 256;
-                    };
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//      
-//    r_satui_hidden_number_query_with_label_and_icon
-//    Defines the hidden number query with label and icon
-//        
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_hidden_number_query_with_label_and_icon
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-    items =
-        {
-        DLG_LINE 
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = space;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY 
-                { 
-                layout = EPinLayout;
-                control = SECRETED
-                    {
-                    num_letters = 32;
-                    };
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_satui_bip_wait_note
-//    Defines send data wait dialog
-//
-// ---------------------------------------------------------
-RESOURCE DIALOG r_satui_bip_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiWaitNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                //singular_label = qtn_sat_conf_send_data_bip;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-    
-//----------------------------------------------------------
-//
-//    r_satui_close_channel_icon_note
-//    Defines the information note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_close_channel_icon_note
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiInformationNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EGeneralLayout;
-                singular_label = space;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_close_channel_note
-//    Defines the information note
-//
-//----------------------------------------------------------
-//
-RESOURCE DIALOG r_satui_close_channel_note
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiInformationNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EGeneralLayout;
-                singular_label = space;
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_satui_requesting_wait_note
-//    Wait note for requesting.
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_satui_requesting_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ESatUiWaitNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                singular_label = text_sending;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-/******************* Additional CBA ***********************/
-
-//----------------------------------------------------------
-//
-//    r_satui_softkeys_send_cancel
-//    Defines Send softkey and Cancel softkey
-//
-//----------------------------------------------------------
-//
-RESOURCE CBA r_satui_softkeys_send_cancel
-    {
-    buttons =
-        {
-        CBA_BUTTON {id = ESatUiSoftkeySend; txt = text_softkey_send;},
-        CBA_BUTTON {id = EAknSoftkeyCancel; txt = text_softkey_cancel;}
-        };
-    }
-
-//----------------------------------------------------------
-//
-//    r_satui_softkeys_call_cancel
-//    Defines Call softkey and Cancel softkey
-//
-//----------------------------------------------------------
-//
-RESOURCE CBA r_satui_softkeys_call_cancel
-    {
-    buttons =
-        {
-        CBA_BUTTON {id = ESatUiSoftkeyCall; txt = text_softkey_call;},
-        CBA_BUTTON {id = EAknSoftkeyCancel; txt = text_softkey_cancel;}
-        };
-    }
-
-
-//----------------------------------------------------
-//   
-//    r_satui_softkey_quit
-//
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_satui_softkey_quit
-    {
-    buttons =
-        {
-        CBA_BUTTON {},
-        CBA_BUTTON {id=EAknSoftkeyClose; txt=text_softkey_quit;}
-        };
-    }
-
-/******************* Localized texts **********************/
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_title
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_title
-    {
-    buf = qtn_sat_title;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_message_header
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_message_header
-    {
-    buf = qtn_sat_message_header;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_help_header
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_help_header
-    {
-    buf = qtn_sat_help_header;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_text_simatk_enter_char
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_simatk_enter_char
-    {
-    buf = text_simatk_enter_char;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_text_simatk_enter_char_string
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_simatk_enter_char_string
-    {
-    buf = text_simatk_enter_char_string;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_text_simatk_enter_nbr
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_simatk_enter_nbr
-    {
-    buf = text_simatk_enter_nbr;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_text_simatk_enter_nbr_string
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_simatk_enter_nbr_string
-    {
-    buf = text_simatk_enter_nbr_string;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_text_done
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_done
-    {
-    buf = text_done;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_text_not_done
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_not_done
-    {
-    buf = text_not_done;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_text_simatk_send_sms;
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_simatk_send_sms
-    {
-    buf = text_simatk_send_sms;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_note_sms_send;
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_note_sms_send
-    {
-    buf = qtn_sat_note_sms_send;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_note_sending_dtmf_template;
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-
-RESOURCE TBUF r_qtn_sat_note_sending_dtmf_template
-    {
-    buf = qtn_sat_note_sending_dtmf_template;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_cc_not_allowed;
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-
-RESOURCE TBUF r_qtn_sat_cc_not_allowed
-    {
-    buf = qtn_sat_cc_not_allowed;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_cc_modified;
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-
-RESOURCE TBUF r_qtn_sat_cc_modified
-    {
-    buf = qtn_sat_cc_modified;
-    }
-
-// ---------------------------------------------------------
-
-//    r_qtn_sat_mosm_not_allowed;
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_mosm_not_allowed
-    {
-    buf = text_request_rejected;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_mosm_modified;
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_mosm_modified
-    {
-    buf = qtn_sat_request_modified;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_text_simatk_send_ss;
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_simatk_send_ss
-    {
-    buf = text_simatk_send_ss;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_text_call_setup_by_simatk
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_text_call_setup_by_simatk
-    {
-    buf = text_call_setup_by_simatk;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_query_title
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_query_title
-    {
-    buf = qtn_sat_query_title;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_query_allow_reset
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_query_allow_reset
-    {
-    buf = qtn_sat_query_allow_reset;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_timeout;
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-
-RESOURCE TBUF r_qtn_sat_timeout
-    {
-    buf = qtn_sat_timeout;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_conf_receive_data_bip
-//    Defines receive data localized text
-//
-// ---------------------------------------------------------
-RESOURCE TBUF r_qtn_sat_conf_receive_data_bip
-    {
-    buf = qtn_sat_conf_receive_data_bip;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_conf_send_data_bip
-//    Defines send data localized text
-//
-// ---------------------------------------------------------
-RESOURCE TBUF r_qtn_sat_conf_send_data_bip
-    {
-    buf = qtn_sat_conf_send_data_bip;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_services_not_available
-//    Defines SAT not available localized text
-//
-// ---------------------------------------------------------
-RESOURCE TBUF r_qtn_sat_services_not_available
-    {
-    buf = qtn_sat_services_not_available;
-    }
-
-/****** Localized texts for the Next Action Indicator *****/
-/************ (an item in the Options menu) ***************/
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_option_call
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_option_call
-    {
-    buf = qtn_options_call;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_option_send
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_option_send
-    {
-    buf = qtn_sat_option_send;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_option_play
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_option_play_tone
-    {
-    buf = qtn_sat_option_play_tone;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_option_read
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_option_read
-    {
-    buf = qtn_sat_option_read;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_option_select
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_option_select
-    {
-    buf = qtn_cffh_options_select;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_option_open
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_option_open
-    {
-    buf = qtn_options_open;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_option_goto
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_option_goto
-    {
-    buf = qtn_sat_option_goto;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_conf_open_channel_bip
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_conf_open_channel_bip
-    {
-    buf = qtn_sat_conf_open_channel_bip;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_conf_close_channel_bip
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_conf_close_channel_bip
-	{
-	buf = qtn_sat_conf_close_channel_bip;
-	}
-
-// ---------------------------------------------------------
-//
-//    r_qtn_sat_sending_sms
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_sending_sms
-    {
-    buf = qtn_sat_sending_sms;
-    }
-
-// ---------------------------------------------------------
-//
-//    qtn_sat_conf_launch_brow
-//    Defines localized text
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sat_conf_launch_brow
-    {
-    buf = qtn_sat_conf_launch_brow;
-    }
-
-// ---------------------------------------------------------
-//   
-//    r_qtn_offline_not_possible_sap
-//    The note that is shown when the user attempts to connect 
-//    the network when in SIM Access Profile mode.
-//	  
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_offline_not_possible_sap
-    { 
-    buf = qtn_offline_not_possible_sap; 
-    }
-    
-// ---------------------------------------------------------
-//   
-//    r_qtn_msk_call_sat
-//    Defines localized text
-//	  
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_msk_call_sat
-    { 
-    buf = qtn_msk_call_sat; 
-    }
-    
-// ---------------------------------------------------------
-//   
-//    r_qtn_msk_read_sat
-//    Defines localized text
-//	  
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_msk_read_sat
-    { 
-    buf = qtn_msk_read_sat; 
-    }
-
-// ---------------------------------------------------------
-//   
-//    r_qtn_msk_open_sat
-//    Defines localized text
-//	  
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_msk_open_sat
-    { 
-    buf = qtn_msk_open;
-    }
-
-// ---------------------------------------------------------
-//   
-//    r_qtn_msk_goto_sat
-//    Defines localized text
-//	  
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_msk_goto_sat
-    { 
-    buf = qtn_msk_goto_sat;
-    }
--- a/satui/satapp/data/Satui_reg.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /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 satui.
-*
-*/
-
-
-#include <appinfo.rh>
-#include <SatUi.rsg>
-#include <data_caging_paths_strings.hrh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x101F4CE0	// Define your application UID here
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "Satui";
-   
-    localisable_resource_file = APP_RESOURCE_DIR"\\Satui";
-    localisable_resource_id = R_SATUI_LOCALISABLE_APP_INFO;
-    embeddability = KAppNotEmbeddable;
-    }
-
-// End of File
Binary file satui/satapp/help/data/xhtml.zip has changed
--- a/satui/satapp/help/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /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/sat.hlp.hrh	MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/sat.hlp.hrh)
-../rom/satuihelps_variant.iby		CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(satuihelps_variant.iby)
--- a/satui/satapp/help/inc/sat.hlp.hrh	Thu Aug 19 10:28:14 2010 +0300
+++ /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:
-*
-*/
-	
-//
-// sat.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __SAT_HLP_HRH__
-#define __SAT_HLP_HRH__
-
-_LIT(KSAT_HLP_APP, "SAT_HLP_APP"); // 
-
-#endif 
\ No newline at end of file
--- a/satui/satapp/help/rom/satuihelps_variant.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /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 __SATUIHELPS_VARIANT_IBY__
-#define __SATUIHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE) && defined(__SIMCARD)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CE0\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CE0\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CE0\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CE0\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CE0\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CE0\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CE0\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CE0\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satappaction.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*
+*/
+
+#ifndef SATAPPACTION_H
+#define SATAPPACTION_H
+
+#include <QObject>
+#include <QString>
+#include <QVariant>
+#include <QMap>
+#include <e32base.h> // for symbian-to-qt conversions
+#include "MSatUiObserver.h" // for the param type definitions
+#include "satappconstant.h"
+
+// class declaration
+class SatAppAction : public QObject
+{
+    Q_OBJECT
+
+public:
+    /** creates an action with given identity (TSatAction) */
+    SatAppAction(int action, QObject *parent = 0);
+    ~SatAppAction();
+
+    /** synchronous wait until the action has been completed */
+    void waitUntilCompleted();
+    /** completes the action with guiven response */
+    void complete(TSatUiResponse resp);
+
+public slots:
+
+    /** completes the action */
+    void complete() {complete(response());}
+
+    // comfy methods for completing with certain response
+    void completeWithSuccess() {complete(ESatSuccess);}
+    void completeWithFailure() {complete(ESatFailure);}
+    void completeWithNoResponse() {complete(ESatNoResponseFromUser);}
+    void completeWithBackRequested() {complete(ESatBackwardModeRequestedByUser);}
+    void completeWithSessionTerminated() {complete(ESatSessionTerminatedByUser);}
+
+signals:
+
+    /** signalled when the action has been completed */
+    void actionCompleted(SatAppAction *action);
+
+public: // param access
+
+    /** returns the identity of the action (TSatAction) */
+    int action() {return mAction;}
+
+    /** sets the action response */
+    void setResponse(TSatUiResponse resp) {mResponse=resp;}
+    /** the action response (TSatUiResponse) */
+    TSatUiResponse response() {return mResponse;}
+
+    /** sets a value (arbitary type) */
+    void set(const QString& key, QVariant value);
+
+    /** sets QString value after doing symbian-to-qt conversion */
+    void set(const QString& key, const TDesC& value);
+    /** sets QStringList value after doing symbian-to-qt conversion */
+    void set(const QString& key, const MDesCArray& value);
+    /** sets QList<int> value after doing symbian-to-qt conversion */
+    void set(const QString& key, CArrayFixFlat<TInt>& value);
+    /** sets int(millisec) value after doing symbian-to-qt conversion */
+    void set(const QString& key, TTimeIntervalSeconds& value);
+    /** sets int(millisec) value after doing symbian-to-qt conversion */
+    void set(const QString& key, TTimeIntervalMicroSeconds& value);
+
+    /** returns a value (arbitary type) */
+    QVariant value(const QString &key);
+    /** whether a value is present */
+    bool hasValue(const QString &key);
+
+private: // data
+
+    // identity of this action
+    int mAction;
+
+    // response
+    TSatUiResponse mResponse;
+    
+    // parameter map
+    QMap<QString, QVariant> mParams;
+
+    // internal action state
+    enum State {Active,Waiting,Completed};
+    State mState;
+};
+
+#endif // SATAPPACTION_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satappconfirmprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* 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: Provides SAT user confim notes
+*
+*/
+
+#ifndef SATAPPCONFIRMPROVIDER_H
+#define SATAPPCONFIRMPROVIDER_H
+
+// includes
+#include <QObject>
+
+// forward declarations
+class HbMessageBox;
+class SatAppAction;
+
+class SatAppConfirmProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+    /** Constructor */
+    SatAppConfirmProvider(QObject *parent = 0);
+
+    /** Destructor */
+    virtual ~SatAppConfirmProvider();
+
+public slots:
+
+    /**
+    * General confirmation request
+    * @param userAccepted Indicates whether the command was accepted.
+    */
+    void confirmCommand(SatAppAction &action);
+
+    /** clear the current dialog in screen */
+    void clearScreen();
+
+    /** reset some data members */
+    void resetState();
+
+private:
+
+    /** Shows the confirm note about Open Channel */
+    void showOpenChannelConfirm(SatAppAction &action);
+
+    /** Shows the confirmation not about SetUpCall*/
+    void showSetUpCallConfirm(SatAppAction &action);
+
+private:
+
+    /** Own.*/
+    HbMessageBox *mConfirmQuery;
+    
+    SatAppAction *mAction;
+
+    /** For unit testing.*/ 
+    friend class ConfirmProviderTest;
+};
+
+#endif /* SATAPPCONFIRMPROVIDER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satappconstant.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef SATAPPCONSTANT_H
+#define SATAPPCONSTANT_H
+
+#ifdef _UDEB
+#define SAT_ASSERT Q_ASSERT
+#else
+#define SAT_ASSERT(cond) cond
+#endif
+
+//  CONSTANTS
+
+const int KDisplayTxtUserClearTimeout( 60000 );
+// As the QT for S60 is slow, we use 6 sec, in symbian sat ui we use 3 sec.
+// Rollback to 3s
+const int KDisplayTxtDefaultduration( 3000 );
+
+const unsigned int KGetInputStringMaxSize = 0xEF;
+
+const int KExtendTimeoutMseconds(3000);
+// 1 minute
+const int KDefaultSelectionTimeoutMseconds(60000);
+const int KSymbianTimeConvertQtTime(100);
+const int KMoSmControlTimeOut(3000);
+const int KPlayToneSymbianConvertQtTime(1000);
+
+// extensions to ConfirmAction
+const int ESatConfirmAction = 0x35;
+// extensions to TSatAction
+const int ESatNotifyAction = 0x1001;
+
+// SatAppAction
+// parameter keys
+const QString KeyText="text"; // QString
+const QString KeyMenu="menu"; // QList<QVariant/QString>
+const QString KeyDefault="default"; // int - default selected item index
+const QString KeySelection="selection"; // int - real selected index
+const QString KeyCharacterSet="charset"; // int(TSatCharacterSet)
+const QString KeyInKey="inkey"; // int(char pressed)
+const QString KeyDuration="duration"; // int(milliseconds)
+const QString KeyImmediate="immediate"; // bool - immediate response
+const QString KeyInputString="input"; // QString - user input string
+const QString KeyMinLength="min"; // int 
+const QString KeyMaxLength="max"; // int
+const QString KeyHideInput="hide"; // bool - password mode
+const QString KeyToneId="tone"; // int(TSatTone)
+const QString KeySustainedText="sustained"; // bool - sustained text
+const QString KeyWaitUserToClear="waitusertoclear"; // bool
+const QString KeyHelpRequested="helprequested"; // bool
+const QString KeyApplicationName="applicationname"; // QString - app.name
+const QString KeyCommandId="commandid"; // int(TSatSNotifyCommand)
+const QString KeyControlResult="controlresult"; // int(TSatControlResult)
+const QString KeyAlphaIdStatus="alphaidstatus"; // int(TSatAlphaIdStatus)
+const QString KeyAdditionalText="additionaltext"; //QString - aAdditionalText
+const QString KeyQueryCommandId="querycommandid";//int(TSatSQueryCommand)
+const QString KeyActionAccepted="actionaccepted";//bool
+
+const QString KeyselfExp="sekfexp";//bool
+
+// icon identifiers
+const QString KeyIconId="iconid"; // int - icon id
+const QString KeyIconIdArray="iconidarray"; // QList<QVariant/int> (icon id)
+const QString KeyIconQualifier="iconqualifier"; // int (TSatIconQualifier)
+
+// icons
+const QString KeyIcon="icon"; // HbIcon
+const QString KeyIconArray="icons"; // QList<QVariant/QPixmap>
+
+/**
+ * Play Tone Constants
+ */
+// Tone Sequence
+const char KNetToneSeqNetBusy[] = "\x00\x11\x05\x4E\x30\x40\x30\x07\x0B";
+const char KNetToneSeqNetCallWaiting[] = "\x00\x11\x05\x4E\x14\x40\x3C\x4E\x14"
+"\x40\x64\x40\x64\x40\x64\x4E\x14\x40\x3C\x4E\x14\x40\x64\x40\x64\x40\x64"
+"\x07\x0B";
+const char KNetToneSeqNetCongestion[] = "\x00\x11\x05\x4E\x14\x40\x14\x07\x0B";
+const char KNetToneSeqNetSpecialInformation[] = "\x00\x11\x05\x4F\x21\x50"
+"\x21\x51\x21\x40\x64\x07\x0B";
+const char KNetToneSeqDial[] = "\x00\x11\x05\x4E\xFE\x4E\xFE\x4E\xFE\x4E\xFE\x4E\xFE"
+"\x4E\xFE\x4E\xFE\x4E\xFE\x07\x0B";
+const char KNetToneSeqRingGoing[] = "\x00\x11\x05\x4E\x64\x05\x04\x40\x64\06\x07\x0B";
+const char KGeneralBeep[] = "\x00\x11\x0A\x76\x00\x0B";
+const char KErrorTone[] = "\x00\x11\x0A\x6C\x19\x0B";
+const char KRadioPathNotAvailable[] = "\x00\x11\x0A\x05\x03\x4E\x14\x40\x14\x06\x0B";
+const char KRadioPathAck[] = "\x00\x11\x0A\x02\xFC\x0A\x80\x4E\x14\x0A\x7f\x0B";
+
+// PlayTone durations
+const int KSatDur170ms  = 170;  // 170ms
+const int KSatDur200ms  = 200;  // 200ms
+const int KSatDur250ms  = 250;  // 250ms
+const int KSatDur1200ms = 1200; // 1200ms
+
+//enum for SendSms
+/**Sat send sms user response*/
+enum TSatAppConfirmType
+    {
+    ESatUiConfirmSendSms = 1,
+    ESatUiConfirmSendSs,
+    ESatUiConfirmSendUssd
+    };
+   
+enum TSatAppUserResponse
+{
+    /**
+     *  default, user no response
+     */
+    EUserNoResponse = 0,
+    /**
+     *  OK, user response
+     */
+    EUserPrimaryResponse,
+    /**
+     *  Back, user response
+     */
+    EUserSecondaryResponse,
+    /**
+     *  requested to clear by the server
+     */
+    EUserClearResponse,
+    /**
+     *  requested to close application by the server
+     */
+    EUserCloseResponse
+};
+    
+enum TSatAppDialogActionType
+    {
+    ESatDialogDisplayText = 0, // Ok Back
+    ESatDialogGetInput, // Cancel ->Ok Cancel
+    ESatDialogGetInkey, // Cancel ->Ok Cancel
+    ESatDialogGetYesNo, // Yes No
+    ESatDialogGetDigitalRsp, // Cancel
+    ESatDialogSetUpCall, // Call Cancel
+    ESatDialogConfirmSend, // Yes No
+    ESatDialogConfirmBip // Ok Cancel
+    };
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satappinputprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,111 @@
+/*
+* 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: Provides input methods like query dialogs
+*
+*/
+
+#ifndef SATAPPINPUTPROVIDER_H
+#define SATAPPINPUTPROVIDER_H
+
+// includes
+#include <QObject>
+#include <QTime>
+#include <msatuiobserver.h>
+
+// forward declarations
+class HbDialog;
+class SatAppAction;
+class QTimer;
+
+class SatAppInputProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+    SatAppInputProvider(QObject *parent = 0);
+    virtual ~SatAppInputProvider();
+    
+public slots:
+
+    /** requests user to enter a SINGLE key, character or digit */
+    void getInkey(SatAppAction& action);
+
+    /** requests user to enter a STRING of free text, number or password etc. */
+    void getInput(SatAppAction& action);
+
+    /** Resets the UI state commits pending server requests if any */
+    void resetState();
+    
+private slots:
+
+    /** update the actions when content in getinput changed */
+    void updateQueryAction();
+    /** update the actions according the text */
+    void updateQueryAction(QString text);
+    /** get the input key in get inkey */
+    void transmitInkeyFromDialog();
+    /** get the input key in get inkey immediate */
+    void transmitInkeyImmediately(QString text);
+    /** get the input key in get inkey yesno query */
+    void transmitInkeyTrue();
+    /** get the input key in get inkey yesno query */
+    void transmitInkeyFalse();
+    /** get the get input string */
+    void transmitStringFromDialog();
+    /** clear the query timeout timer */
+    void clearDurationTimer();
+
+private: // private implementation
+
+    /** show get inkey query */
+    void showGetInkeyQuery(const QString &aHeading, 
+        TSatCharacterSet aCharacterSet, int aDuration);
+    /** show get inkey immediate query */    
+    void showGetImmediateQuery(const QString &aHeading, int aDuration);    
+    /** show get inkey yes no query */
+   void showGetYesNoQuery(const QString &aText, int aDuration);
+    
+   /** show get input query */
+    void showGetInputQuery(const QString &heading, const QString &content,
+            TSatCharacterSet characterSet, int minLength, int maxLength,
+            bool aHideInput);
+    /** dialog type */
+    enum DialogMode {
+        GetInkey,
+        GetYesNo,
+        GetImmediate,
+        GetInput};
+    
+    /** update dialog according type */
+    void composeDialog(HbDialog *dlg, DialogMode mode);
+    /** set the get inkey result to action */
+    void transmitInkey(int key);
+    /** start dialog timeout timer */
+    void startDurationTimer(int duration);
+    
+private:
+    /** not own */
+    SatAppAction* mCurrentAction;
+    /** own */
+    HbDialog* mCurrentDialog;
+    /** own */
+    QTime mInputTimer;
+    /** own */
+    QTimer* mDurationTimer;
+
+    /**for unit testing */
+    friend class InputProviderTest;
+};
+
+#endif /* SATAPPINPUTPROVIDER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satappmainhandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*
+*/
+
+#ifndef SATAPPMAINHANDLER_H
+#define SATAPPMAINHANDLER_H
+
+#include <QObject>
+#include <QVariant>
+
+class HbMainWindow;
+class HbMessageBox;
+class SatAppServerDispatcher;
+class SatAppMenuProvider;
+class SatAppInputProvider;
+class SatAppToneProvider;
+class SatAppPopupProvider;
+class SatAppConfirmProvider;
+
+class SatAppMainHandler : public QObject
+{
+    Q_OBJECT
+
+public:
+    SatAppMainHandler(HbMainWindow &window, QObject *parent = 0);
+    ~SatAppMainHandler();
+    void showOfflineWarning();
+    
+private:
+    void initConnections();
+    
+private slots:
+    void updateActivity();
+    void saveActivity();
+
+private:
+    void removeActivity();
+    bool isOffline();
+private: // data
+
+    SatAppServerDispatcher* mServer;
+    SatAppMenuProvider* mMenu;
+    SatAppInputProvider* mInput;
+    SatAppToneProvider* mTone;
+    SatAppPopupProvider* mPopup;
+    SatAppConfirmProvider *mConfirm;
+    QVariantHash mActivity;
+    
+    HbMessageBox *mOfflineWarningDlg;
+};
+
+#endif // SATAPPMAINHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satappmenuprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* 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: Provides and maintains SAT main view (selection list)s
+*
+*/
+
+#ifndef SATAPPMENUPROVIDER_H
+#define SATAPPMENUPROVIDER_H
+
+#include <QObject>
+#include <msatuiobserver.h> //for TSatUiResponse
+
+class SatAppAction;
+class HbMainWindow;
+class HbListWidgetItem;
+class HbView;
+class QEventLoop;
+class QTimer;
+class HbMainWindow;
+class HbAction;
+class HbListWidget;
+class HbLabel;
+class QPixmap;
+
+class SatAppMenuProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    SatAppMenuProvider(HbMainWindow *window, QObject *parent = 0);
+
+    virtual ~SatAppMenuProvider();
+
+    /** takes a screen shot of the menu */
+    QPixmap takeScreenShot();
+
+public slots:
+
+    /** signal request to display a menu */
+    void setUpMenu(SatAppAction &action);
+    
+    /** requests a list selection menu to be displayed */
+    void selectItem(SatAppAction &action);
+
+    void resetState();
+
+private slots:
+    void menuItemSelected(HbListWidgetItem *item);
+
+private:
+
+    void loadMainView();
+    void switchView();
+    void connectItem();
+    void disconnectItem();
+
+private:
+
+    QList<QObject *> mObjects;
+    HbMainWindow *mMainWindow;    
+    HbView *mSetupMenuView;
+    HbView *mSelectItemView;
+    HbAction *mSoftKeyQuitAction;
+    HbAction *mSoftKeyBackAction;
+    HbListWidget *mListWidget;
+    HbListWidget *mSelectListWidget;
+    HbLabel *mSubTitle;
+    SatAppAction* mCurrentAction; // not own
+
+    // for unit testing
+    friend class MenuProviderTest;
+};
+
+#endif /* SATAPPMENUPROVIDER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satapppopupprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Provides SAT popups info and progress notes
+*
+*/
+
+#ifndef SATAPPPOPUPPROVIDER_H
+#define SATAPPPOPUPPROVIDER_H
+
+// includes
+#include <QObject>
+
+// forward declarations
+class HbMessageBox;
+class HbDialog;
+class HbDeviceMessageBox;
+class SatAppAction;
+
+class SatAppPopupProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+    SatAppPopupProvider(QObject *parent = 0);
+    virtual ~SatAppPopupProvider();
+    
+public slots:
+
+    /** displays a text note on screen */
+    void displayText(SatAppAction &action);
+
+    /** shows a simple notification about an ongoing operation */
+    void notification(SatAppAction &action);
+    
+    /** requests any ongoing wait note to be dismissed */
+    void stopShowWaitNote();
+
+    /** show a error note for send ss command */
+    void showSsErrorNote();
+    
+    /** requests any ongoing wait note and display text to be dismissed */
+    void clearScreen();
+    
+    /** reset some data members */
+    void resetState();
+    
+private:
+    QString alphaId(SatAppAction &action);
+    void showBIPWaitNote(SatAppAction &action);
+    void showCloseChannelWaitNote(SatAppAction &action);
+    void showMoSmControlNote(SatAppAction &action);
+    void showSatInfoNote(SatAppAction &action);
+    void showSmsWaitNote(SatAppAction &action);
+    void showCallControlNote(SatAppAction &action);        
+    void showDtmfWaitNote(SatAppAction &action);
+    void showSsWaitNote(SatAppAction &action);
+
+private:
+    HbMessageBox *mDisplayText;
+    HbDialog *mWaitDialog;
+    HbDeviceMessageBox *mWaitDeviceDialog;
+    SatAppAction *mAction;
+    
+    // for unit testing
+    friend class PopupProviderTest;
+};
+
+#endif /* SATAPPPOPUPPROVIDER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satappserverdispatcher.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,209 @@
+/*
+* 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: Receives UI commands from SAT server and converts to QT
+*
+*/
+
+#ifndef SATAPPSERVERDISPATCHER_H
+#define SATAPPSERVERDISPATCHER_H
+
+#include <QObject>
+#include <msatuiobserver.h>
+#include <rsatuisession.h>
+#include <rsatsession.h>
+
+// forward declarations
+class SatAppAction;
+
+class SatAppServerDispatcher: public QObject, public MSatUiObserver
+{
+    Q_OBJECT
+
+public:
+
+    SatAppServerDispatcher(QObject *parent = 0);
+
+    virtual ~SatAppServerDispatcher();
+
+signals:
+
+    /** signal request to display a menu */
+    void setUpMenu(SatAppAction &action);
+
+    /** requests a list selection menu to be displayed */
+    void selectItem(SatAppAction &action);
+
+    /** Requtes a text to be displayed to the user*/
+    void displayText(SatAppAction &action);
+
+    /** requests a key input to be displayed */
+    void getInkey(SatAppAction &action);
+
+    /** requests a string input to be displayed */
+    void getInput(SatAppAction &action);
+
+    /** Requests tone to be played */
+    void playTone(SatAppAction &action);
+
+    /** requests a confirm string to be displayed */
+    void confirmCommand(SatAppAction &action);
+
+    /** Requests an info notification or wait/status note */
+    void notification(SatAppAction &action);
+  
+    /** requests any ongoing wait note to be dismissed */
+    void stopShowWaitNote();
+
+    /** requests all ongoing activities to be cleared on SAT UI */
+    void clearScreen();
+
+    /** requests to show ss error note*/
+    void showSsErrorNote();
+
+public slots:
+
+     /**
+     * Response to the Set Up Menu command.
+     * @param aMenuItem The selected menu item.
+     * @param aHelpRequested Indicates whether help was requested.
+     */
+    void menuSelection(SatAppAction* action);
+
+    /**
+    * User cancel response, Send DTMF, Send Data, Receive Data
+    */
+    void userCancelSession(SatAppAction* action);
+    
+    
+    // ****************************************************************************
+    // * ************************************************************************ *
+    // * *                          SYMBIAN PART                                * *
+    // * ************************************************************************ *
+    // ****************************************************************************
+
+private:
+    
+    void ConnectSatSessionL();
+    void DisconnectSatSession();
+    
+public: // from MSatUiObserver
+
+    /**
+     * see msatuiobserver.h
+     */
+    TSatUiResponse DisplayTextL( const TDesC& aText,
+        const TDesC& aSimApplicationName,
+        const TSatIconId& aIconId,
+        TBool& aRequestedIconDisplayed,
+        const TBool aSustainedText,
+        const TTimeIntervalSeconds aDuration,
+        const TBool aWaitUserToClear );
+
+    /**
+     * see msatuiobserver.h
+     */
+    TSatUiResponse GetInkeyL( const TDesC& aText,
+        const TSatCharacterSet aCharacterSet, TChar& aInput,
+        const TBool aHelpIsAvailable,
+        const TSatIconId& aIconId,
+        TBool& aRequestedIconDisplayed,
+        TUint& aDuration,
+        const TBool aImmediateDigitResponse );
+
+    /**
+     * see msatuiobserver.h
+     */
+    TSatUiResponse GetInputL( const TDesC& aText,
+        const TSatCharacterSet aCharacterSet, TDes& aInput,
+        const TInt aMinLength, const TInt aMaxLength,
+        const TBool aHideInput,
+        const TBool aHelpIsAvailable,
+        const TSatIconId& aIconId,
+        TBool& aRequestedIconDisplayed );
+
+    /**
+     * see msatuiobserver.h
+     */
+    TSatUiResponse SetUpMenuL( const TDesC& aText,
+        const MDesCArray& aMenuItems,
+        const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
+        const TBool aHelpIsAvailable,
+        const TSatIconId& aIconId,
+        const CArrayFixFlat<TInt>* aMenuIcons,
+        const enum TSatIconQualifier aIconListQualifier,
+        const enum TSatSelectionPreference aSelectionPreference );
+
+    /**
+     * see msatuiobserver.h
+     */
+    TSatUiResponse SelectItemL( const TDesC& aText,
+        const MDesCArray& aMenuItems,
+        const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
+        const TInt aDefaultItem, TUint8& aSelection,
+        const TBool aHelpIsAvailable,
+        const TSatIconId& aIconId,
+        const CArrayFixFlat<TInt>* aMenuIcons,
+        const enum TSatIconQualifier aIconListQualifier,
+        TBool& aRequestedIconDisplayed,
+        const enum TSatSelectionPreference aSelectionPreference );
+
+    /**
+     * see msatuiobserver.h
+     */
+    TSatUiResponse PlayTone( const TDesC& aText,
+        const TSatTone aTone,
+        const TTimeIntervalMicroSeconds aDuration,
+        const TSatIconId& aIconId,
+        TBool& aRequestedIconDisplayed );
+
+    /**
+     * see msatuiobserver.h
+     */
+    void ConfirmCommand(
+        const TSatSQueryCommand aCommandId,
+        const TSatAlphaIdStatus aAlphaIdStatus,
+        const TDesC& aText,
+        const TDesC& aAdditionalText,
+        TBool& aActionAccepted,
+        const TSatIconId& aIconId,
+        TBool& aRequestedIconDisplayed,
+        TBool& aTerminatedByUser );
+
+   /**
+    * see msatuiobserver.h
+    */
+    TSatUiResponse Notification(
+        const TSatSNotifyCommand aCommandId,
+        const TSatAlphaIdStatus aAlphaIdStatus,
+        const TDesC& aText,
+        const TSatIconId& aIconId,
+        TBool& aRequestedIconDisplayed,
+        const TSatControlResult aControlResult );
+
+    /**
+     * see msatuiobserver.h
+     */
+    void EventNotification(
+        const TSatSEvent aEventId,
+        const TSatSEventStatus aEventStatus,
+        const TInt aError );
+
+private:
+    
+    RSatUiSession iSat;
+    RSatSession iSatSession;
+
+};
+
+#endif //SATAPPSERVERDISPATCHER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satapptoneprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef SATAPPTONEPROVIDER_H
+#define SATAPPTONEPROVIDER_H
+
+// includes
+#include <QObject>
+#include <QString>
+#include <QByteArray>
+#include <msatuiobserver.h> //for TSatUiResponse
+#include <mdaaudiotoneplayer.h> //MMdaAudioToneObserver
+#include <mdaaudiosampleplayer.h> //MMdaAudioPlayerCallback
+
+// forward declarations
+class QTimer;
+class HbMessageBox;
+class CMdaAudioToneUtility;
+class CMdaAudioPlayerUtility;
+class SatAppAction;
+
+
+class SatAppToneProvider:
+    public QObject,
+    public MMdaAudioToneObserver,
+    public MMdaAudioPlayerCallback
+{
+    Q_OBJECT
+
+public:
+
+    SatAppToneProvider(QObject *parent = 0);
+    virtual ~SatAppToneProvider();
+
+public slots:
+
+    void playTone(SatAppAction& action);
+    
+    void clearScreen();
+
+private:
+
+    enum State {Idle,PlayStandardTone,PlayUserSelectedTone};
+
+    State recognizeTone(
+        int tone,
+        QByteArray& sequence,
+        int& duration);
+    QByteArray charArrayToByteArray(
+        const char tone[],
+        int size);
+    void playStandardTone(
+        const QString& text,
+        const QByteArray& sequence,
+        int duration);
+    void playUserSelectedTone(
+        const QString& text,
+        int tone,
+        int duration);
+
+public slots:
+    /**
+     * Resets the UI state within the tone provider,
+     * commits pending server requests if any
+     */
+    void resetState();
+
+private slots:
+
+    void stopPlayTone();
+
+// ****************************************************************************
+// * ************************************************************************ *
+// * *                          SYMBIAN PART                                * *
+// * ************************************************************************ *
+// ****************************************************************************
+
+private:
+
+    void SymbianPrepareAudioToneUtilityL(const TDesC8& sequence);
+    void SymbianStopAudioToneUtility();
+    void SymbianPrepareAudioPlayerL(int tone, int duration);
+    void SymbianStopAudioPlayer();
+    void GetProfileParamsL(
+        int tone=ESatToneNotSet, TDes* toneName=NULL );
+
+public: // from MMdaAudioToneObserver
+
+    void MatoPrepareComplete( TInt aError );
+    void MatoPlayComplete( TInt aError );
+
+public: //from MMdaAudioPlayerCallback
+
+    void MapcInitComplete( TInt aError,
+        const TTimeIntervalMicroSeconds& aDuration );
+    void MapcPlayComplete( TInt aError );
+
+
+private: // Data
+
+    State mState;
+    SatAppAction* mCurrentAction;
+
+    bool mWarningAndPlayTones;
+    int mVolume;
+    CMdaAudioToneUtility *mPlayer;
+    TSatUiResponse mPlayToneError;
+    QTimer *mTimer;
+    HbMessageBox *mPermanentNote;
+    CMdaAudioPlayerUtility *mAudioPlayer;
+
+    // for unit testing
+    friend class ToneProviderTest;
+};
+
+#endif //SATAPPTONEPROVIDER_H
--- a/satui/satapp/loc/satui.loc	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +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 a localisation file for SatUi
-*     		 A .loc file is the one and only place where the logical strings
-*     		 to be localised are defined. 
-*
-*/
-
-
-/**
- *  Default (implementation English) Resource localisation file for
- *  SatUi application information resource SatUi.rss. 
- */
-
-// LOCALISATION STRINGS
-
-//d:SatUi application name in Application Shell
-//l:list_single_large_graphic_pane_t1
-//w:
-//r:2.8
-//
-#define qtn_apps_simapps_list "SIM services"
-
-//d:SatUi application name in Application Shell
-//l:cell_app_pane_t1
-//w:
-//r:2.8
-//
-#define qtn_apps_simapps_grid "SIM services"
-
-//d:SatUi application title
-//l:title_pane_t2/opt9
-//w:
-//r:2.8
-//
-#define qtn_sat_title "SIM services"
-
-//d:SIM message header in the popup window
-//l:heading_pane_t1
-//w:
-//r:2.8
-//
-#define qtn_sat_message_header "SIM note:"
-
-//d:SIM help header in the popup window
-//l:heading_pane_t1
-//w:
-//r:2.8
-//
-#define qtn_sat_help_header "SIM help:"
-
-//d:Prompt text for Get Inkey data query if alpha entry is expected
-//l:popup_query_data_window
-//w:
-//r:2.8
-//
-#define text_simatk_enter_char "Enter:\n(1 character)"
-
-//d:Prompt text for Get Inkey data query if numeric entry is expected
-//l:popup_query_data_window
-//w:
-//r:2.8
-//
-#define text_simatk_enter_nbr "Enter:\n(1 digit 0-9)"
-
-//d:Prompt text for Get Input data query if alpha entry is expected
-//l:popup_query_data_window
-//w:
-//r:2.8
-//
-#define text_simatk_enter_char_string "Enter:"
-
-//d:Prompt text for Get Input data query if numeric entry is expected
-//l:popup_query_data_window
-//w:
-//r:2.8
-//
-#define text_simatk_enter_nbr_string "Enter:\n(number)"
-
-//d:SMS sending procedure is confirmed with a confirmation query
-//d:with this text
-//l:popup_note_window
-//w:
-//r:2.8
-//
-#define text_simatk_send_sms "Allow SIM card to send a message?"
-
-//d:SMS sending procedure is indicated with an information note
-//d:with this text
-//l:popup_note_window
-//w:
-//r:2.8
-//
-#define qtn_sat_note_sms_send "SMS sending by SIM"
-
-//d:SMS sending procedure is notified to the user with a wait note
-//d:with this text
-//l:popup_note_wait_window
-//w:
-//r:2.8
-//
-#define qtn_sat_sending_sms "Sending..."
-
-//d:SS sending procedure is confirmed with a confirmation note with this text
-//l:popup_note_window
-//w:
-//r:2.8
-//
-#define text_simatk_send_ss "Allow SIM card to send a request to the network?"
-
-//d:Setting up call procedure is confirmed with a confirmation note
-//d:with this text
-//d:%0U is the name of SIM application or qtn_sat_query_title
-//l:popup_note_window
-//w:
-//r:2.8
-//
-#define text_call_setup_by_simatk "%U about to call"
-
-//d:Part of the text text_call_setup_by_simatk (see above)
-//l:popup_note_window 
-//w:
-//r:2.8 
-//
-#define qtn_sat_query_title "SIM services"
-
-//d:Refresh is confirmed with a confirmation note with this text
-//l:popup_note_window
-//w:
-//r:2.8
-//
-#define qtn_sat_query_allow_reset "Allow SIM update?"
-
-//d:The refresh is notified to the user with a wait note with this text
-//l:popup_note_wait_window
-//w:
-//r:2.8
-//
-#define qtn_sat_wait_refresh_update "SIM card updating"
-
-//d:Command text associated to an item in the Options Menu
-//d:Selects the item in focus in the main pain
-//l:list_single_pane_t1_cp2
-//w:
-//r:2.8
-//
-#define qtn_sat_option_send "Send"
-
-//d:Command text associated to an item in the Options Menu
-//d:Selects the item in focus in the main pain
-//l:list_single_pane_t1_cp2
-//w:
-//r:2.8
-//
-#define qtn_sat_option_play_tone "Play"
-
-//d:Command text associated to an item in the Options Menu
-//d:Selects the item in focus in the main pain
-//l:list_single_pane_t1_cp2
-//w:
-//r:2.8
-//
-#define qtn_sat_option_read "Read"
-
-//d:Command text associated to an item in the Options Menu
-//d:Selects the item in focus in the main pain
-//l:list_single_pane_t1_cp2
-//w:
-//r:2.8
-//
-#define qtn_sat_option_goto "Go to"
-
-/**
- *  Default (implementation English) Resource localisation file for
- *  SatUi application information resource SatUi.rss. 
- *  Additional texts introduced during SAT joint development
- *  Moved from satuiadd.loc
- */
-
-//d:It is wait note during DTMF sending procedure.
-//d:%U is replaced with the DTMF string to be sent.
-//l:popup_note_wait_window
-//w:
-//r:2.8
-//
-#define qtn_sat_note_sending_dtmf_template "Sending\n%U"
-
-//d:It is information note after SIM Toolkit's
-//d:Mobile Outgoing Short Message Control
-//d:has modified a short message request.
-//l:popup_note_window
-//w:
-//r:2.8
-//
-#define qtn_sat_request_modified "Request modified"
-
-//d:Information note about Call Control
-//d:shows a message to user that call
-//d:control has not allowed the action
-//l:popup_note_window
-//w:
-//r:2.8
-//
-#define qtn_sat_cc_not_allowed "Request not allowed"
-
-//d:Information note about Call Control
-//d:shows a message to user that call
-//d:control has changed the call
-//l:popup_note_window
-//w:
-//r:2.8
-//
-#define qtn_sat_cc_modified "Request Modified"
-
-//d:Information note about No response timeout
-//d:shows a message to user that timeout
-//d:has expired for input
-//l:popup_note_window
-//w:
-//r:2.8
-//
-#define qtn_sat_timeout "Timeout!"
-
-//d:Open Channel is confirmed with a confirmation note with this text
-//l:popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_sat_conf_open_channel_bip "Open connection?"
-
-//d:Receive data procedure is notified to the user with a wait note
-//l:popup_note_wait_window
-//w:
-//r:3.0
-//
-#define qtn_sat_conf_receive_data_bip "Receiving data"
-
-//d:Send data procedure is notified to the user with a wait note
-//l:list_single_popup_menu_pane_1
-//l:popup_note_wait_window
-//w:
-//r:3.0
-//
-#define qtn_sat_conf_send_data_bip "Sending data"
-
-//d:Close Channel information note
-//l:list_single_popup_menu_pane_1
-//l:popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_sat_conf_close_channel_bip "Connection closed"
-
-//d:Launch Browser is confirmed with this text
-//l:popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_sat_conf_launch_brow "Open browser?"
-
-//d:Indicate SAT is not available
-//l:popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_sat_services_not_available "SIM services not available"
-
-//d:Command text associated to the middle softkey
-//l:control_pane_t3/opt7
-//w:
-//r:3.2
-//
-#define qtn_msk_call_sat "Call"
-
-
-//d:Command text associated to the middle softkey
-//l:control_pane_t3/opt7
-//w:
-//r:3.2
-//
-#define qtn_msk_read_sat "Read"
-
-//d:Command text associated to the middle softkey
-//l:control_pane_t3/opt7
-//w:
-//r:3.2
-//
-#define qtn_msk_goto_sat "Go to"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/resource/qtg_large_sat.svg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,74 @@
+<?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">
+<rect fill="none" height="60" width="60"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1" x1="30" x2="30" y1="8.53" y2="50.71">
+<stop offset="0" stop-color="#A0A3A6"/>
+<stop offset="0.82" stop-color="#474B4D"/>
+<stop offset="1" stop-color="#7B7E80"/>
+</linearGradient>
+<path d="M14.126,50.774c-1.029,0-1.865-0.835-1.865-1.865V10.397c0-1.028,0.836-1.864,1.865-1.864 h23.233c0.842,0,1.967,0.467,2.563,1.061l6.752,6.751c0.595,0.596,1.061,1.721,1.061,2.563v30.001c0,1.03-0.836,1.865-1.865,1.865 L14.126,50.774L14.126,50.774z" fill="url(#SVGID_1)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2" x1="30" x2="30" y1="9.15" y2="50.09">
+<stop offset="0" stop-color="#E6E9E8"/>
+<stop offset="1" stop-color="#ADB2B5"/>
+</linearGradient>
+<path d="M39.482,10.035c-0.483-0.483-1.439-0.88-2.123-0.88H14.126c-0.684,0-1.244,0.561-1.244,1.243 v38.511c0,0.684,0.56,1.244,1.244,1.244h31.743c0.685,0,1.244-0.561,1.244-1.244v-30c0-0.684-0.396-1.639-0.879-2.123L39.482,10.035 z" fill="url(#SVGID_2)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3" x1="30" x2="30" y1="9.26" y2="50.26">
+<stop offset="0" stop-color="#F5F5F5"/>
+<stop offset="0.78" stop-color="#CCCCCC"/>
+<stop offset="1" stop-color="#D1D1D1"/>
+</linearGradient>
+<path d="M37.359,9.776c0.516,0,1.317,0.332,1.684,0.697l6.751,6.75 c0.365,0.366,0.697,1.167,0.697,1.684v30.001c0,0.344-0.278,0.622-0.622,0.622H14.126c-0.344,0-0.622-0.278-0.622-0.622V10.397 c0-0.342,0.278-0.622,0.622-0.622L37.359,9.776 M37.359,9.154H14.126c-0.684,0-1.244,0.561-1.244,1.243v38.511 c0,0.684,0.56,1.244,1.244,1.244h31.743c0.685,0,1.244-0.561,1.244-1.244v-30c0-0.684-0.396-1.639-0.879-2.123l-6.752-6.75 C38.999,9.552,38.043,9.154,37.359,9.154L37.359,9.154z" fill="url(#SVGID_3)"/>
+<rect fill="#E6E7E8" height="0.612" width="22.941" x="16.24" y="45.59"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4" x1="28.02" x2="28.02" y1="45.58" y2="25.53">
+<stop offset="0" stop-color="#666666"/>
+<stop offset="1" stop-color="#282828"/>
+</linearGradient>
+<rect fill="url(#SVGID_4)" height="20.202" width="23.553" x="16.24" y="25.45"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5" x1="19.61" x2="19.61" y1="26.43" y2="44.18">
+<stop offset="0" stop-color="#FFF173"/>
+<stop offset="0.33" stop-color="#F1BC35"/>
+<stop offset="0.66" stop-color="#E5B029"/>
+<stop offset="1" stop-color="#FFA102"/>
+</linearGradient>
+<rect fill="url(#SVGID_5)" height="5.51" width="4.285" x="17.464" y="38.855"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6" x1="30.14" x2="30.14" y1="26.62" y2="43.94">
+<stop offset="0" stop-color="#FFF173"/>
+<stop offset="0.33" stop-color="#F1BC35"/>
+<stop offset="0.66" stop-color="#E5B029"/>
+<stop offset="1" stop-color="#FFA102"/>
+</linearGradient>
+<rect fill="url(#SVGID_6)" height="5.509" width="3.963" x="28.161" y="26.612"/>
+<rect fill="url(#SVGID_6)" height="5.509" width="3.963" x="22.974" y="26.612"/>
+<rect fill="url(#SVGID_6)" height="5.509" width="5.188" x="33.348" y="26.612"/>
+<rect fill="url(#SVGID_5)" height="5.51" width="3.963" x="28.161" y="38.855"/>
+<rect fill="url(#SVGID_5)" height="5.51" width="3.963" x="22.974" y="38.855"/>
+<polygon fill="url(#SVGID_6)" points="21.683,33.346 21.683,26.612 17.464,26.612 17.464,37.631 38.535,37.631 38.535,33.346 "/>
+<rect fill="url(#SVGID_5)" height="5.51" width="5.188" x="33.348" y="38.855"/>
+<g transform="matrix(0.5 0 0 0.5 30 30)">
+<rect fill="none" height="59.996" width="59.996"/>
+<path d="M30.295,21.957c0.98,0,1.767-0.243,2.359-0.727 c0.592-0.485,0.888-1.15,0.888-2c0-0.825-0.306-1.487-0.915-1.982c-0.609-0.495-1.387-0.744-2.332-0.744 c-0.993,0-1.778,0.245-2.358,0.735c-0.581,0.491-0.87,1.154-0.87,1.991c0,0.849,0.296,1.515,0.888,2 C28.547,21.714,29.327,21.957,30.295,21.957z" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M30.295,21.344c0.98,0,1.767-0.242,2.359-0.727s0.888-1.15,0.888-2 c0-0.825-0.306-1.486-0.915-1.982c-0.609-0.495-1.387-0.744-2.332-0.744c-0.993,0-1.778,0.245-2.358,0.735 c-0.581,0.49-0.87,1.154-0.87,1.991c0,0.849,0.296,1.515,0.888,2C28.547,21.102,29.327,21.344,30.295,21.344z" fill-opacity="0.2" stroke-opacity="0.2"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="30" x2="30" y1="8.77" y2="51.63">
+<stop offset="0" stop-color="#E5FFB2"/>
+<stop offset="0.39" stop-color="#6AAB18"/>
+<stop offset="0.68" stop-color="#247307"/>
+<stop offset="1" stop-color="#C2FF4A"/>
+</linearGradient>
+<circle cx="29.998" cy="29.998" fill="url(#SVGID_1_)" r="21.427"/>
+<radialGradient cx="30.2" cy="11.02" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="39.38">
+<stop offset="0" stop-color="#AFED23"/>
+<stop offset="0.81" stop-color="#358C0C"/>
+<stop offset="1" stop-color="#67AD1A"/>
+</radialGradient>
+<path d="M29.998,50.813c-11.478,0-20.815-9.337-20.815-20.814S18.521,9.183,29.998,9.183 c11.479,0,20.814,9.337,20.814,20.815S41.475,50.813,29.998,50.813L29.998,50.813z" fill="url(#SVGID_2_)"/>
+<polygon fill-opacity="0.1" points="25.252,27.84 27.297,27.84 27.297,45.543 33.251,45.543 33.251,24.451 25.252,24.451 " stroke-opacity="0.1"/>
+<polygon fill-opacity="0.2" points="25.252,27.228 27.297,27.228 27.297,44.932 33.251,44.932 33.251,23.838 25.252,23.838 " stroke-opacity="0.2"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="29.25" x2="29.25" y1="15.88" y2="44.66">
+<stop offset="0" stop-color="#F6FDFF"/>
+<stop offset="1" stop-color="#ADB3B5"/>
+</linearGradient>
+<polygon fill="url(#SVGID_3_)" points="25.252,26.616 27.297,26.616 27.297,44.318 33.251,44.318 33.251,23.226 25.252,23.226 "/>
+<path d="M30.274,21.038c0.981,0,1.767-0.242,2.359-0.727s0.888-1.15,0.888-2 c0-0.825-0.306-1.486-0.915-1.982c-0.609-0.495-1.387-0.744-2.332-0.744c-0.992,0-1.778,0.245-2.357,0.735 c-0.581,0.49-0.871,1.154-0.871,1.991c0,0.849,0.296,1.515,0.888,2C28.525,20.796,29.305,21.038,30.274,21.038z" fill="url(#SVGID_3_)"/>
+</g>
+</svg>
Binary file satui/satapp/resource/sat_text_map.xls has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/resource/satapp.docml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument context="satapp" version="0.7">
+    <widget name="setupmenu_view" type="HbView">
+        <widget name="content" role="HbView:widget" type="HbWidget">
+            <widget name="s:ListWidget" type="HbListWidget">
+                <real name="z" value="1"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="s:ListWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="s:ListWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="s:ListWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="s:ListWidget" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <widget name="s:MenuAction" role="HbView:menu" type="HbMenu">
+            <!--ref object="t:exit" role="HbMenu:addAction"/-->
+        </widget>
+        <string locid="txt_simatk_title_sim_services" name="title" value="SIM Services"/>
+    </widget>
+    <widget name="selectitem_view" type="HbView">
+        <widget name="content_2" role="HbView:widget" type="HbWidget">
+            <widget name="t:ListWidget" type="HbListWidget">
+                <real name="z" value="2"/>
+            </widget>
+            <widget name="t:label" type="HbLabel">
+                <real name="z" value="3"/>
+                <sizehint height="6un" type="PREFERRED"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="t:ListWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="t:ListWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="t:ListWidget" dstEdge="TOP" spacing="6un" src="" srcEdge="TOP"/>
+                <anchoritem dst="t:ListWidget" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="t:label" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="t:label" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="t:label" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+            </layout>
+        </widget>
+        <widget name="t:MenuAction" role="HbView:menu" type="HbMenu">
+            <!--ref object="t:back" role="HbMenu:addAction"/-->
+            <!--ref object="t:exit" role="HbMenu:addAction"/-->
+        </widget>
+        <string locid="txt_simatk_title_sim_services" name="title" value="SIM Services"/>
+    </widget>
+    <!--connect receiver="selectitem_view" sender="t:back" signal="triggered()" slot="backButtonClicked()"/-->
+    <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
Binary file satui/satapp/resource/satapp.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/resource/satapp.qrc	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,12 @@
+<RCC>
+    <!-- application xml -->
+    <qresource prefix="/xml" >
+        <file alias="satapp.docml">satapp.docml</file>
+    </qresource>
+    <qresource prefix="/translations" >
+        <file alias="satapp">satapp.qm</file>
+    </qresource>
+    <qresource prefix="/icons" >
+        <file>qtg_large_sat.svg</file>
+    </qresource>    
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/resource/satapp.ts	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message numerus="no" id="txt_common_info_processing">
+    <comment>Wait note text in message box. Displayed when something is being processed.</comment>        
+    <source>Processing</source>
+    <translation variants="no">Processing</translation>
+    <extra-loc-layout_id>qtl_dialog_pri3_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>common</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_sendingdata">
+    <comment></comment>        
+    <source>Sending data</source>
+    <translation variants="no">Sending data</translation>
+    <extra-loc-layout_id>qtl_dialog_pri3_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_info_sending">
+    <comment>notification dialog</comment>        
+    <source>Sending</source>
+    <translation variants="no">Sending</translation>
+    <extra-loc-layout_id>qtl_dialog_pri3</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_title_sim_services">
+    <comment>Default titlebar text</comment>        
+    <source>SIM Services</source>
+    <translation variants="no">SIM Services</translation>
+    <extra-loc-layout_id>qtl_titlebar</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk_02</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_button_cancel">
+    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. Allows the user to cancel the action or process.</comment>        
+    <source>Cancel</source>
+    <translation variants="no">Cancel</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>common</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_enternnumber">
+    <comment>Default prompt text for input dialog</comment>        
+    <source>Enter:\n(number)</source>
+    <translation variants="no">Enter:\n(number)</translation>
+    <extra-loc-layout_id>qtl_dialog_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk_06</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_entern1_digit_09">
+    <comment>inputDialog label</comment>        
+    <source>Enter:\n(1 digit 0-9) </source>
+    <translation variants="no">Enter:\n(1 digit 0-9) </translation>
+    <extra-loc-layout_id>qtl_dialog_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk_06</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_titlw_cmcc_sim_services">
+    <comment>title for CMCC</comment>        
+    <source>CMCC SIM Services</source>
+    <translation variants="no">CMCC SIM Services</translation>
+    <extra-loc-layout_id>qtl_titlebar</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_info_1_about_to_call">
+    <comment>Body text for note, shown when SAT App is opened but SAT is not supported (no SIM/offline/etc)</comment>        
+    <source>%1 about to call</source>
+    <translation variants="no">%1 about to call</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk_09</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_short_caption_sim_services">
+    <comment>list item in Application library - Short caption / grid view</comment>        
+    <source>SIM Services</source>
+    <translation variants="no">SIM Services</translation>
+    <extra-loc-layout_id>qtl_grid_applications_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk_01</extra-loc-viewid>
+    <extra-loc-positionid>grid</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_openbrowser">
+    <comment></comment>        
+    <source>Open browser?
+</source>
+    <translation variants="no">Open browser?
+</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_receivingdata">
+    <comment></comment>        
+    <source>Receiving data</source>
+    <translation variants="no">Receiving data</translation>
+    <extra-loc-layout_id>qtl_dialog_pri3_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_connectionclosed">
+    <comment></comment>        
+    <source>Connection closed</source>
+    <translation variants="no">Connection closed</translation>
+    <extra-loc-layout_id>qtl_dialog_pri3_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_tsw_caption_sim_services">
+    <comment>Item in Task Switcher.</comment>        
+    <source>SIM Services</source>
+    <translation variants="no">SIM Services</translation>
+    <extra-loc-layout_id>qtl_grid_taskswitcher_tiny</extra-loc-layout_id>    
+    <extra-loc-viewid>tsw_01</extra-loc-viewid>
+    <extra-loc-positionid>caption</extra-loc-positionid>
+    <extra-loc-feature>tsw</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_sim_services">
+    <comment>heading for dialog (input dialog, message box dialog)</comment>        
+    <source>SIM Services</source>
+    <translation variants="no">SIM Services</translation>
+    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk_03</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_info_open_connection">
+    <comment>text for message box dialog</comment>        
+    <source>Open connection?</source>
+    <translation variants="no">Open connection?</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_long_caption_sim_services">
+    <comment>list item in Application library - Long caption / list view</comment>        
+    <source>SIM Services</source>
+    <translation variants="no">SIM Services</translation>
+    <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk_01</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dpopinfo_request_not_allowed">
+    <comment>Default note body text if SIM doesn&apos;t provide one. Used when SIM does not allow a send SMS operation. Used also when SIM does not allow a Call/SendSS/SendUssd</comment>        
+    <source>Request not allowed</source>
+    <translation variants="no">Request not allowed</translation>
+    <extra-loc-layout_id>qtl_notifdialog_pri2_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_enter">
+    <comment>inputDialog label</comment>        
+    <source>Enter:</source>
+    <translation variants="no">Enter:</translation>
+    <extra-loc-layout_id>qtl_dialog_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dpopinfo_request_modified">
+    <comment>notification dialog</comment>        
+    <source>Request modified</source>
+    <translation variants="no">Request modified</translation>
+    <extra-loc-layout_id>qtl_notifdialog_pri2_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_entern1_character">
+    <comment>inputDialog label</comment>        
+    <source>Enter:\n(1 character) </source>
+    <translation variants="no">Enter:\n(1 character) </translation>
+    <extra-loc-layout_id>qtl_dialog_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk_05</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dpopinfo_sim_services_not_available">
+    <comment>Default note body text if SIM doesn&apos;t provide one. Used when SIM modifies a send SMS operation (e.g. destination number)</comment>        
+    <source>SIM services not available</source>
+    <translation variants="no">SIM services not available</translation>
+    <extra-loc-layout_id>qtl_notifdialog_pri2_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_button_yes">
+    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. Pressing this button confirms the selected operation.</comment>        
+    <source>Yes</source>
+    <translation variants="no">Yes</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>common</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_simatk_dialog_sendingcontent">
+    <comment></comment>        
+    <source>Sending\n%U</source>
+    <translation variants="no">Sending\n%U</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>simatk</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>simatk</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_button_no">
+    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. Pressing this button rejects the selected operation.</comment>        
+    <source>No</source>
+    <translation variants="no">No</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>common</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_common_button_ok">
+    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. When this button is pressed, the focused item or operation will be selected or accepted.</comment>        
+    <source>OK</source>
+    <translation variants="no">OK</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
+    <extra-loc-viewid>common</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>common</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
--- a/satui/satapp/rom/SatUiResources.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  Sat UI Resources iby file.
-*
-*/
-
-
-#ifndef __SATUI_RESOURCES_IBY__
-#define __SATUI_RESOURCES_IBY__
-
-#ifdef __SIMCARD
-
-S60_APP_CAPTION(SATUI)
-//Resource file(s) for Satui
-S60_APP_RESOURCE(SatUI)
-
-#endif
-
-#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/rom/satapp.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: IBY file for satapp application
+*
+*/
+
+#ifndef __SATAPP_IBY__
+#define __SATAPP_IBY__
+
+#ifdef __SIMCARD
+// SAT SHELL CONTROLLER
+file=ABI_DIR\BUILD_DIR\satshellcntrl.dll           SHARED_LIB_DIR\satshellcntrl.dll
+file=ABI_DIR\BUILD_DIR\satapp.exe                  SHARED_LIB_DIR\satapp.exe
+
+data=DATAZ_\resource\apps\satapp.rsc               resource\apps\satapp.rsc
+data=DATAZ_\resource\apps\satapp.mif               resource\apps\satapp.mif
+data=ZSYSTEM\install\satapp_stub.sis               system\install\satapp_stub.sis
+data=ZPRIVATE\10003a3f\import\apps\satapp_reg.rsc  private\10003a3f\import\apps\satapp_reg.rsc
+
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/rom/satapp.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,47 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing sat application update.
+;
+
+; Language
+&EN
+
+; Header
+#{"satapp"}, (0x101f4ce0), 10, 1, 0, TYPE=PU
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; 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"}
+(0x2001E61C), 4, 5, 0, {"QtLibs pre-release"}
+
+; Executable and default resource files
+"\epoc32\release\armv5\urel\satapp.exe"    - "!:\sys\bin\satapp.exe"
+"\epoc32\release\armv5\urel\satshellcntrl.dll"    - "!:\sys\bin\satshellcntrl.dll"
+"\epoc32\data\z\private\10003a3f\import\apps\satapp_reg.rsc"    - "!:\private\10003a3f\import\apps\satapp_reg.rsc"
+"\epoc32\data\z\resource\apps\satapp.mif"    - "!:\resource\apps\satapp.mif"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/rom/satapp_stub.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,33 @@
+;
+; Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: For packing sat application stub.
+;
+; Languages
+&EN
+
+; Header
+#{"satapp"}, (0x101f4ce0), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Files
+""-"z:\sys\bin\satshellcntrl.dll"
+""-"z:\sys\bin\satapp.exe"
+""-"z:\resource\apps\satapp.rsc"
+""-"z:\private\10003a3f\import\apps\satapp_reg.rsc"
+""-"z:\resource\apps\satapp.mif"
Binary file satui/satapp/rom/satapp_stub.sis has changed
--- a/satui/satapp/rom/satui.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2003-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Sat UI iby file.
-*
-*/
-
-
-#ifndef __SATUI_IBY__
-#define __SATUI_IBY__
-
-#ifdef __SIMCARD
-S60_APP_EXE(SATUI)
-S60_APP_AIF_ICONS(Satui)
-S60_APP_BITMAP(Satui)
-
-// SAT SHELL CONTROLLER
-file=ABI_DIR\BUILD_DIR\SATSHELLCNTRL.DLL        SHARED_LIB_DIR\SATSHELLCNTRL.DLL
-
-// Application registration resource file
-data=ZPRIVATE\10003a3f\apps\Satui_reg.rsc       private\10003a3f\import\apps\Satui_reg.rsc
-
-// SAT Stub SIS
-data=ZSYSTEM\install\SatApp_stub.sis            System\Install\SatApp_stub.sis
-
-#endif
-
-#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/satapp.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,78 @@
+#
+# 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:
+#
+#
+#
+
+TEMPLATE = app
+TARGET = satapp
+DEPENDPATH += .
+HEADERS += $$PUBLIC_HEADERS
+MOC_DIR = moc
+
+CONFIG += hb
+
+ICON = resource/qtg_large_sat.svg
+symbian: {
+    TARGET.CAPABILITY = CAP_APPLICATION NetworkControl
+    TARGET.UID3=0x101f4ce0
+}
+
+# enable this for tracing into a file (log/sat/satui.txt)
+# DEFINES += SAT_DEBUG_TO_FILE
+# LIBS += -lflogger
+
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+    $$MOC_DIR \
+    ../../inc 
+
+LIBS += -lSatClient \
+        -lSatInternalClient \
+        -legul \
+        -lfbscli \
+        -lcentralrepository \
+        -lCenRepNotifHandler \
+        -lCdlEngine \
+        -lmediaclientaudio \
+        -lprofileeng \
+        -lbafl 
+
+HEADERS += inc/satappmainhandler.h \
+           inc/satappserverdispatcher.h \
+           inc/satappmenuprovider.h \
+           inc/satappinputprovider.h \
+           inc/satapptoneprovider.h \
+           inc/satapppopupprovider.h\
+           inc/satappconfirmprovider.h \
+           inc/satappaction.h \
+           inc/satappconstant.h
+
+SOURCES += src/main.cpp \
+           src/satappmainhandler.cpp \
+           src/satappserverdispatcher.cpp \
+           src/satappmenuprovider.cpp \
+           src/satappinputprovider.cpp \
+           src/satapptoneprovider.cpp \
+           src/satapppopupprovider.cpp \
+           src/satappconfirmprovider.cpp \
+           src/satappaction.cpp
+
+BLD_INF_RULES.prj_exports += "rom/satapp.iby CORE_MW_LAYER_IBY_EXPORT_PATH(satapp.iby)" \
+                             "rom/satapp_stub.sis /epoc32/data/z/system/install/satapp_stub.sis" \
+                             "resource/satapp.ts /epoc32/include/platform/qt/translations/satapp.ts"
+                             
+
+RESOURCES += resource/satapp.qrc
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/src/main.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: satapp main
+*
+*
+*/
+
+#include <QtGlobal>
+#include <QApplication>
+#include <QTranslator>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include "satappmainhandler.h"
+
+
+#ifdef SAT_DEBUG_TO_FILE
+    // ------------------------------------------------------------
+    // this segment provides functionality that copies all QT debug
+    // output to RFileLogger, and also the standard QT debug stream
+    #include <flogger.h>
+    #include <e32svr.h>
+    _LIT(KTfLogFolder, "sat");
+    _LIT(KTfLogFile, "satui.txt");
+    // original message handler
+    QtMsgHandler originalMsgHandler;
+    // debug redirection function
+    void qDebugToRFileLogger(QtMsgType type, const char *msg)
+    {
+        TPtrC8 symbian_msg((const TUint8*)msg);
+        RFileLogger::Write(KTfLogFolder,KTfLogFile,
+            EFileLoggingModeAppend,symbian_msg);
+        if (originalMsgHandler) originalMsgHandler(type,msg);
+    }
+    // ------------------------------------------------------------
+#endif
+
+
+    
+int main(int argc, char *argv[])
+{
+#ifdef SAT_DEBUG_TO_FILE
+    originalMsgHandler = qInstallMsgHandler(qDebugToRFileLogger);
+#endif
+
+    qDebug("SATAPP: main");
+
+    HbApplication app(argc, argv);
+    qDebug("SATAPP: main app created");
+    
+    QTranslator translator;
+    bool ok = translator.load(":/translations/satapp");
+    qDebug("SATUI: main, translation %d (1=OK, 0=fail)", ok );
+    app.installTranslator(&translator);
+
+    HbMainWindow window;
+    qDebug("SATAPP: main window created");
+
+    SatAppMainHandler *mainHandler = new SatAppMainHandler(window);
+
+    window.show();
+    qDebug("SATAPP: main view showed");
+
+    int result = app.exec();
+    qDebug("SATAPP: main exit %d", result);
+
+    delete mainHandler;
+    return result;
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/src/satappaction.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,206 @@
+/*
+* 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 <QEventLoop>
+#include <QCoreApplication>
+#include <QVariant>
+#include <QStringList>
+#include <QtDebug>
+
+#include "satappaction.h"
+
+// ----------------------------------------------------------------------------
+// global des2str
+// trasmit from symbian descripter to QString
+// ----------------------------------------------------------------------------
+//
+QString des2str(const TDesC& desc)
+{
+    return QString::fromUtf16(desc.Ptr(), desc.Length());
+}
+
+// ======== MEMBER FUNCTIONS ==================================================
+
+// ----------------------------------------------------------------------------
+// SatAppAction::SatAppAction
+// ----------------------------------------------------------------------------
+//
+SatAppAction::SatAppAction(int action, QObject *parent)
+: QObject(parent)
+{
+    qDebug("SATAPP: SatAppAction::SatAppAction");
+    mAction = action;
+    mResponse = ESatNoResponseFromUser;
+	mState = Active;
+    
+    //monitor application
+    SAT_ASSERT(connect(
+        qApp,SIGNAL(aboutToQuit()),
+        this,SLOT(completeWithSessionTerminated())));
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::~SatAppAction
+// ----------------------------------------------------------------------------
+//
+SatAppAction::~SatAppAction()
+{
+    if (mState==Waiting)
+        complete(); // release waiting thread
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::waitUntilCompleted
+// sync method that returns when this action is completed
+// ----------------------------------------------------------------------------
+//
+void SatAppAction::waitUntilCompleted()
+{
+    qDebug("SATAPP: SatAppAction::waitUntilCompleted");
+    if (mState==Completed) return; // no need to wait!
+    QEventLoop loop;
+    SAT_ASSERT(connect(
+        this,SIGNAL(actionCompleted(SatAppAction*)),
+        &loop,SLOT(quit())));
+    mState=Waiting;
+    qDebug("SATAPP: waitUntilCompleted: waiting...");
+    loop.exec();
+    // When use the FSW complete the satapp, the signal aboutToExit
+    // can not be recieved. temp solution
+    if(Waiting == mState){
+        mState=Completed;
+        mResponse=ESatSessionTerminatedByUser;
+    }
+    qDebug("SATAPP: waitUntilCompleted: ...released");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::complete
+// completes the action
+// ----------------------------------------------------------------------------
+//
+void SatAppAction::complete(TSatUiResponse resp)
+{
+    qDebug("SATAPP: SatAppAction::complete resp= %x in", resp);
+    if (mState!=Completed) {
+        qDebug("SATAPP: SatAppAction::completed");
+        setResponse(resp);
+        mState = Completed;
+        emit actionCompleted(this);
+    }
+    qDebug("SATAPP: SatAppAction::complete resp= %x out", resp);
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::set
+// setter for QVariant
+// ----------------------------------------------------------------------------
+//
+void SatAppAction::set(const QString& key, QVariant value)
+{
+    qDebug() << "SATAPP: SatAppAction::set(" <<
+        key << "=" << value << ")";
+    mParams[key] = value;
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::set
+// setter for Symbian Descripter
+// ----------------------------------------------------------------------------
+//
+void SatAppAction::set(const QString& key, const TDesC& value)
+{
+    set(key,des2str(value));
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::set
+// setter for Symbian MDesCArray - Menu list
+// ----------------------------------------------------------------------------
+//
+void SatAppAction::set(const QString& key, const MDesCArray& value)
+{
+    QList<QVariant> list;
+    for(int i=0; i<value.MdcaCount(); ++i)
+        list.append(des2str(value.MdcaPoint(i)));
+    set(key,list);
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::set
+// setter for CArrayFixFlat<TInt> - mene icon
+// ----------------------------------------------------------------------------
+//
+void SatAppAction::set(const QString& key, CArrayFixFlat<TInt>& value)
+{
+    QList<QVariant> list;
+    for(int i=0; i<value.Count(); ++i)
+        list.append(value[i]);
+    set(key,list);
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::set
+// setter for TTimeIntervalSeconds - duration
+// ----------------------------------------------------------------------------
+//
+void SatAppAction::set(const QString& key, TTimeIntervalSeconds& value)
+{
+    int value_millisec = value.Int() * 1000; // sec->millisec
+    set(key,value_millisec);
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::set
+// setter for TTimeIntervalMicroSeconds - duration
+// ----------------------------------------------------------------------------
+//
+void SatAppAction::set(const QString& key, TTimeIntervalMicroSeconds& value)
+{
+    int value_millisec = value.Int64() / 1000; // microsec->millisec
+    set(key,value_millisec);
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::value
+// getter by key
+// ----------------------------------------------------------------------------
+//
+QVariant SatAppAction::value(const QString& key)
+{
+    if (!mParams.contains(key))
+    {
+        // lazy-fetch params implementation goes here.
+        // for instance if Icon is requested, request for the icons here.
+        // however at this moment, all parameters should be present.
+        qFatal("SATAPP: SatAppAction::value - param missing: %s",
+            key.toLatin1().data());
+    }
+    return mParams[key];
+}
+
+// ----------------------------------------------------------------------------
+// SatAppAction::hasValue
+// ----------------------------------------------------------------------------
+//
+bool SatAppAction::hasValue(const QString& key)
+{
+    return mParams.contains(key);
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/src/satappconfirmprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,195 @@
+/*
+* 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: 
+*
+*/
+
+// qt
+#include <QAction>
+// hb
+#include <hbmessagebox.h>
+#include <hbaction.h>
+// satapp
+#include "satappconfirmprovider.h"
+#include "satappconstant.h"
+#include "satappaction.h"
+
+// ----------------------------------------------------------------------------
+// SatAppConfirmProvider::SatAppConfirmProvider
+// ----------------------------------------------------------------------------
+//
+SatAppConfirmProvider::SatAppConfirmProvider(QObject *parent)
+    : QObject(parent), mConfirmQuery(0), mAction(0)
+{
+    qDebug("SATAPP: SatAppConfirmProvider::SatAppConfirmProvider");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppConfirmProvider::~SatAppConfirmProvider
+// ----------------------------------------------------------------------------
+//
+SatAppConfirmProvider::~SatAppConfirmProvider()
+{
+    qDebug("SATAPP: SatAppConfirmProvider::~SatAppConfirmProvider >");
+    delete mConfirmQuery;
+    mConfirmQuery = 0;
+    qDebug("SATAPP: SatAppConfirmProvider::~SatAppConfirmProvider <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppConfirmProvider::showOpenChannelConfirm
+// ----------------------------------------------------------------------------
+//
+void SatAppConfirmProvider::confirmCommand(SatAppAction &action)
+{
+    qDebug("SATAPP: SatAppConfirmProvider::confirmCommand >");
+    mAction = &action;
+    delete mConfirmQuery;
+    mConfirmQuery = 0;
+    TSatSQueryCommand aCommandId = 
+        static_cast<TSatSQueryCommand>(action.value(KeyQueryCommandId).toInt());
+
+    qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand aCommandId: %d",
+         aCommandId);
+    // Check quering command
+    switch (aCommandId)
+        {
+        case ESatOpenChannelQuery:
+            {
+            qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand:\
+                Quering OpenChannel");
+            showOpenChannelConfirm(action);
+            break;
+            }
+        case ESatSSetUpCallQuery:
+            {
+            qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand:\
+                Quering SetUpCall");
+            showSetUpCallConfirm(action);
+            break;
+            }
+        // TODO: implemente later   
+        case ESatSRefreshQuery:
+        // TODO: implemente later
+        case ESatSLaunchBrowserQuery:
+            {
+            action.completeWithNoResponse();
+            break;
+            }
+        default:
+            {
+            qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand:\
+                Unknown quering command");
+            action.completeWithNoResponse();
+            }
+            break;
+        }
+    qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppConfirmProvider::showOpenChannelConfirm
+// ----------------------------------------------------------------------------
+//
+void SatAppConfirmProvider::showOpenChannelConfirm(SatAppAction &action)
+{
+    qDebug("SATAPP: SatAppConfirmProvider::showOpenChannelConfirm >");
+    QString content = action.value(KeyText).toString();
+    if (!content.length()){
+        content = hbTrId("txt_simatk_info_open_connection");
+    }
+    mConfirmQuery = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+    // Sets the "Yes"-action/button
+    mConfirmQuery->setText(content);
+    mConfirmQuery->setStandardButtons(HbMessageBox::Ok | HbMessageBox::Cancel);
+    SAT_ASSERT(connect(mConfirmQuery->actions().at(0), SIGNAL(triggered()),
+        &action, SLOT(completeWithSuccess())));
+    SAT_ASSERT(connect(mConfirmQuery->actions().at(1), SIGNAL(triggered()),
+        &action, SLOT(completeWithBackRequested())));
+    SAT_ASSERT(connect(mAction, SIGNAL(actionCompleted(SatAppAction *)),
+        this, SLOT(resetState())));
+    qDebug("SATAPP: SatAppUiProvider::showOpenChannelConfirm before open");
+    mConfirmQuery->open();
+    qDebug("SATAPP: SatAppConfirmProvider::showOpenChannelConfirm <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppConfirmProvider::showSetUpCallConfirm
+// ----------------------------------------------------------------------------
+//
+void SatAppConfirmProvider::showSetUpCallConfirm(SatAppAction &action)
+{
+    qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm >");
+    QString text = action.value(KeyText).toString();
+    QString additionText = action.value(KeyAdditionalText).toString();
+    QString alphaId;
+    if (text.length() == 0) {
+        qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm length 0");
+        alphaId = hbTrId("txt_simatk_info_1_about_to_call");
+        if (additionText.length() > 0) {
+            alphaId = alphaId.arg(additionText);
+        } else {
+            alphaId = alphaId.arg(hbTrId("txt_simatk_title_sim_services"));
+        }
+    } else {
+        qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm text");
+        alphaId.append(text);
+    }
+    qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm new");
+    mConfirmQuery = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+    mConfirmQuery->setStandardButtons(HbMessageBox::Ok | HbMessageBox::Cancel);
+    mConfirmQuery->setText(alphaId);
+    SAT_ASSERT(connect(mConfirmQuery->actions().at(0), SIGNAL(triggered()),
+        &action, SLOT(completeWithSuccess())));
+    SAT_ASSERT(connect(mConfirmQuery->actions().at(1), SIGNAL(triggered()),
+        &action, SLOT(completeWithBackRequested())));
+    SAT_ASSERT(connect(mAction, SIGNAL(actionCompleted(SatAppAction *)),
+        this, SLOT(resetState())));
+    qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm before open");
+    mConfirmQuery->open();
+    qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppConfirmProvider::clearScreen
+// ----------------------------------------------------------------------------
+//
+void SatAppConfirmProvider::clearScreen()
+{
+    qDebug("SATAPP: SatAppConfirmProvider::clearScreen >");
+    if (mAction) {
+        SAT_ASSERT(disconnect(mAction, SIGNAL(actionCompleted(SatAppAction *)),
+            this, SLOT(resetState())));
+        qDebug("SATAPP: SatAppConfirmProvider::clearScreen quit event loop");
+        mAction->completeWithNoResponse();
+        mAction = 0;
+    }
+    delete mConfirmQuery;
+    mConfirmQuery = 0;
+    qDebug("SATAPP: SatAppConfirmProvider::clearScreen <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppConfirmProvider::resetState
+// reset
+// ----------------------------------------------------------------------------
+//
+void SatAppConfirmProvider::resetState()
+{
+    qDebug( "SATAPP: SatAppConfirmProvider::resetState >" );
+    mAction = 0;
+    qDebug( "SATAPP: SatAppConfirmProvider::resetState <" );
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/src/satappinputprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,636 @@
+/*
+* 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: Provides input methods like query dialogs
+*
+*/
+
+// qt
+#include <QTimer>
+#include <QtDebug>
+// hb
+#include <hbglobal.h>
+#include <hbinputdialog.h>
+#include <hbinputeditorinterface.h>
+#include <hbinputstandardfilters.h>
+#include <hbmessagebox.h>
+#include <hblabel.h>
+#include <hbaction.h>
+// satapp
+#include "satappinputprovider.h"
+#include "satappconstant.h"
+#include "satappaction.h"
+
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::SatAppInputProvider
+// ----------------------------------------------------------------------------
+//
+SatAppInputProvider::SatAppInputProvider(QObject *parent)
+    : QObject(parent), mCurrentAction(0), mCurrentDialog(0)
+{
+    qDebug("SATAPP: SatAppInputProvider::SatAppInputProvider >");
+    mDurationTimer = new QTimer(this);
+    qDebug("SATAPP: SatAppInputProvider::SatAppInputProvider <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::~SatAppInputProvider
+// ----------------------------------------------------------------------------
+//
+SatAppInputProvider::~SatAppInputProvider()
+{
+    qDebug("SATAPP: SatAppInputProvider::~SatAppInputProvider >");
+    delete mCurrentDialog;
+    mCurrentDialog = 0;
+    qDebug("SATAPP: SatAppInputProvider::~SatAppInputProvider <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::getInkey
+// requests user to enter a SINGLE key, character or digit
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::getInkey(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppInputProvider::getInkey >");
+    
+    delete mCurrentDialog;
+    mCurrentDialog=0;
+    
+    QString heading = action.value(KeyText).toString();
+    qDebug() << "SATAPP: getInkey: heading=" << heading;
+    
+    TSatCharacterSet characterSet = 
+        static_cast<TSatCharacterSet>(action.value(KeyCharacterSet).toInt());
+
+    qDebug("SATAPP: SatAppInputProvider::getInkey char set %d", characterSet);
+
+    // yes no query must have text.
+    if ((0 == heading.length()) && (ESatYesNo == characterSet)) {
+        action.completeWithFailure();
+        return;
+    }
+    
+    // duration
+    int duration = action.value(KeyDuration).toInt();
+    if (duration == 0) {
+        duration = KDefaultSelectionTimeoutMseconds;
+    }
+    qDebug("SATAPP: getInkey: duration=%d", duration);
+    mInputTimer.start();
+
+    if (heading.isEmpty()) {
+        if (ESatDigitOnly == characterSet) {
+            heading = hbTrId("txt_simatk_dialog_entern1_digit_09");
+        } else {
+            // ESatCharSmsDefaultAlphabet or ESatCharUcs2Alphabet
+            heading = hbTrId("txt_simatk_dialog_entern1_character");
+        }
+    }
+    qDebug() << "SATAPP: getInkey: heading=" << heading;
+
+    mCurrentAction = &action;
+    bool immediate = action.value(KeyImmediate).toBool();
+    qDebug() << "SATAPP: getInkey: immediate=" << immediate;
+    
+    if (characterSet == ESatYesNo) {
+        //Yes no imediate will be combine with YES no.
+        showGetYesNoQuery(heading, duration);
+    }
+    else if (immediate) {
+        // we only have digit immediate
+        showGetImmediateQuery(heading, duration);
+    }
+    else {
+        // Reminder, there is no default inkey in get inkey
+        // proactive command.
+        showGetInkeyQuery(heading, characterSet, duration);
+    }
+    SAT_ASSERT(connect(mCurrentAction, SIGNAL(actionCompleted(SatAppAction*)),
+        this, SLOT(clearDurationTimer())));
+    qDebug("SATAPP: SatAppInputProvider::getInkey <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::getInput
+// requests user to enter a STRING of free text, number or password etc.
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::getInput(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppInputProvider::getInput >");
+ 
+    delete mCurrentDialog;
+    mCurrentDialog=0;
+    // character set
+    TSatCharacterSet characterSet = 
+        static_cast<TSatCharacterSet>(action.value(KeyCharacterSet).toInt());
+
+    qDebug("SATAPP: SatAppInputProvider::getInput char set %d", characterSet);
+
+    // heading
+    QString heading = action.value(KeyText).toString();
+    qDebug() << "SATAPP: getInput: heading=" << heading;
+    if (heading.isEmpty()) {
+        if (ESatDigitOnly == characterSet) {
+            heading = hbTrId("txt_simatk_dialog_entern1_digit_09");
+        } else {
+            // ESatCharSmsDefaultAlphabet or ESatCharUcs2Alphabet
+            heading = hbTrId("txt_simatk_dialog_entern1_character");
+        }
+    }
+    qDebug() << "SATAPP: getInput: heading=" << heading;
+
+    // min length
+    int minLength = action.value(KeyMinLength).toInt();
+    if (minLength<0) {
+        minLength=0;
+    }
+    if (minLength>KGetInputStringMaxSize){
+        minLength=KGetInputStringMaxSize;
+    }
+
+    // max length
+    int maxLength = action.value(KeyMaxLength).toInt();
+    if (maxLength<minLength) {
+        maxLength=minLength;
+    }
+    if (maxLength>KGetInputStringMaxSize) {
+        maxLength=KGetInputStringMaxSize;
+    }
+    qDebug("SATAPP: SatAppInputProvider::getInput min %d", minLength);
+    qDebug("SATAPP: SatAppInputProvider::getInput max %d", maxLength);
+
+    // default input text
+    QString inputText = action.value(KeyInputString).toString();
+    if (inputText.length() < minLength || inputText.length() > maxLength){
+        inputText = "";
+    }
+    qDebug() << "SATAPP: getInput: inputText=" << inputText;
+
+    // hide input
+    bool hideInput = action.value(KeyHideInput).toBool();
+    qDebug("SATAPP: SatAppInputProvider::getInput hide %d", hideInput);
+
+    qDebug("SATAPP: getInput: min=%d,max=%d,hide=%d",
+        minLength, maxLength, hideInput);
+    
+    mCurrentAction = &action;
+    showGetInputQuery( heading, inputText,
+            characterSet, minLength, maxLength, hideInput);
+ 
+    SAT_ASSERT(connect(mCurrentAction, SIGNAL(actionCompleted(SatAppAction*)),
+        this, SLOT(clearDurationTimer())));
+    qDebug("SATAPP: SatAppInputProvider::getInput <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::showGetInkeyQuery
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::showGetInkeyQuery(
+    const QString &heading,
+    TSatCharacterSet characterSet,
+    int duration)
+{
+    qDebug("SATAPP: SatAppInputProvider::showGetInkeyQuery >");
+
+    HbInputDialog* inputDialog = new HbInputDialog();
+    mCurrentDialog = inputDialog;
+    // Set PromptText
+    inputDialog->setPromptText(heading);
+    // Set ContentText
+    HbEditorInterface inputMode(inputDialog->lineEdit());
+    inputDialog->lineEdit()->setFocus();
+    if (ESatDigitOnly == characterSet) {
+        // digit mode, digits only (0 9, *, #, and +)
+        inputMode.setFilter(HbPhoneNumberFilter::instance());
+        inputMode.setMode(HbInputModeNumeric);
+        inputMode.setInputConstraints(HbEditorConstraintFixedInputMode);
+    } else {
+        // char mode
+        inputMode.setUpAsLatinAlphabetOnlyEditor();
+    }
+    composeDialog(inputDialog, GetInkey);
+    mCurrentAction->set(KeyMinLength, 1); 
+    inputDialog->lineEdit()->setMaxLength(1);
+
+    // when input changed, enable/disable OK button
+    SAT_ASSERT(connect(inputDialog->lineEdit(), SIGNAL(textChanged(QString)),
+        this, SLOT(updateQueryAction(QString))));
+    // when OK pressed, fill in data to action and complete it
+    SAT_ASSERT(connect(inputDialog->actions().at(0), SIGNAL(triggered()),
+        this, SLOT(transmitInkeyFromDialog())));
+    // when cancel pressed, complete action with ESatBackwardModeRequestedByUser
+    SAT_ASSERT(connect(inputDialog->actions().at(1), SIGNAL(triggered()),
+        mCurrentAction, SLOT(completeWithBackRequested())));
+    // after timeout, reset the provider
+    startDurationTimer(duration);
+    // open the dialog. When the dialog closes, reset everything
+    inputDialog->open();
+
+    qDebug("SATAPP: SatAppInputProvider::showGetInkeyQuery <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::showGetImmediateQuery
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::showGetImmediateQuery(
+    const QString &heading,
+    int duration)
+{
+    qDebug("SATAPP: SatAppInputProvider::showGetImmediateQuery >");
+
+    HbInputDialog* inputDialog = new HbInputDialog();
+    mCurrentDialog = inputDialog;
+    // Set PromptText
+    inputDialog->setPromptText(heading);
+    // Set ContentText
+    HbEditorInterface inputMode(inputDialog->lineEdit());
+    inputDialog->lineEdit()->setFocus();
+
+    inputMode.setFilter(HbPhoneNumberFilter::instance());
+    inputMode.setMode(HbInputModeNumeric);
+    inputMode.setInputConstraints(HbEditorConstraintFixedInputMode);
+    
+    composeDialog(inputDialog, GetImmediate);
+
+    // when receiving first input character, send it immediately
+    SAT_ASSERT(connect(inputDialog->lineEdit(), SIGNAL(textChanged(QString)),
+        this, SLOT(transmitInkeyImmediately(QString))));
+    // when cancel pressed, complete action with ESatBackwardModeRequestedByUser
+    SAT_ASSERT(connect(inputDialog->actions().at(0), SIGNAL(triggered()),
+        mCurrentAction, SLOT(completeWithBackRequested())));
+    // after timeout, reset the provider
+    startDurationTimer(duration);
+    // open the dialog. When the dialog closes, reset everything
+    inputDialog->open();
+
+    qDebug("SATAPP: SatAppInputProvider::showGetImmediateQuery <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::showGetYesNoQuery
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::showGetYesNoQuery(
+    const QString &text,
+    int duration)
+{
+    qDebug("SATAPP: SatAppInputProvider::showGetYesNoQuery >");
+    HbMessageBox* messageBox = new HbMessageBox(HbMessageBox::MessageTypeInformation);
+    mCurrentDialog = messageBox;
+
+    // Set the label as heading widget
+    HbLabel *lHeading = new HbLabel(text, messageBox);
+    messageBox->setHeadingWidget(lHeading);
+    messageBox->setIconVisible(false);
+
+    composeDialog(messageBox, GetYesNo);
+
+    // when YES pressed, complete action with ESatSuccess, inkey set to 1
+    SAT_ASSERT(connect(messageBox->actions().at(0), SIGNAL(triggered()),
+        this, SLOT(transmitInkeyTrue())));
+    // when NO pressed, complete action with ESatSuccess, inkey set to 0
+    SAT_ASSERT(connect(messageBox->actions().at(1), SIGNAL(triggered()),
+        this, SLOT(transmitInkeyFalse())));
+ 
+    startDurationTimer(duration);     
+    // show dialog.
+    messageBox->open();
+
+    qDebug("SATAPP: SatAppInputProvider::showGetYesNoQuery <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::showGetInputQuery
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::showGetInputQuery(
+    const QString& heading,
+    const QString& content,
+    TSatCharacterSet characterSet,
+    int minLength,
+    int maxLength,
+    bool hideInput)
+{
+    Q_UNUSED(minLength);
+    qDebug("SATAPP: SatAppInputProvider::showGetInputQuery >");
+
+    HbInputDialog* inputQuery = new HbInputDialog();
+    mCurrentDialog = inputQuery;
+    inputQuery->setPromptText(heading);
+    inputQuery->setValue(QVariant(content));
+    HbEditorInterface inputMode(inputQuery->lineEdit());
+    inputQuery->lineEdit()->setFocus();
+    if (ESatDigitOnly == characterSet) {
+        // digit mode, digits only (0 9, *, #, and +)
+        inputMode.setFilter(HbPhoneNumberFilter::instance());
+        inputMode.setMode(HbInputModeNumeric);
+        inputMode.setInputConstraints(HbEditorConstraintFixedInputMode);
+    } else {
+        // char mode
+        inputMode.setUpAsLatinAlphabetOnlyEditor();
+    }
+
+    inputQuery->lineEdit()->setMaxLength(maxLength);
+
+    composeDialog(inputQuery, GetInput);
+    // initially set the button states
+    updateQueryAction(inputQuery->value().toString());
+
+    if (hideInput) {
+        inputQuery->lineEdit()->setEchoMode(HbLineEdit::Password);
+        qDebug("SATAPP: showGetInputQuery: hiding input");
+    }
+
+    // when dialog content changes, dim ok button accordingly, use
+    // use contentChanged signal from the base class of the editor
+    // to get the signal when in password mode
+    SAT_ASSERT(connect(inputQuery->lineEdit(), SIGNAL(contentsChanged()), 
+        this, SLOT(updateQueryAction())));
+    // transmit the text on OK press
+    SAT_ASSERT(connect(inputQuery->actions().at(0), SIGNAL(triggered()),
+        this, SLOT(transmitStringFromDialog())));
+    // on Cancel key complete action with ESatBackwardModeRequestedByUser
+    SAT_ASSERT(connect(inputQuery->actions().at(1), SIGNAL(triggered()),
+        mCurrentAction, SLOT(completeWithBackRequested())));
+    // after timeout, reset the provider
+    startDurationTimer(KDefaultSelectionTimeoutMseconds);
+    // open dialog. When it closes, reset everything
+    inputQuery->open();
+
+    qDebug("SATAPP: SatAppInputProvider::showGetInputQuery <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::resetState
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::resetState()
+{
+    qDebug("SATAPP: SatAppInputProvider::resetState >");
+    if (mCurrentAction) {
+        qDebug("SATAPP: SatAppInputProvider::resetState action");        
+        mCurrentAction->completeWithNoResponse();
+        mCurrentAction = 0;
+    }
+
+    qDebug("SATAPP: SatAppInputProvider::resetState action done");
+
+    delete mCurrentDialog;
+    mCurrentDialog = 0;
+    qDebug("SATAPP: SatAppInputProvider::resetState <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::composeDialog
+// make sure dlg has 2 buttons
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::composeDialog(
+    HbDialog *dlg,
+    DialogMode mode)
+{
+    qDebug("SATAPP: SatAppInputProvider::composeDialog >");
+    Q_ASSERT(mCurrentAction);
+
+    dlg->setModal(true);
+    dlg->setDismissPolicy(HbDialog::NoDismiss);
+
+    dlg->clearActions();
+    HbAction *primaryAction = new HbAction(dlg);
+    dlg->addAction(primaryAction);
+    
+    HbAction *secondaryAction = new HbAction(dlg);
+    dlg->addAction(secondaryAction);
+    
+    switch(mode){
+        case GetYesNo:
+        {
+            primaryAction->setText(hbTrId("txt_common_button_yes"));
+            secondaryAction->setText(hbTrId("txt_common_button_no"));
+            break;
+        }
+        case GetImmediate:
+        {
+            dlg->removeAction(primaryAction);
+            secondaryAction->setText(hbTrId("txt_common_button_cancel"));
+            break;
+        }
+        default:
+        {
+            primaryAction->setText(hbTrId("txt_common_button_ok"));
+            primaryAction->setEnabled(false);
+            secondaryAction->setText(hbTrId("txt_common_button_cancel"));
+            break;
+        }
+    }
+    qDebug("SATAPP: SatAppInputProvider::composeDialog <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::updateQueryAction
+// Updates dialog's OK button according to input text length limits
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::updateQueryAction()
+{
+    qDebug("SATAPP: SatAppInputProvider::updateQueryAction >");
+    Q_ASSERT(mCurrentDialog);
+    QString content = 
+        qobject_cast<HbInputDialog*>(mCurrentDialog)->value().toString();
+    qDebug() << "SATAPP: updateQueryAction: content=" << content;
+    updateQueryAction(content);
+    qDebug("SATAPP: SatAppInputProvider::updateQueryAction >");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::updateQueryAction
+// Updates dialog's OK button according to input text length limits
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::updateQueryAction(QString text)
+{
+    qDebug("SATAPP: SatAppInputProvider::updateQueryAction 2>");
+    Q_ASSERT(mCurrentDialog);
+    qDebug() << "SATAPP: updateQueryAction 2: text=" << text;
+    int min=0;
+    if (mCurrentAction->hasValue(KeyMinLength))
+        min=mCurrentAction->value(KeyMinLength).toInt();
+    int max=10;
+    if (mCurrentAction->hasValue(KeyMaxLength))
+        max=mCurrentAction->value(KeyMaxLength).toInt();
+    if (mCurrentDialog->actions().at(0)) {
+        if (text.length() >= min && text.length() <= max) {
+            mCurrentDialog->actions().at(0)->setEnabled(true);
+        } else {
+            mCurrentDialog->actions().at(0)->setEnabled(false);
+        }
+    }
+    qDebug("SATAPP: SatAppInputProvider::updateQueryAction 2<");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::transmitInkeyFromDialog
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::transmitInkeyFromDialog()
+{
+    qDebug("SATAPP: SatAppInputProvider::transmitInkeyFromDialog >");
+    Q_ASSERT(mCurrentDialog);
+    Q_ASSERT(mCurrentAction->action()==ESatGetInkeyAction);
+    // grab the input string
+    HbInputDialog* inkeyQuery = static_cast<HbInputDialog*>(mCurrentDialog);
+    QString inputString = inkeyQuery->value().toString();
+    qDebug() << "SATAPP: transmitInkeyFromDialog: input=" << inputString;
+    transmitInkeyImmediately(inputString);
+    qDebug("SATAPP: SatAppInputProvider::transmitInkeyFromDialog <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::transmitInkeyImmediately
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::transmitInkeyImmediately(QString text)
+{
+    qDebug("SATAPP: SatAppInputProvider::transmitInkeyImmediately >");
+    transmitInkey((int)text.utf16()[0]);
+    qDebug("SATAPP: SatAppInputProvider::transmitInkeyImmediately <");
+}
+
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::transmitInkeyTrue
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::transmitInkeyTrue()
+{
+    qDebug("SATAPP: SatAppInputProvider::transmitInkeyTrue >");
+    Q_ASSERT(mCurrentAction);
+    Q_ASSERT(mCurrentAction->action()==ESatGetInkeyAction);
+    Q_ASSERT(mCurrentAction->value(KeyCharacterSet).toInt()==ESatYesNo);
+    transmitInkey(1);
+    qDebug("SATAPP: SatAppInputProvider::transmitInkeyTrue <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::transmitInkeyFalse
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::transmitInkeyFalse()
+{
+    qDebug("SATAPP: SatAppInputProvider::transmitInkeyFalse >");
+    Q_ASSERT(mCurrentAction);
+    Q_ASSERT(mCurrentAction->action()==ESatGetInkeyAction);
+    Q_ASSERT(mCurrentAction->value(KeyCharacterSet).toInt()==ESatYesNo);
+    transmitInkey(0);
+    qDebug("SATAPP: SatAppInputProvider::transmitInkeyFalse >");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::transmit
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::transmitInkey(int key)
+{
+    qDebug("SATAPP: SatAppInputProvider::transmitInkey >");
+    qDebug("SATAPP: SatAppInputProvider::transmitInkey %d",key);
+    Q_ASSERT(mCurrentAction);
+    Q_ASSERT(mCurrentAction->action()==ESatGetInkeyAction);
+    // write inkey
+    mCurrentAction->set(KeyInKey,key);
+    // overwrite timer duration
+    if (mCurrentAction->hasValue(KeyDuration)) {
+        int newDuration = mInputTimer.elapsed();
+        qDebug("SATAPP: SatAppInputProvider::transmitInkey dur ", newDuration);
+        mCurrentAction->set(KeyDuration, newDuration);
+    }
+    bool immediate = mCurrentAction->value(KeyImmediate).toBool();
+    if(immediate) {
+        mCurrentDialog->close();
+    }
+    mCurrentAction->completeWithSuccess();
+    mCurrentAction = 0;
+    qDebug("SATAPP: SatAppInputProvider::transmitInkey >");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::transmitStringFromDialog
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::transmitStringFromDialog()
+{
+    qDebug("SATAPP: SatAppInputProvider::transmitStringFromDialog >");
+    Q_ASSERT(mCurrentDialog);
+    Q_ASSERT(mCurrentAction);
+    Q_ASSERT(mCurrentAction->action()==ESatGetInputAction);
+    // write input string
+    HbInputDialog* inputQuery = static_cast<HbInputDialog*>(mCurrentDialog);
+    QString inputString = inputQuery->value().toString();
+    qDebug() << "SATAPP: transmitStringFromDialog: string=" << inputString;
+
+    mCurrentAction->set(KeyInputString,inputString);
+    // overwrite timer duration
+    if (mCurrentAction->hasValue(KeyDuration)) {
+        int newDuration = mInputTimer.elapsed();
+        qDebug("SATAPP: SatAppInputProvider::transmitStringFromDialog dur ",
+            newDuration);
+        mCurrentAction->set(KeyDuration, newDuration);
+    }
+    mCurrentAction->completeWithSuccess();
+    mCurrentAction = 0;
+    qDebug("SATAPP: SatAppInputProvider::transmitStringFromDialog >");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::startDurationTimer
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::startDurationTimer(int duration)
+{
+    qDebug("SATAPP: SatAppInputProvider::startDurationTimer %d>", duration);
+    Q_ASSERT(mDurationTimer);    
+    if (duration) {
+        mDurationTimer->setSingleShot(true);
+        SAT_ASSERT(connect(mDurationTimer, SIGNAL(timeout()),
+            this, SLOT(resetState())));
+        mDurationTimer->start(duration);
+    }
+    qDebug("SATAPP: SatAppInputProvider::startDurationTimer <");    
+}
+
+// ----------------------------------------------------------------------------
+// SatAppInputProvider::clearDurationTimer
+// ----------------------------------------------------------------------------
+//
+void SatAppInputProvider::clearDurationTimer()
+{
+    qDebug("SATAPP: SatAppInputProvider::clearDurationTimer >");    
+    Q_ASSERT(mDurationTimer);
+    Q_ASSERT(mCurrentAction);
+
+    bool res = disconnect(mCurrentAction, SIGNAL(actionCompleted(SatAppAction*)),
+        this, SLOT(clearDurationTimer()));
+    qDebug("SATAPP: SatAppInputProvider::clearDurationTimer act %d>", res);
+    res = disconnect(mDurationTimer, SIGNAL(timeout()), 
+        this, SLOT(resetState()));
+    qDebug("SATAPP: SatAppInputProvider::clearDurationTimer dur %d>", res);
+    
+    mDurationTimer->stop();
+    qDebug("SATAPP: SatAppInputProvider::clearDurationTimer <");    
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/src/satappmainhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,303 @@
+/*
+* 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:
+*
+*
+*/
+//Qt
+#include <HbApplication>
+#include <HbActivityManager>
+#include <hbapplication.h>
+#include <hbmessagebox.h>
+
+// symbian
+#include <centralrepository.h>
+#include <coreapplicationuissdkcrkeys.h>
+
+#include "satappmainhandler.h"
+#include "satappserverdispatcher.h"
+#include "satappmenuprovider.h"
+#include "satappinputprovider.h"
+#include "satapptoneprovider.h"
+#include "satapppopupprovider.h"
+#include "satappconstant.h"
+#include "satappconfirmprovider.h"
+
+// Activity ID for Sat Application
+const char *SATAPP_ACTIVITY_ID = "SIMServicesList";
+
+// ======== MEMBER FUNCTIONS ==================================================
+
+// ----------------------------------------------------------------------------
+// SatAppMainHandler::SatAppMainHandler
+// (Construtor).
+// ----------------------------------------------------------------------------
+//
+SatAppMainHandler::SatAppMainHandler(HbMainWindow &window, 
+    QObject */*parent*/):
+mOfflineWarningDlg(NULL)
+{
+    qDebug("SATAPP: SatAppMainHandler::SatAppMainHandler >");
+
+    if(!isOffline()){
+        mServer = new SatAppServerDispatcher(this);
+        mMenu = new SatAppMenuProvider(&window, this);
+        mInput = new SatAppInputProvider(this);
+        mTone = new SatAppToneProvider(this);
+        mPopup = new SatAppPopupProvider(this);
+        mConfirm = new SatAppConfirmProvider(this);
+        initConnections();
+    }
+    else{
+        showOfflineWarning();
+    }
+    removeActivity();
+    
+    qDebug("SATAPP: SatAppMainHandler::SatAppMainHandler <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMainHandler::~SatAppMainHandler
+// (Destructor).
+// ----------------------------------------------------------------------------
+//
+SatAppMainHandler::~SatAppMainHandler()
+{
+    qDebug("SATAPP: SatAppMainHandler::~SatAppMainHandler >");
+    delete mOfflineWarningDlg;
+    qDebug("SATAPP: SatAppMainHandler::~SatAppMainHandler <");
+}
+
+// ----------------------------------------------------------------------------
+// Local override for connect-function
+// this method ENSURES that the connection is succesful.
+// ----------------------------------------------------------------------------
+//
+void doConnect(
+    const QObject *sender,
+    const char *signal,
+    const QObject *receiver,
+    const char *member)
+{
+    bool ret = QObject::connect(sender, signal,
+                receiver, member, Qt::DirectConnection);
+    Q_ASSERT_X(ret, "doConnect: connection failed for: ", signal);
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMainHandler::initConnections
+// 
+// ----------------------------------------------------------------------------
+//
+void SatAppMainHandler::initConnections()
+{
+    qDebug("SATAPP: SatAppMainHandler::initConnections >");
+
+    // --------------------------------------
+    // MenuProvider
+    // --------------------------------------
+
+    // SetupMenu command from server
+    doConnect(
+        mServer, SIGNAL( setUpMenu( SatAppAction &) ),
+        mMenu, SLOT( setUpMenu( SatAppAction &) ) );
+    
+    // SelectItem command from server
+    doConnect(
+        mServer, SIGNAL( selectItem( SatAppAction &) ),
+        mMenu, SLOT( selectItem( SatAppAction &) ) );
+
+    // --------------------------------------
+    // InputProvider
+    // --------------------------------------
+
+    // GetInkey command    
+    doConnect(
+        mServer, SIGNAL( getInkey( SatAppAction &) ),
+        mInput, SLOT( getInkey( SatAppAction &) ) );
+    // GetInput command
+    doConnect(
+        mServer, SIGNAL( getInput( SatAppAction &) ),
+        mInput, SLOT( getInput( SatAppAction &) ) );
+
+    // clearScreen in InputProvider
+    doConnect(
+        mServer, SIGNAL( clearScreen() ),
+        mInput, SLOT( resetState() ));
+ 
+    // --------------------------------------
+    // Play tone
+    // --------------------------------------
+    // Play tone 
+    doConnect(
+        mServer, SIGNAL( playTone( SatAppAction &) ),
+        mTone, SLOT( playTone( SatAppAction &) ) );
+
+    // clearScreen in tone provider
+    doConnect(
+        mServer, SIGNAL( clearScreen() ),
+        mTone, SLOT( clearScreen() ) );
+
+    // --------------------------------------
+    // Show Popups
+    // --------------------------------------
+
+    // display text
+    doConnect(
+        mServer, SIGNAL(displayText( SatAppAction & )),
+        mPopup, SLOT(displayText( SatAppAction & )));
+
+    // show notification
+    doConnect(
+        mServer, SIGNAL( notification( SatAppAction & ) ),
+        mPopup, SLOT( notification( SatAppAction & ) ) );
+
+    // hide wait note
+    doConnect(
+        mServer, SIGNAL( stopShowWaitNote() ),
+        mPopup, SLOT( stopShowWaitNote() ) );
+
+    // clearScreen in popup note provider
+    doConnect(
+        mServer, SIGNAL(clearScreen()),
+        mPopup, SLOT(clearScreen()));
+    
+    // clearScreen in popup note provider
+    doConnect(
+        mServer, SIGNAL(showSsErrorNote()),
+        mPopup, SLOT(showSsErrorNote()));    
+
+    // --------------------------------------
+    // Show Confirm
+    // --------------------------------------
+
+    // show confirmCommand
+    doConnect(
+        mServer, SIGNAL( confirmCommand( SatAppAction & ) ),
+        mConfirm, SLOT( confirmCommand( SatAppAction & ) ) );
+
+    // clearScreen
+    doConnect(
+        mServer, SIGNAL( clearScreen() ),
+        mConfirm, SLOT( clearScreen() ) );
+
+    // Task switcher
+    doConnect(
+        mServer, SIGNAL( setUpMenu( SatAppAction & ) ),
+        this, SLOT( updateActivity() ) );
+
+    doConnect(
+        qApp, SIGNAL( aboutToQuit() ),
+        this, SLOT( saveActivity() ) );
+
+    qDebug("SATAPP: SatAppMainHandler::initConnections <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMainHandler::updateActivity
+// ----------------------------------------------------------------------------
+//
+void SatAppMainHandler::updateActivity()
+{
+    qDebug("SATAPP: SatAppMainHandler::updateActivity >");
+    mActivity.insert("screenshot", mMenu->takeScreenShot());
+    qDebug("SATAPP: SatAppMainHandler::updateActivity <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMainHandler::saveActivity
+// ----------------------------------------------------------------------------
+//
+void SatAppMainHandler::saveActivity()
+{
+    qDebug("SATAPP: SatAppMainHandler::saveActivity >");
+
+    // Add the activity to the activity manager
+    const bool ok = qobject_cast<HbApplication*>(qApp)->activityManager()->
+        addActivity(SATAPP_ACTIVITY_ID, QVariant(), mActivity);
+    
+    qDebug("SATAPP: SatAppMainHandler::saveActivity < %d", ok);
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMainHandler::removeActivity
+// ----------------------------------------------------------------------------
+//
+void SatAppMainHandler::removeActivity()
+{
+    qDebug("SATAPP: SatAppMainHandler::removeActivity >");
+        
+    QList<QVariantHash> activityList = 
+        qobject_cast<HbApplication*>(qApp)->activityManager()->activities();
+    qDebug("SATAPP: SatAppMenuProvider::removeActivity count=%d",
+        activityList.count());
+    foreach (QVariantHash activity, activityList){
+        if (activity.keys().contains(SATAPP_ACTIVITY_ID)){
+            mActivity = activity;
+            qDebug("SATAPP: SatAppMenuProvider::removeActivity store");
+            break;
+        }
+    }    
+
+    const bool ok = qobject_cast<HbApplication*>(qApp)->activityManager()->
+        removeActivity(SATAPP_ACTIVITY_ID);
+    
+    qDebug("SATAPP: SatAppMainHandler::removeActivity < %d", ok);
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMainHandler::isOffline
+// ----------------------------------------------------------------------------
+//
+bool SatAppMainHandler::isOffline()
+{
+    //If current active profile is offline, show a warning and quit
+    qDebug("SATAPP: SatAppMainHandler::isOffline >");
+    TInt profileId(0);
+    CRepository* cr (NULL);
+    TRAPD(err, cr = CRepository::NewL(KCRUidCoreApplicationUIs));
+    if ( KErrNone == err )
+    {
+        // Get the ID of the currently active profile:
+        const TInt error = 
+            cr->Get(KCoreAppUIsNetworkConnectionAllowed, profileId);
+        qDebug("SATAPP: SatAppMainHandler::isOffline get active \
+                profile error=%d",error);
+        delete cr;
+    }
+    qDebug("SATAPP: SatAppMainHandler::isOffline< profileId = %d",profileId);
+    return ( ECoreAppUIsNetworkConnectionNotAllowed == profileId );
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMainHandler::showOfflineWarning
+// ----------------------------------------------------------------------------
+//
+void SatAppMainHandler::showOfflineWarning()
+{
+    qDebug("SATAPP: SatAppMainHandler::showOfflineWarning >");
+    mOfflineWarningDlg = 
+        new HbMessageBox(HbMessageBox::MessageTypeWarning);
+    mOfflineWarningDlg->setText(
+        hbTrId("txt_simatk_dpopinfo_sim_services_not_available"));
+    mOfflineWarningDlg->clearActions();
+    mOfflineWarningDlg->setDismissPolicy(HbDialog::TapOutside);
+    mOfflineWarningDlg->setTimeout(KDisplayTxtUserClearTimeout);
+    SAT_ASSERT(connect(mOfflineWarningDlg, SIGNAL(aboutToClose()),
+                qApp, SLOT(quit())));
+    mOfflineWarningDlg->open();
+    qDebug("SATAPP: SatAppMainHandler::showOfflineWarning <");
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/src/satappmenuprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,347 @@
+/*
+* 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: Provides and maintains SAT main view (selection list)
+*
+*/
+
+// qt
+#include <QObject>
+#include <QTimer>
+#include <QPixmap>
+#include <QtDebug>
+// hb
+#include <hbmainwindow.h>
+#include <hbdocumentloader.h>
+#include <hbview.h>
+#include <hbmenu.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <hblistwidget.h>
+// satapp
+#include "satappmenuprovider.h"
+#include "satappaction.h"
+#include "satappconstant.h"
+
+// constants
+const char *SATAPP_DOCML = ":/xml/satapp.docml";
+const char *SATAPP_SETUPMENU_VIEW = "setupmenu_view";
+const char *SATAPP_SELECTITEM_VIEW = "selectitem_view";
+const char *SATAPP_MENUITEM = "s:ListWidget";
+const char *SATAPP_SELECTITEM = "t:ListWidget";
+const char *SATAPP_SUBTITLE = "t:label";
+
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::SatAppMenuProvider
+// ----------------------------------------------------------------------------
+//
+SatAppMenuProvider::SatAppMenuProvider(HbMainWindow *window,QObject *parent)
+    : QObject(parent), mMainWindow(window),mSetupMenuView(0),
+      mSelectItemView(0),mSoftKeyQuitAction(0),mSoftKeyBackAction(0),
+      mListWidget(0),mSelectListWidget(0),mSubTitle(0),mCurrentAction(0)
+{
+    qDebug("SATAPP: SatAppMenuProvider::SatAppMenuProvider");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::~SatAppMenuProvider
+// ----------------------------------------------------------------------------
+//
+SatAppMenuProvider::~SatAppMenuProvider()
+{
+    qDebug("SATAPP: SatAppMenuProvider::~SatAppMenuProvider >");
+    resetState();
+    // delete all objects created from DOCML.
+    while (!mObjects.isEmpty()) {
+        delete mObjects.takeFirst();
+    }
+    // delete actions
+    delete mSoftKeyQuitAction;
+    delete mSoftKeyBackAction;
+    qDebug("SATAPP: SatAppMenuProvider::~SatAppMenuProvider <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::takeScreenShot
+// ----------------------------------------------------------------------------
+//
+QPixmap SatAppMenuProvider::takeScreenShot()
+{
+    qDebug("SATAPP: SatAppMenuProvider::takeScreenShot");
+    return QPixmap::grabWidget(mMainWindow, mMainWindow->rect());
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::loadMainView
+// ----------------------------------------------------------------------------
+//
+void SatAppMenuProvider::loadMainView()
+{
+    qDebug("SATAPP: SatAppMenuProvider::loadMainView >");
+
+    // create actions
+    mSoftKeyQuitAction = new HbAction(Hb::QuitNaviAction,this);
+    mSoftKeyBackAction = new HbAction(Hb::BackNaviAction,this);
+
+    bool docmlLoad = false;
+    HbDocumentLoader loader;
+    // ownership of the objects are transferred to caller
+    mObjects = loader.load(SATAPP_DOCML,&docmlLoad);
+    Q_ASSERT(docmlLoad);
+    qDebug("SATAPP: SatAppMenuProvider main view found");
+    // load setupmenu view
+    mSetupMenuView = qobject_cast<HbView *>(loader.findWidget
+            (SATAPP_SETUPMENU_VIEW));
+    // find setupmenu view items
+    mListWidget = qobject_cast<HbListWidget *>
+        ( loader.findWidget(SATAPP_MENUITEM ));
+    // connect setupmenu view menu
+    HbAction *menuAction = mSetupMenuView->menu()->addAction(
+        hbTrId("txt_common_menu_exit"));
+    SAT_ASSERT(connect(menuAction, SIGNAL(triggered()),
+        mMainWindow, SLOT(close())));
+    SAT_ASSERT(connect(mSoftKeyQuitAction, SIGNAL(triggered()),
+        mMainWindow, SLOT(close())));
+    // set this view as current view
+    mMainWindow->addView(mSetupMenuView);
+    mMainWindow->setCurrentView(mSetupMenuView);
+
+    // load selectitem view
+    mSelectItemView = qobject_cast<HbView *>(loader.findWidget
+            (SATAPP_SELECTITEM_VIEW));
+    // find selectitem view items
+    mSubTitle = qobject_cast<HbLabel *>
+        ( loader.findWidget(SATAPP_SUBTITLE) );
+    mSelectListWidget = qobject_cast<HbListWidget *>
+        ( loader.findWidget(SATAPP_SELECTITEM ));
+    // connect selectitem view menu
+    HbAction *menuBack = mSelectItemView->menu()->addAction(
+        hbTrId("txt_common_opt_back"));
+    SAT_ASSERT(connect(menuBack, SIGNAL(triggered()),
+        mSoftKeyBackAction, SIGNAL(triggered())));
+    HbAction *menuQuit = mSelectItemView->menu()->addAction(
+        hbTrId("txt_common_menu_exit"));
+
+    SAT_ASSERT(connect(menuQuit, SIGNAL(triggered()),
+        mMainWindow, SLOT(close())));
+    qDebug("SATAPP: SatAppMenuProvider::loadMainView <");
+
+}
+
+// ----------------------------------------------------------------------------
+// switchView
+// ----------------------------------------------------------------------------
+//
+void SatAppMenuProvider::switchView()
+{
+    qDebug("SATAPP: SatAppMenuProvider::switchView >");
+    if (mCurrentAction && ESatSelectItemAction == mCurrentAction->action()) {
+        // switch to select item view
+        mMainWindow->removeView(mMainWindow->currentView());
+        mMainWindow->addView(mSelectItemView);
+        mMainWindow->setCurrentView(mSelectItemView);
+    } else {
+        // switch to main menu view
+        mMainWindow->removeView(mMainWindow->currentView());
+        mMainWindow->addView(mSetupMenuView);
+        mMainWindow->setCurrentView(mSetupMenuView);
+    }
+    qDebug("SATAPP: SatAppMenuProvider::switchView <");
+}
+
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::setUpMenu
+// constructs a menu in the main SAT application view
+// ----------------------------------------------------------------------------
+//
+void SatAppMenuProvider::setUpMenu(SatAppAction &action)
+{
+    qDebug("SATAPP: SatAppMenuProvider::setUpMenu >");
+    if (!mSetupMenuView) {
+        loadMainView();
+    }
+    resetState();
+    mCurrentAction = &action;
+    switchView();
+    action.setResponse(ESatSuccess);
+
+    // The text is the application name
+    // should be shown on the menu area always
+    QString text = action.value(KeyText).toString();
+    if (!text.isEmpty()) {
+        mSetupMenuView->setTitle(text);
+        mSelectItemView->setTitle(text);
+    }
+    qDebug() << "SATAPP: SetUpMenu title=" << text;
+
+    // build the menu
+    QList<QVariant> menu = action.value(KeyMenu).toList();
+    mListWidget->clear();
+    for(int i = 0; i < menu.count(); i++ ) {
+        mListWidget->addItem(menu.at(i).toString());
+    }
+    qDebug() << "SATAPP: SetUpMenu menu=" << menu;
+
+    // back-key quits the application
+    mSetupMenuView->setNavigationAction(mSoftKeyQuitAction);
+    // completes action with ESatSuccess and selected item
+    connectItem();
+
+    qDebug("SATAPP: SatAppMenuProvider::setUpMenu <");
+}
+
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::selectItem
+// Constructs a SETECT ITEM view
+// ----------------------------------------------------------------------------
+//
+void SatAppMenuProvider::selectItem( SatAppAction &action)
+{
+    qDebug("SATAPP: SatAppMenuProvider::selectItem >");
+    
+    if (!mSetupMenuView) {
+        loadMainView();
+    }
+    
+    resetState();
+    mCurrentAction = &action;
+    switchView();
+    action.setResponse(ESatSuccess);
+
+    // Set sub title
+    QString text = action.value(KeyText).toString();
+    if (!text.isEmpty()) {
+        mSubTitle->setPlainText(text);
+    } else {
+        mSubTitle->setPlainText(hbTrId("txt_long_caption_sim_services"));
+    }
+    qDebug() << "SATAPP: selectItem text=" << text;
+
+    // Set List widget
+    QList<QVariant> menu = action.value(KeyMenu).toList();
+    mSelectListWidget->clear();
+    for(int i = 0; i < menu.count(); i++ ) {
+        mSelectListWidget->addItem(menu.at( i ).toString());
+    }
+    qDebug() << "SATAPP: selectItem menu=" << menu;
+
+    // timeout completes action with ESatNoResponseFromUser
+    QTimer::singleShot(KDefaultSelectionTimeoutMseconds,
+        mCurrentAction,SLOT(completeWithNoResponse()));
+    // back-key completes action with ESatBackwardModeRequestedByUser
+    mSelectItemView->setNavigationAction(mSoftKeyBackAction);
+    SAT_ASSERT(connect(mSoftKeyBackAction, SIGNAL(triggered()),
+        mCurrentAction, SLOT(completeWithBackRequested())));
+    SAT_ASSERT(connect(mSelectItemView->menu()->actions().at(1), 
+        SIGNAL(triggered()),
+        mCurrentAction, SLOT(completeWithSessionTerminated())));
+    
+    // completes action with ESatSuccess and selected item
+    connectItem();
+
+    qDebug("SATAPP: SatAppMenuProvider::selectItem <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::resetState
+// terminates ongoing events and clears the screen
+// ----------------------------------------------------------------------------
+//
+void SatAppMenuProvider::resetState()
+{
+    qDebug("SATAPP: SatAppMenuProvider::resetState >");
+    mCurrentAction = 0;
+    disconnectItem();
+    qDebug("SATAPP: SatAppMenuProvider::resetState <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::menuItemSelected
+// (Menu item selected).
+// ----------------------------------------------------------------------------
+//
+void SatAppMenuProvider::menuItemSelected(HbListWidgetItem *item)
+{
+    qDebug("SATAPP: SatAppMenuProvider::menuItemSelected >");
+    Q_ASSERT(mCurrentAction);
+    if (ESatSetUpMenuAction == mCurrentAction->action()) {
+        int index = mListWidget->row(item);
+        mCurrentAction->set(KeySelection,index);
+        mCurrentAction->set(KeyHelpRequested,false);
+        mCurrentAction->completeWithSuccess();
+    } else if(ESatSelectItemAction == mCurrentAction->action()) {
+        int index = mSelectListWidget->row(item);
+        mCurrentAction->set(KeySelection,index);
+        mCurrentAction->completeWithSuccess();
+    }
+    qDebug("SATAPP: SatAppMenuProvider::menuItemSelected <");
+}
+
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::connectItem
+// (Connect listwidget item).
+// ----------------------------------------------------------------------------
+//
+void SatAppMenuProvider::connectItem()
+{
+    qDebug("SATAPP: SatAppMenuProvider::connectItem >");
+    Q_ASSERT(mCurrentAction);
+    if (ESatSetUpMenuAction == mCurrentAction->action()) {
+        SAT_ASSERT(connect(
+            mListWidget, SIGNAL(activated(HbListWidgetItem *)), 
+            this, SLOT(menuItemSelected(HbListWidgetItem *))));
+        SAT_ASSERT(connect(
+            mListWidget, 
+            SIGNAL(longPressed(HbListWidgetItem *, const QPointF &)), 
+            this, SLOT(menuItemSelected(HbListWidgetItem *))));
+    } else if(mCurrentAction->action()== ESatSelectItemAction) {
+        SAT_ASSERT(connect(
+            mSelectListWidget, SIGNAL(activated(HbListWidgetItem *)), 
+            this, SLOT(menuItemSelected(HbListWidgetItem *))));
+        SAT_ASSERT(connect(
+            mSelectListWidget, 
+            SIGNAL(longPressed(HbListWidgetItem*, const QPointF &)), 
+            this, SLOT(menuItemSelected(HbListWidgetItem *))));
+    }
+    qDebug("SATAPP: SatAppMenuProvider::connectItem <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppMenuProvider::disconnectItem
+// (Disconnect listwidget item).
+// ----------------------------------------------------------------------------
+//
+void SatAppMenuProvider::disconnectItem()
+{
+    qDebug("SATAPP: SatAppMenuProvider::disconnectItem >");
+    // setup menu view
+    disconnect(mListWidget, SIGNAL( activated(HbListWidgetItem *)),
+          this, SLOT( menuItemSelected( HbListWidgetItem *)));        
+    disconnect(
+        mListWidget, SIGNAL(longPressed(HbListWidgetItem*, const QPointF &)), 
+        this, SLOT(menuItemSelected(HbListWidgetItem *)));
+    // select item view
+    disconnect(mSelectListWidget, SIGNAL( activated(HbListWidgetItem *)),
+          this, SLOT( menuItemSelected( HbListWidgetItem *)));
+    disconnect(
+        mSelectListWidget, 
+        SIGNAL(longPressed(HbListWidgetItem*, const QPointF &)), 
+        this, SLOT(menuItemSelected(HbListWidgetItem *)));
+    qDebug("SATAPP: SatAppMenuProvider::disconnectItem <");
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/src/satapppopupprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,520 @@
+/*
+* 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: 
+*
+*/
+
+// qt
+#include <QAction>
+#include <QTimer>
+#include <QtDebug>
+// hb
+#include <hbmessagebox.h>
+#include <hbprogressdialog.h>
+#include <hbdevicemessagebox.h>
+#include <hblabel.h>
+#include <hbaction.h>
+// satapp
+#include "satapppopupprovider.h"
+#include "satappconstant.h"
+#include "satappaction.h"
+
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::SatAppPopupProvider
+// ----------------------------------------------------------------------------
+//
+SatAppPopupProvider::SatAppPopupProvider( QObject *parent)
+    : QObject(parent), mDisplayText(0), mWaitDialog(0),
+      mWaitDeviceDialog(0), mAction(0)
+{
+    qDebug("SATAPP: SatAppPopupProvider::SatAppPopupProvider");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::~SatAppPopupProvider
+// ----------------------------------------------------------------------------
+//
+SatAppPopupProvider::~SatAppPopupProvider()
+{
+    qDebug("SATAPP: SatAppPopupProvider::~SatAppPopupProvider >");
+    
+    if (mWaitDialog) {
+        qDebug("SATAPP: SatAppPopupProvider::~SatAppPopupProvider wait note");
+        mWaitDialog->close();
+        delete mWaitDialog;
+        mWaitDialog = NULL;
+    }
+    
+    if (mWaitDeviceDialog) {
+        qDebug("SATAPP: SatAppPopupProvider::~SatAppPopupProvider device note");
+        mWaitDeviceDialog->close();
+        delete mWaitDeviceDialog;
+        mWaitDeviceDialog = NULL;            
+    }
+    
+    if (mDisplayText){
+        qDebug( "SatAppPopupProvider::~SatAppPopupProvider DisplayText" );
+        delete mDisplayText;
+        mDisplayText = 0;
+    }
+    qDebug("SATAPP: SatAppPopupProvider::~SatAppPopupProvider <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::displayText
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::displayText(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::displayText >");
+    mAction = &action;
+    delete mDisplayText;
+    mDisplayText = 0;
+    QString heading = action.value(KeyApplicationName).toString();
+    if (heading.isEmpty()) {
+        heading = hbTrId("txt_simatk_dialog_sim_services");
+    }
+    qDebug() << "SATAPP: displayText: heading=" << heading;
+
+    // text
+    QString text = action.value(KeyText).toString();
+
+    // some flags
+    bool sustainedText = action.value(KeySustainedText).toBool();
+    bool waitUserToClear = action.value(KeyWaitUserToClear).toBool();
+
+    // duration
+    int duration = action.value(KeyDuration).toInt();
+    if (duration==0) {
+        duration = KDisplayTxtDefaultduration;
+        if (waitUserToClear) {
+            duration = KDisplayTxtUserClearTimeout;
+        }
+    }
+    if ( !(!sustainedText || 
+           action.value(KeyDuration).toInt() || 
+           !waitUserToClear) ) {
+        duration = 0;
+    }
+    qDebug("SATAPP: displayText: duration=%d",duration);
+
+    // Show DisplayText dialog
+    mDisplayText = new HbMessageBox(HbMessageBox::MessageTypeInformation);
+
+    // Set the label as heading widget
+    HbLabel *label = new HbLabel(heading, mDisplayText);
+    mDisplayText->setHeadingWidget(label);
+    mDisplayText->setText(text);
+    mDisplayText->setIconVisible(false);
+    mDisplayText->setStandardButtons(HbMessageBox::Ok | HbMessageBox::Cancel);
+    // ok pressed -> complete action with KSatSuccess
+    SAT_ASSERT(connect(mDisplayText->actions().at(0), SIGNAL(triggered()),
+        &action, SLOT(completeWithSuccess())));
+    // cancel pressed -> complete action with ESatBackwardModeRequestedByUser
+    SAT_ASSERT(connect(mDisplayText->actions().at(1), SIGNAL(triggered()),
+        &action, SLOT(completeWithBackRequested())));
+    SAT_ASSERT(connect(mAction, SIGNAL(actionCompleted(SatAppAction *)),
+        this, SLOT(resetState())));
+    if (duration) {
+        if (waitUserToClear && !sustainedText) {
+           // in timeout, complete action with ESatNoResponseFromUser
+            QTimer::singleShot(duration,
+                &action, SLOT(completeWithNoResponse()));
+        } else {
+            QTimer::singleShot(duration,
+                &action, SLOT(completeWithSuccess()));
+        }
+        mDisplayText->setTimeout(duration); 
+    }
+
+    // open the popup.
+    mDisplayText->open();
+    
+    qDebug("SATAPP: SatAppPopupProvider::displayText <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::notification
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::notification(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::notification >");
+    // some flags
+    int commandId = action.value(KeyCommandId).toInt();
+    int alphaIdStatus = action.value(KeyAlphaIdStatus).toInt();
+    // reset mAction
+    mAction = 0;
+    qDebug("SATAPP: notification id=%d alphaSt=%d",
+        commandId, alphaIdStatus);
+
+    switch (commandId)
+    {
+        case ESatSSendDataNotify:
+        case ESatSReceiveDataNotify:
+        {
+            qDebug("SATAPP: Notifying BIP Send/Receive");
+            // need to complete action with success when use don't prees cancel
+            mAction = &action;
+            showBIPWaitNote(action);
+            break;
+        }
+        case ESatSCloseChannelNotify:
+        {
+            qDebug("SATAPP: Notifying BIP CloseChannel");
+            showCloseChannelWaitNote(action);
+            break;
+        }
+        case ESatSMoSmControlNotify:
+        {
+            qDebug("SATAPP: Notifying MoSmControl");
+            if (ESatAlphaIdNotNull == alphaIdStatus) {
+                showMoSmControlNote(action);
+            } else {
+                showSatInfoNote(action);
+            }
+            break;
+        }
+        case ESatSCallControlNotify:
+        {
+            qDebug("SATAPP: Notifying CallControl");
+            showCallControlNote(action);
+            break;
+        }
+        case ESatSSendUssdNotify:   // fall through
+        case ESatSSendSsNotify:
+        {
+            qDebug("SATAPP: Notifying SendSs / SendUssd");
+            showSsWaitNote(action);
+            break;
+        }
+        case ESatSSendDtmfNotify:
+        {
+            qDebug("SATAPP: Notifying SendDtmf");
+            // need to complete action with success when use don't prees cancel
+            mAction = &action;
+            showDtmfWaitNote(action);
+            break;
+        }
+        case ESatSSendSmsNotify:
+        {
+            qDebug("SATAPP: Notifying SendSms");
+            showSmsWaitNote(action);
+            break;
+        }
+        default:
+        {
+            qDebug("SATAPP: Unkown notification");
+            action.completeWithFailure();
+            break;
+        }
+    }
+    qDebug("SATAPP: SatAppPopupProvider::notification <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::stopShowWaitNote
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::stopShowWaitNote()
+{
+    qDebug("SATAPP:SatAppPopupProvider::stopShowWaitNote: >mWaitDialog = %x", 
+        mWaitDialog );
+    if (mWaitDialog) {
+        mWaitDialog->close();
+        delete mWaitDialog;
+        mWaitDialog = NULL;
+        if (mAction) {
+            qDebug("SATAPP: stopShowWaitNote: mAction");
+            int commandId = mAction->value(KeyCommandId).toInt();
+            if (ESatSSendDataNotify == commandId 
+                || ESatSReceiveDataNotify == commandId 
+                || ESatSSendDtmfNotify == commandId) {
+                 mAction->completeWithSuccess();
+            }
+        }
+    }
+
+    qDebug("SATAPP: stopShowWaitNote: mWaitDeviceDialog=%x",
+        mWaitDeviceDialog);
+    if (mWaitDeviceDialog) {
+        mWaitDeviceDialog->close();
+        delete mWaitDeviceDialog;
+        mWaitDeviceDialog = NULL;            
+    }
+
+    qDebug("SATAPP:SatAppPopupProvider::stopShowWaitNote: <" );
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::defaultAlphaId
+// provides a default text in case it is empty
+// ----------------------------------------------------------------------------
+//
+QString SatAppPopupProvider::alphaId(SatAppAction& action)
+{
+    QString alpha = action.value(KeyText).toString();
+    qDebug() << "SATAPP: SatAppPopupProvider::alphaId" << alpha;
+
+    int commandId = action.value(KeyCommandId).toInt();
+    int controlResult = action.value(KeyControlResult).toInt();
+
+    if (!alpha.isEmpty()) {
+        qDebug("SATAPP:SatAppPopupProvider::alphaId not empty<");
+        return alpha;
+    }
+    switch (commandId)
+    {
+    case ESatSSendDataNotify: // SendData
+        {
+        alpha = hbTrId("txt_simatk_dialog_sendingdata");
+        break;
+        }
+    case ESatSReceiveDataNotify: // ReceiveData
+        {
+        alpha = hbTrId("txt_simatk_dialog_receivingdata");
+        break;
+        }
+    case ESatSCloseChannelNotify: // CloseChannel
+        {
+        alpha = hbTrId("txt_simatk_dialog_connectionclosed");
+        break;
+        }
+    case ESatSMoSmControlNotify: // MoSmControl
+        {
+        if (ESatNotAllowed == controlResult) {
+        alpha = hbTrId("txt_simatk_dpopinfo_request_not_allowed");
+        } else if (ESatAllowedWithModifications == controlResult) {
+            alpha = hbTrId("txt_simatk_dpopinfo_request_modified");
+        } else {
+            alpha =  hbTrId(""); // Allowed, default alpha -> no info
+        }
+        break;
+        }
+    case ESatSCallControlNotify: // CallControl
+       {
+        if (ESatNotAllowed == controlResult) {
+            alpha= hbTrId("txt_simatk_dpopinfo_request_not_allowed");
+        } else if (ESatAllowedWithModifications == controlResult) {
+            alpha = hbTrId("txt_simatk_dpopinfo_request_modified");
+        } else {
+            alpha = hbTrId(""); // Allowed, default alpha -> no info
+        }
+        break;
+        }
+    case ESatSSendSmsNotify: // fall through
+    case ESatSSendDtmfNotify: // fall through
+    case ESatSSendUssdNotify: // fall through
+    case ESatSSendSsNotify: // fall through
+        {
+        // alpha id is empty, set a default string
+        alpha = hbTrId("txt_common_info_processing");
+        break;
+        }
+    default:
+        break;
+    }
+    qDebug("SATAPP:SatAppPopupProvider::alphaId <");
+    return alpha;
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::showBIPWaitNote
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::showBIPWaitNote(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::showBIPWaitNote >");
+
+    QString text = alphaId(action);
+    // this is a new SEND DATA action
+    delete mWaitDialog;
+    mWaitDialog = 0;
+    HbProgressDialog *pd = new HbProgressDialog(HbProgressDialog::WaitDialog);
+    pd->setText(text);
+    // cancel -> complete with ESatBackwardModeRequestedByUser
+    SAT_ASSERT(connect(pd->actions().at(0),SIGNAL(triggered()),
+        &action,SLOT(completeWithBackRequested())));
+
+    // open dialog
+    pd->open();
+    mWaitDialog = pd;
+
+    qDebug("SATAPP: SatAppPopupProvider::showBIPWaitNote <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::showCloseChannelWaitNote
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::showCloseChannelWaitNote(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::showCloseChannelWaitNote >");
+    HbProgressDialog *pd = new HbProgressDialog(HbProgressDialog::WaitDialog);
+    pd->clearActions();
+    pd->setText(alphaId(action));
+    pd->open();
+    mWaitDialog = pd;
+    qDebug("SATAPP: SatAppPopupProvider::showCloseChannelWaitNote <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::showMoSmControlNote
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::showMoSmControlNote(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::showMoSmControlNote >");
+    HbMessageBox *mb = new HbMessageBox(HbMessageBox::MessageTypeInformation);
+    mb->clearActions();
+    mb->setText(alphaId(action));
+    mb->open();
+    mWaitDialog = mb;
+    qDebug("SATAPP: SatAppPopupProvider::showMoSmControlNote <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::showSatInfoNote
+//
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::showSatInfoNote(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::showSatInfoNote >");
+    HbMessageBox *mb = new HbMessageBox(HbMessageBox::MessageTypeInformation);
+    mb->setText(alphaId(action));
+    mb->open();
+    mWaitDialog = mb;
+    qDebug("SATAPP: SatAppPopupProvider::showSatInfoNote <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::showCallControlNote
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::showCallControlNote(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::showCallControlNote >");
+    HbDeviceMessageBox *dmb = new HbDeviceMessageBox(HbMessageBox::MessageTypeInformation);
+    // No cancel key
+    dmb->setText(alphaId(action));
+    dmb->show();
+    mWaitDeviceDialog = dmb;
+
+    qDebug("SATAPP: SatAppPopupProvider::showCallControlNote <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::showSsWaitNote
+// Displays a wait note to indicate SS sending.
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::showSsWaitNote(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::showSsWaitNote >");
+    HbProgressDialog *pd = new HbProgressDialog(HbProgressDialog::WaitDialog);
+    pd->clearActions();
+    pd->setText(alphaId(action));
+    pd->show();
+    mWaitDialog = pd;
+    qDebug("SATAPP: SatAppPopupProvider::showSsWaitNote <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::showDtmfWaitNote
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::showDtmfWaitNote(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::showDtmfWaitNote >");
+    HbProgressDialog *pd = new HbProgressDialog(HbProgressDialog::WaitDialog);
+    // cancel -> complete action with ESatBackwardModeRequestedByUser
+    SAT_ASSERT(connect(pd->actions().at(0), SIGNAL(triggered()),
+        &action, SLOT(completeWithBackRequested())));
+    pd->setText(alphaId(action));
+    pd->open();
+    mWaitDialog = pd;
+    qDebug("SATAPP: SatAppPopupProvider::showDtmfWaitNote <");
+ }
+
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::showDtmfWaitNote
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::showSmsWaitNote(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppPopupProvider::showSmsWaitNote >");
+    HbProgressDialog *pd = new HbProgressDialog(HbProgressDialog::WaitDialog);
+    //remove the default cancel softkey
+    pd->clearActions();
+    pd->setText(alphaId(action));
+    pd->open();
+    mWaitDialog = pd;
+    qDebug("SATAPP: SatAppPopupProvider::showSmsWaitNote <");
+ }
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::stopShowWaitNote
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::showSsErrorNote()
+{
+    qDebug("SATAPP: SatAppPopupProvider::showSsErrorNote >");
+    HbMessageBox *mb = new HbMessageBox(HbMessageBox::MessageTypeWarning);
+    mb->setText(hbTrId("txt_sat_sendss_error_note"));
+    mb->open();
+    mWaitDialog = mb;
+    qDebug("SATAPP: SatAppPopupProvider::showSsErrorNote <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::clearScreen
+// terminates all ongoing UI actions
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::clearScreen()
+{
+    qDebug( "SATAPP: SatAppPopupProvider::clearScreen >" );
+    stopShowWaitNote();
+    if (mDisplayText){
+        qDebug( "SatAppPopupProvider::clearScreen DisplayText" );
+        delete mDisplayText;
+        mDisplayText = 0;
+        if (mAction) {
+            qDebug( "SatAppPopupProvider::clearScreen mAction" );
+            SAT_ASSERT(disconnect(mAction, SIGNAL(actionCompleted(SatAppAction *)),
+                this, SLOT(resetState())));
+            mAction->completeWithNoResponse();
+            mAction = 0;
+        }
+        qDebug( "SatAppPopupProvider::clearScreen DisplayText <" );
+    }
+    qDebug( "SATAPP: SatAppToneProvider::clearScreen <" );
+}
+
+// ----------------------------------------------------------------------------
+// SatAppPopupProvider::resetState
+// reset
+// ----------------------------------------------------------------------------
+//
+void SatAppPopupProvider::resetState()
+{
+    qDebug( "SATAPP: SatAppPopupProvider::resetState >" );
+    mAction = 0;
+    qDebug( "SATAPP: SatAppPopupProvider::resetState <" );
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/src/satappserverdispatcher.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,586 @@
+/*
+* 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: Receives UI commands from SAT server and converts to QT
+*
+*/
+
+// qt
+#include <QStringList>
+#include <qglobal.h>
+#include <QCoreApplication>
+// symbian
+#include <centralrepository.h>
+#include <ProfileEngineSDKCRKeys.h>
+
+// sat
+#include <msatuiadapter.h>
+#include "satappserverdispatcher.h"
+#include "satappaction.h"
+#include "satappconstant.h"
+
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::SatAppServerDispatcher
+// ----------------------------------------------------------------------------
+//
+SatAppServerDispatcher::SatAppServerDispatcher(QObject *parent) :
+    QObject(parent)
+{
+    qDebug("SATAPP: SatAppServerDispatcher::SatAppServerDispatcher");
+    QT_TRAP_THROWING(ConnectSatSessionL());
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::~SatAppServerDispatcher
+// ----------------------------------------------------------------------------
+//
+SatAppServerDispatcher::~SatAppServerDispatcher()
+{
+    qDebug("SATAPP: SatAppServerDispatcher::~SatAppServerDispatcher");
+    DisconnectSatSession();
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::menuSelection
+// ----------------------------------------------------------------------------
+//
+void SatAppServerDispatcher::menuSelection(SatAppAction* action)
+{
+    qDebug("SATAPP: SatAppServerDispatcher::menuSelection >");
+    if ( ESatSuccess == action->response() ) {
+        // user selected item from menu
+        int menuItem = action->value(KeySelection).toInt();
+        int helpRequested = action->value(KeyHelpRequested).toBool();
+        qDebug("SATAPP: SatAppServerDispatcher::MenuSelection item=%d",
+            menuItem);
+        iSat.Adapter()->MenuSelection(menuItem, helpRequested);
+    } else if (ESatSessionTerminatedByUser == action->response()) {
+        // session terminated while executing the menu action
+        qDebug("SATAPP: SatAppServerDispatcher::SessionTerminated");
+        iSat.Adapter()->SessionTerminated(EEndKeyUsed);
+    }
+    delete action;
+    qDebug("SATAPP: SatAppServerDispatcher::menuSelection <");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::userCancelResponse
+// ----------------------------------------------------------------------------
+//
+void SatAppServerDispatcher::userCancelSession(SatAppAction* action)
+{
+    qDebug("SATAPP: SatAppServerDispatcher::userCancelSession");
+    if (action && ESatBackwardModeRequestedByUser == action->response()){
+        iSat.Adapter()->SessionTerminated(ESessionCancel);
+    }    
+    delete action;
+    action = 0;
+}
+
+
+// ****************************************************************************
+// * ************************************************************************ *
+// * *                          SYMBIAN PART                                * *
+// * ************************************************************************ *
+// ****************************************************************************
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::ConnectSatSessionL
+// ----------------------------------------------------------------------------
+//
+void SatAppServerDispatcher::ConnectSatSessionL()
+{
+    qDebug("SATAPP: SatAppServerDispatcher::ConnectSatSessionL>");
+    //Register to Server as subsession
+    //If Server is not up, this function call may take time
+    iSatSession.ConnectL();
+    iSat.RegisterL(iSatSession, this);
+    if (!iSat.Adapter())
+        User::Leave(KErrNotFound);
+    qDebug("SATAPP: SatAppServerDispatcher::ConnectSatSessionL<");
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::DisconnectSatSession
+// ----------------------------------------------------------------------------
+//
+void SatAppServerDispatcher::DisconnectSatSession()
+{
+    qDebug("SATAPP: SatAppServerDispatcher::DisconnectSatSession>");
+    iSat.Close();
+    iSatSession.Close();
+    qDebug("SATAPP: SatAppServerDispatcher::DisconnectSatSession<");
+}
+
+// ----------------------------------------------------------------------------
+// My own quick string -> descriptor conversion function :-)
+// ----------------------------------------------------------------------------
+//
+void s2d(const QString str, TDes& desc)
+{
+    desc.Copy(reinterpret_cast<const TUint16*>(str.utf16()), str.length());
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::DisplayTextL
+// ----------------------------------------------------------------------------
+//
+TSatUiResponse SatAppServerDispatcher::DisplayTextL( const TDesC& aText,
+    const TDesC& aSimApplicationName,
+    const TSatIconId& aIconId,
+    TBool& aRequestedIconDisplayed,
+    const TBool aSustainedText,
+    const TTimeIntervalSeconds aDuration,
+    const TBool aWaitUserToClear )
+{
+    qDebug("SATAPP: SatAppServerDispatcher::DisplayTextL >");
+    Q_UNUSED(aIconId);
+    SatAppAction action(ESatDisplayTextAction);
+    // validate
+    if (aText.Length()== 0 || aText.Length()>RSat::KTextToDisplayMaxSize){
+        qDebug("SATAPP: SatAppServerDispatcher::DisplayText no text");
+        aRequestedIconDisplayed = EFalse;
+        return ESatFailure;
+    }
+
+    QT_TRYCATCH_LEAVING(
+        // ensure state
+        emit stopShowWaitNote();
+
+        // call
+        action.set(KeyText,aText);
+        action.set(KeyApplicationName, aSimApplicationName);
+        action.set(KeySustainedText, aSustainedText);
+        action.set(KeyDuration, const_cast<TTimeIntervalSeconds &>(aDuration));
+        action.set(KeyWaitUserToClear, aWaitUserToClear);
+
+        emit displayText(action);
+        action.waitUntilCompleted();
+    );
+
+    // return
+    qDebug("SATAPP: SatAppServerDispatcher::DisplayTextL action.response() %x<", 
+        action.response());
+    return action.response();
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::GetInkeyL
+// ----------------------------------------------------------------------------
+//
+TSatUiResponse SatAppServerDispatcher::GetInkeyL(
+    const TDesC& aText,
+    const TSatCharacterSet aCharacterSet,
+    TChar& aInput,
+    const TBool aHelpIsAvailable,
+    const TSatIconId& aIconId,
+    TBool& aRequestedIconDisplayed,
+    TUint& aDuration,
+    const TBool aImmediateDigitResponse )
+{
+    Q_UNUSED(aHelpIsAvailable);
+    Q_UNUSED(aIconId);
+    
+    qDebug("SATAPP: SatAppServerDispatcher::GetInkeyL >");
+
+    // validate
+    aRequestedIconDisplayed = EFalse;
+    if (ESatYesNo == aCharacterSet && aText.Length() == 0) {
+        qDebug("SATAPP: CSatUiObserver::GetInkey return ESatFailure");
+        return ESatFailure;
+    }
+
+    SatAppAction action(ESatGetInkeyAction);
+    QT_TRYCATCH_LEAVING(
+        // ensure state
+        emit stopShowWaitNote();
+
+        // call
+        action.set(KeyText,aText);
+        action.set(KeyCharacterSet,(int)aCharacterSet);
+        action.set(KeyInKey,(int)aInput);
+        // convert from SAT time units(?) to milliseconds
+        action.set(KeyDuration,(int)aDuration*KSymbianTimeConvertQtTime);
+        action.set(KeyImmediate,(bool)aImmediateDigitResponse);
+        emit getInkey(action);
+        action.waitUntilCompleted();
+        // convert from milliseconds to SAT time units(?)
+        aDuration = 
+                action.value(KeyDuration).toInt()/KSymbianTimeConvertQtTime;
+        aInput = action.value(KeyInKey).toInt();
+    );
+
+    // return
+    qDebug("SATAPP: SatAppServerDispatcher::GetInkeyL <");
+    return action.response();
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::GetInputL
+// ----------------------------------------------------------------------------
+//
+TSatUiResponse SatAppServerDispatcher::GetInputL(
+    const TDesC& aText,
+    const TSatCharacterSet aCharacterSet,
+    TDes& aInput,
+    const TInt aMinLength,
+    const TInt aMaxLength,
+    const TBool aHideInput,
+    const TBool aHelpIsAvailable,
+    const TSatIconId& aIconId,
+    TBool& aRequestedIconDisplayed )
+{
+    Q_UNUSED(aHelpIsAvailable);
+    Q_UNUSED(aIconId);
+    qDebug("SATAPP: SatAppServerDispatcher::GetInputL >");
+
+    // validate
+    aRequestedIconDisplayed = EFalse;
+    if ((aCharacterSet == ESatCharSmsDefaultAlphabet ||
+         aCharacterSet == ESatCharUcs2Alphabet) &&
+         aHideInput) {
+        qDebug("SATAPP: SatAppServerDispatcher::GetInput return ESatFailure");
+        return ESatFailure;
+    }
+
+    SatAppAction action(ESatGetInputAction);
+    QT_TRYCATCH_LEAVING(
+        // ensure state
+        emit stopShowWaitNote();
+    
+        // call
+        action.set(KeyText,aText);
+        action.set(KeyCharacterSet,(int)aCharacterSet);
+        action.set(KeyInputString,aInput);
+        action.set(KeyMinLength,aMinLength);
+        action.set(KeyMaxLength,aMaxLength);
+        action.set(KeyHideInput,(bool)aHideInput);
+        emit getInput(action);
+        action.waitUntilCompleted();
+        s2d(action.value(KeyInputString).toString(), aInput);
+    )
+
+    // return
+    qDebug("SATAPP: SatAppServerDispatcher::GetInputL <");
+    return action.response();
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::SetUpMenuL
+// ----------------------------------------------------------------------------
+//
+TSatUiResponse SatAppServerDispatcher::SetUpMenuL(
+    const TDesC& aText,
+    const MDesCArray& aMenuItems,
+    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
+    const TBool aHelpIsAvailable,
+    const TSatIconId& aIconId,
+    const CArrayFixFlat<TInt>* aMenuIcons,
+    const enum TSatIconQualifier aIconListQualifier,
+    const enum TSatSelectionPreference aSelectionPreference )
+{
+    Q_UNUSED(aMenuItemNextActions);
+    Q_UNUSED(aHelpIsAvailable);
+    Q_UNUSED(aIconId);
+    Q_UNUSED(aMenuIcons);
+    Q_UNUSED(aIconListQualifier);
+    Q_UNUSED(aSelectionPreference);
+    qDebug("SATAPP: SatAppServerDispatcher::SetUpMenuL >");
+
+    QT_TRYCATCH_LEAVING(
+
+        // validate
+        if (!aMenuItems.MdcaCount()) {
+            emit clearScreen();
+            QCoreApplication::instance()->quit();
+            return ESatSuccess;
+        }
+
+        // ensure state
+        emit stopShowWaitNote();
+    
+        // call
+        SatAppAction* action = new SatAppAction(ESatSetUpMenuAction, this);
+        action->set(KeyText,aText);
+        action->set(KeyMenu,aMenuItems);
+        // connect for asynchronous menu selection
+        connect(
+            action,SIGNAL(actionCompleted(SatAppAction*)),
+            this,SLOT(menuSelection(SatAppAction*)));
+        
+        emit setUpMenu(*action);
+    )
+
+    // return
+    qDebug("SATAPP: SatAppServerDispatcher::SetUpMenuL <");
+    return ESatSuccess;
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::SelectItemL
+// ----------------------------------------------------------------------------
+//
+TSatUiResponse SatAppServerDispatcher::SelectItemL(
+    const TDesC& aText,
+    const MDesCArray& aMenuItems,
+    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
+    const TInt aDefaultItem,
+    TUint8& aSelection,
+    const TBool aHelpIsAvailable,
+    const TSatIconId& aIconId,
+    const CArrayFixFlat<TInt>* aMenuIcons,
+    const enum TSatIconQualifier aIconListQualifier,
+    TBool& aRequestedIconDisplayed,
+    const enum TSatSelectionPreference aSelectionPreference )
+{
+    Q_UNUSED(aMenuItemNextActions);
+    Q_UNUSED(aHelpIsAvailable);
+    Q_UNUSED(aIconId);
+    Q_UNUSED(aMenuIcons);
+    Q_UNUSED(aIconListQualifier);
+    Q_UNUSED(aRequestedIconDisplayed);
+    Q_UNUSED(aSelectionPreference);
+    TSatUiResponse resp(ESatFailure);
+    SatAppAction action(ESatSelectItemAction);
+    qDebug("SATAPP: SatAppServerDispatcher::SelectItemL >");
+
+    QT_TRYCATCH_LEAVING(
+        // ensure state
+        emit stopShowWaitNote();
+    
+        // call
+        action.set(KeyText,aText);
+        action.set(KeyMenu,aMenuItems);
+        action.set(KeyDefault,aDefaultItem);
+        emit selectItem(action);
+        action.waitUntilCompleted();
+        resp = action.response();
+        if ( ESatSuccess == resp ) {
+            aSelection = static_cast<TUint8>(
+                    action.value(KeySelection).toInt());
+        }
+    )
+
+    // return
+    qDebug("SATAPP: SatAppServerDispatcher::SelectItemL <");
+    return resp;
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::PlayTone
+// ----------------------------------------------------------------------------
+//
+TSatUiResponse SatAppServerDispatcher::PlayTone(
+    const TDesC& aText,
+    const TSatTone aTone,
+    const TTimeIntervalMicroSeconds aDuration,
+    const TSatIconId& aIconId,
+    TBool& aRequestedIconDisplayed )
+{
+    Q_UNUSED(aIconId);
+    aRequestedIconDisplayed = EFalse;
+    TSatUiResponse resp(ESatSuccess);
+    qDebug("SATAPP: SatAppServerDispatcher::PlayTone >");
+    SatAppAction action(ESatPlayToneAction);
+    int err(KErrNone);
+    QT_TRYCATCH_ERROR(
+        err,
+        // ensure state
+        emit stopShowWaitNote();
+    
+        // call
+        action.set(KeyText,aText);
+        action.set(KeyToneId,aTone);
+        action.set(KeyDuration, const_cast<TTimeIntervalMicroSeconds &>(aDuration));
+        emit playTone(action);
+        action.waitUntilCompleted();
+        resp = action.response();
+    )
+
+    // return
+    qDebug("SATAPP: SatAppServerDispatcher::PlayTone err = %d<", err);
+    return resp;
+}
+
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::ConfirmCommand
+// ----------------------------------------------------------------------------
+//
+void SatAppServerDispatcher::ConfirmCommand(
+    const TSatSQueryCommand aCommandId,
+    const TSatAlphaIdStatus aAlphaIdStatus,
+    const TDesC& aText,
+    const TDesC& aAdditionalText,
+    TBool& aActionAccepted,
+    const TSatIconId& aIconId,
+    TBool& aRequestedIconDisplayed,
+    TBool& aTerminatedByUser )
+{
+    qDebug("SATAPP: SatAppServerDispatcher::ConfirmCommand >");
+    Q_UNUSED(aIconId);
+    aRequestedIconDisplayed = EFalse;
+    aTerminatedByUser = EFalse;
+    //ConfirmAction
+    SatAppAction action(ESatConfirmAction);
+    qDebug("SATAPP: SatAppServerDispatcher::ConfirmCommand");
+    int err(KErrNone);
+    QT_TRYCATCH_ERROR(
+        err,
+        emit stopShowWaitNote();
+    
+        action.set(KeyQueryCommandId, aCommandId);
+        action.set(KeyAlphaIdStatus, aAlphaIdStatus);
+        action.set(KeyText, aText);
+        action.set(KeyAdditionalText, aAdditionalText);
+        action.set(KeyActionAccepted, aActionAccepted);
+
+        emit confirmCommand(action);
+        action.waitUntilCompleted();
+        if (ESatSuccess == action.response() ) {
+            aActionAccepted = ETrue;
+        }
+    )
+    qDebug("SATAPP: SatAppServerDispatcher::ConfirmCommand err = %d <", err);
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::Notification
+// ----------------------------------------------------------------------------
+//
+TSatUiResponse SatAppServerDispatcher::Notification(
+    const TSatSNotifyCommand aCommandId,
+    const TSatAlphaIdStatus aAlphaIdStatus,
+    const TDesC& aText,
+    const TSatIconId& aIconId,
+    TBool& aRequestedIconDisplayed,
+    const TSatControlResult aControlResult )
+{
+    Q_UNUSED(aIconId);
+    Q_UNUSED(aRequestedIconDisplayed);
+    qDebug("SATAPP: SatAppServerDispatcher::Notification command id=%d",
+        aCommandId);
+
+    TSatUiResponse res(ESatFailure);
+    int err(KErrNone);
+    switch (aCommandId)
+    {
+        // With cancel
+        case ESatSSendDataNotify:    // fall through
+        case ESatSReceiveDataNotify: // fall through
+        case ESatSSendDtmfNotify:    // fall through
+        {
+            QT_TRYCATCH_ERROR(
+                err,
+                emit stopShowWaitNote();
+                SatAppAction *action = new SatAppAction(ESatNotifyAction, this);
+                action->set(KeyText, aText);
+                action->set(KeyCommandId, aCommandId);
+                action->set(KeyAlphaIdStatus, aAlphaIdStatus);
+                action->set(KeyControlResult, aControlResult);
+                // connect for asynchronous menu selection
+                connect(
+                    action,SIGNAL(actionCompleted(SatAppAction*)),
+                    this,SLOT(userCancelSession(SatAppAction*)));
+                emit notification(*action);
+                res = ESatSuccess;
+            )
+            break;
+        }
+        // Without cancel
+        case ESatSMoSmControlNotify:  // fall through
+        case ESatSCallControlNotify:  // fall through 
+        case ESatSSendUssdNotify:     // fall through 
+        case ESatSSendSsNotify:       // fall through
+        case ESatSSendSmsNotify:      // fall through
+        case ESatSCloseChannelNotify: // fall through
+        {
+            QT_TRYCATCH_ERROR(
+                err,
+                emit stopShowWaitNote();
+                SatAppAction a(ESatNotifyAction);
+                a.set(KeyText, aText);
+                a.set(KeyCommandId, aCommandId);
+                a.set(KeyAlphaIdStatus, aAlphaIdStatus);
+                a.set(KeyControlResult, aControlResult);
+                emit notification(a);
+                res = ESatSuccess;
+            )
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+    qDebug("SATAPP: SatAppServerDispatcher::Notification < ret=%d", err);
+    return res;
+}
+
+// ----------------------------------------------------------------------------
+// SatAppServerDispatcher::EventNotification
+// ----------------------------------------------------------------------------
+//
+void SatAppServerDispatcher::EventNotification(
+    const TSatSEvent aEventId,
+    const TSatSEventStatus aEventStatus,
+    const TInt aError )
+{
+    qDebug( "SATAPP: SatAppServerDispatcher::EventNotification aEventId %d", 
+        aEventId );
+    Q_UNUSED(aEventStatus);
+    Q_UNUSED(aError);
+    int err(KErrNone);
+
+    QT_TRYCATCH_ERROR( err,
+    switch ( aEventId )
+        {
+        case ESatSSmEndEvent:
+        case ESatSsEndEvent:
+        case ESatSDtmfEndEvent:
+            {
+            emit stopShowWaitNote();
+            break;
+            }
+        case ESatSClearScreenEvent:
+            {
+            qDebug("SATAPP: ClearScreen event");
+            emit clearScreen();
+            break;
+            }
+       case ESatSsErrorEvent:
+            {
+            qDebug("SATAPP: Notifying Ss error" );
+            // If error occurred (and Alpha ID provided), notify user
+            emit showSsErrorNote();
+            break;
+            }
+        case ESatSCloseSatUiAppEvent:
+            {
+            qDebug(" Close UI event" );
+            emit clearScreen();
+            QCoreApplication::instance()->quit();
+            break;
+            }
+        default:
+            {
+            qDebug("SATAPP: Unknown event occured: %i", aEventId);
+            break;
+            }
+        }
+    ) // end QT_TRYCATCH_ERROR
+    qDebug("SATAPP: SatAppServerDispatcher::EventNotification err = %d<", err);
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/src/satapptoneprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,702 @@
+/*
+* 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:
+*
+*/
+
+// includes
+#include <QTimer>
+#include <QCoreApplication>
+#include <QtDebug>
+#include <hbmessagebox.h>//playtone note
+
+#include "SatAppToneProvider.h"
+#include "satappconstant.h"
+#include "satappaction.h"
+
+// ----------------------------------------------------------------------------
+// SatAppToneProvider::SatAppToneProvider
+// ----------------------------------------------------------------------------
+//
+SatAppToneProvider::SatAppToneProvider(QObject *parent) :
+    QObject(parent)
+{
+    qDebug("SATAPP: SatAppToneProvider::SatAppToneProvider <>");
+    mState = Idle;
+    mWarningAndPlayTones = false;
+    mVolume = 0;
+    mPlayer = 0;
+    mPlayToneError = ESatSuccess;
+    mTimer = 0;
+    mPermanentNote = 0;
+    mAudioPlayer = 0;
+    mCurrentAction = 0;
+}
+
+// ----------------------------------------------------------------------------
+// SatAppToneProvider::~SatAppToneProvider
+// ----------------------------------------------------------------------------
+//
+SatAppToneProvider::~SatAppToneProvider()
+{
+    qDebug("SATAPP: SatAppToneProvider::~SatAppToneProvider >");
+    
+    if (mCurrentAction) {
+        stopPlayTone();
+    }
+    
+    if (mPermanentNote) {
+        qDebug("SatAppToneProvider::resetState delete mPermanentNote");
+        delete mPermanentNote;
+        mPermanentNote = 0;
+    }
+    
+    if (mTimer) {
+        qDebug("SatAppToneProvider::resetState delete timer");
+        delete mTimer;
+        mTimer = 0;
+    }
+    
+    qDebug("SATAPP: SatAppToneProvider::~SatAppToneProvider <");
+}
+
+//-----------------------------------------------------------------------------
+// SatAppToneProvider::playTone
+//-----------------------------------------------------------------------------
+void SatAppToneProvider::playTone(SatAppAction& action)
+{
+    qDebug("SATAPP: SatAppToneProvider::playTone >");
+    resetState();
+    
+    mCurrentAction = &action;
+    int tone = action.value(KeyToneId).toInt();
+    int duration = action.value(KeyDuration).toInt();
+    QString text = action.value(KeyText).toString();
+    QByteArray sequence;
+    mState = recognizeTone(tone,sequence,duration);
+    if (mState == PlayStandardTone)
+    {
+        playStandardTone(text,sequence,duration);
+    }
+    else if (mState == PlayUserSelectedTone)
+    {
+        playUserSelectedTone(text,tone,duration);
+    }
+    else
+    {
+        mCurrentAction->complete(ESatCmdDataNotUnderstood);
+        mCurrentAction = 0;
+    }
+    qDebug("SATAPP: SatAppToneProvider::playTone <");
+}
+
+//-----------------------------------------------------------------------------
+// SatAppToneProvider::recognizeTone
+// @param tone the tone code from server (see TSatTone in MSatUiObserver)
+// @param sequence (out) standard tone play sequence
+// @param duration (out) stanrard tone play duration (manipulated in some cases)
+// @return suggested state for the tone provider (or Idle if tone is not recognised)
+//-----------------------------------------------------------------------------
+SatAppToneProvider::State SatAppToneProvider::recognizeTone(
+    int tone,
+    QByteArray& sequence,
+    int& duration)
+{
+    qDebug("SATAPP: SatAppToneProvider::recognizeTone >");
+    State ret = Idle;
+    qDebug("SATAPP: SatAppToneProvider::recognizeTone tone: %d", tone);
+    switch (tone)
+    {
+        case ESatGeneralBeep:
+        case ESatPositiveTone:
+        case ESatToneNotSet:
+            {
+            if (duration == 0) duration = KSatDur170ms; // 170ms
+            sequence = charArrayToByteArray(KGeneralBeep, 
+                                     sizeof(KGeneralBeep));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatNegativeTone:
+            {
+            if (duration == 0) duration = KSatDur250ms; // 250ms
+            sequence = charArrayToByteArray(KErrorTone, 
+                                     sizeof(KErrorTone));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatRadioPathNotAvailableCallDropped:
+            {
+            if (duration == 0) duration = KSatDur1200ms; // 1200ms
+            sequence = charArrayToByteArray(KRadioPathNotAvailable, 
+                                     sizeof(KRadioPathNotAvailable));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatRadioPathAcknowledge:
+            {
+            if (duration == 0) duration = KSatDur200ms; // 200ms
+            sequence = charArrayToByteArray(KRadioPathAck, 
+                                     sizeof(KRadioPathAck));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatDialTone:
+            {
+            if (duration == 0) break;
+            sequence = charArrayToByteArray(KNetToneSeqDial, 
+                                     sizeof(KNetToneSeqDial));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatCalledSubscriberBusy:
+            {
+            if (duration == 0) break;
+            sequence = charArrayToByteArray(KNetToneSeqNetBusy, 
+                                     sizeof(KNetToneSeqNetBusy));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatCongestion:
+            {
+            if (duration == 0) break;
+            sequence = charArrayToByteArray(KNetToneSeqNetCongestion, 
+                                     sizeof(KNetToneSeqNetCongestion));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatErrorSpecialInfo:
+            {
+            if (duration == 0) break;
+            sequence = charArrayToByteArray(KNetToneSeqNetSpecialInformation, 
+                                     sizeof(KNetToneSeqNetSpecialInformation));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatCallWaitingTone:
+            {
+            if (duration == 0) break;
+            sequence = charArrayToByteArray(KNetToneSeqNetCallWaiting, 
+                                     sizeof(KNetToneSeqNetCallWaiting));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatRingingTone:
+            {
+            if (duration == 0) break;
+            sequence = charArrayToByteArray(KNetToneSeqRingGoing, 
+                                     sizeof(KNetToneSeqRingGoing));
+            ret = PlayStandardTone;
+            break;
+            }
+        case ESatUserSelectedToneIncomingSpeech:
+        case ESatUserSelectedToneIncomingSms:
+            {
+            ret = PlayUserSelectedTone;
+            break;
+            }
+        default:
+            break;
+    }
+    
+    qDebug("SATAPP: SatAppToneProvider::recognizeTone state=%d <", ret);
+    return ret;
+}
+
+//-----------------------------------------------------------------------------
+// SatAppToneProvider::charArrayToByteArray
+//-----------------------------------------------------------------------------
+QByteArray SatAppToneProvider::charArrayToByteArray(
+    const char tone[], 
+    int size)
+{
+    qDebug("SATAPP: SatAppToneProvider::charArrayToByteArray >");
+    QByteArray seq;
+    seq = QByteArray::fromRawData(tone, size);
+    qDebug("SATAPP: SatAppToneProvider::charArrayToByteArray <");
+    return seq;
+}
+
+//-----------------------------------------------------------------------------
+// SatAppToneProvider::playStandardTone
+//-----------------------------------------------------------------------------
+void SatAppToneProvider::playStandardTone(
+    const QString& text,
+    const QByteArray& sequence,
+    int duration)
+{
+    qDebug("SATAPP: SatAppToneProvider::playStandardTone >");
+
+    if (text.length() > 0) {
+        mPermanentNote = new HbMessageBox(HbMessageBox::MessageTypeInformation);
+        SAT_ASSERT(connect(mPermanentNote, SIGNAL(aboutToClose()),
+                this, SLOT(stopPlayTone())));
+        mPermanentNote->setText(text);
+        mPermanentNote->setStandardButtons(HbMessageBox::Cancel);
+        if (duration > 0 ) {
+            mPermanentNote->setTimeout(duration);
+        }
+        mPermanentNote->setDismissPolicy(HbPopup::TapAnywhere);
+        qDebug("SatAppToneProvider::playStandardTone show before");
+        mPermanentNote->show();
+        qDebug("SatAppToneProvider::playStandardTone show after");
+    }
+
+    TPtrC8 seq((unsigned char*)sequence.constData(), sequence.length());
+    qDebug("SATAPP: SatAppToneProvider::playStandardTone TPtrC8 seq: %S", &seq);
+    QT_TRAP_THROWING(SymbianPrepareAudioToneUtilityL(seq));
+
+    if (duration > 0) {
+        mTimer = new QTimer(this);
+        SAT_ASSERT(connect(mTimer, SIGNAL(timeout()),
+                this, SLOT(stopPlayTone())));
+        mTimer->start(duration);
+    }
+    
+    qDebug("SATAPP: SatAppToneProvider::playStandardTone <");
+}
+
+//-----------------------------------------------------------------------------
+// SatAppToneProvider::playUserSelectedTone
+//-----------------------------------------------------------------------------
+void SatAppToneProvider::playUserSelectedTone(
+    const QString& text,
+    int tone,
+    int duration)
+{
+    qDebug("SatAppToneProvider::playUserSelectedTone >");
+
+    // If several messages/calls arrive during a small amount of time and if the
+    // message received or incoming call tone is already being played we do not 
+    // restart it.
+    if (mAudioPlayer) {
+        qDebug( "SatAppToneProvider::\
+            PlayUserSelectedToneL Error - already played" );
+        mCurrentAction->complete(ESatFailure);
+        mCurrentAction = 0;
+        mState = Idle;
+        return;
+    }
+
+    if (text.length() > 0) {
+        mPermanentNote = new HbMessageBox(HbMessageBox::MessageTypeInformation);
+        mPermanentNote->setText(text);
+        mPermanentNote->setStandardButtons(HbMessageBox::Cancel);
+        if (duration) {
+            mPermanentNote->setTimeout(duration);
+        }
+        mPermanentNote->setDismissPolicy(HbPopup::TapAnywhere);
+        qDebug("SatAppToneProvider::PlayUserSelectedToneL show before");
+        mPermanentNote->show();
+        qDebug("SatAppToneProvider::PlayUserSelectedToneL show after");
+    }
+
+    QT_TRAP_THROWING(SymbianPrepareAudioPlayerL(tone,duration));
+    
+    if (duration > 0) {
+        qDebug( "SATAPP: SatAppToneProvider::PlayUserSelectedToneL\
+            duration not 0" );
+        mTimer = new QTimer(this);
+        mTimer->start(duration);
+        SAT_ASSERT(connect(mTimer, SIGNAL(timeout()), this, SLOT(stopPlayTone())));
+
+        if (mPermanentNote) {
+            SAT_ASSERT(connect(mPermanentNote, SIGNAL(aboutToClose()),
+                    this, SLOT(stopPlayTone())));
+        }
+    }
+    
+    qDebug( "SatAppToneProvider::PlayUserSelectedToneL <" );
+}
+
+
+// ----------------------------------------------------------------------------
+// SatAppToneProvider::clearScreen
+// terminates all ongoing UI actions
+// ----------------------------------------------------------------------------
+//
+void SatAppToneProvider::clearScreen()
+{
+    qDebug( "SatAppToneProvider::clearScreen >" );
+    if (mCurrentAction) {
+        stopPlayTone();
+    }
+    qDebug( "SatAppToneProvider::clearScreen <" );
+}
+
+// ----------------------------------------------------------------------------
+// SatAppToneProvider::stopPlayTone
+// Stops the music, frees blocked functions
+// ----------------------------------------------------------------------------
+//
+void SatAppToneProvider::stopPlayTone()
+{
+    qDebug("SATAPP: SatAppToneProvider::stopPlayTone >");
+    
+    if (mPermanentNote) {
+        qDebug("SatAppToneProvider::stopPlayTone close mPermanentNote");
+        disconnect(mPermanentNote,SIGNAL(aboutToClose()),
+                this, SLOT(stopPlayTone())); 
+        mPermanentNote->close();
+    }
+    
+    if (mTimer) {
+        qDebug("SatAppToneProvider::stopPlayTone stop timer");
+        disconnect(mTimer,SIGNAL(timeout()), this, SLOT(stopPlayTone()));
+        if (mTimer->isActive()) {
+            mTimer->stop();
+        }
+    }
+    
+    switch(mState) {
+        case PlayStandardTone: {
+            qDebug("SATAPP: SatAppToneProvider::stopPlayTone before play cancel");
+            SymbianStopAudioToneUtility();
+
+            //get warning and game tones setting from active profile
+            QT_TRAP_THROWING(GetProfileParamsL());
+            if( EFalse == mWarningAndPlayTones 
+                && ESatSuccess == mPlayToneError ) {
+                mPlayToneError = ESatSuccessToneNotPlayed;
+            }
+            break;
+        }
+        case PlayUserSelectedTone: {
+            // Sample is played in forever loop for the duration.
+            // After duration call back timers are destroyed       
+            // If player exists, stop playing and delete player. MapcPlayComplete
+            // is not called because CallBackTimer stops the playing.
+            SymbianStopAudioPlayer();
+            if( EFalse == mWarningAndPlayTones ) {
+                mPlayToneError = ESatSuccessToneNotPlayed;
+            }
+            break;
+        }
+        default:
+            break;
+    }
+    
+    mState = Idle;
+    if (mCurrentAction) {
+        mCurrentAction->complete(mPlayToneError);
+        mCurrentAction = 0;
+    }
+    
+    qDebug("SATAPP: SatAppToneProvider::stopPlayTone <");
+}
+
+void SatAppToneProvider::resetState()
+{
+    qDebug("SATAPP: SatAppToneProvider::resetState >");
+    if (mCurrentAction) {
+        mCurrentAction->completeWithNoResponse();
+        mCurrentAction = 0;
+    }
+    
+    if (mPermanentNote) {
+        qDebug("SatAppToneProvider::resetState delete mPermanentNote");
+        delete mPermanentNote;
+        mPermanentNote = 0;
+    }
+    
+    if (mTimer) {
+        qDebug("SatAppToneProvider::resetState delete timer");
+        delete mTimer;
+        mTimer = 0;
+    }
+    qDebug("SATAPP: SatAppToneProvider::resetState <");
+}
+
+
+
+// ****************************************************************************
+// * ************************************************************************ *
+// * *                          SYMBIAN PART                                * *
+// * ************************************************************************ *
+// ****************************************************************************
+
+
+// includes
+#include    <e32std.h> //TTimeIntervalMicroSeconds
+#include    <MProfile.h>
+#include    <MProfileEngine.h>
+#include    <MProfileTones.h>
+#include    <TProfileToneSettings.h>
+#include    <AudioPreference.h> //KAudioPriorityLowLevel
+#include    <mdaaudiotoneplayer.h> // for CMdaAudioToneUtility&CMdaAudioPlayerUtility
+#include    <mda/common/resource.h> //KMdaRepeatForever
+
+//constants
+
+// Maximum length for sound file. 
+const TInt KMaxSoundFileLength = 256;
+// Used when dividing some values. Used only for preventing the use of magic 
+// numbers
+// Audio sample is repeated indefinitely.
+const TInt KSoundPlayerRepeatForever = KMdaRepeatForever;
+
+// The max volume value from settings.
+// From TProfileToneSettings.h
+const TInt KMaxVolumeFromProfile( 10 );
+
+// ----------------------------------------------------------------------------
+// SatAppToneProvider::SymbianPrepareAudioToneUtilityL
+// creates and prepares CMdaAudioToneUtility
+// ----------------------------------------------------------------------------
+//
+void SatAppToneProvider::SymbianPrepareAudioToneUtilityL(const TDesC8& sequence)
+{
+    qDebug( "SatAppToneProvider::SymbianPrepareAudioToneUtilityL >" );
+    if (mPlayer) {
+        delete mPlayer;
+        mPlayer = 0;
+    }
+    mPlayer = CMdaAudioToneUtility::NewL(*this);
+    TInt volume(mPlayer->MaxVolume());
+    mPlayer->SetVolume(volume);
+    mPlayer->PrepareToPlayDesSequence(sequence);
+    qDebug( "SatAppToneProvider::SymbianPrepareAudioToneUtilityL <" );
+}
+
+// ----------------------------------------------------------------------------
+// SatAppToneProvider::SymbianStopAudioToneUtility
+// cancels and deletes CMdaAudioToneUtility
+// ----------------------------------------------------------------------------
+void SatAppToneProvider::SymbianStopAudioToneUtility()
+{
+    qDebug( "SatAppToneProvider::SymbianStopAudioToneUtility >" );
+    if (mPlayer) {
+        mPlayer->CancelPlay();
+    }
+    delete mPlayer;
+    mPlayer = NULL;
+    qDebug( "SatAppToneProvider::SymbianStopAudioToneUtility <" );
+}
+
+// ----------------------------------------------------------------------------
+// SatAppToneProvider::SymbianPrepareAudioPlayerL
+// cancels and deletes CMdaAudioToneUtility
+// ----------------------------------------------------------------------------
+void SatAppToneProvider::SymbianPrepareAudioPlayerL(
+    int tone, int duration)
+{
+    qDebug( "SatAppToneProvider::SymbianPrepareAudioPlayerL >" );
+    // This defines name for the current message alert or incoming call tone. 
+    TBuf<KMaxSoundFileLength> soundFileName;
+    GetProfileParamsL(tone, &soundFileName);
+
+    // This defines the behaviour to be adopted by an
+    // audio client if a higher priority client takes over the device.
+    TInt mdaPriority( KAudioPrefIncomingCall );
+    // This is used to resolve conflicts when more than one client tries to 
+    // access the same sound output device simultaneously.
+    TInt audioPriority( KAudioPriorityPhoneCall );
+
+    qDebug( "SATAPP: SatAppToneProvider::PlayUserSelectedToneL\
+        Volume is %d ", mVolume );
+
+    // Creates the audio player.
+    mAudioPlayer = CMdaAudioPlayerUtility::NewFilePlayerL( 
+        soundFileName,
+        *this,
+        audioPriority,
+        ( TMdaPriorityPreference ) mdaPriority );
+
+    TTimeIntervalMicroSeconds no_silence(0);
+    if (duration > 0)
+    {
+        // repeat forever in a loop
+        mAudioPlayer->SetRepeats(KSoundPlayerRepeatForever, no_silence);
+    }
+    else
+    {
+        // play only once
+        mAudioPlayer->SetRepeats(0, no_silence);
+    }
+    qDebug( "SatAppToneProvider::SymbianPrepareAudioPlayerL <" );
+
+}
+
+// ----------------------------------------------------------------------------
+// SatAppToneProvider::SymbianStopAudioPlayer
+// cancels and deletes CMdaAudioToneUtility
+// ----------------------------------------------------------------------------
+void SatAppToneProvider::SymbianStopAudioPlayer()
+{
+    qDebug( "SatAppToneProvider::SymbianStopAudioPlayer >" );
+    if (mAudioPlayer) {
+        qDebug( "SatAppToneProvider::SymbianStopAudioPlayer AudioPlayer stop" );
+        mAudioPlayer->Stop();
+    }
+    delete mAudioPlayer;
+    mAudioPlayer = 0;
+    qDebug( "SatAppToneProvider::SymbianStopAudioPlayer <" );
+}
+
+// ---------------------------------------------------------
+// SatAppCommandHandler::GetProfileParamsL
+// Get and store settings from current profile 
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void SatAppToneProvider::GetProfileParamsL(
+    int aTone /*= ESatToneNotSet*/,
+    TDes* aToneName /*= NULL*/ )
+{
+    qDebug( "SatAppCommandHandler::GetProfileParamsL >" );
+    MProfile* profile = NULL;
+    MProfileEngine* engine = NULL;
+    engine = CreateProfileEngineL();
+    CleanupReleasePushL( *engine );
+
+    profile = engine->ActiveProfileLC();
+
+    const MProfileTones& tones = profile->ProfileTones();
+
+    // Takes a current warning and gametones setting.
+    const TProfileToneSettings& ts = tones.ToneSettings();
+    mWarningAndPlayTones = ts.iWarningAndGameTones;
+    mVolume = ts.iRingingVolume;
+    
+    qDebug( "SatAppCommandHandler::GetProfileParamsL \
+        mVolume before mapping %d", mVolume );
+    
+    // Max volume from profile is KMaxVolumeFromProfile, Max volume from 
+    // CMdaAudioToneUtility is different, maybe 10,000. So, 
+    // rate = maxVolumeFromPlayer / KMaxVolumeFromProfile
+    // User may never hear the TONE, because volume is too small.
+    // iVolume times the rate make it can be heard.
+    
+    CMdaAudioToneUtility* toneUtl = CMdaAudioToneUtility::NewL( *this );
+    TInt maxVolumeFromPlayer( toneUtl->MaxVolume() );
+    mVolume *= maxVolumeFromPlayer / KMaxVolumeFromProfile;
+    delete toneUtl;
+    toneUtl = NULL;
+    qDebug( "CSatUiViewAppUi::GetProfileParamsL \
+        mVolume after mapping %d", mVolume );
+    
+    if ( ( ESatUserSelectedToneIncomingSms == aTone ) && ( aToneName ) )
+        {
+        qDebug("SatAppCommandHandler::GetProfileParamsL message tone");
+        aToneName->Copy( tones.MessageAlertTone() );
+    } else if( aToneName ) {
+        qDebug("SatAppCommandHandler::GetProfileParamsL ring tone");
+        aToneName->Copy( tones.RingingTone1() );
+    }
+
+    CleanupStack::PopAndDestroy(2); // engine, profile
+    qDebug("SatAppCommandHandler::GetProfileParamsL <");
+}
+
+// ---------------------------------------------------------
+// SatAppToneProvider::MatoPrepareComplete
+// Preparation is complete -> Starts playing tone
+// ---------------------------------------------------------
+//
+void SatAppToneProvider::MatoPrepareComplete(TInt aError)
+{
+    qDebug("SatAppToneProvider::MatoPrepareComplete \
+        aError = %d >", aError);
+    if (KErrNone == aError && mPlayer) {
+        mPlayToneError = ESatSuccess;
+        TTimeIntervalMicroSeconds zero(static_cast<TInt64>( 0 ));
+        mPlayer->SetPriority(KAudioPriorityLowLevel,
+               STATIC_CAST(TMdaPriorityPreference, KAudioPrefConfirmation));
+        mPlayer->SetRepeats( KMdaAudioToneRepeatForever, zero );
+        mPlayer->Play();
+    } else {
+        mPlayToneError = ESatFailure;
+        stopPlayTone();
+    }
+    qDebug( "SatAppToneProvider::MatoPrepareComplete <" );
+}
+
+//-----------------------------------------------------------------------------
+// SatAppToneProvider::MatoPlayComplete
+// Play complete -> Frees blocking function
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void SatAppToneProvider::MatoPlayComplete( TInt aError )
+{
+    qDebug("SatAppToneProvider::MatoPlayComplete >");
+    if (KErrNone == aError && mPlayer) {
+        qDebug("SatAppToneProvider::MatoPlayComplete play");
+        mPlayer->Play();
+    } else {
+        qDebug( "SatAppToneProvider::MatoPlayComplete stop playing");
+        // Stops playing if error.
+        stopPlayTone();
+    }
+    qDebug("SatAppToneProvider::MatoPlayComplete error %d <", aError);
+}
+
+//-----------------------------------------------------------------------------
+// SatAppToneProvider::MapcInitComplete
+// Initialisation complete -> starts playing the tone.
+// ----------------------------------------------------------------------------
+void SatAppToneProvider::MapcInitComplete( TInt aError, 
+    const TTimeIntervalMicroSeconds& /*aDuration*/ )
+{
+    qDebug( "SatAppToneProvider::MapcInitComplete >" );
+    // Audio player is initialised, so if there is no error, we can start 
+    // playing the tone.
+    if (KErrNone == aError && mAudioPlayer) {
+        const TInt volume( Max(0, Min(mVolume, 
+                           mAudioPlayer->MaxVolume())));
+        qDebug("CSatUiViewAppUi::\
+            MapcInitComplete SetVolume %d", volume );
+        // Set volume according Settings. 
+        mAudioPlayer->SetVolume( volume );
+        mAudioPlayer->Play();
+        qDebug( "SatAppToneProvider::MapcInitComplete Play" );
+    } else {
+        // Otherwise, we delete the initialised audio player.
+        if ( mAudioPlayer ) {
+            qDebug( "SatAppToneProvider::MapcInitComplete mAudioPlayer \
+                          true" );
+            delete mAudioPlayer;
+            mAudioPlayer = 0;
+        }
+
+        // Remove also the note for play tone
+        // If there was a duration for play tone, stop waiting
+        stopPlayTone();
+
+        qDebug( "SatAppToneProvider::MapcInitComplete Error %d", aError );
+    }
+    qDebug( "SatAppToneProvider::MapcInitComplete <" );
+}
+
+//-----------------------------------------------------------------------------
+// SatAppToneProvider::MapcPlayComplete
+// Deletes audio player after playing is completed.
+// ----------------------------------------------------------------------------
+void SatAppToneProvider::MapcPlayComplete( TInt /*aError*/ )
+{
+    qDebug( "SatAppToneProvider::MapcPlayComplete >" );
+
+    // When playing is completed, deleting the audio player.
+    if ( mAudioPlayer ) {
+        qDebug("SatAppToneProvider::MapcPlayComplete delete mAudioPlayer");
+        delete mAudioPlayer;
+        mAudioPlayer = 0;
+    }
+    // Remove note after play has completed.
+    stopPlayTone();
+    qDebug( "SatAppToneProvider::MapcPlayComplete <" );
+}
+
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/inc/ut_satappaction.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef UT_SATAPPACTION_H
+#define UT_SATAPPACTION_H
+
+// includes
+#include <QtTest/QtTest>
+#include <QObject>
+
+
+// forward declarations
+class SatAppAction;
+
+
+
+// QTest class
+class Ut_SatAppAction : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    Ut_SatAppAction(QObject *parent = 0);
+
+private slots:
+
+    void testAction();
+    void testParams();
+    void testComplete();
+    void testCompleteSignal();
+    void testDoubleComplete();
+    void testAsyncActionRobustness();
+    void testWait();
+
+private:
+
+
+};
+
+
+
+// Helper object
+class ActionHelper : public QObject
+{
+    Q_OBJECT
+
+public:
+    ActionHelper() {mCounter=0;}
+    int& count() {return mCounter;}
+
+public slots:
+    void inc() {++mCounter;}
+    void del(SatAppAction*);
+
+private:
+    int mCounter;
+};
+
+
+#endif // UT_SATAPPACTION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/inc/ut_satappconfirmprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef UT_SATAPPCONFIRMPROVIDER_H
+#define UT_SATAPPCONFIRMPROVIDER_H
+
+// includes
+#include <QtTest/QtTest>
+#include <QObject>
+
+
+// forward declarations
+class SatAppConfirmProvider;
+
+
+
+// QTest class
+class Ut_SatAppConfirmProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    Ut_SatAppConfirmProvider(
+            QObject *parent = 0);
+
+private slots:
+
+    void testConfirmCommand_data();
+    void testConfirmCommand();
+    void testConfirmFirstAction();
+    void testConfirmSecondAction();
+    void testConfirmAndClearScreen();
+
+};
+
+
+// internal helper class
+class ConfirmProviderTest: public QObject
+{
+    Q_OBJECT
+
+public:
+
+    ConfirmProviderTest();
+    ~ConfirmProviderTest();
+
+public slots:
+
+    void simulateFirstActionClicked();
+    void simulateSecondActionClicked();
+    void simulateClearScreen();
+    void cleanup();
+
+public:
+    
+    // test data
+    SatAppConfirmProvider *mConfirm;
+
+};
+
+
+#endif // UT_SATAPPCONFIRMPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/inc/ut_satappinputprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef UT_SATAPPINPUTPROVIDER_H
+#define UT_SATAPPINPUTPROVIDER_H
+
+// includes
+#include <QtTest/QtTest>
+#include <QObject>
+
+
+// forward declarations
+class SatAppInputProvider;
+
+
+
+// QTest class
+class Ut_SatAppInputProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    Ut_SatAppInputProvider(
+            QObject *parent = 0);
+
+private slots:
+
+    void testResetState();
+
+    void testGetInkeyAndOk_data();
+    void testGetInkeyAndOk();
+    void testGetInkeyAndCancel_data();
+    void testGetInkeyAndCancel();
+    void testGetInkeyAndTimeout();
+    void testGetInkeyAndReset();
+    void testGetInkeyAndDelete();
+
+    void testGetInkeyImmediateAndOk();
+    void testGetInkeyImmediateAndCancel();
+    
+    void testGetInputAndOk_data();
+    void testGetInputAndOk();
+    void testGetInputAndCancel_data();
+    void testGetInputAndCancel();
+    void testGetInputAndTimeout();
+    void testGetInputAndReset();
+    void testGetInputAndDelete();
+
+private:
+
+
+};
+
+
+// internal helper class
+class InputProviderTest: public QObject
+{
+    Q_OBJECT
+
+public:
+
+    InputProviderTest();
+    ~InputProviderTest();
+
+public slots:
+
+    void simulateFirstActionClicked();
+    void simulateSecondActionClicked();
+    void simulateImmediateKeypress(QString s);
+    void cleanup();
+
+public:
+
+    
+    // test data
+    SatAppInputProvider *mInput;
+
+};
+
+
+#endif // UT_SATAPPINPUTPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/inc/ut_satappmainhandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef UT_SATAPPMAINHANDLER_H
+#define UT_SATAPPMAINHANDLER_H
+
+#include <QtTest/QtTest>
+#include <QObject>
+
+
+// Class forwards
+class HbMainWindow;
+class SatAppMainHandler;
+
+/**
+ *  Satapp unit test class.
+ * 
+ *  @since S60 <TB10.1>
+ */
+class Ut_SatAppMainHandler : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    Ut_SatAppMainHandler(
+            HbMainWindow* mainWindow, QObject *parent = 0);
+
+    virtual ~Ut_SatAppMainHandler();
+
+private slots:
+     /**
+     * Called before the first testfunction is executed.
+     * Handles the SetUpMenu command.
+     */
+    void initTestCase();
+
+     /**
+     * Called after the last testfunction has been executed.
+     * 
+     */
+    void cleanupTestCase();
+
+     /**
+     * Test SatAppMainHandler's constructor.
+     * 
+     */
+    void testCreateMainHandler();
+    
+    /**
+     * Test SatAppMainHandler's constructor in offline.
+     * 
+     */
+    void testCreateMainHandler_OfflineMode();
+
+private:
+    
+    HbMainWindow* mMainWindow; // not own
+    SatAppMainHandler *mMainHandler;
+
+};
+
+#endif // UT_SATAPPMAINHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/inc/ut_satappmenuprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef UT_SATAPPMENUPROVIDER_H
+#define UT_SATAPPMENUPROVIDER_H
+
+// includes
+#include <QtTest/QtTest>
+#include <QObject>
+
+
+// forward declarations
+class HbMainWindow;
+class SatAppMenuProvider;
+
+
+
+// QTest class
+class Ut_SatAppMenuProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    Ut_SatAppMenuProvider(
+            HbMainWindow* mainWindow, QObject *parent = 0);
+
+private slots:
+
+    void testResetState();
+
+    void testSetUpMenu_data();
+    void testSetUpMenu();
+    void testSetUpMenuAndReset();
+    void testSetUpMenuAndDelete();
+
+    void testSelectItem_data();
+    void testSelectItem();
+    void testSelectItemAndBack();
+    void testSelectItemAndTimeout();
+    void testSelectItemAndReset();
+    void testSelectItemAndDelete();
+
+private:
+
+    HbMainWindow* mMainWindow; // not own
+
+};
+
+
+// internal helper class
+class MenuProviderTest: public QObject
+{
+    Q_OBJECT
+
+public:
+
+    MenuProviderTest(HbMainWindow* mainWindow);
+    ~MenuProviderTest();
+
+public slots:
+    void loadMainview();
+    void simulateItemSelected();
+    void simulateBackButtonClicked();
+    void cleanup();
+
+public:
+
+    // test data
+    SatAppMenuProvider *mMenu;
+    int mItemIndexToBeSelected;
+
+};
+
+
+#endif // UT_SATAPPMENUPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/inc/ut_satapppopupprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef UT_SATAPPPOPUPPROVIDER_H
+#define UT_SATAPPPOPUPPROVIDER_H
+
+// includes
+#include <QtTest/QtTest>
+#include <QObject>
+
+
+// forward declarations
+class SatAppPopupProvider;
+
+
+
+// QTest class
+class Ut_SatAppPopupProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    Ut_SatAppPopupProvider(
+            QObject *parent = 0);
+
+private slots:
+
+
+    void testDisplayTextAndOk_data();
+    void testDisplayTextAndOk();
+    
+    void testDisplayTextAndCancel_data();
+    void testDisplayTextAndCancel();
+  
+    void testDisplayTextAndTimeout();
+    
+    void testNotificationWithCancel_data();
+    void testNotificationWithCancel();
+  
+    void testNotification_data();
+    void testNotification();
+
+};
+
+
+// internal helper class
+class PopupProviderTest: public QObject
+{
+    Q_OBJECT
+
+public:
+
+    PopupProviderTest();
+    ~PopupProviderTest();
+
+public slots:
+
+    bool simulateOkClicked();
+    bool simulateCancelClicked();
+    void cleanup();
+
+public:
+    
+    // test data
+    SatAppPopupProvider *mPopup;
+
+};
+
+
+#endif // UT_SATAPPPOPUPPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/inc/ut_satappserverdispatcher.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* 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: Unit test CSatUiObserver class
+*
+*/
+
+#ifndef UT_SATAPPSERVERDISPATCHER_H
+#define UT_SATAPPSERVERDISPATCHER_H
+
+#include <QtTest/QtTest>
+#include <QObject>
+
+// Class forwards
+class SatAppServerDispatcher;
+class SatAppAction;
+
+/**
+ *  CSatUiObserver unit test class.
+ */
+class Ut_SatAppServerDispatcher : public QObject
+{
+    Q_OBJECT
+
+public:
+    Ut_SatAppServerDispatcher(QObject *parent = 0);
+
+private slots:
+
+    void initTestCase();
+    void cleanupTestCase();
+
+    //test MSatUiObserver api
+    void testDisplayText_data();
+    void testDisplayText();
+    void testGetInkey_data();
+    void testGetInkey();
+    void testGetInput_data();
+    void testGetInput();
+    void testSetUpMenu_data();
+    void testSetUpMenu();
+    void testSelectItem_data();
+    void testSelectItem();
+    void testPlayTone_data();
+    void testPlayTone();
+    void testConfirmCommand_data();
+    void testConfirmCommand();
+    void testNotification_data();
+    void testNotification();
+    void testEventNotification_data();
+    void testEventNotification();
+
+    // test slots
+    void testMenuSelection();
+    void testUserCancelSession();
+
+private:
+
+    SatAppServerDispatcher *mServer;
+
+};
+
+
+// internal helper class
+class ServerDispatcherHelper: public QObject
+{
+    Q_OBJECT
+
+public slots:
+    void exec(SatAppAction& action);
+    void simulateItemSelected(SatAppAction& action);
+};
+
+#endif // UT_SATAPPSERVERDISPATCHER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/inc/ut_satapptoneprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef UT_SATAPPTONEPROVIDER_H
+#define UT_SATAPPTONEPROVIDER_H
+
+#include <QtTest/QtTest>
+#include <QObject>
+#include <msatuiobserver.h>
+
+
+// Class forwards
+class SatAppToneProvider;
+
+// class declaration
+class Ut_SatAppToneProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    Ut_SatAppToneProvider(QObject *parent = 0);
+
+private slots:
+
+    void testCreateProvider_data();
+    void testCreateProvider();
+    void testClearScreen();
+    
+    void testPlayTone_data();
+    void testPlayTone();
+    void testplayDoubleTone_data();
+    void testplayDoubleTone();
+    void testPlayToneAndClearScreen();
+
+    void testMatoPrepareComplete_data();
+    void testMatoPrepareComplete();
+//    void testMatoPlayComplete_data();
+//    void testMatoPlayComplete();
+//    void testMapcPlayComplete_data();
+//    void testMapcPlayComplete();
+    void testMapcInitComplete_data();
+    void testMapcInitComplete();
+    void testRecognizeTone_data();
+    void testRecognizeTone();
+    void testPrepareAudioToneUtility();
+
+};
+
+// internal helper class
+class ToneProviderTest: public QObject
+{
+    Q_OBJECT
+
+public:
+
+    ToneProviderTest();
+    ~ToneProviderTest();
+    static SatAppToneProvider* getToneInstance();
+    bool isMessageBoxShown();
+    bool isTimerActive();
+    void ConstructAudioTone();
+    void DestroyAudioTone();
+    void ConstructAudioPlayer();
+    void DestroyAudioPlayer();
+    void ConstructTimer(bool active);
+    void DestroyTimer();
+    void SetPlayToneResult(TSatUiResponse error);
+    void TestRecognizeTone(int tone, int duration);
+
+public slots:
+
+    void cleanup();
+
+public:
+    
+    // test data
+    SatAppToneProvider *mTone;
+
+};
+
+#endif // UT_SATAPPTONEPROVIDER_H
Binary file satui/satapp/tsrc/ut_satapp/sis/utsatapp_template.SIS has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/sis/utsatapp_template.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,32 @@
+; utsatapp_template.pkg generated by qmake at 2010-02-04T14:06:21
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"utsatapp"},(0xEead1c8b),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"}
+ 
+; Default dependency to Qt libraries
+;(0x2001E61C), , , , {"Qt"}
+
+; Executable and default resource files
+"/epoc32/release/armv5/urel/utsatapp.exe"    - "!:\sys\bin\utsatapp.exe"
+"/epoc32/data/z/resource/apps/utsatapp.rsc"    - "!:\resource\apps\utsatapp.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/utsatapp_reg.rsc"    - "!:\private\10003a3f\import\apps\utsatapp_reg.rsc"
+
+; Manual PKG post-rules from PRO files
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/main.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* 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:Unit testing of SatApp
+*
+*
+*/
+
+
+#include <QtTest/QtTest>
+#include "hbapplication.h"
+#include "hbinstance.h"
+
+#include "ut_satappmainhandler.h"
+#include "ut_satappmenuprovider.h"
+#include "ut_satappinputprovider.h"
+#include "ut_satapptoneprovider.h"
+#include "ut_satapppopupprovider.h"
+#include "ut_satappserverdispatcher.h"
+#include "ut_satappconfirmprovider.h"
+#include "ut_satappaction.h"
+
+int main(int argc, char *argv[])
+{
+    qDebug("Ut_SatApp: main() >");
+    HbApplication app(argc,argv);
+    HbInstance::instance();
+    HbMainWindow mainWindow;
+
+    // test cmdline parameters
+    char *pass[3];
+    pass[0] = argv[0];
+    pass[1] = "-o"; 
+
+    int result(0);
+
+    Ut_SatAppPopupProvider utPopupProvider;
+    pass[2] = "c:\\logs\\sat\\Ut_SatAppPopupProvider.txt";
+    result += QTest::qExec(&utPopupProvider, /*3*/ 1, pass);
+
+    Ut_SatAppConfirmProvider utConfirmProvide;
+    pass[2] = "c:\\logs\\sat\\Ut_SatAppConfirmProvider.txt";
+    result += QTest::qExec(&utConfirmProvide, /*3*/ 1, pass);
+
+    Ut_SatAppAction utAction;
+    pass[2] = "c:\\logs\\sat\\Ut_SatAppAction.txt";
+    result += QTest::qExec(&utAction, /*3*/ 1, pass);
+
+    Ut_SatAppMenuProvider utMenuProvider(&mainWindow);
+    pass[2] = "c:\\logs\\sat\\Ut_SatAppMenuProvider.txt";
+    result += QTest::qExec(&utMenuProvider, /*3*/ 1, pass);
+
+    Ut_SatAppInputProvider utInputProvider;
+    pass[2] = "c:\\logs\\sat\\Ut_SatAppInputProvider.txt";
+    result += QTest::qExec(&utInputProvider, /*3*/ 1, pass);
+
+    Ut_SatAppToneProvider utToneProvider;
+    pass[2] = "c:\\logs\\sat\\Ut_SatAppToneProvider.txt";
+    result += QTest::qExec(&utToneProvider, /*3*/ 1, pass);
+
+    Ut_SatAppServerDispatcher utServerDispatcher;
+    pass[2] = "c:\\logs\\sat\\Ut_SatAppServerDispatcher.txt";
+    result += QTest::qExec(&utServerDispatcher, /*3*/ 1, pass);
+
+    Ut_SatAppMainHandler utMainHandler(&mainWindow);
+    pass[2] = "c:\\logs\\sat\\ut_SatAppMainHandler.txt";
+    result = QTest::qExec(&utMainHandler, /*3*/ 1, pass);
+
+    // cause a crash to free binary, so that we can recompile and run
+    // unit tests without restarting the emulator
+    //int crash = ((QString*)0)->length();
+    return result;
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/rsat_stub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Stub implementations for RSatSession and RSatUiSession
+*              (used in unit testing the SAT APP)
+*
+*
+*/
+
+
+#include <msatuiobserver.h>
+#include <rsatuisession.h>
+#include <rsatsession.h>
+#include <msatuiadapter.h>
+
+// adapter 
+class CSatCCommandProcessor: public MSatUiAdapter {
+    void MenuSelection(TInt aMenuItem, TBool aHelpRequested)
+    {
+    }
+
+    void SessionTerminated(TInt8 aType)
+    {
+    }
+};
+
+
+// RSatSession
+
+RSatSession::RSatSession()
+{
+}
+
+void RSatSession::ConnectL()
+{
+}
+
+// RSatUiSession
+
+RSatUiSession::RSatUiSession()
+{
+}
+
+void RSatUiSession::RegisterL(const RSatSession&,MSatUiObserver*)
+{
+    iCommandProcessor = new CSatCCommandProcessor();
+}
+
+void RSatUiSession::Close()
+{
+    delete iCommandProcessor;
+}
+
+MSatUiAdapter* RSatUiSession::Adapter() const
+{
+    return iCommandProcessor;
+}
+
+
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/ut_satappaction.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,201 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Unit test for satappmainhandler
+*
+*/
+
+#include <QVariant>
+#include <QTimer>
+#include <badesca.h>
+
+#include <hbmainwindow.h>
+#include <hblistwidget.h>
+
+#include "ut_satappaction.h"
+#include "satappaction.h"
+
+
+
+// --------------------------------------------------------
+// The unit tests begin here
+// --------------------------------------------------------
+
+Ut_SatAppAction::Ut_SatAppAction(QObject *parent)
+    :QObject(parent)
+{
+}
+
+
+void Ut_SatAppAction::testAction()
+{
+    SatAppAction a(ESatDisplayTextAction);
+    SatAppAction b(ESatGetInputAction);
+    SatAppAction c(ESatPlayToneAction);
+    
+    QCOMPARE(a.action(),(int)ESatDisplayTextAction);
+    QCOMPARE(b.action(),(int)ESatGetInputAction);
+    QCOMPARE(c.action(),(int)ESatPlayToneAction);
+
+}
+
+void Ut_SatAppAction::testParams()
+{
+    SatAppAction a(ESatDisplayTextAction);
+    // qvariant
+    a.set(KeyText, QVariant("hello"));
+    QCOMPARE(a.value(KeyText).toString(),QString("hello"));
+
+    // int
+    a.set(KeyMinLength, 25);
+    QCOMPARE(a.value(KeyMinLength).toInt(),25);
+
+    // string
+    a.set(KeyInputString,_L("kiss"));
+    QCOMPARE(a.value(KeyInputString).toString(),QString("kiss"));
+
+    // descriptor array
+    CDesCArrayFlat* array1 = new CDesCArrayFlat(8);
+    array1->AppendL(_L("item_0"));
+    array1->AppendL(_L("item_1"));
+    array1->AppendL(_L("item_2"));
+    a.set(KeyMenu,*array1);
+    QList<QVariant> list1 = a.value(KeyMenu).toList();
+    QCOMPARE(list1.size(), 3);
+    QCOMPARE(list1[0].toString(), QString("item_0"));
+    QCOMPARE(list1[1].toString(), QString("item_1"));
+    QCOMPARE(list1[2].toString(), QString("item_2"));
+
+    // int array
+    CArrayFixFlat<TInt>* array2 = new CArrayFixFlat<TInt>(8);
+    array2->AppendL(1);
+    array2->AppendL(2);
+    array2->AppendL(3);
+    a.set(KeyIconIdArray,*array2);
+    QList<QVariant> list2 = a.value(KeyIconIdArray).toList();
+    QCOMPARE(list2.size(), 3);
+    QCOMPARE(list2[0].toInt(), 1);
+    QCOMPARE(list2[1].toInt(), 2);
+    QCOMPARE(list2[2].toInt(), 3);
+
+    // TTimeIntervalSeconds
+    TTimeIntervalSeconds seconds(3);
+    a.set(KeyDuration,seconds);
+    QCOMPARE(a.value(KeyDuration).toInt(),3000);
+    
+    // TTimeIntervalMicroSeconds
+    TTimeIntervalMicroSeconds ysec(TInt64(500000));
+    a.set(KeyDuration,ysec);
+    QCOMPARE(a.value(KeyDuration).toInt(),500);
+    
+    // test hasValue
+    QVERIFY(a.hasValue(KeyText));
+    QVERIFY(a.hasValue(KeyMinLength));
+    QVERIFY(a.hasValue(KeyInputString));
+    QVERIFY(a.hasValue(KeyMenu));
+    QVERIFY(a.hasValue(KeyIconIdArray));
+    QVERIFY(a.hasValue(KeyDuration));
+    QVERIFY(!a.hasValue(KeyHelpRequested)); // <-- not set
+    QVERIFY(!a.hasValue(KeyHelpRequested)); // <-- not set
+    QVERIFY(!a.hasValue(KeyCharacterSet)); // <-- not set
+    QVERIFY(!a.hasValue(QString("billy the kid"))); // <-- definitely not set
+}
+
+void Ut_SatAppAction::testComplete()
+{
+    SatAppAction a(ESatDisplayTextAction);
+    SatAppAction b(ESatGetInputAction);
+    SatAppAction c(ESatPlayToneAction);
+    SatAppAction d(ESatPlayToneAction);
+    SatAppAction e(ESatPlayToneAction);
+    a.complete();
+    b.completeWithSuccess();
+    c.completeWithFailure();
+    d.completeWithBackRequested();
+    e.completeWithSessionTerminated();
+    QCOMPARE(a.response(),ESatNoResponseFromUser);
+    QCOMPARE(b.response(),ESatSuccess);
+    QCOMPARE(c.response(),ESatFailure);
+    QCOMPARE(d.response(),ESatBackwardModeRequestedByUser);
+    QCOMPARE(e.response(),ESatSessionTerminatedByUser);
+}
+
+void Ut_SatAppAction::testCompleteSignal()
+{
+    SatAppAction a(ESatDisplayTextAction);
+    SatAppAction b(ESatGetInputAction);
+    SatAppAction c(ESatPlayToneAction);
+    SatAppAction d(ESatPlayToneAction);
+    SatAppAction e(ESatPlayToneAction);
+    ActionHelper x;
+    connect(&a, SIGNAL(actionCompleted(SatAppAction*)), &x, SLOT(inc()));
+    connect(&b, SIGNAL(actionCompleted(SatAppAction*)), &x, SLOT(inc()));
+    connect(&c, SIGNAL(actionCompleted(SatAppAction*)), &x, SLOT(inc()));
+    connect(&d, SIGNAL(actionCompleted(SatAppAction*)), &x, SLOT(inc()));
+    connect(&e, SIGNAL(actionCompleted(SatAppAction*)), &x, SLOT(inc()));
+    a.complete();
+    b.completeWithSuccess();
+    c.completeWithFailure();
+    d.completeWithBackRequested();
+    e.completeWithSessionTerminated();
+    QCOMPARE(x.count(),5);
+}
+
+void Ut_SatAppAction::testDoubleComplete()
+{
+    SatAppAction a(ESatDisplayTextAction);
+    a.completeWithSuccess();
+    QCOMPARE(a.response(),ESatSuccess);
+    a.completeWithFailure(); // <-- no effect because already completed
+    QCOMPARE(a.response(),ESatSuccess); // <-- still in same state!
+}
+
+void Ut_SatAppAction::testAsyncActionRobustness()
+{
+    // this function tests if an action can be safely deleted in the "completed"
+    // slot, at the same time testing robustness and memory leaks by repeating
+    // the sequence multiple times
+    ActionHelper x;
+    for(int i=0; i<10000; ++i)
+    {
+        SatAppAction* a = new SatAppAction(ESatDisplayTextAction, this);
+        connect(a,SIGNAL(actionCompleted(SatAppAction*)),&x,SLOT(del(SatAppAction*)));
+        a->complete();
+    }
+}
+
+
+void Ut_SatAppAction::testWait()
+{
+    SatAppAction a(ESatDisplayTextAction);
+    QTimer::singleShot(1000, &a, SLOT(completeWithSuccess()));
+    // this should last 1 second
+    a.waitUntilCompleted();
+    QCOMPARE(a.response(),ESatSuccess);
+
+    // this should flow through directly, because already completed
+    a.waitUntilCompleted();
+    QCOMPARE(a.response(),ESatSuccess); // <-- response remains unchanged
+    
+}
+
+
+
+// helper
+void ActionHelper::del(SatAppAction* action)
+{
+    delete action;
+}
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/ut_satappconfirmprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,193 @@
+/*
+* 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: Unit test for satappmainhandler
+*
+*/
+
+#include <QTimer>
+#include <QAction>
+
+#include <hbmessagebox.h>
+
+#include "ut_satappconfirmprovider.h"
+#include "satappconfirmprovider.h"
+#include "satappaction.h"
+
+// --------------------------------------------------------
+// The unit tests begin here
+// --------------------------------------------------------
+
+Ut_SatAppConfirmProvider::Ut_SatAppConfirmProvider(
+        QObject *parent)
+    :QObject(parent)
+{
+}
+
+void Ut_SatAppConfirmProvider::testConfirmCommand_data()
+{
+    QTest::addColumn<int>("commandId");
+    QTest::addColumn<int>("alphaIdStatus");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<QString>("additionText");
+    QTest::addColumn<bool>("userAccepted");
+    QTest::addColumn<bool>("expectRes");
+
+
+    QTest::newRow("t01") << (int)ESatOpenChannelQuery << (int)ESatAlphaIdNull 
+            << "comfrm" << "addition"<< false << false;
+    QTest::newRow("t02") << (int)ESatOpenChannelQuery << (int)ESatAlphaIdNotProvided
+            << "comfrm" << "addition"<< true << true;
+    QTest::newRow("t03") << (int)ESatOpenChannelQuery << (int)ESatAlphaIdNotProvided
+            << "" << "addition"<< true << true;
+    QTest::newRow("t04") << (int)ESatOpenChannelQuery << (int)ESatAlphaIdNotProvided
+            << "comfrm" << ""<< true << true;
+    QTest::newRow("t05") << (int)ESatSSendSmQuery << (int)ESatAlphaIdNull
+            << "comfrm" << "addition"<< true << true;
+    QTest::newRow("t06") << (int)ESatSSetUpCallQuery << (int)ESatAlphaIdNull
+            << "comfrm" << "addition"<< true << true;
+    QTest::newRow("t07") << (int)ESatSSetUpCallQuery << (int)ESatAlphaIdNull
+            << "" << "addition"<< true << true;
+    QTest::newRow("t08") << (int)ESatSSetUpCallQuery << (int)ESatAlphaIdNull
+            << "" << ""<< true << true;
+    QTest::newRow("t09") << (int)ESatSLaunchBrowserQuery << (int)ESatAlphaIdNull
+            << "" << ""<< true << true;
+    QTest::newRow("t10") << (int)ESatSLaunchBrowserQuery << (int)ESatAlphaIdNotProvided
+            << "" << ""<< true << true;
+    QTest::newRow("t11") << (int)ESatSLaunchBrowserQuery << (int)ESatAlphaIdNull
+            << "" << ""<< true << true;
+    QTest::newRow("t12") << 10 << (int)ESatAlphaIdNull
+            << "" << ""<< true << true;
+    QTest::newRow("t05") << (int)ESatSSendUssdQuery << (int)ESatAlphaIdNull
+            << "comfrm" << "addition"<< true << true;
+    QTest::newRow("t05") << (int)ESatSSendSsQuery << (int)ESatAlphaIdNull
+            << "comfrm" << "addition"<< true << true;
+    QTest::newRow("t05") << (int)ESatSRefreshQuery << (int)ESatAlphaIdNull
+            << "comfrm" << "addition"<< true << true;
+}
+
+
+void Ut_SatAppConfirmProvider::testConfirmCommand()
+{
+    QFETCH(int, commandId);
+    QFETCH(int, alphaIdStatus);
+    QFETCH(QString, text);
+    QFETCH(QString, additionText);
+    QFETCH(bool, userAccepted);
+    QFETCH(bool, expectRes);
+
+    SatAppAction action(ESatConfirmAction);
+    action.set(KeyQueryCommandId, commandId);
+    action.set(KeyAlphaIdStatus, alphaIdStatus);
+    action.set(KeyText, text);
+    action.set(KeyAdditionalText, additionText);
+    action.set(KeyActionAccepted, userAccepted);
+
+    ConfirmProviderTest test;
+    QTimer::singleShot(1000, &test, SLOT(simulateFirstActionClicked()));
+    test.mConfirm->confirmCommand(action);
+    QCOMPARE(userAccepted,expectRes);
+}
+
+void Ut_SatAppConfirmProvider::testConfirmFirstAction()
+{
+    ConfirmProviderTest test;
+
+    SatAppAction action(ESatConfirmAction);
+    action.set(KeyQueryCommandId, ESatOpenChannelQuery);
+    action.set(KeyAlphaIdStatus, ESatAlphaIdNull);
+    action.set(KeyText, "OpenChannel");
+    action.set(KeyAdditionalText, "yes");
+    test.mConfirm->confirmCommand(action);
+    QTimer::singleShot(1000, &test, SLOT(simulateFirstActionClicked()));
+    action.waitUntilCompleted();
+    QCOMPARE(action.response(), ESatSuccess);
+}
+
+void Ut_SatAppConfirmProvider::testConfirmSecondAction()
+{
+    ConfirmProviderTest test;
+
+    SatAppAction action(ESatConfirmAction);
+    action.set(KeyQueryCommandId, ESatOpenChannelQuery);
+    action.set(KeyAlphaIdStatus, ESatAlphaIdNull);
+    action.set(KeyText, "OpenChannel");
+    action.set(KeyAdditionalText, "No");
+    test.mConfirm->confirmCommand(action);
+    QTimer::singleShot(1000, &test, SLOT(simulateSecondActionClicked()));
+    action.waitUntilCompleted();
+    QCOMPARE(action.response(), ESatBackwardModeRequestedByUser);
+}
+
+
+void Ut_SatAppConfirmProvider::testConfirmAndClearScreen()
+{
+    ConfirmProviderTest test;
+
+    SatAppAction action(ESatConfirmAction);
+    action.set(KeyQueryCommandId, ESatOpenChannelQuery);
+    action.set(KeyAlphaIdStatus, ESatAlphaIdNull);
+    action.set(KeyText, "OpenChannel");
+    action.set(KeyAdditionalText, "ClearScreen");
+    test.mConfirm->confirmCommand(action);
+    QTimer::singleShot(1000, &test, SLOT(simulateClearScreen()));
+    action.waitUntilCompleted();
+    QCOMPARE(action.response(), ESatNoResponseFromUser);
+
+    action.set(KeyQueryCommandId, ESatSSetUpCallQuery);
+    action.set(KeyText, "SetUpCall");
+    test.mConfirm->confirmCommand(action);
+    QTimer::singleShot(1000, &test, SLOT(simulateClearScreen()));
+    action.waitUntilCompleted();
+    QCOMPARE(action.response(), ESatNoResponseFromUser);
+}
+
+// ---------------------------------------------------------------
+// internal helper class
+// ---------------------------------------------------------------
+
+ConfirmProviderTest::ConfirmProviderTest()
+{
+    mConfirm = new SatAppConfirmProvider(this);
+}
+
+ConfirmProviderTest::~ConfirmProviderTest()
+{
+    cleanup();
+}
+
+void ConfirmProviderTest::simulateFirstActionClicked()
+{
+    if (mConfirm->mConfirmQuery)
+    mConfirm->mConfirmQuery->actions().at(0)->trigger();
+}
+
+void ConfirmProviderTest::simulateSecondActionClicked()
+{
+    if (mConfirm->mConfirmQuery)
+    mConfirm->mConfirmQuery->actions().at(1)->trigger();
+    
+}
+
+void ConfirmProviderTest::simulateClearScreen()
+{
+    if (mConfirm->mConfirmQuery) mConfirm->clearScreen();
+}
+
+void ConfirmProviderTest::cleanup()
+{
+    delete mConfirm;
+    mConfirm = 0;
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/ut_satappinputprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,411 @@
+/*
+* 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: Unit test for satappmainhandler
+*
+*/
+
+#include <QTimer>
+#include <QAction>
+
+#include <hbinputdialog.h>
+#include <hbmessagebox.h>
+
+#include "ut_satappinputprovider.h"
+#include "satappinputprovider.h"
+#include "satappaction.h"
+
+
+// --------------------------------------------------------
+// The unit tests begin here
+// --------------------------------------------------------
+
+Ut_SatAppInputProvider::Ut_SatAppInputProvider(
+        QObject *parent)
+    :QObject(parent)
+{
+}
+
+void Ut_SatAppInputProvider::testResetState()
+{
+    InputProviderTest test;
+    test.mInput->resetState();
+}
+
+void Ut_SatAppInputProvider::testGetInkeyAndOk_data()
+{
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("charset");
+    QTest::addColumn<int>("inkey");
+
+    QTest::newRow("t01") << "title" << (int)ESatDigitOnly << 0;
+    QTest::newRow("t02") << "title" << (int)ESatCharSmsDefaultAlphabet << 0;
+    QTest::newRow("t03") << "title" << (int)ESatCharUcs2Alphabet << 0;
+    QTest::newRow("t04") << "title" << (int)ESatYesNo << 0;
+    QTest::newRow("t05") << "long title that does not fix to screen" << (int)ESatDigitOnly << 0;
+    QTest::newRow("t06") << "long title that does not fix to screen" << (int)ESatCharSmsDefaultAlphabet << 0;
+    QTest::newRow("t07") << "long title that does not fix to screen" << (int)ESatCharUcs2Alphabet << 0;
+    QTest::newRow("t08") << "long title that does not fix to screen" << (int)ESatYesNo << 0;
+    QTest::newRow("t09") << "" << (int)ESatDigitOnly << 1;
+    QTest::newRow("t10") << "" << (int)ESatCharSmsDefaultAlphabet << 47;
+    QTest::newRow("t11") << "" << (int)ESatCharUcs2Alphabet << 58;
+    QTest::newRow("t12") << "" << (int)ESatYesNo << 0;
+}
+
+void Ut_SatAppInputProvider::testGetInkeyAndOk()
+{
+    QFETCH(QString, text);
+    QFETCH(int, charset);
+    QFETCH(int, inkey);
+    bool selfExp = false;
+
+    SatAppAction a(ESatGetInkeyAction);
+    a.set(KeyText,text);
+    a.set(KeyCharacterSet,charset);
+    a.set(KeyInKey,inkey);
+    a.set(KeyImmediate,false);
+    a.set(KeyDuration,10000);
+    
+    InputProviderTest test;
+    test.mInput->getInkey(a);
+    // simulate press OK
+    if( (charset!=ESatYesNo) || (text.length()>0)){
+    test.simulateFirstActionClicked();
+    }
+
+    if (charset==ESatYesNo) {
+        if( text.length()>0 ){
+            QCOMPARE(a.response(),ESatSuccess);
+            QCOMPARE(a.value(KeyInKey).toInt(),1);
+        }
+        else {
+            QCOMPARE(a.response(),ESatFailure);
+        }
+            
+    }
+    else {
+        QCOMPARE(a.response(),ESatSuccess);
+    }
+    
+}
+
+void Ut_SatAppInputProvider::testGetInkeyAndCancel_data()
+{
+    // uses same test materil as testGetInkeyAndOk()
+    testGetInkeyAndOk_data();
+}
+
+void Ut_SatAppInputProvider::testGetInkeyAndCancel()
+{
+    QFETCH(QString, text);
+    QFETCH(int, charset);
+    QFETCH(int, inkey);
+    bool selfExp = false;
+
+    SatAppAction a(ESatGetInkeyAction);
+    a.set(KeyText,text);
+    a.set(KeyCharacterSet,charset);
+    a.set(KeyInKey,inkey);
+    a.set(KeyImmediate,false);
+    a.set(KeyDuration,10000);
+    
+    InputProviderTest test;
+    test.mInput->getInkey(a);
+    // simulate press CANCEL
+    if((charset!=ESatYesNo) || (text.length()>0)) {
+        test.simulateSecondActionClicked();
+    }
+
+    if (charset==ESatYesNo) {
+        if( text.length()>0 ){
+            QCOMPARE(a.response(),ESatSuccess);
+            QCOMPARE(a.value(KeyInKey).toInt(),0);
+        }
+        else {
+            QCOMPARE(a.response(),ESatFailure);
+        }    }
+    else {
+        QCOMPARE(a.response(),ESatBackwardModeRequestedByUser);
+    }
+}
+
+void Ut_SatAppInputProvider::testGetInkeyAndTimeout()
+{
+    SatAppAction a(ESatGetInkeyAction);
+    a.set(KeyText,"hello");
+    a.set(KeyCharacterSet,ESatCharSmsDefaultAlphabet);
+    a.set(KeyInKey,64);
+    a.set(KeyImmediate,false);
+    a.set(KeyDuration,1000);
+    
+    InputProviderTest test;
+    test.mInput->getInkey(a);
+    a.waitUntilCompleted();
+    
+    QCOMPARE(a.response(),ESatNoResponseFromUser);
+}
+
+void Ut_SatAppInputProvider::testGetInkeyAndReset()
+{
+    SatAppAction a(ESatGetInkeyAction);
+    a.set(KeyText,"hello");
+    a.set(KeyCharacterSet,ESatCharSmsDefaultAlphabet);
+    a.set(KeyInKey,64);
+    a.set(KeyImmediate,false);
+    a.set(KeyDuration,10000);
+    a.setResponse(ESatFailure);
+
+    InputProviderTest test;
+    test.mInput->getInkey(a);
+    test.mInput->resetState();
+
+    QCOMPARE(a.response(),ESatNoResponseFromUser);
+}
+
+void Ut_SatAppInputProvider::testGetInkeyAndDelete()
+{
+    SatAppAction a(ESatGetInkeyAction);
+    a.set(KeyText,"hello");
+    a.set(KeyCharacterSet,ESatCharSmsDefaultAlphabet);
+    a.set(KeyInKey,64);
+    a.set(KeyImmediate,false);
+    a.set(KeyDuration,10000);
+    a.setResponse(ESatFailure);
+
+    {
+    InputProviderTest test;
+    test.mInput->getInkey(a);
+    }
+    // at this point everything should be cleaned up safely, and action
+    // should be completed later when application exit or timeout
+    
+    QCOMPARE(a.response(),ESatFailure);
+}
+
+void Ut_SatAppInputProvider::testGetInkeyImmediateAndOk()
+{
+    SatAppAction a(ESatGetInkeyAction);
+    a.set(KeyText,"hello");
+    a.set(KeyCharacterSet,ESatDigitOnly);
+    a.set(KeyInKey,64);
+    a.set(KeyImmediate,true);
+    a.set(KeyDuration,10000);
+    a.setResponse(ESatFailure);
+
+    InputProviderTest test;
+    test.mInput->getInkey(a);
+    test.simulateImmediateKeypress("0");
+    
+    QCOMPARE(a.response(),ESatSuccess);
+    QCOMPARE(a.value(KeyInKey).toInt(),0x30);
+}
+
+void Ut_SatAppInputProvider::testGetInkeyImmediateAndCancel()
+{
+    SatAppAction a(ESatGetInkeyAction);
+    a.set(KeyText,"hello");
+    a.set(KeyCharacterSet,ESatDigitOnly);
+    a.set(KeyInKey,64);
+    a.set(KeyImmediate,true);
+    a.set(KeyDuration,10000);
+    a.setResponse(ESatFailure);
+
+    InputProviderTest test;
+    test.mInput->getInkey(a);
+    test.simulateFirstActionClicked(); // cancel
+    
+    QCOMPARE(a.response(),ESatBackwardModeRequestedByUser);
+}
+
+void Ut_SatAppInputProvider::testGetInputAndOk_data()
+{
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("charset");
+    QTest::addColumn<QString>("input");
+    QTest::addColumn<int>("min");
+    QTest::addColumn<int>("max");
+    QTest::addColumn<bool>("hide");
+
+    QTest::newRow("t01") << "title" << (int)ESatDigitOnly << "" << 1 << 5 << false;
+    QTest::newRow("t02") << "title" << (int)ESatCharSmsDefaultAlphabet << "" << 1 << 5 << false;
+    QTest::newRow("t03") << "title" << (int)ESatCharUcs2Alphabet << "" << 1 << 5 << false;
+    QTest::newRow("t04") << "very long title that does not fit into screen" << (int)ESatDigitOnly << "" << 1 << 5 << false;
+    QTest::newRow("t05") << "very long title that does not fit into screen" << (int)ESatCharSmsDefaultAlphabet << "" << 2 << 8 << false;
+    QTest::newRow("t06") << "very long title that does not fit into screen" << (int)ESatCharUcs2Alphabet << "" << 2 << 8 << false;
+    QTest::newRow("t07") << "title" << (int)ESatDigitOnly << "12345" << 1 << 5 << false;
+    QTest::newRow("t08") << "title" << (int)ESatCharSmsDefaultAlphabet << "12345" << 1 << 5 << false;
+    QTest::newRow("t09") << "title" << (int)ESatCharUcs2Alphabet << "12345" << 1 << 5 << false;
+    QTest::newRow("t10") << "title" << (int)ESatDigitOnly << "12345" << 1 << 5 << true;
+    QTest::newRow("t11") << "title" << (int)ESatCharSmsDefaultAlphabet << "12345" << 1 << 5 << true;
+    QTest::newRow("t12") << "title" << (int)ESatCharUcs2Alphabet << "12345" << 1 << 5 << true;
+    QTest::newRow("t13") << "" << (int)ESatDigitOnly << "" << 1 << 5 << false;
+    QTest::newRow("t14") << "" << (int)ESatCharSmsDefaultAlphabet << "" << 1 << 5 << false;
+    QTest::newRow("t15") << "" << (int)ESatCharUcs2Alphabet << "" << 1 << 5 << false;
+    QTest::newRow("t16") << "" << (int)ESatDigitOnly << "123456789123456789" << 1 << 5 << false;
+    QTest::newRow("t17") << "" << (int)ESatCharSmsDefaultAlphabet << "123456789123456789" << 1 << 5 << false;
+    QTest::newRow("t18") << "" << (int)ESatCharUcs2Alphabet << "123456789123456789" << 1 << 5 << false;
+    
+}
+
+void Ut_SatAppInputProvider::testGetInputAndOk()
+{
+    QFETCH(QString, text);
+    QFETCH(int, charset);
+    QFETCH(QString, input);
+    QFETCH(int, min);
+    QFETCH(int, max);
+    QFETCH(bool, hide);
+
+    SatAppAction a(ESatGetInputAction);
+    a.set(KeyText,text);
+    a.set(KeyCharacterSet,charset);
+    a.set(KeyInputString,input);
+    a.set(KeyMinLength,min);
+    a.set(KeyMaxLength,max);
+    a.set(KeyHideInput,hide);
+    a.set(KeyDuration,10000);
+
+    InputProviderTest test;
+    test.mInput->getInput(a);
+    test.simulateFirstActionClicked();
+
+    QCOMPARE(a.response(),ESatSuccess);
+}
+
+void Ut_SatAppInputProvider::testGetInputAndCancel_data()
+{
+    // uses same test data as testGetInputAndOk
+    testGetInputAndOk_data();
+}
+
+void Ut_SatAppInputProvider::testGetInputAndCancel()
+{
+    QFETCH(QString, text);
+    QFETCH(int, charset);
+    QFETCH(QString, input);
+    QFETCH(int, min);
+    QFETCH(int, max);
+    QFETCH(bool, hide);
+
+    SatAppAction a(ESatGetInputAction);
+    a.set(KeyText,text);
+    a.set(KeyCharacterSet,charset);
+    a.set(KeyInputString,input);
+    a.set(KeyMinLength,min);
+    a.set(KeyMaxLength,max);
+    a.set(KeyHideInput,hide);
+    a.set(KeyDuration,10000);
+
+    InputProviderTest test;
+    test.mInput->getInput(a);
+    test.simulateSecondActionClicked();
+
+    QCOMPARE(a.response(),ESatBackwardModeRequestedByUser);
+}
+
+void Ut_SatAppInputProvider::testGetInputAndTimeout()
+{
+    SatAppAction a(ESatGetInputAction);
+    a.set(KeyText,"hello");
+    a.set(KeyCharacterSet,ESatCharSmsDefaultAlphabet);
+    a.set(KeyInputString,"12345");
+    a.set(KeyMinLength,1);
+    a.set(KeyMaxLength,10);
+    a.set(KeyHideInput,false);
+    a.set(KeyDuration,1000);
+
+    InputProviderTest test;
+    test.mInput->getInput(a);
+    a.waitUntilCompleted();
+
+    QCOMPARE(a.response(),ESatNoResponseFromUser);
+}
+
+void Ut_SatAppInputProvider::testGetInputAndReset()
+{
+    SatAppAction a(ESatGetInputAction);
+    a.set(KeyText,"hello");
+    a.set(KeyCharacterSet,ESatCharSmsDefaultAlphabet);
+    a.set(KeyInputString,"12345");
+    a.set(KeyMinLength,1);
+    a.set(KeyMaxLength,10);
+    a.set(KeyHideInput,false);
+    a.set(KeyDuration,10000);
+
+    InputProviderTest test;
+    test.mInput->getInput(a);
+    test.mInput->resetState();
+
+    QCOMPARE(a.response(),ESatNoResponseFromUser);
+}
+
+void Ut_SatAppInputProvider::testGetInputAndDelete()
+{
+    SatAppAction a(ESatGetInputAction);
+    a.set(KeyText,"hello");
+    a.set(KeyCharacterSet,ESatCharSmsDefaultAlphabet);
+    a.set(KeyInputString,"12345");
+    a.set(KeyMinLength,1);
+    a.set(KeyMaxLength,10);
+    a.set(KeyHideInput,false);
+    a.set(KeyDuration,10000);
+    a.setResponse(ESatFailure);
+
+    {
+    InputProviderTest test;
+    test.mInput->getInput(a);
+    }
+    // at this point input dialog out of scope and destroyed.
+    // pending action should have been completed later when application exit or timeout
+
+    QCOMPARE(a.response(),ESatFailure);
+}
+
+
+// ---------------------------------------------------------------
+// internal helper class
+// ---------------------------------------------------------------
+
+InputProviderTest::InputProviderTest()
+{
+    mInput = new SatAppInputProvider(this);
+}
+
+InputProviderTest::~InputProviderTest()
+{
+    cleanup();
+}
+
+void InputProviderTest::simulateFirstActionClicked()
+{
+    mInput->mCurrentDialog->actions().at(0)->trigger();
+}
+
+void InputProviderTest::simulateSecondActionClicked()
+{
+    mInput->mCurrentDialog->actions().at(1)->trigger();
+}
+
+void InputProviderTest::simulateImmediateKeypress(QString s)
+{
+    mInput->transmitInkeyImmediately(s);
+}
+
+void InputProviderTest::cleanup()
+{
+    delete mInput;
+    mInput = 0;
+}
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/ut_satappmainhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Unit test for satappmainhandler
+*
+*/
+
+
+#include <hbmainwindow.h>
+#include <centralrepository.h>
+#include <coreapplicationuissdkcrkeys.h>
+#include "ut_satappmainhandler.h"
+//test class
+#include "satappmainhandler.h"
+#include "satappconstant.h"
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppMainHandler::Ut_SatAppMainHandler
+// -----------------------------------------------------------------------------
+//
+Ut_SatAppMainHandler::Ut_SatAppMainHandler(
+        HbMainWindow* mainWindow, QObject *parent)
+    :QObject(parent), mMainWindow(mainWindow)
+{
+    qDebug("Ut_SatAppMainHandler::Ut_SatAppMainHandler >");
+    qDebug("Ut_SatAppMainHandler::Ut_SatAppMainHandler <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppMainHandler::~Ut_SatAppMainHandler
+// -----------------------------------------------------------------------------
+//
+Ut_SatAppMainHandler::~Ut_SatAppMainHandler()
+{
+    qDebug("Ut_SatAppMainHandler::~Ut_SatAppMainHandler >");
+    qDebug("Ut_SatAppMainHandler::~Ut_SatAppMainHandler <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppMainHandler::initTestCase
+// QTestLib cleanup method, called after the last testfunction .
+// -----------------------------------------------------------------------------
+void Ut_SatAppMainHandler::initTestCase()
+{
+    qDebug("Ut_SatAppMainHandler::initTestCase >");
+    qDebug("Ut_SatAppMainHandler::initTestCase <");
+}
+
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppMainHandler::cleanupTestCase
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppMainHandler::cleanupTestCase()
+{
+    qDebug("Ut_SatAppMainHandler::cleanupTestCase >");
+    if (mMainHandler) {
+        qDebug("Ut_SatAppMainHandler::cleanupTestCase delete mMainHandler...");
+        delete mMainHandler;
+        mMainHandler = 0;
+    }
+    qDebug("Ut_SatAppMainHandler::cleanupTestCase <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppMainHandler::testCreateMainHandler
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppMainHandler::testCreateMainHandler()
+{
+    qDebug("Ut_SatAppMainHandler::testCreateMainHandler >");
+    mMainHandler = new SatAppMainHandler(*mMainWindow);
+    QVERIFY(mMainHandler); 
+    qDebug("Ut_SatAppMainHandler::testCreateMainHandler <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppMainHandler::testCreateMainHandler_OfflineMode
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppMainHandler::testCreateMainHandler_OfflineMode()
+{
+    qDebug("Ut_SatAppMainHandler::testCreateMainHandler_OfflineMode >");
+    cleanupTestCase();
+    TInt profileId(0);
+    CRepository* cr (NULL);
+    TRAPD(err, cr = CRepository::NewL(KCRUidCoreApplicationUIs));
+    if ( KErrNone == err )
+    {
+        // Get the ID of the currently active profile:
+        TInt error = cr->Get(KCoreAppUIsNetworkConnectionAllowed, profileId);
+        qDebug("Ut_SatAppMainHandler::SatAppMainHandler get active \
+                profile error=%d, profileId=%d", error, profileId);
+        if( KErrNone != error){
+            delete cr;
+            return;
+        }
+        error = cr->Set(KCoreAppUIsNetworkConnectionAllowed,
+            ECoreAppUIsNetworkConnectionNotAllowed);
+        qDebug("Ut_SatAppMainHandler::SatAppMainHandler set active \
+                profile error=%d",error);
+        mMainHandler = new SatAppMainHandler(*mMainWindow);
+        QVERIFY(mMainHandler); 
+        error = cr->Set(KCoreAppUIsNetworkConnectionAllowed, profileId);
+        qDebug("Ut_SatAppMainHandler::SatAppMainHandler set active \
+                profile error=%d",error);
+        delete cr;
+    }
+    
+    qDebug("Ut_SatAppMainHandler::testCreateMainHandler_OfflineMode <");
+}
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/ut_satappmenuprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,268 @@
+/*
+* 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: Unit test for satappmainhandler
+*
+*/
+
+#include <hbmainwindow.h>
+#include <hblistwidget.h>
+#include <hbaction.h>
+
+#include "ut_satappmenuprovider.h"
+#include "satappmenuprovider.h"
+#include "satappaction.h"
+
+
+
+// --------------------------------------------------------
+// The unit tests begin here
+// --------------------------------------------------------
+
+Ut_SatAppMenuProvider::Ut_SatAppMenuProvider(
+        HbMainWindow* mainWindow, QObject *parent)
+    :QObject(parent)
+{
+    mMainWindow = mainWindow;
+}
+
+void Ut_SatAppMenuProvider::testResetState()
+{
+    MenuProviderTest test(mMainWindow);
+    test.mMenu->resetState();
+}
+
+void Ut_SatAppMenuProvider::testSetUpMenu_data()
+{
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("menuitems");
+    QTest::addColumn<int>("selection");
+
+    QTest::newRow("t1") << "title" << 1 << 0;
+    QTest::newRow("t2") << "a very long title that does not fit to screen" << 2 << 1;
+    QTest::newRow("t3") << "manyrows" << 999 << 444;
+    QTest::newRow("t4") << "" << 1 << 0;
+    QTest::newRow("t5") << "" << 10 << 1;
+    QTest::newRow("t6") << "a" << 10 << 9;
+}
+
+void Ut_SatAppMenuProvider::testSetUpMenu()
+{
+    QFETCH(QString, text);
+    QFETCH(int, menuitems);
+    QFETCH(int, selection);
+
+    SatAppAction a(ESatSetUpMenuAction);
+    a.set(KeyText,text);
+    QStringList list;
+    for(int i=0; i<menuitems; ++i) list<<QString::number(i);
+    a.set(KeyMenu,list);
+    
+    MenuProviderTest test(mMainWindow);
+    test.mMenu->setUpMenu(a);
+
+    test.mItemIndexToBeSelected = selection;
+    test.simulateItemSelected();
+
+    QCOMPARE(a.response(), ESatSuccess);
+    QVERIFY(a.hasValue(KeySelection));
+
+}
+
+void Ut_SatAppMenuProvider::testSetUpMenuAndReset()
+{
+    SatAppAction a(ESatSetUpMenuAction);
+    a.set(KeyText,"hello");
+    QStringList list;
+    for(int i=0; i<10; ++i) {list<<QString::number(i);}
+    a.set(KeyMenu,list);
+
+    MenuProviderTest test(mMainWindow);
+    test.mMenu->setUpMenu(a);
+    
+    test.mMenu->resetState();
+
+    QCOMPARE(a.response(), ESatSuccess);
+
+}
+
+void Ut_SatAppMenuProvider::testSetUpMenuAndDelete()
+{
+    SatAppAction a(ESatSetUpMenuAction);
+    a.set(KeyText,"hello");
+    QStringList list;
+    for(int i=0; i<10; ++i) {list<<QString::number(i);}
+    a.set(KeyMenu,list);
+
+    {
+        MenuProviderTest test(mMainWindow);
+        
+        test.mMenu->setUpMenu(a);
+    }
+    // now SatAppMenuProvider is out of scope and deleted.
+    QCOMPARE(a.response(), ESatSuccess);
+}
+
+void Ut_SatAppMenuProvider::testSelectItem_data()
+{
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("menuitems");
+    QTest::addColumn<int>("defaultitem");
+    QTest::addColumn<int>("selection");
+
+    QTest::newRow("t1") << "title" << 1 << 0 << 0;
+    QTest::newRow("t2") << "a very long title that does not fit to screen" << 2 << 0 << 1;
+    QTest::newRow("t3") << "manyrows" << 999 << 333 << 444 ;
+    QTest::newRow("t4") << "" << 3 << 2 << 1 ;
+    QTest::newRow("t5") << "" << 4 << 3 << 0 ;
+    QTest::newRow("t6") << "default out of range" << 5 << 7 << 1 ;
+}
+
+void Ut_SatAppMenuProvider::testSelectItem()
+{
+    QFETCH(QString, text);
+    QFETCH(int, menuitems);
+    QFETCH(int, defaultitem);
+    QFETCH(int, selection);
+
+    SatAppAction a(ESatSelectItemAction);
+    a.set(KeyText,text);
+    QStringList list;
+    for(int i=0; i<menuitems; ++i) {list<<QString::number(i);}
+    a.set(KeyMenu,list);
+    a.set(KeyDefault,defaultitem);
+
+    MenuProviderTest test(mMainWindow);
+    test.loadMainview();
+    test.mMenu->selectItem(a);
+
+    test.mItemIndexToBeSelected = selection;
+    test.simulateItemSelected();
+    
+    QCOMPARE(a.response(), ESatSuccess);
+    QVERIFY(a.hasValue(KeySelection));
+
+}
+
+void Ut_SatAppMenuProvider::testSelectItemAndBack()
+{
+    SatAppAction a(ESatSelectItemAction);
+    a.set(KeyText,"hello");
+    QStringList list;
+    for(int i=0; i<10; ++i) {list<<QString::number(i);}
+    a.set(KeyMenu,list);
+    a.set(KeyDefault,5);
+
+    MenuProviderTest test(mMainWindow);
+    test.loadMainview();
+    test.mMenu->selectItem(a);
+    test.simulateBackButtonClicked();
+
+    QCOMPARE(a.response(), ESatBackwardModeRequestedByUser);
+
+}
+
+
+void Ut_SatAppMenuProvider::testSelectItemAndTimeout()
+{
+    SatAppAction a(ESatSelectItemAction);
+    a.set(KeyText,"hello");
+    QStringList list;
+    for(int i=0; i<10; ++i) {list<<QString::number(i);}
+    a.set(KeyMenu,list);
+    a.set(KeyDefault,5);
+
+    MenuProviderTest test(mMainWindow);
+    test.loadMainview();
+    test.mMenu->selectItem(a);
+    a.waitUntilCompleted(); // wait selectItem timeout
+
+    QCOMPARE(a.response(), ESatNoResponseFromUser);
+
+}
+
+void Ut_SatAppMenuProvider::testSelectItemAndReset()
+{
+    SatAppAction a(ESatSelectItemAction);
+    a.set(KeyText,"hello");
+    QStringList list;
+    for(int i=0; i<10; ++i) {list<<QString::number(i);}
+    a.set(KeyMenu,list);
+    a.set(KeyDefault,5);
+
+    MenuProviderTest test(mMainWindow);
+    test.loadMainview();
+    test.mMenu->selectItem(a);
+    test.mMenu->resetState();
+
+    QCOMPARE(a.response(), ESatSuccess);
+   
+}
+
+void Ut_SatAppMenuProvider::testSelectItemAndDelete()
+{
+    SatAppAction a(ESatSelectItemAction);
+    a.set(KeyText,"hello");
+    QStringList list;
+    for(int i=0; i<10; ++i) {list<<QString::number(i);}
+    a.set(KeyMenu,list);
+    a.set(KeyDefault,5);
+
+    {
+        MenuProviderTest test(mMainWindow);
+        test.loadMainview();
+        test.mMenu->selectItem(a);
+    }
+
+    // object deleted, blocking function should return safely
+    QCOMPARE(a.response(), ESatSuccess);
+}
+
+// ---------------------------------------------------------------
+// internal helper class
+// ---------------------------------------------------------------
+
+MenuProviderTest::MenuProviderTest(HbMainWindow* mainWindow)
+{
+    mMenu = new SatAppMenuProvider(mainWindow,this);
+}
+
+MenuProviderTest::~MenuProviderTest()
+{
+    cleanup();
+}
+
+void MenuProviderTest::loadMainview()
+{
+    mMenu->loadMainView();
+}
+
+void MenuProviderTest::simulateItemSelected()
+{
+    mMenu->menuItemSelected(mMenu->mSelectListWidget->item(
+            mItemIndexToBeSelected));
+}
+
+void MenuProviderTest::simulateBackButtonClicked()
+{
+    mMenu->mSoftKeyBackAction->trigger();
+}
+
+
+void MenuProviderTest::cleanup()
+{
+    delete mMenu;
+    mMenu = 0;
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/ut_satapppopupprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,284 @@
+/*
+* 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: Unit test for satappmainhandler
+*
+*/
+
+#include <QTimer>
+#include <QAction>
+
+#include <hbmessagebox.h>
+#include <hbprogressdialog.h>
+#include <hbdevicemessagebox.h>
+
+#include "ut_satapppopupprovider.h"
+#include "satapppopupprovider.h"
+#include "satappaction.h"
+
+
+
+// --------------------------------------------------------
+// The unit tests begin here
+// --------------------------------------------------------
+
+Ut_SatAppPopupProvider::Ut_SatAppPopupProvider(
+        QObject *parent)
+    :QObject(parent)
+{
+}
+
+
+void Ut_SatAppPopupProvider::testDisplayTextAndOk_data()
+{
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<QString>("appName");
+    QTest::addColumn<bool>("sustainedText");
+    QTest::addColumn<int>("duration");
+
+    QTest::newRow("t01") << "title" << "sat" << true << 1000;
+    QTest::newRow("t02") << "" << "sat" << false << 100;
+    QTest::newRow("t03") << "" << "sat" << true << 500;
+    QTest::newRow("t04") << "title" << "sat" << true << 0;
+    QTest::newRow("t05") << "a bit longer title that does not fit" << "" << false << 900;
+    QTest::newRow("t06") << "title" << "" << false << 400;
+    QTest::newRow("t07") << "" << "" << true << 150;
+    QTest::newRow("t08") << "a bit longer title that does not fit" << "sat" << true << 2000;
+    QTest::newRow("t09") << "title" << "sat" << false << 600;
+    QTest::newRow("t10") << "" << "somewhat longer application name" << false << 200;
+    QTest::newRow("t11") << "" << "" << false << 0;
+    QTest::newRow("t12") << "title" << "" << true << 500;
+    QTest::newRow("t13") << "title" << "somewhat longer application name" << false << 0;
+    QTest::newRow("t14") << "" << "sat" << true << 700;
+    QTest::newRow("t15") << "title" << "sat" << false << 3000;
+    
+}
+
+void Ut_SatAppPopupProvider::testDisplayTextAndOk()
+{
+    QFETCH(QString, text);
+    QFETCH(QString, appName);
+    QFETCH(bool, sustainedText);
+    QFETCH(int, duration);
+
+    SatAppAction a(ESatDisplayTextAction);
+    a.set(KeyText,text);
+    a.set(KeyApplicationName,appName);
+    a.set(KeySustainedText,sustainedText);
+    a.set(KeyDuration,duration);
+    a.set(KeyWaitUserToClear,false);
+    a.setResponse(ESatFailure);
+
+    PopupProviderTest test;
+    test.mPopup->displayText(a);
+    test.simulateOkClicked();
+    
+    QCOMPARE(a.response(),ESatSuccess);
+}
+
+
+void Ut_SatAppPopupProvider::testDisplayTextAndCancel_data()
+{
+    testDisplayTextAndOk_data(); // same test material
+}
+
+void Ut_SatAppPopupProvider::testDisplayTextAndCancel()
+{
+    QFETCH(QString, text);
+    QFETCH(QString, appName);
+    QFETCH(bool, sustainedText);
+    QFETCH(int, duration);
+
+    SatAppAction a(ESatDisplayTextAction);
+    a.set(KeyText,text);
+    a.set(KeyApplicationName,appName);
+    a.set(KeySustainedText,sustainedText);
+    a.set(KeyDuration,duration);
+    a.set(KeyWaitUserToClear,false);
+    a.setResponse(ESatFailure);
+
+    PopupProviderTest test;
+    test.mPopup->displayText(a);
+    test.simulateCancelClicked();
+    
+    QCOMPARE(a.response(),ESatBackwardModeRequestedByUser);
+}
+
+
+void Ut_SatAppPopupProvider::testDisplayTextAndTimeout()
+{
+    SatAppAction a(ESatDisplayTextAction);
+    a.set(KeyText,"hello world");
+    a.set(KeyApplicationName,"sat");
+    a.set(KeySustainedText,false);
+    a.set(KeyDuration,1000);
+    a.set(KeyWaitUserToClear,true);
+    a.setResponse(ESatFailure);
+
+    PopupProviderTest test;
+    test.mPopup->displayText(a);
+    a.waitUntilCompleted();
+    QCOMPARE(a.response(),ESatNoResponseFromUser);
+}
+
+void Ut_SatAppPopupProvider::testNotificationWithCancel_data()
+{
+    QTest::addColumn<int>("commandId");
+    QTest::addColumn<int>("alphaIdStatus");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("controlResult");
+    QTest::addColumn<int>("clickState"); // clikcked->state
+
+    QTest::newRow("t01") << (int)ESatSSendDataNotify << (int)ESatAlphaIdNotNull << "notify"
+        << (int)ESatAllowedNoModification << (int)ESatSuccess;
+    QTest::newRow("t02") << (int)ESatSSendDataNotify << (int)ESatAlphaIdNull << ""
+        << (int)ESatNotAllowed << (int)ESatSuccess;
+    
+    QTest::newRow("t03") << (int)ESatSReceiveDataNotify << (int)ESatAlphaIdNotNull
+        << "notify" << (int)ESatAllowedNoModification << (int)ESatSuccess;
+    QTest::newRow("t04") << (int)ESatSReceiveDataNotify << (int)ESatAlphaIdNull
+        << "" << (int)ESatNotAllowed << (int)ESatSuccess;
+
+    QTest::newRow("t05") << (int)ESatSSendDtmfNotify << (int)ESatAlphaIdNotNull
+        << "notify" << (int)ESatAllowedNoModification << (int)ESatSuccess;
+    QTest::newRow("t06") << (int)ESatSSendDtmfNotify << (int)ESatAlphaIdNull
+        << "" << (int)ESatNotAllowed << (int)ESatSuccess;
+}
+
+void Ut_SatAppPopupProvider::testNotificationWithCancel()
+{
+    QFETCH(int, commandId);
+    QFETCH(int, alphaIdStatus);
+    QFETCH(QString, text);
+    QFETCH(int, controlResult);
+    QFETCH(int, clickState);
+
+    SatAppAction *a = new SatAppAction(ESatNotifyAction);
+    a->set(KeyCommandId,commandId);
+    a->set(KeyAlphaIdStatus,alphaIdStatus);
+    a->set(KeyText,text);
+    a->set(KeyControlResult,controlResult);
+    a->setResponse(ESatSuccess);
+
+    PopupProviderTest test;
+    test.mPopup->notification(*a);
+    qDebug() << "action response" << a->response() << "/" << clickState;
+    QVERIFY(a->response()==(TSatUiResponse)clickState);
+}
+
+void Ut_SatAppPopupProvider::testNotification_data()
+{
+    QTest::addColumn<int>("commandId");
+    QTest::addColumn<int>("alphaIdStatus");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("controlResult");
+    QTest::addColumn<int>("clickState"); // clikcked->state    
+
+    QTest::newRow("t01") << (int)ESatSCloseChannelNotify << (int)ESatAlphaIdNotNull
+        << "notify" << (int)ESatNotAllowed << (int)ESatSuccess;
+    QTest::newRow("t02") << (int)ESatSCloseChannelNotify << (int)ESatAlphaIdNull
+        << "" << (int)ESatAllowedNoModification << (int)ESatSuccess;
+
+    QTest::newRow("t03") << (int)ESatSMoSmControlNotify << (int)ESatAlphaIdNotNull
+        << "notify" << (int)ESatAllowedNoModification << (int)ESatSuccess;
+    QTest::newRow("t04") << (int)ESatSMoSmControlNotify << (int)ESatAlphaIdNull
+        << "" << (int)ESatNotAllowed << (int)ESatSuccess;
+    QTest::newRow("t05") << (int)ESatSMoSmControlNotify << (int)ESatAlphaIdNotProvided
+        << "" << (int)ESatAllowedWithModifications << (int)ESatSuccess;
+
+    QTest::newRow("t06") << (int)ESatSCallControlNotify << (int)ESatAlphaIdNotNull
+        << "notify" << (int)ESatAllowedNoModification << (int)ESatSuccess;
+    QTest::newRow("t07") << (int)ESatSCallControlNotify << (int)ESatAlphaIdNull
+        << "" << (int)ESatNotAllowed << (int)ESatSuccess;
+    QTest::newRow("t08") << (int)ESatSCallControlNotify << (int)ESatAlphaIdNotProvided
+        << "" << (int)ESatAllowedWithModifications << (int)ESatSuccess;
+
+    QTest::newRow("t09") << (int)ESatSSendUssdNotify << (int)ESatAlphaIdNotNull
+        << "notify" << (int)ESatAllowedNoModification << (int)ESatSuccess;
+    QTest::newRow("t10") << (int)ESatSSendUssdNotify << (int)ESatAlphaIdNull
+        << "" << (int)ESatNotAllowed << (int)ESatSuccess;
+
+    QTest::newRow("t11") << (int)ESatSSendUssdNotify << (int)ESatAlphaIdNotNull
+        << "notify" << (int)ESatAllowedNoModification << (int)ESatSuccess;
+    QTest::newRow("t12") << (int)ESatSSendUssdNotify << (int)ESatAlphaIdNull
+        << "" << (int)ESatNotAllowed << (int)ESatSuccess;
+
+    QTest::newRow("t13") << (int)ESatSSendSsNotify << (int)ESatAlphaIdNotNull
+        << "notify" << (int)ESatAllowedNoModification << (int)ESatSuccess;
+    QTest::newRow("t14") << (int)ESatSSendSsNotify << (int)ESatAlphaIdNull
+        << "" << (int)ESatNotAllowed << (int)ESatSuccess;
+    
+    QTest::newRow("t15") << (int)ESatSSendSmsNotify << (int)ESatAlphaIdNotNull
+        << "notify" << (int)ESatAllowedNoModification << (int)ESatSuccess;
+    QTest::newRow("t16") << (int)ESatSSendSmsNotify << (int)ESatAlphaIdNull
+        << "" << (int)ESatNotAllowed << (int)ESatSuccess;
+}
+
+void Ut_SatAppPopupProvider::testNotification()
+{
+    QFETCH(int, commandId);
+    QFETCH(int, alphaIdStatus);
+    QFETCH(QString, text);
+    QFETCH(int, controlResult);
+    QFETCH(int, clickState);
+
+    SatAppAction a(ESatNotifyAction);
+    a.set(KeyCommandId,commandId);
+    a.set(KeyAlphaIdStatus,alphaIdStatus);
+    a.set(KeyText,text);
+    a.set(KeyControlResult,controlResult);
+    a.setResponse(ESatSuccess);
+    
+    PopupProviderTest test;
+    test.mPopup->notification(a);
+
+    qDebug() << "action response:" << a.response() << "/" << clickState;
+    QCOMPARE(a.response(),(TSatUiResponse)clickState);
+}
+
+// ---------------------------------------------------------------
+// internal helper class
+// ---------------------------------------------------------------
+
+PopupProviderTest::PopupProviderTest()
+{
+    mPopup = new SatAppPopupProvider(this);
+}
+
+PopupProviderTest::~PopupProviderTest()
+{
+    cleanup();
+}
+
+bool PopupProviderTest::simulateOkClicked()
+{
+    if (mPopup->mDisplayText->actions().size()<=0) return false;
+    mPopup->mDisplayText->actions().at(0)->trigger();
+    return true;
+}
+
+bool PopupProviderTest::simulateCancelClicked()
+{
+    if (mPopup->mDisplayText->actions().size()<=1) return false;
+    mPopup->mDisplayText->actions().at(1)->trigger();
+    return true;
+}
+
+void PopupProviderTest::cleanup()
+{
+    delete mPopup;
+    mPopup = 0;
+}
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/ut_satappserverdispatcher.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,1043 @@
+/*
+* 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: Unit test for CSatUiObserver
+*
+*/
+
+#include "ut_satappserverdispatcher.h"
+#include "satappserverdispatcher.h"
+#include "satappaction.h"
+
+Ut_SatAppServerDispatcher::Ut_SatAppServerDispatcher(QObject *parent):QObject(parent) 
+{
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::initTestCase
+// QTestLib cleanup method, called after the last testfunction .
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::initTestCase()
+{
+    mServer = new SatAppServerDispatcher(this);
+}
+
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::cleanupTestCase
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::cleanupTestCase()
+{
+    delete mServer;
+    mServer = 0;
+}
+
+
+
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testDisplayText_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testDisplayText_data()
+{
+    qDebug("Ut_SatAppServerDispatcher::testDisplayText_data >");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<QString>("appName");
+    QTest::addColumn<int>("iconIdIdentifier");
+    QTest::addColumn<int>("iconIdQualifier");//enum 0~3
+    QTest::addColumn<bool>("isIconDisplayed");
+    QTest::addColumn<bool>("sustainedText");
+    QTest::addColumn<int>("duration");
+    QTest::addColumn<bool>("isWaitUsertoClear");
+    QTest::addColumn<int>("expectValue");
+
+    QTest::newRow("first") << "Show Display text!" << "Unit test SIM Service" << 
+        84 << 1 << false << false << 2500 << true << 0;
+
+    QTest::newRow("second") << "Show Display text!" << "SIM Service" << 
+        84 << 1 << true << false << 2500 << false << 0;
+    // test null text
+    QTest::newRow("third") << "" << "SIM Service" << 
+        84 << 1 << true << false << 2500 << false << -1;
+
+    // test icon is available for command
+    QTest::newRow("fouth") << "Show Display text!" << "SIM Service" << 
+        84 << 2 << true << false << 2500 << false << 0;
+
+    // test show a log text over the limitation
+    QTest::newRow("five") << "Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. Show a very very long text. " 
+        << "SIM Service" << 84 << 2 << true << false << 2500 << false << -1;
+   
+    // test leave occurs
+    //QTest::newRow("forth") << "Show Display text!" << "" << 
+    //    84 << 2 << true << false << 2500 << false << 1;
+
+    qDebug("Ut_SatAppServerDispatcher::testDisplayText_data <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testDisplayText
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testDisplayText()
+{
+    qDebug("Ut_SatAppServerDispatcher::testDisplayText >");
+    QVERIFY(mServer);
+    QFETCH(QString, text);
+    QFETCH(QString, appName);
+    QFETCH(int, iconIdIdentifier);
+    QFETCH(int, iconIdQualifier);
+    QFETCH(bool, isIconDisplayed);
+    QFETCH(bool, sustainedText);
+    QFETCH(int, duration);
+    QFETCH(bool, isWaitUsertoClear);
+    QFETCH(int, expectValue);
+
+    // text
+    HBufC* hText = HBufC::New(text.length());
+    TPtr aText( hText->Des() );
+    aText.Copy( text.utf16() );
+    // sim name
+    HBufC* hSimAppName = HBufC::New(appName.length());
+    TPtr aSimApplicationName( hSimAppName->Des() );
+    aSimApplicationName.Copy( appName.utf16() );
+
+    TSatIconId aIconId;
+    aIconId.iIdentifier = iconIdIdentifier;
+    aIconId.iIconQualifier = static_cast<TSatIconQualifier>(iconIdQualifier);
+    TBool aIsIconDisplayed(isIconDisplayed);
+
+    TSatUiResponse result(ESatSuccess);
+    ServerDispatcherHelper helper;
+    connect(mServer,SIGNAL(displayText(SatAppAction&)),&helper,SLOT(exec(SatAppAction&)));
+    // It seems that TRAPD&QT_TRAP_THROWING does nothing if leave occurs, need 
+    // to investigate.
+    QT_TRAP_THROWING( result = mServer->DisplayTextL(
+                              aText, 
+                              aSimApplicationName,
+                              aIconId,
+                              aIsIconDisplayed,
+                              sustainedText,
+                              duration,
+                              isWaitUsertoClear
+                              ));
+    delete hText;
+    hText = 0;
+    TSatUiResponse exValue = static_cast<TSatUiResponse>(expectValue);
+    QCOMPARE(exValue, result);
+    qDebug("Ut_SatAppServerDispatcher::testDisplayText <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testGetInkey_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testGetInkey_data()
+{
+    qDebug("Ut_SatAppServerDispatcher::testGetInkey_data >");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("characterSet");//enum 0~3
+    QTest::addColumn<QString>("input");
+    QTest::addColumn<bool>("isHelpIsAvailable");
+    QTest::addColumn<int>("iconIdIdentifier");
+    QTest::addColumn<int>("iconIdQualifier");//enum 0~3
+    QTest::addColumn<bool>("isRequestedIconDisplayed");
+    QTest::addColumn<int>("duration");
+    QTest::addColumn<bool>("isImmediateDigitResponse");
+    QTest::addColumn<int>("expectValue");
+    //// test ESatDigitOnly
+    QTest::newRow("first") << "Test GetInKey" << 0 << 
+        "8" << false << 60 << 1 << false << 2500 << true << 0;
+    // null text
+    QTest::newRow("second") << "" << 0 << 
+        "s" << false<< 60 << 1 << false << 2500 << true << 0;
+    // test EIconGetYesNo
+    QTest::newRow("third") << "Test GetInKey" << 3 << 
+        "s" << false << 60 << 1 << false << 2500 << true << 0;
+    // test ESatCharSmsDefaultAlphabet
+    QTest::newRow("fourth") << "Test GetInKey" << 3 << 
+        "$" << false << 60 << 1 << false << 2500 << true << 0;
+    // ino immediateDigitResponse
+    QTest::newRow("fifth") << "Test GetInKey" << 1 << 
+    "#" << false<< 60 << 1 << false << 2500 << false << 0;
+    // test zero lenght and yes no
+    QTest::newRow("sisth") << "" << 3 << 
+        "S" << false << 60 << 1 << false << 2500 << true << -1;
+    qDebug("Ut_SatAppServerDispatcher::testGetInkey_data <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testGetInkey
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testGetInkey()
+{
+    qDebug("Ut_SatAppServerDispatcher::testGetInkey >");
+    QVERIFY(mServer);
+    QFETCH(QString, text);
+    QFETCH(int, characterSet);
+    QFETCH(QString, input);
+    QFETCH(bool, isHelpIsAvailable);
+    QFETCH(int, iconIdIdentifier);
+    QFETCH(int, iconIdQualifier);
+    QFETCH(bool, isRequestedIconDisplayed);
+    QFETCH(int, duration);
+    QFETCH(bool, isImmediateDigitResponse);
+    QFETCH(int, expectValue);
+
+    // text
+    HBufC* hText = HBufC::New(text.length());
+    TPtr aText( hText->Des() );
+    aText.Copy( text.utf16() );
+    // aCharacterSet
+    TSatCharacterSet aCharacterSet = static_cast<TSatCharacterSet>(characterSet);
+    // aInput
+    TBuf<1> tInput = input.utf16();
+    TChar aInput(tInput[0]);
+    // aHelpIsAvailable
+    TBool aHelpIsAvailable(isHelpIsAvailable);
+    // aIconId
+    TSatIconId aIconId;
+    aIconId.iIdentifier = iconIdIdentifier;
+    aIconId.iIconQualifier = static_cast<TSatIconQualifier>(iconIdQualifier);
+    // aRequestedIconDisplayed
+    TBool aRequestedIconDisplayed(isRequestedIconDisplayed);
+    // aDuration
+    TUint aDuration= static_cast<TUint>(duration);
+    // aRequestedIconDisplayed
+    //TBool aImmediateDigitResponse(isImmediateDigitResponse);
+    ServerDispatcherHelper helper;
+    connect(mServer,SIGNAL(getInkey(SatAppAction&)),&helper,SLOT(exec(SatAppAction&)));
+    TSatUiResponse result(ESatSuccess);
+    QT_TRAP_THROWING( result = mServer->GetInkeyL(
+                              aText, 
+                              aCharacterSet,
+                              aInput,
+                              aHelpIsAvailable,
+                              aIconId,
+                              aRequestedIconDisplayed,
+                              aDuration,
+                              isImmediateDigitResponse
+                              ));
+    delete hText;
+    hText = 0;
+    TSatUiResponse exValue = static_cast<TSatUiResponse>(expectValue);
+    QCOMPARE(exValue, result);
+
+    qDebug("Ut_SatAppServerDispatcher::testGetInkey <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testGetInput_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testGetInput_data()
+{
+    qDebug("Ut_SatAppServerDispatcher::testGetInput_data >");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("characterSet");//enum 0~3
+    QTest::addColumn<QString>("input");
+    QTest::addColumn<int>("minLength");
+    QTest::addColumn<int>("maxLength");
+    QTest::addColumn<bool>("isHideInput");
+    QTest::addColumn<bool>("isHelpIsAvailable");
+    QTest::addColumn<int>("iconIdIdentifier");
+    QTest::addColumn<int>("iconIdQualifier");//enum 0~3
+    QTest::addColumn<bool>("isRequestedIconDisplayed");
+    QTest::addColumn<int>("expectValue");
+    // test characterSet ESatCharSmsDefaultAlphabet
+    QTest::newRow("first") << "Test GetInput" << 1 << 
+        "get input" << 1 << 5 << false << false <<60 << 1 << true << 0;
+    // test iconIdQualifier ESatSelfExplanatory
+    QTest::newRow("second") << "Test GetInput" << 0 << 
+      "get input" << 1 << 5 << false << false <<60 << 2 << true << 0;
+    // test hide
+    QTest::newRow("third") << "Test GetInput" << 1 << 
+      "" << 1 << 5 << true << false <<60 << 2 << true << -1;
+    qDebug("Ut_SatAppServerDispatcher::testGetInput_data <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testGetInput
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testGetInput()
+{
+    qDebug("Ut_SatAppServerDispatcher::testGetInput >");
+    QVERIFY(mServer);
+    QFETCH(QString, text);
+    QFETCH(int, characterSet);
+    QFETCH(QString, input);
+    QFETCH(int, minLength);
+    QFETCH(int, maxLength);
+    QFETCH(bool, isHideInput);
+    QFETCH(bool, isHelpIsAvailable);
+    QFETCH(int, iconIdIdentifier);
+    QFETCH(int, iconIdQualifier);
+    QFETCH(bool, isRequestedIconDisplayed);
+    QFETCH(int, expectValue);
+
+    // text
+    HBufC* hText = HBufC::New(text.length());
+    TPtr aText( hText->Des() );
+    aText.Copy( text.utf16() );
+    // aCharacterSet
+    TSatCharacterSet aCharacterSet = static_cast<TSatCharacterSet>(characterSet);
+    // aInput
+    HBufC* hInput = HBufC::New(input.length());
+    TPtr aInput( hInput->Des() );
+    aInput.Copy( input.utf16() );
+    // aIconId
+    TSatIconId aIconId;
+    aIconId.iIdentifier = iconIdIdentifier;
+    aIconId.iIconQualifier = static_cast<TSatIconQualifier>(iconIdQualifier);
+    // aRequestedIconDisplayed
+    TBool aRequestedIconDisplayed(isRequestedIconDisplayed);
+    ServerDispatcherHelper helper;
+    connect(mServer,SIGNAL(getInput(SatAppAction&)),&helper,SLOT(exec(SatAppAction&)));
+    TSatUiResponse result(ESatSuccess);
+    QT_TRAP_THROWING( result = mServer->GetInputL(
+                              aText, 
+                              aCharacterSet,
+                              aInput,
+                              minLength,
+                              maxLength,
+                              isHideInput,
+                              isHelpIsAvailable,
+                              aIconId,
+                              aRequestedIconDisplayed
+                              ));
+    delete hText;
+    hText = 0;
+    delete hInput;
+    hInput = 0;
+    TSatUiResponse exValue = static_cast<TSatUiResponse>(expectValue);
+    QCOMPARE(exValue, result);
+    qDebug("Ut_SatAppServerDispatcher::testGetInput <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testSetUpMenu_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testSetUpMenu_data()
+{
+    qDebug("Ut_SatAppServerDispatcher::testSetUpMenu_data >");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<QStringList>("setupMenuItem");
+    QTest::addColumn<bool>("isHelpIsAvailable");
+    QTest::addColumn<int>("iconIdIdentifier");
+    QTest::addColumn<int>("iconIdQualifier");//enum 0~3
+    QTest::addColumn<int>("iconListQualifier");
+    QTest::addColumn<int>("expectReturnValue");
+
+    QStringList testSetUpMenu_1_items;
+    testSetUpMenu_1_items 
+    << "SendData" 
+    << "ReceiveData" 
+    << "CloseChannel"
+    << "OpenChannel"
+    << "GetChannelStatus"
+    << "DisplayText with different symbols and durations"
+    << "GetInkey"
+    << "GetInput"
+    << "SelectItem"
+    << "PlayTone"
+    << "RefreshRequired"
+    << "DoRefresh"
+    << "SendSm"
+    << "SendSs"
+    << "SendUssd"
+    << "SetUpCall"
+    << "SetUpIdleModeText"
+    << "CallControl"
+    << "MoSmControl"
+    << "LaunchBrowser"
+    << "SendDTMF"
+    << "SetUpEventList"
+    << "ProvideLocalInfo"
+    << "EventDownload for IdleScreen available event"
+    << "SetUpMenu";
+
+    QTest::newRow("first") << "SAT" << testSetUpMenu_1_items << 
+        false << 80 << 1 << 2 << 0;
+
+    qDebug("Ut_SatAppServerDispatcher::testSetUpMenu_data <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testSetUpMenu
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testSetUpMenu()
+{
+    qDebug("Ut_SatAppServerDispatcher::testSetUpMenu >");
+    QVERIFY(mServer);
+    QFETCH(QString, text);
+    QFETCH(QStringList, setupMenuItem);
+    QFETCH(bool, isHelpIsAvailable);
+    QFETCH(int, iconIdIdentifier);
+    QFETCH(int, iconIdQualifier);
+    QFETCH(int, iconListQualifier);
+    QFETCH(int, expectReturnValue);
+
+    // aText
+    HBufC* hText = HBufC::New(text.length());
+    TPtr aText( hText->Des() );
+    aText.Copy( text.utf16() );
+    // aMenuItems
+    TBuf<128> menuItem;
+    CDesCArrayFlat* aMenuItems = new CDesCArrayFlat(4);
+    QVERIFY(aMenuItems);
+    for (int i = 0; i< setupMenuItem.count(); i++) {
+        menuItem = setupMenuItem.at(i).utf16();
+        QT_TRAP_THROWING(aMenuItems->AppendL(menuItem));
+    }
+    // aIconId
+    TSatIconId aIconId;
+    aIconId.iIdentifier = iconIdIdentifier;
+    aIconId.iIconQualifier = static_cast<TSatIconQualifier>(iconIdQualifier);
+    // aMenuItemNextActions
+    CArrayFixFlat<TSatAction>* aMenuItemNextActions = 
+          new CArrayFixFlat<TSatAction> (4);
+     QVERIFY(aMenuItemNextActions);
+    // Temp test
+     QT_TRAP_THROWING(aMenuItemNextActions->AppendL(ESatSetUpMenuAction));
+    // aMenuIcons
+    CArrayFixFlat<TInt>* aMenuIcons = new CArrayFixFlat<TInt>(2);
+    QVERIFY(aMenuIcons);
+    // Temp test
+    QT_TRAP_THROWING(aMenuIcons->AppendL(1));
+    // aIconListQualifier
+    TSatIconQualifier aIconListQualifier = 
+        static_cast<TSatIconQualifier>(iconListQualifier);
+    // TSatSelectionPreference, useless
+    TSatSelectionPreference aSelectionPreference(ESatNoSelectionPreference);
+    TSatUiResponse result(ESatSuccess);
+    QT_TRAP_THROWING(result = mServer->SetUpMenuL(
+                              aText,
+                              *aMenuItems,
+                              aMenuItemNextActions,
+                              isHelpIsAvailable,
+                              aIconId,
+                              aMenuIcons,
+                              aIconListQualifier,
+                              aSelectionPreference
+                              ));
+    TSatUiResponse exValue = static_cast<TSatUiResponse>(expectReturnValue);
+    QCOMPARE(exValue, result);
+
+    delete hText;
+    hText = 0;
+    delete aMenuItems;
+    aMenuItems = 0;
+    delete aMenuItemNextActions;
+    aMenuItemNextActions = 0;
+    delete aMenuIcons;
+    aMenuIcons = 0;
+    qDebug("Ut_SatAppServerDispatcher::testSetUpMenu <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testSelectItem_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testSelectItem_data()
+{
+    qDebug("Ut_SatAppServerDispatcher::testSelectItem_data >");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<QStringList>("selectItemItem");
+    QTest::addColumn<int>("defaultItem");
+    QTest::addColumn<bool>("isHelpIsAvailable");
+    QTest::addColumn<int>("iconIdIdentifier");
+    QTest::addColumn<int>("iconIdQualifier");//enum 0~3
+    QTest::addColumn<int>("iconListQualifier");
+    QTest::addColumn<int>("expectReturnValue");
+
+    QStringList testSelectItem_1_items;
+    testSelectItem_1_items 
+    << "Select Item 1" 
+    << "Select Item 2" 
+    << "Select Item 3" 
+    << "Select Item 4" 
+    << "Select Item 5";
+
+    QTest::newRow("first") << "Make a Choice" << testSelectItem_1_items << 
+        0 << false << 80 << 1 << 2 << 0;
+
+    qDebug("Ut_SatAppServerDispatcher::testSelectItem_data <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testSetUpMenu
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testSelectItem()
+{
+    qDebug("Ut_SatAppServerDispatcher::testSelectItem >");
+    QVERIFY(mServer);
+    QFETCH(QString, text);
+    QFETCH(QStringList, selectItemItem);
+    QFETCH(int, defaultItem);
+    QFETCH(bool, isHelpIsAvailable);
+    QFETCH(int, iconIdIdentifier);
+    QFETCH(int, iconIdQualifier);
+    QFETCH(int, iconListQualifier);
+    QFETCH(int, expectReturnValue);
+
+    // aText
+    HBufC* hText = HBufC::New(text.length());
+    TPtr aText( hText->Des() );
+    aText.Copy( text.utf16() );
+    // aMenuItems
+    TBuf<128> menuItem;
+    CDesCArrayFlat* aMenuItems = new CDesCArrayFlat(4);
+    QVERIFY(aMenuItems);
+    for (int i = 0; i< selectItemItem.count(); i++) {
+        menuItem = selectItemItem.at(i).utf16();
+        QT_TRAP_THROWING(aMenuItems->AppendL(menuItem));
+    }
+    
+    TUint8 aSelectedItem( 1 );
+    // aIconId
+    TSatIconId aIconId;
+    aIconId.iIdentifier = iconIdIdentifier;
+    aIconId.iIconQualifier = static_cast<TSatIconQualifier>(iconIdQualifier);
+    // aMenuItemNextActions
+    CArrayFixFlat<TSatAction>* aMenuItemNextActions = 
+          new CArrayFixFlat<TSatAction> (4);
+     QVERIFY(aMenuItemNextActions);
+    // Temp test
+     QT_TRAP_THROWING(aMenuItemNextActions->AppendL(ESatSelectItemAction));
+    // aMenuIcons
+    CArrayFixFlat<TInt>* aMenuIcons = new CArrayFixFlat<TInt>(2);
+    QVERIFY(aMenuIcons);
+    // Temp test
+    QT_TRAP_THROWING(aMenuIcons->AppendL(1));
+    // aIconListQualifier
+    TSatIconQualifier aIconListQualifier = 
+        static_cast<TSatIconQualifier>(iconListQualifier);
+    // TSatSelectionPreference, useless
+    TSatSelectionPreference aSelectionPreference(ESatNoSelectionPreference);
+    TBool aRequestIconDisplayed (EFalse);
+    
+    TSatUiResponse result(ESatSuccess);
+    ServerDispatcherHelper helper;
+    connect(mServer,SIGNAL(selectItem(SatAppAction&)),&helper,SLOT(exec(SatAppAction&)));
+    connect(mServer,SIGNAL(selectItem(SatAppAction&)),
+        &helper,SLOT(simulateItemSelected(SatAppAction&)));
+    QT_TRAP_THROWING(result = mServer->SelectItemL(
+                              aText,
+                              *aMenuItems,
+                              aMenuItemNextActions,
+                              defaultItem,
+                              aSelectedItem,
+                              isHelpIsAvailable,
+                              aIconId,
+                              aMenuIcons,
+                              aIconListQualifier,
+                              aRequestIconDisplayed,
+                              aSelectionPreference
+                              ));
+    TSatUiResponse exValue = static_cast<TSatUiResponse>(expectReturnValue);
+    QCOMPARE(exValue, result);
+
+    delete hText;
+    hText = 0;
+    delete aMenuItems;
+    aMenuItems = 0;
+    delete aMenuItemNextActions;
+    aMenuItemNextActions = 0;
+    delete aMenuIcons;
+    aMenuIcons = 0;
+    qDebug("Ut_SatAppServerDispatcher::testSelectItem <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testSetUpMenu
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testPlayTone_data()
+{
+    qDebug("Ut_SatAppServerDispatcher::testPlayTone_data >");
+    QTest::addColumn<QString>("text");//enum 0~3
+    QTest::addColumn<int>("satTone");
+    QTest::addColumn<int>("duration");
+    QTest::addColumn<int>("iconIdIdentifier");
+    QTest::addColumn<int>("iconIdQualifier");//enum 0~3
+    QTest::addColumn<bool>("isRequestedIconDisplayed");
+    QTest::addColumn<int>("expectReturnValue");
+    QTest::newRow("Response_Failure") << "PlayStandardTone" << 100 << 
+        0 << 80 << 1 << false << 0;
+    QTest::newRow("ToneNotSet") << "PlayStandardTone" << -1 << 
+        0 << 80<< 0 << false << 0;
+    QTest::newRow("DialTone_0") << "PlayStandardTone" << 1 << 
+        0 << 80<< 1 << false << 0;
+    QTest::newRow("DialTone_2000") << "PlayStandardTone" << 1 << 
+        2000 << 80 << 2 << false << 0;
+    QTest::newRow("DialTone_true") << "PlayStandardTone" << 1 << 
+        2000 << 80 << 3 << true << 0;
+    QTest::newRow("Busy") << "PlayStandardTone" << 2 << 
+        2000 << 80 << 3 << false << 0;
+    QTest::newRow("Congestion") << "PlayStandardTone" << 3 << 
+        25000 << 80 << 3 << false << 0;
+    QTest::newRow("Congestion_0") << "PlayStandardTone" << 3 << 
+        0 << 80 << 3 << false << 0;
+    QTest::newRow("Acknowledge ") << "PlayStandardTone" << 4 << 
+        25000 << 80 << 3 << false << 0;
+    QTest::newRow("Acknowledge_0") << "PlayStandardTone" << 4 << 
+        0 << 80 << 3 << false << 0;
+    QTest::newRow("CallDropped") << "PlayStandardTone" << 5 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("CallDropped_0") << "PlayStandardTone" << 5 << 
+        0 << 80 << 1 << false << 0;
+    QTest::newRow("SpecialInfo") << "PlayStandardTone" << 6 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("SpecialInfo_0") << "PlayStandardTone" << 6 << 
+        0 << 80 << 1 << false << 0;
+    QTest::newRow("WaitingTone") << "PlayStandardTone" << 7 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("WaitingTone_0") << "PlayStandardTone" << 7 << 
+        0 << 80 << 1 << false << 0;
+    QTest::newRow("RingingTone") << "PlayStandardTone" << 8 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("RingingTone_0") << "PlayStandardTone" << 8 << 
+        0 << 80 << 1 << false << 0;
+    QTest::newRow("GeneralBeep") << "PlayStandardTone" << 16 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("GeneralBeep_0") << "PlayStandardTone" << 16 << 
+        0 << 80 << 1 << false << 0;
+    QTest::newRow("PositiveTone") << "PlayStandardTone" << 17 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("PositiveTone_0") << "PlayStandardTone" << 17 << 
+        0 << 80 << 1 << false << 0;
+    QTest::newRow("NegativeTone") << "PlayStandardTone" << 18 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("NegativeTone_0") << "PlayStandardTone" << 18 << 
+        0 << 80 << 1 << false << 0;
+    QTest::newRow("Speech") << "PlayStandardTone" << 19 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("Speech_0") << "PlayStandardTone" << 19 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("Sms") << "PlayStandardTone" << 20 << 
+        25000 << 80 << 1 << false << 0;
+    QTest::newRow("Sms_0") << "PlayStandardTone" << 20 << 
+        0 << 80 << 1 << false << 0;
+    QTest::newRow("Busy_0") << "PlayStandardTone" << 2 << 
+        0 << 80 << 3 << false << 0;
+    qDebug("Ut_SatAppServerDispatcher::testPlayTone_data <");
+}
+
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testSetUpMenu
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testPlayTone()
+{
+    qDebug("Ut_SatAppServerDispatcher::testPlayTone >");
+    QVERIFY(mServer);
+    QFETCH(QString, text);
+    QFETCH(int, duration);
+    QFETCH(int, satTone);
+    QFETCH(int, iconIdIdentifier);
+    QFETCH(int, iconIdQualifier);
+    QFETCH(bool, isRequestedIconDisplayed);
+    QFETCH(int, expectReturnValue);
+    qDebug("Ut_SatAppServerDispatcher::testPlayTone after fetch");
+    // text
+    HBufC* hText = HBufC::New(text.length());
+    TPtr aText( hText->Des() );
+    aText.Copy( text.utf16() );
+    // aTone
+    TSatTone aTone = static_cast<TSatTone>(satTone);
+    // aDuration
+    TUint aDuration= static_cast<TUint>(duration);
+    // aIconId
+    TSatIconId aIconId;
+    aIconId.iIdentifier = iconIdIdentifier;
+    aIconId.iIconQualifier = static_cast<TSatIconQualifier>(iconIdQualifier);
+    // aRequestedIconDisplayed
+    TBool aRequestedIconDisplayed(isRequestedIconDisplayed);
+    qDebug("Ut_SatAppServerDispatcher::testPlayTone call observer");
+    ServerDispatcherHelper helper;
+    connect(mServer,SIGNAL(playTone(SatAppAction&)),&helper,SLOT(exec(SatAppAction&)));
+    TSatUiResponse result(ESatSuccess);
+    result = mServer->PlayTone(
+                              aText,
+                              aTone,
+                              aDuration,
+                              aIconId,
+                              aRequestedIconDisplayed
+                              );
+    TSatUiResponse exValue = static_cast<TSatUiResponse>(expectReturnValue);
+    QCOMPARE(exValue, result);
+    delete hText;
+    hText = 0;
+    qDebug("Ut_SatAppServerDispatcher::testPlayTone <");
+}
+
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testConfirmCommand_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testConfirmCommand_data()
+{
+    qDebug("Ut_SatAppServerDispatcher::testConfirmCommand_data >");
+    QTest::addColumn<int>("commandId");// enum 0~6
+    QTest::addColumn<int>("alphaIdStatus");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<QString>("additionalText");
+    QTest::addColumn<bool>("isctionAccepted");
+    QTest::addColumn<int>("iconIdIdentifier");
+    QTest::addColumn<int>("iconIdQualifier");//enum 0~3
+    QTest::addColumn<bool>("isRequestedIconDisplayed");
+    QTest::addColumn<bool>("isterminatedByUser");
+    // test commandId ESatSSendSmQuery
+    QTest::newRow("first") << 0 << 1 << "ConfirmCommand SendSm" 
+        << "SendSm" <<false << 60 << 1 << false <<false;
+    // test commandId ESatSSendSsQuery
+    QTest::newRow("second") << 1 << 1 << "ConfirmCommand SendSs" 
+        << "SendSs" <<false << 60 << 1 << false <<false;
+    // test commandId ESatSSendUssdQuery
+    QTest::newRow("third") << 2 << 1 << "ConfirmCommand SendUssd" 
+        << "SendUssd" <<false << 60 << 1 << false <<false;
+    // test commandId ESatSRefreshQuery
+    QTest::newRow("fourth") << 3 << 1 << "ConfirmCommand Refresh" 
+        << "First test case" <<false << 60 << 1 << false <<false;
+    // test commandId ESatSLaunchBrowserQuery
+    QTest::newRow("fifth") << 4 << 1 << "ConfirmCommand LaunchBrowser" 
+        << "LaunchBrowser" <<false << 60 << 1 << false <<false;
+    // test commandId ESatOpenChannelQuery
+    QTest::newRow("sixth") << 5 << 1 << "ConfirmCommand OpenChannel" 
+        << "OpenChanne" <<false << 60 << 1 << false <<false;
+    // test commandId ESatSSetUpCallQuery
+    QTest::newRow("seventh") << 6 << 1 << "ConfirmCommand SetUpCall" 
+        << "SetUpCall" <<false << 60 << 1 << false <<false;
+    // test commandId ESatSelfExplanatory
+    QTest::newRow("eighth") << 0 << 1 << "ConfirmCommand SendSm" 
+        << "SendSm SelfExplanatory" <<false << 60 << 2 << true <<false;
+
+    qDebug("Ut_SatAppServerDispatcher::testConfirmCommand_data <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testConfirmCommand
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testConfirmCommand()
+{
+    qDebug("Ut_SatAppServerDispatcher::testConfirmCommand >");
+    QVERIFY(mServer);
+    QFETCH(int, commandId);
+    QFETCH(int, alphaIdStatus);
+    QFETCH(QString, text);
+    QFETCH(QString, additionalText);
+    QFETCH(bool, isctionAccepted);
+    QFETCH(int, iconIdIdentifier);
+    QFETCH(int, iconIdQualifier);
+    QFETCH(bool, isRequestedIconDisplayed);
+    QFETCH(bool, isterminatedByUser);
+
+    // aCharacterSet
+    TSatSQueryCommand aCommandId = static_cast<TSatSQueryCommand>(commandId);
+    // aAlphaIdStatus
+    TSatAlphaIdStatus aAlphaIdStatus = static_cast<TSatAlphaIdStatus>(alphaIdStatus);
+    // text
+    HBufC* hText = HBufC::New(text.length());
+    TPtr aText( hText->Des() );
+    aText.Copy( text.utf16() );
+    // aAdditionalText
+    HBufC* hAdditionalText = HBufC::New(additionalText.length());
+    TPtr aAdditionalText( hAdditionalText->Des() );
+    aAdditionalText.Copy( additionalText.utf16() );
+    // aActionAccepted
+    TBool aActionAccepted(isctionAccepted);
+    // aIconId
+    TSatIconId aIconId;
+    aIconId.iIdentifier = iconIdIdentifier;
+    aIconId.iIconQualifier = static_cast<TSatIconQualifier>(iconIdQualifier);
+    // aRequestedIconDisplayed
+    TBool aRequestedIconDisplayed(isRequestedIconDisplayed);
+    // aRequestedIconDisplayed
+    TBool aTerminatedByUser(isterminatedByUser);
+    ServerDispatcherHelper helper;
+    connect(mServer,SIGNAL(confirmCommand(SatAppAction&)),&helper,SLOT(exec(SatAppAction&)));
+    mServer->ConfirmCommand(
+                              aCommandId,
+                              aAlphaIdStatus,
+                              aText, 
+                              aAdditionalText,
+                              aActionAccepted,
+                              aIconId,
+                              aRequestedIconDisplayed,
+                              aTerminatedByUser
+                              );
+    delete hText;
+    hText = 0;
+    delete hAdditionalText;
+    hAdditionalText = 0;
+    qDebug("Ut_SatAppServerDispatcher::testConfirmCommand <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testNotification_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testNotification_data()
+{
+    qDebug("Ut_SatAppServerDispatcher::testNotification_data >");
+    QTest::addColumn<int>("commandId");// enum 0~6
+    QTest::addColumn<int>("alphaIdStatus");
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("iconIdIdentifier");
+    QTest::addColumn<int>("iconIdQualifier");//enum 0~3
+    QTest::addColumn<bool>("isRequestedIconDisplayed");
+    QTest::addColumn<int>("controlResult");
+ 
+    // test commandId ESatSSendDataNotify    
+    QTest::newRow("Senddata_0id") << 0 << 0 << "Send data notify" 
+    << 2 << 0 << false <<0;
+    // test commandId ESatSSendDataNotify alpha id not null but string length is zero   
+    QTest::newRow("Senddata_1id") << 0 << 1 << "" 
+    << 2 << 0 << false <<0;
+    QTest::newRow("Senddata_2id") << 0 << 2 << "Send data notify AlphaIdNotProvided" 
+    << 2 << 0 << false <<0;
+    // test commandId ESatSReceiveDataNotify
+    QTest::newRow("Recievedata_0id") << 1 << 0 << "Recieve data notify" 
+    << 2 << 3 << false <<0;
+    QTest::newRow("Recievedata_1id") << 1 << 1 << "Recieve data notify" 
+    << 2 << 3 << false <<0;
+    QTest::newRow("Recievedata_2id") << 1 << 2 << "Recieve data notify AlphaIdNotProvided" 
+    << 2 << 3 << false <<0;
+    // test commandId ESatSCloseChannelNotify
+    QTest::newRow("CloseChannel_0id") << 2 << 0 << "Close channel notify" 
+    << 2 << 3 << false <<0;
+    QTest::newRow("CloseChannel_1id") << 2 << 1 << "" 
+    << 2 << 3 << false <<0;
+    QTest::newRow("CloseChannel_2id") << 2 << 2 << "Close channel notify AlphaIdNotProvided" 
+    << 2 << 3 << false <<0;
+    // test commandId ESatSMoSmControlNotify
+    QTest::newRow("MoSm_0id") << 3 << 0 << "SM control notify" 
+    << 2 << 0 << false <<0;
+    QTest::newRow("MoSm_1id") << 3 << 1 << "0" 
+    << 2 << 0 << false <<0;
+    QTest::newRow("MoSm_2id") << 3 << 2 << "SM control notify AlphaIdNotProvided" 
+    << 2 << 0 << false <<0;
+    // test commandId ESatSCallControlNotify
+    QTest::newRow("CallControl_0id") << 4 << 0 << "Call control notify" 
+    << 2 << 1 << false <<0;
+    QTest::newRow("CallControl_1id") << 4 << 1 << ""
+    << 2 << 1 << false <<0;
+    QTest::newRow("CallControl_2id") << 4 << 2 << "Call control notify AlphaIdNotProvided" 
+    << 2 << 1 << false <<0;
+    // test commandId ESatSSendSsNotify
+    QTest::newRow("SendSs_0id") << 5 << 0 << "Send SS notify" 
+    << 2 << 2 << false <<0;
+    QTest::newRow("SendSs_1id") << 5 << 1 << "" 
+    << 2 << 2 << false <<0;
+    QTest::newRow("SendSs_2id") << 5 << 2 << "Send SS notify AlphaIdNotProvided" 
+    << 2 << 2 << false <<0;
+    // test commandId ESatSSendUssdNotify
+    QTest::newRow("SendUssd_0id") << 6 << 0 << "Send Ussd notify" 
+    << 2 << 3 << false <<0;
+    // test commandId ESatSSendUssdNotify
+    QTest::newRow("SendUssd_1id") << 6 << 1 << "" 
+    << 2 << 3 << false <<0;
+    // test commandId ESatSSendUssdNotify
+    QTest::newRow("SendUssd_2id") << 6 << 2 << "Send Ussd notify AlphaIdNotProvided" 
+    << 2 << 3 << false <<0;
+    // test commandId ESatSSendDtmfNotify
+    QTest::newRow("SendDtmf_0id") << 7 << 0 << "Send dtmf notify" 
+    << 2 << 3 << false <<0;
+    QTest::newRow("SendDtmf_1id") << 7 << 1 << "Send dtmf notify" 
+    << 2 << 3 << false <<0;
+    QTest::newRow("SendDtmf_2id") << 7 << 2 << "Send dtmf notify AlphaIdNotProvided" 
+    << 2 << 3 << false <<0;
+    // test commandId ESatSSendSmsNotify
+    QTest::newRow("SendSm_0id") << 8 << 0 << "SendSm notify" 
+    << 2 << 2 << false <<0;
+    QTest::newRow("SendSm_1id") << 8 << 1 << "SendSm notify" 
+    << 2 << 2 << false <<0;
+    QTest::newRow("SendSm_2id") << 8 << 2 << "SendSm notify AlphaIdNotProvided" 
+    << 2 << 2 << false <<0;
+    qDebug("Ut_SatAppServerDispatcher::testNotification_data <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testNotification
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testNotification()
+{
+    qDebug("Ut_SatAppServerDispatcher::testNotification >");
+    QVERIFY(mServer);
+    QFETCH(int, commandId);
+    QFETCH(int, alphaIdStatus);
+    QFETCH(QString, text);
+    QFETCH(int, iconIdIdentifier);
+    QFETCH(int, iconIdQualifier);
+    QFETCH(bool, isRequestedIconDisplayed);
+    QFETCH(int, controlResult);
+
+    // aCommandId
+    TSatSNotifyCommand aCommandId = static_cast<TSatSNotifyCommand>(commandId);
+    // aAlphaIdStatus
+    TSatAlphaIdStatus aAlphaIdStatus = static_cast<TSatAlphaIdStatus>(alphaIdStatus);
+    // text
+    HBufC* hText = HBufC::New(text.length());
+    TPtr aText( hText->Des() );
+    aText.Copy( text.utf16() );
+
+    // aIconId
+    TSatIconId aIconId;
+    aIconId.iIdentifier = iconIdIdentifier;
+    aIconId.iIconQualifier = static_cast<TSatIconQualifier>(iconIdQualifier);
+    // aRequestedIconDisplayed
+    TBool aRequestedIconDisplayed(isRequestedIconDisplayed);
+    // aRequestedIconDisplayed
+    TSatControlResult aControlResult = static_cast<TSatControlResult>(controlResult);
+    ServerDispatcherHelper helper;
+    connect(mServer,SIGNAL(notification(SatAppAction&)),&helper,SLOT(exec(SatAppAction&)));
+    mServer->Notification(
+                              aCommandId,
+                              aAlphaIdStatus,
+                              aText, 
+                              aIconId,
+                              aRequestedIconDisplayed,
+                              aControlResult
+                              );
+    delete hText;
+    hText = 0;
+    qDebug("Ut_SatAppServerDispatcher::testNotification <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testEventNotification_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testEventNotification_data()
+{
+    qDebug("Ut_SatAppServerDispatcher::testEventNotification_data >");
+    QTest::addColumn<int>("eventId");// enum 0~6
+    
+    // test eventId ESatSRefreshStartEvent    
+    QTest::newRow("RefreshStartEvent") << 0 ;
+    // test eventId ESatSRefreshEndEvent
+    QTest::newRow("RefreshEndEvent") << 1;
+    // test eventId ESatSSmEndEvent
+    QTest::newRow("SSmEndEvent") << 2;
+    // test eventId ESatSClearScreenEvent
+    QTest::newRow("ClearScreenEvent") << 3;
+    // test eventId ESatSCloseSatUiAppEvent
+    QTest::newRow("CloseSatUiAppEvent") << 4;
+    // test eventId ESatSsEndEvent
+    QTest::newRow("SsEndEvent") << 5;
+    // test eventId ESatSsErrorEvent
+    QTest::newRow("SsErrorEvent") << 6;
+    // test eventId ESatSDtmfEndEvent
+    QTest::newRow("DtmfEndEvent") << 7;
+
+    qDebug("Ut_SatAppServerDispatcher::testEventNotification_data <");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppServerDispatcher::testEventNotification
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppServerDispatcher::testEventNotification()
+{
+    qDebug("Ut_SatAppServerDispatcher::testEventNotification >");
+    QVERIFY(mServer);
+    QFETCH(int, eventId);
+
+    TSatSEvent aEventId = static_cast<TSatSEvent>(eventId);
+    TSatSEventStatus aEventStatus = ESatEventCompleteOk;
+    mServer->EventNotification(aEventId, aEventStatus, 0);
+    qDebug("Ut_SatAppServerDispatcher::testEventNotification <");
+}
+
+
+void Ut_SatAppServerDispatcher::testMenuSelection()
+{
+    // menu selection 1
+    SatAppAction* a = new SatAppAction(ESatSetUpMenuAction,mServer);
+    a->set(KeySelection,4);
+    a->set(KeyHelpRequested,false);
+    connect(a,SIGNAL(actionCompleted(SatAppAction*)),mServer,SLOT(menuSelection(SatAppAction*)));
+    a->completeWithSuccess();
+
+    // menu selection 2 - with different params
+    SatAppAction* b = new SatAppAction(ESatSetUpMenuAction,mServer);
+    b->set(KeySelection,4);
+    b->set(KeyHelpRequested,false);
+    connect(b,SIGNAL(actionCompleted(SatAppAction*)),mServer,SLOT(menuSelection(SatAppAction*)));
+    b->completeWithSuccess();
+
+    // menu selection 3 - no user resp
+    SatAppAction* c = new SatAppAction(ESatSetUpMenuAction,mServer);
+    connect(c,SIGNAL(actionCompleted(SatAppAction*)),mServer,SLOT(menuSelection(SatAppAction*)));
+    c->completeWithNoResponse();
+
+    // menu selection 4 - session terminated
+    SatAppAction* d = new SatAppAction(ESatSetUpMenuAction,mServer);
+    connect(d,SIGNAL(actionCompleted(SatAppAction*)),mServer,SLOT(menuSelection(SatAppAction*)));
+    d->completeWithSessionTerminated();
+
+}
+
+void Ut_SatAppServerDispatcher::testUserCancelSession()
+{
+    SatAppAction* a = new SatAppAction(ESatSetUpMenuAction);
+    mServer->userCancelSession(a);
+}
+
+
+/*!
+*User cancel response, Send DTMF, Send Data, Receive Data
+*/
+
+// helper class
+void ServerDispatcherHelper::exec(SatAppAction& action)
+{
+    action.completeWithSuccess();
+}
+
+void ServerDispatcherHelper::simulateItemSelected(SatAppAction& action)
+{
+    action.set(KeySelection, 0);
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/src/ut_satapptoneprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,625 @@
+/*
+* 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: Unit test for satappmainhandler
+*
+*/
+
+#include <QTimer>
+#include "ut_satapptoneprovider.h"
+#include "satapptoneprovider.h"
+#include "satappaction.h"
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::Ut_SatAppToneProvider
+// -----------------------------------------------------------------------------
+//
+Ut_SatAppToneProvider::Ut_SatAppToneProvider(QObject *parent):QObject(parent) 
+{
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testCreateProvider
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testCreateProvider_data()
+{
+    QTest::addColumn<bool>("timer");
+    QTest::newRow("t01") << false;
+    QTest::newRow("t01") << true;
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testCreateProvider
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testCreateProvider()
+{
+    QFETCH(bool, timer);
+    ToneProviderTest test;
+    if(timer){
+        test.ConstructTimer(false);
+    }
+    QVERIFY(test.mTone); 
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testClearScreen
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testClearScreen()
+{
+    ToneProviderTest test;
+    test.mTone->clearScreen();
+    QVERIFY(!test.isMessageBoxShown());
+    QVERIFY(!test.isTimerActive());
+}
+
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testPlayTone_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testPlayTone_data()
+{
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("tone");
+    QTest::addColumn<int>("duration");
+    QTest::addColumn<int>("exp_result");
+
+    QTest::newRow("t01") << "Standard" << 0x01 << 0 << 0x32; // exp result changed
+    QTest::newRow("t02") << "Standard" << 0x02 << 100 << 0;
+    QTest::newRow("t03") << "Standard" << 0x03 << 1000 << 0;
+    QTest::newRow("t04") << "Standard" << 0x04 << 0 << 0;
+    QTest::newRow("t05") << "Standard" << 0x05 << 100 << 0;
+    QTest::newRow("t06") << "Standard" << 0x07 << 1000 << 0;
+    QTest::newRow("t07") << "" << 0x07 << 100 << 0;
+    QTest::newRow("t08") << "" << 0x08 << 500 << 0;
+    QTest::newRow("t09") << "" << 0x09 << 1000 << 0x32; // exp result changed
+    QTest::newRow("t10") << "User" << 0x13 << 1000 << 0;
+    QTest::newRow("t11") << "User" << 0x14 << 500 << 0;
+    QTest::newRow("t12") << "Illegal" << 0x99 << 100 << 0x32;
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testPlayTone
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testPlayTone()
+{
+    QFETCH(QString, text);
+    QFETCH(int, tone);
+    QFETCH(int, duration);
+    QFETCH(int, exp_result);
+
+    ToneProviderTest test;
+    TSatUiResponse resp(ESatSuccess);
+    
+    SatAppAction action(ESatPlayToneAction);
+    action.set(KeyToneId,tone);
+    action.set(KeyDuration,duration);
+    action.set(KeyText,text);
+    test.mTone->playTone(action);
+    action.waitUntilCompleted();
+    resp = action.response();
+
+    QCOMPARE((int)resp, exp_result);
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testplayStandardTone_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testplayDoubleTone_data()
+{
+    QTest::addColumn<QString>("text");
+    QTest::addColumn<int>("tone");
+    QTest::addColumn<int>("duration");
+    QTest::addColumn<bool>("timer");
+    QTest::addColumn<bool>("active");
+
+    QTest::newRow("t01") << "Standard" << 0x10 << 0 << false << false;
+    QTest::newRow("t02") << "Standard" << 0x10 << 0 << true << true;
+    QTest::newRow("t03") << "Standard" << 0x10 << 0 << true << false;
+    QTest::newRow("t04") << "Standard" << 0x13 << 0 << false << false;
+    QTest::newRow("t04") << "Standard" << 0x14 << 0 << true << true;
+    QTest::newRow("t04") << "" << 0x13 << 0 << true << false;
+
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testplayStandardTone
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testplayDoubleTone()
+{
+    QFETCH(QString, text);
+    QFETCH(int, tone);
+    QFETCH(int, duration);
+    QFETCH(bool, timer);
+    QFETCH(bool, active);
+
+    ToneProviderTest test;
+    TSatUiResponse resp(ESatSuccess);
+    if(timer){
+        test.ConstructTimer(active);
+    }
+    
+    SatAppAction action(ESatPlayToneAction);
+    action.set(KeyToneId,tone);
+    action.set(KeyDuration,duration);
+    action.set(KeyText,text);
+    test.mTone->playTone(action);
+    action.waitUntilCompleted();
+    resp = action.response();
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testPlayToneAndClearScreen
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testPlayToneAndClearScreen()
+{
+    ToneProviderTest test;
+
+    // timer for clearing screen after 1 sec.
+    QTimer::singleShot(1000, test.mTone, SLOT(clearScreen()));
+    
+    // start playing
+    TSatUiResponse result(ESatFailure);
+    SatAppAction action(ESatPlayToneAction);
+    action.set(KeyToneId,0x01);
+    action.set(KeyDuration,3000);
+    action.set(KeyText,QString("play"));
+    test.mTone->playTone(action);
+    action.waitUntilCompleted();
+    result = action.response();
+
+//    QCOMPARE(result, ESatSuccessToneNotPlayed); TODO:which?
+    QCOMPARE(result, ESatSuccess);
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testMatoPlayComplete_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testMatoPrepareComplete_data()
+{
+    QTest::addColumn<int>("error");
+    QTest::addColumn<bool>("tone");
+    QTest::newRow("error_0") << 0 << true;
+    QTest::newRow("error_-1") << -1 << false;
+    QTest::newRow("error_-2") << 0 << false;
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testMatoPlayComplete
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testMatoPrepareComplete()
+{
+    QFETCH(int, error);
+    QFETCH(bool, tone);
+    ToneProviderTest test;
+
+    if(tone)
+        test.ConstructAudioTone();
+
+    test.mTone->MatoPrepareComplete(error);
+    
+    test.DestroyAudioTone();
+}
+
+//// -----------------------------------------------------------------------------
+//// Ut_SatAppToneProvider::testMatoPlayComplete_data
+//// 
+//// Connects to test object signal and verifies received data.
+//// -----------------------------------------------------------------------------
+//void Ut_SatAppToneProvider::testMatoPlayComplete_data()
+//{
+//    QTest::addColumn<int>("error");
+//    QTest::addColumn<bool>("tone");
+//    QTest::newRow("error_0") << 0 << true;
+//    QTest::newRow("error_-1") << -1 << false;
+//    QTest::newRow("error_-2") << 0 << false;
+//}
+//
+//// -----------------------------------------------------------------------------
+//// Ut_SatAppToneProvider::testMatoPlayComplete
+//// 
+//// Connects to test object signal and verifies received data.
+//// -----------------------------------------------------------------------------
+//void Ut_SatAppToneProvider::testMatoPlayComplete()
+//{
+//    QFETCH(int, error);
+//    QFETCH(bool, tone);
+//    ToneProviderTest test;
+//
+//    if(tone)
+//        test.ConstructAudioTone();
+//
+//    test.mTone->MatoPrepareComplete(error);
+//    test.mTone->MatoPlayComplete(error);
+//    
+//    test.DestroyAudioTone();
+//}
+//
+//// -----------------------------------------------------------------------------
+//// Ut_SatAppToneProvider::testMapcPlayComplete_data
+//// 
+//// Connects to test object signal and verifies received data.
+//// -----------------------------------------------------------------------------
+//void Ut_SatAppToneProvider::testMapcPlayComplete_data()
+//{
+//    QTest::addColumn<bool>("player");
+//    QTest::newRow("t_true") << true;
+//    QTest::newRow("t_false") << false;
+//}
+//
+//// -----------------------------------------------------------------------------
+//// Ut_SatAppToneProvider::testMapcPlayComplete
+//// 
+//// Connects to test object signal and verifies received data.
+//// -----------------------------------------------------------------------------
+//void Ut_SatAppToneProvider::testMapcPlayComplete()
+//{
+//    QFETCH(bool, player);
+//    TInt error = 0;
+//    ToneProviderTest test;
+//    
+//    if(player)
+//        test.ConstructAudioPlayer();
+//    
+//    test.mTone->MapcPlayComplete(error);
+//    
+//    test.DestroyAudioPlayer();
+//}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testMapcInitComplete_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testMapcInitComplete_data()
+{
+    QTest::addColumn<int>("error");
+    QTest::addColumn<bool>("player");
+    QTest::newRow("error_0") << 0 << false;
+    QTest::newRow("error_-6") << -6 << true;
+    QTest::newRow("error_-6") << -6 << false;
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testMapcInitComplete
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testMapcInitComplete()
+{
+    QFETCH(int, error);
+    QFETCH(bool, player);
+    ToneProviderTest test;
+    
+    if(player)
+        test.ConstructAudioPlayer();
+    
+    test.mTone->MapcInitComplete(error, 0);
+    
+    test.DestroyAudioPlayer();
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testRecognizeTone_data
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testRecognizeTone_data()
+{
+    QTest::addColumn<int>("tone");
+    QTest::addColumn<int>("duration");
+
+    QTest::newRow("t01") << -1 << 0;
+    QTest::newRow("t01") << -1 << 1;
+    QTest::newRow("t01") << 0x01 << 0;
+    QTest::newRow("t01") << 0x01 << 1;
+    QTest::newRow("t01") << 0x02 << 0;
+    QTest::newRow("t01") << 0x02 << 1;
+    QTest::newRow("t01") << 0x03 << 0;
+    QTest::newRow("t01") << 0x03 << 1;
+    QTest::newRow("t01") << 0x04 << 0;
+    QTest::newRow("t01") << 0x04 << 1;
+    QTest::newRow("t01") << 0x05 << 0;
+    QTest::newRow("t01") << 0x05 << 1;
+    QTest::newRow("t01") << 0x06 << 0;
+    QTest::newRow("t01") << 0x06 << 1;
+    QTest::newRow("t01") << 0x07 << 0;
+    QTest::newRow("t01") << 0x07 << 1;
+    QTest::newRow("t01") << 0x08 << 0;
+    QTest::newRow("t01") << 0x08 << 1;
+    QTest::newRow("t01") << 0x09 << 0;
+    
+    QTest::newRow("t01") << 0x10 << 0;
+    QTest::newRow("t01") << 0x10 << 1;
+    QTest::newRow("t01") << 0x11 << 0;
+    QTest::newRow("t01") << 0x11 << 1;
+    QTest::newRow("t01") << 0x12 << 0;
+    QTest::newRow("t01") << 0x12 << 1;
+    QTest::newRow("t02") << 0x13 << 0;
+    
+    QTest::newRow("t02") << 0x14 << 0;
+    
+    
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testRecognizeTone
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testRecognizeTone()
+{
+    QFETCH(int, tone);
+    QFETCH(int, duration);
+    
+    ToneProviderTest test;
+    test.TestRecognizeTone(tone, duration);
+}
+
+// -----------------------------------------------------------------------------
+// Ut_SatAppToneProvider::testPrepareAudioToneUtility
+// 
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Ut_SatAppToneProvider::testPrepareAudioToneUtility()
+{
+    ToneProviderTest test;
+    test.ConstructAudioTone();
+    test.ConstructAudioTone();
+}
+
+// ---------------------------------------------------------------
+// internal helper class
+// ---------------------------------------------------------------
+
+ToneProviderTest::ToneProviderTest()
+{
+    mTone = new SatAppToneProvider(this);
+}
+
+ToneProviderTest::~ToneProviderTest()
+{
+    cleanup();
+}
+
+/**
+ * Singleton Pattern - not used
+ */
+SatAppToneProvider* ToneProviderTest::getToneInstance()
+{
+
+}
+
+bool ToneProviderTest::isMessageBoxShown()
+{
+    if (mTone->mPermanentNote) {
+        return true;
+    }
+    return false;
+}
+
+bool ToneProviderTest::isTimerActive()
+{
+    if (mTone->mTimer && mTone->mTimer->isActive()) {
+        return true;
+    }
+    return false;
+}
+
+void ToneProviderTest::ConstructAudioTone()
+{
+    QByteArray sequence;
+    sequence = KNetToneSeqDial;
+    TPtrC8 seq((unsigned char*)sequence.constData(),sequence.length());
+    if(mTone)
+        QT_TRAP_THROWING(mTone->SymbianPrepareAudioToneUtilityL(seq));
+}
+
+void ToneProviderTest::DestroyAudioTone()
+{
+    if(mTone)
+        mTone->SymbianStopAudioToneUtility();
+}
+
+void ToneProviderTest::ConstructAudioPlayer()
+{
+    int tone = ESatToneNotSet;
+    int duration = 0;
+    if(mTone)
+        QT_TRAP_THROWING(mTone->SymbianPrepareAudioPlayerL(tone,duration));
+}
+
+void ToneProviderTest::DestroyAudioPlayer()
+{
+    if(mTone)
+        mTone->SymbianStopAudioPlayer();
+}
+
+void ToneProviderTest::ConstructTimer(bool active)
+{
+    mTone->mTimer = new QTimer(mTone);
+    connect(mTone->mTimer, SIGNAL(timeout()),
+            mTone, SLOT(stopPlayTone()));
+    if(active)
+        mTone->mTimer->start(3000);
+}
+
+void ToneProviderTest::DestroyTimer()
+{
+    
+}
+
+void ToneProviderTest::SetPlayToneResult(TSatUiResponse error)
+{
+    mTone->mPlayToneError = error;
+}
+
+void ToneProviderTest::TestRecognizeTone(int tone, int duration)
+{
+    QByteArray sequence;
+    mTone->recognizeTone(tone, sequence, duration);
+}
+
+void ToneProviderTest::cleanup()
+{
+    delete mTone;
+    mTone = 0;
+}
+
+// ****************************************************************************
+// * ************************************************************************ *
+// * *                      SYMBIAN MOC PART                                * *
+// * ************************************************************************ *
+// ****************************************************************************
+
+
+// includes
+#include <e32cmn.h>
+#include <MProfile.h>
+#include <MProfileEngine.h>
+#include <MProfileTones.h>
+#include <TProfileToneSettings.h>
+#include <mdaaudiotoneplayer.h> //MMdaAudioToneObserver
+
+class CMocProfileTones : public MProfileTones
+    {
+    public:
+        CMocProfileTones() 
+            {
+            // Set TProfileToneSettings with specified value
+            iToneSettings.iWarningAndGameTones = EFalse;
+            TBuf<256> ringTone(_L("Z:\\Data\\Sounds\\Digital\\Nokia tune.aac"));
+            TBuf<256> alertTone(_L("Z:\\Data\\Sounds\\Digital\\Message 1.aac"));
+            iTone = ringTone;
+            }
+        virtual ~CMocProfileTones() {}
+
+    public:
+        virtual const TDesC& RingingTone1() const 
+            {
+            //DONE
+            return iTone;
+            }
+        virtual const TDesC& RingingTone2() const 
+            {
+            //DONE
+            return iTone;
+            }
+        virtual const TDesC& MessageAlertTone() const 
+            {
+            //DONE
+            return iTone;
+            }
+        virtual const TProfileToneSettings& ToneSettings() const 
+            {
+            //DONE: Return TProfileToneSettings
+            return iToneSettings;
+            }
+    private:
+        TProfileToneSettings iToneSettings;
+        TBuf<256> iTone;
+    };
+
+class CMocProFile : public MProfile
+    {
+    public:
+        static CMocProFile* NewLC()
+            {
+            CMocProFile* self = new( ELeave ) CMocProFile;
+            CleanupStack::PushL( self );
+            self->ConstructL();
+            return self;
+            }
+        virtual ~CMocProFile() {}
+    protected:
+        CMocProFile() {}
+        void ConstructL()
+            {
+            iTones = new(ELeave) CMocProfileTones;
+            }
+
+    public: // New functions
+        virtual void Release() {}
+        virtual const TArray<TContactItemId> AlertForL() {}
+        virtual TBool IsSilent() const { return EFalse; }
+        virtual const MProfileName& ProfileName() const {}
+        virtual const MProfileTones& ProfileTones() const 
+            {
+            //DONE: return an MProfileTones object
+            return *iTones;
+            }
+        virtual const MProfileExtraTones& ProfileExtraTones() const {}
+        virtual const MProfileExtraSettings& ProfileExtraSettings() const {}
+        
+    private:
+        MProfileTones* iTones;
+    };
+
+class CMocProfileEngine : public MProfileEngine
+    {
+    public:
+        CMocProfileEngine() {};
+        virtual ~CMocProfileEngine() {};
+    public:
+        virtual void Release() {};
+        virtual MProfile* ActiveProfileLC()
+            {
+            //DONE: Create an MProfile object
+            MProfile* pf = CMocProFile::NewLC();
+            return pf;
+            }
+        virtual MProfile* ActiveProfileL() { return NULL; };
+        virtual TInt ActiveProfileId() { return 0; };
+        virtual MProfilesNamesArray* ProfilesNamesArrayLC() { return NULL; };
+        virtual void SetActiveProfileL( TInt /*aId*/ ) {};
+        virtual void SetTempRingingVolumeL( TProfileRingingVolume /*aVolume*/ ) {};
+        virtual TProfileRingingVolume TempRingingVolumeL() const {
+            return EProfileRingingVolumeLevel1; 
+        }
+        virtual void SetTempMediaVolumeL( TProfileRingingVolume /*aVolume*/ ) {};
+        virtual TProfileRingingVolume TempMediaVolumeL() const {
+            return EProfileRingingVolumeLevel1; 
+        }
+        virtual TBool IsFeatureSupported(
+            TProfileFeatureId /*aFeatureId*/ ) const { return EFalse; };
+        virtual TBool IsActiveProfileTimedL() { return EFalse; };
+
+    };
+
+// ----------------------------------------------------------------------------
+// CreateProfileEngineL moc
+// create profile engine
+// ----------------------------------------------------------------------------
+//
+//MProfileEngine* CreateProfileEngineL()
+//    {
+//    
+//    MProfileEngine* pe = new( ELeave ) CMocProfileEngine;
+//    return pe;
+//    }
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/tsrc/ut_satapp/ut_satapp.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,85 @@
+#
+# 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: unit test pro file for satapp.
+#
+
+TEMPLATE = app
+TARGET = ut_satapp
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+HEADERS += $$PUBLIC_HEADERS
+MOC_DIR = moc
+
+symbian {
+    TARGET.CAPABILITY = CAP_APPLICATION
+}
+
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+               $$MOC_DIR \
+               ../../../../inc \
+               ../../inc
+
+LIBS += -legul \
+        -lfbscli \
+        -lcentralrepository \
+        -lCenRepNotifHandler \
+        -lCdlEngine \
+        -lbafl \
+        -lmediaclientaudio \
+        -lprofileeng \
+        -lFlogger
+
+HEADERS += ../../inc \
+           ../../inc/satappmainhandler.h \
+           ../../inc/satappserverdispatcher.h \
+           ../../inc/satappmenuprovider.h \
+           ../../inc/satappinputprovider.h \
+           ../../inc/satapptoneprovider.h \
+           ../../inc/satapppopupprovider.h \
+           ../../inc/satappconfirmprovider.h \
+           ../../inc/satappaction.h \
+           ../../inc/satappconstant.h \
+           inc/ut_satappmainhandler.h \
+           inc/ut_satappserverdispatcher.h \
+           inc/ut_satappmenuprovider.h \
+           inc/ut_satappinputprovider.h \
+           inc/ut_satapptoneprovider.h \
+           inc/ut_satapppopupprovider.h \
+           inc/ut_satappconfirmprovider.h \
+           inc/ut_satappaction.h
+
+
+SOURCES += ../../src/satappmainhandler.cpp \
+           ../../src/satappserverdispatcher.cpp \
+           ../../src/satappmenuprovider.cpp \
+           ../../src/satappinputprovider.cpp \
+           ../../src/satapptoneprovider.cpp \
+           ../../src/satapppopupprovider.cpp \
+           ../../src/satappconfirmprovider.cpp \
+           ../../src/satappaction.cpp \
+           src/main.cpp \
+           src/ut_satappmainhandler.cpp \
+           src/ut_satappserverdispatcher.cpp \
+           src/ut_satappmenuprovider.cpp \
+           src/ut_satappinputprovider.cpp \
+           src/ut_satapptoneprovider.cpp \
+           src/ut_satapppopupprovider.cpp \
+           src/ut_satappconfirmprovider.cpp \
+           src/ut_satappaction.cpp \
+           src/rsat_stub.cpp
+
+RESOURCES += ../../resource/satapp.qrc
+
--- a/satui/satplugin/aisatplugininc/aisatcontentmodel.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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:  Content model for SAT Plug-in.
-*
-*/
-
-
-#ifndef AISATCONTENTMODEL_H
-#define AISATCONTENTMODEL_H
-
-
-#include <aicontentmodel.h>
-#include "aisatpluginuids.hrh"
-
-// SAT Operator Info Plug-in XML implementation UID
-const TInt KImplUidSatPlugin = 
-    AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_SATPLUGIN;
-const TUid KUidSatPlugin = { KImplUidSatPlugin };
-
-/**
- * Content Ids.
- */
-enum TSatContentIds
-    {
-    ESatContentText,
-    ESatContentIcon
-    };
-
-enum TSatEventIds
-    {
-    ESatLaunchSatapp = 1
-    };
-
-const TAiContentItem KSatContent[] =
-    {
-    { ESatContentText, L"SatIdleModeText", "text/plain" },
-    { ESatContentIcon, L"SatIdleModeIcon", "image/x-s60-bitmap" }
-    };
-
-/**
- * Resource Ids.
- */
-enum TSatPluginResourceIds
-    {
-    ESatResourceEmptyIcon,
-    ESatResourceEmptyCaption
-    };
-
-/**
- * Resources that the plug-in will publish.
- */
-const TAiContentItem KSatResources[] =
-    { 
-    { ESatResourceEmptyCaption,       L"EmptyCaption", "text/plain" },
-    { ESatResourceEmptyIcon,          L"EmptyIcon", "image/*" }    
-    };
-
-/**
- * Event Ids.
- */
-const TAiContentItem KSatEvents[] =
-    {
-    { ESatLaunchSatapp, L"LaunchSatapp", "int" }
-    };
-
-#endif //AISATCONTENTMODEL_H
-
--- a/satui/satplugin/aisatplugininc/aisatpluginuids.hrh	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  UIDs for the Active Idle subsystem components.
-*
-*/
-
-
-#ifndef AISATPLUGINUIDS_HRH
-#define AISATPLUGINUIDS_HRH
-
-/**
- * Ecom dll uid for sat plugin.
- */
-#define AI_UID_ECOM_DLL_CONTENTPUBLISHER_SATPLUGIN 0x102078EA
-
-/**
- * Ecom implementation uid for sat plugin.
- */
-#define AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_SATPLUGIN 0x102078EB
-
-#endif //AISATPLUGINUIDS_HRH
--- a/satui/satplugin/aisatplugininc/caisatengine.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Header file for the CAiSatEngine class
-*
-*/
-
-
-#ifndef CAISATENGINE_H
-#define CAISATENGINE_H
-
-// INCLUDE FILES
-
-#include <e32property.h>
-#include <SATInternalPSKeys.h>
-#include <rsatsession.h>          // For idle mode text and icon  
-#include <rsatservice.h>          // For idle mode text and icon
-#include <tsaticoninfo.h>
-
-class CAiSatNotifier;
-class TAIPluginInitData;
-class MPluginAPI;
-
-/**
- *  CAiSatEngine
- *
- *  @since S60 v3.2
- */
-class CAiSatEngine : public CBase
-    {
-
-public:  // Constructors and destructor
-
-    /**
-     * Part of the two phased constuction
-     *
-     * @param MPluginAPI& aPlugin a ref to a object implementing MPluginAPI
-     *       (the object ordering a notification of the content status change)
-     * @return Pointer to the created CAiSatEngine object
-     */
-    static CAiSatEngine* NewL( MPluginAPI& aPlugin );
-
-    /**
-     * Destructor
-     */
-    ~CAiSatEngine();
-
-public: // New functions
-
-    /**
-     * Offers the Idle Mode text
-     *
-     * @param aString Idle mode text for publishing
-     */
-    void ContentText( TPtrC& aString );
- 
-    /**
-     * Offers the Idle Mode icon
-     *
-     * @param aGulIcon icon for publishing
-     * 
-     */    
-    void ContentIconL( CGulIcon*& aGulIcon );
-    
-    /**
-     * Formulates response to SatIcon API.
-     */
-    void HandleNotifyL();
- 
-    /**
-     * Get idle text, icon id, icon qulifier and load icon as bitmap.
-     *
-     * @param aDupIcon If the icon is the same as previous one.
-     * @param aDupText If the text is the same as previous one.
-     */    
-    void PrepareIdleModeDataL( TBool& aDupIcon, TBool& aDupText );  
-            
-private: // private construction method
-
-    /**
-     * Constructor to use in the object creation. 
-     * Initializes the necessary data.
-     *
-     * @param MPluginAPI& aPlugin a ref to a object implementing MPluginAPI
-     *      (the object ordering a notification of the content status change)
-     */
-    CAiSatEngine( MPluginAPI& aPlugin);
-
-    /**
-     * Part of the two phased construction
-     */
-    void ConstructL();     
-
-private: // New functions
-
-    /**
-     * Loads the Idle Mode icon from SatIcon.
-     *
-     * @param aIconId The icon record id.
-     * @param aIconQualifier the icon qualifier.
-     * @return The Idle Mode icon id in TInt, the caller need to delete
-     *         the pointer.
-     */
-    CFbsBitmap* LoadIconL( TUint8 aIconId, 
-        RSatService::TSatIconQualifier aIconQualifier );  
-        
-    /**
-     * Information of the content availability.
-     *
-     * @return ETrue if there is content to show, EFalse if not.
-     */
-    TBool HasContent();    
-    
-    /**
-     * Sends idle information to satIconInfo
-     *
-     * @param const RSatService::TSATIdleResult& aResponse
-     */
-    void SendSatResponseL(
-        const RSatService::TSATIdleResult& aResponse ) const;                                      
-           
-private: // Data
-
-    /**
-     * Pointer to the Display Text proactive command handler
-     * Own 
-     */
-    CAiSatNotifier* iNotifier;
-
-    /**
-     * ref to the class implementing the MPluginAPI interface
-     */    
-    MPluginAPI& iPlugin;
-   
-    /**
-     * SIM icon buffer
-     * Own
-     */     
-    CFbsBitmap* iIcon;
-    
-    /**
-     * Icon id in previous icon loading (to check if icon is changed)
-     */    
-    TUint8 iPreviousIconId;
-    
-    /**
-     * SatClient session. 
-     */    
-    RSatSession iSatSession;
-    
-    /**
-     * SatClient service.
-     */    
-    RSatService iSatService;
-    };
-
-#endif // CAISATENGINE_H
--- a/satui/satplugin/aisatplugininc/caisatnotifier.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +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:  The handler for the SAT Plug-in
-*                Set Up Idle Mode Text proactive command.
-*
-*/
-
-
-#ifndef CAISATNOTIFIER_H
-#define CAISATNOTIFIER_H
-
-//  INCLUDES
-#include "mpluginapi.h" // Needed in cpp and header
-
-class RSatSession;
-class RSatService;
-
-// CLASS DECLARATION
-
-/**
- *  This is the handler for the Set Up Idle Mode Text proactive command.
- *  This active objects is registered with ETel SAT Api to receive notifications
- *  about the incoming Display Text commands.
- *
- *  @since S60 v3.2
- *
- */
-class CAiSatNotifier : public CActive
-    {
-public: // Constructors and destructor
-
-    /**
-     * Part of the two phased constuction
-     *
-     * @param MPluginAPI& aPlugin a ref to a object implementing MPluginAPI
-     *        (the object ordering a notification of the content status change)
-     * @param RSatService& aSatService a ref to RSatService
-     * @return Pointer to the created CAiSatNotifier object
-     */
-    static CAiSatNotifier* NewL( MPluginAPI& aPlugin,
-                                 RSatService& aSatService );
-
-    /**
-     * Destructor
-     */
-    virtual ~CAiSatNotifier();
-
-    /**
-     * Starts listening for the Sat command.
-     * @return Error code.
-     */
-    TInt Start();
-    
-    /**
-     * Whether the P&S has content or not.
-     * @return whether has content or not.
-     */    
-    TBool HasContent();    
-
-    /**
-     * Get Idle mode data to member: string, icon qualifier, icon id.
-     * 
-     * @param aDupIcon Whether the icon is the same with previous one
-     * @param aDupText Whether the icon is the same with previous one
-     */    
-    void GetIdleModeDataL( TBool& aDupIcon, TBool& aDupText );
-
-    /**
-     * Get idle text string
-     *
-     * @param aString Idle text string.
-     */
-    void GetIdleTextString( TPtrC& aString  );
-
-    /**
-     * Idle icon record id
-     *
-     * @return Icon record id
-     */
-    TUint8 IdleIconId();
-
-    /**
-     * Idle icon qualifier
-     *
-     * @return Icon qualifier
-     */
-    RSatService::TSatIconQualifier IdleIconQualifier();
-
-protected: // From base class CActive
-
-    /**
-     * From CActive
-     * Handles the request completion.
-     */
-    void RunL();
-
-    /**
-     * From CActive
-     * Implements the cancel protocol.
-     */
-    void DoCancel();
-
-private: // Constructors
-    
-    /**
-     * Constructor to use in the object creation. 
-     * Initializes the necessary data.
-     *
-     * @param aPlugin Ref to a object implementing MPluginAPI
-     * (the object ordering a notification of the content status change)
-     * @param aSatService Ref to a RSatService
-     */
-    CAiSatNotifier( MPluginAPI& aPlugin,
-                    RSatService& aSatService );
-
-    /**
-     * To continue listening to the Sat command.
-     */
-    void Activate();
-
-private: // Data
-
-    /**
-     * Idle mode text.
-     * Own
-     */
-    HBufC* iString;  
-    
-    /**
-     * Idle mode icon id.
-     */
-	TUint8 iRecordId;
-
-	/**
-	 * Idle mode icon qualifier.
-	 */
-	RSatService::TSatIconQualifier iIconQualifier;
-	
-	/**
-	 * CAiSatPlugin reference.
-	 */
-    MPluginAPI& iPlugin;
-
-    /**
-     * RSatService reference from CAiSatEngine.
-     */
-    RSatService& iSatService;
-
-	/**
-	 * Identify the first start up.
-	 */    
-    TBool iFirstStartup;
-    
-    };
-
-#endif // CAISATNOTIFIER_H
-
--- a/satui/satplugin/aisatplugininc/caisatplugin.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +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:  Plug-in main class
-*
-*/
-
-
-#ifndef CAISATPLUGIN_H
-#define CAISATPLUGIN_H
-
-#include <hscontentpublisher.h>
-#include <aicontentmodel.h>
-
-#include "mpluginapi.h"
-#include "caisatengine.h"
-
-class MAiContentObserver;
-class MAiContentItemIterator;
-
-/**
- *  Plug-in main class
- *
- *  @since S60 v3.2
- */
-class CAiSatPlugin : public CHsContentPublisher,                     
-                     public MPluginAPI
-    {
-
-public:
-
-    /**
-     * Part of the two phased constuction
-     */
-    static CAiSatPlugin* NewL();
-    
-    /**
-     * Destructor
-     */
-    ~CAiSatPlugin();
-    
-    /**
-     * Publishes SAT Set Up Idle Mode Text
-     */
-    void PublishSatL();
-
-// from base class CHsContentPublisher
-  
-    /**
-     * @see CHsContentPublisher
-     */
-    void Start( TStartReason aReason );
-
-    /**
-     * @see CHsContentPublisher
-     */    
-    void Stop( TStopReason aReason );
-    
-    /**
-     * @see CHsContentPublisher
-     */    
-    void Resume( TResumeReason aReason );
-    
-    /**
-     * @see CHsContentPublisher
-     */    
-    void Suspend( TSuspendReason aReason );
-    
-    /**
-     * @see CHsContentPublisher
-     */    
-    void SubscribeL( MAiContentObserver& aObserver );
-    
-    /**
-     * @see CHsContentPublisher
-     */    
-    void ConfigureL( RAiSettingsItemArray& aSettings );
-    
-    /**
-     * @see CHsContentPublisher
-     */    
-    TAny* GetProperty( TProperty aProperty );
-         
-    /**
-     * Receives a notification of the content update event
-     */
-    void NotifyContentUpdate();
-
-private:
-
-    /**
-     * Constructor to use in the object creation. 
-     * Initializes the necessary data.
-     */    
-    CAiSatPlugin();
-    
-    /**
-     * Part of the two phased construction
-     */
-    void ConstructL();
-    
-    /**
-     * Update idle area when plug in reload.
-     */    
-    void UpdateSatL();
-           
-    /**
-     * Publish a icon to the idle area.
-     *
-     * @param aObserver The Active Idle content observer.
-     * @param aIcon The icon to be published.
-     * @return The error code.
-     */
-    TInt PublishIcon( MAiContentObserver& aObserver, CGulIcon* aIcon );
-    
-    /**
-     * Clean setup idle mode icon.
-     *
-     * @param aObserver The Active Idle content observer.
-     * @return The error code.
-     */    
-    TInt CleanIcon( MAiContentObserver& aObserver );
-    
-    /**
-     * Publish a SetUpIdleModeText string.
-     *
-     * @param aObserver The Active Idle content observer.
-     * @param aContent The SetUpIdleModeText string would be published.
-     * @return The error code.
-     */
-    TInt PublishText( MAiContentObserver& aObserver,
-                      const TDesC& aText );
-      
-    /**
-     * Clean setup idle mode text.
-     *
-     * @param aObserver The Active Idle content observer.
-     * @return The error code.
-     */     
-    TInt CleanText( MAiContentObserver& aObserver );
-
-private: // data
-
-    /**
-     * Iterator for plugin content
-     * Own
-     */
-    MAiContentItemIterator* iContent;
-
-    /**
-     * Iterator for plugin resources
-     * Own
-     */    
-    MAiContentItemIterator* iResources;
-
-    /**
-     * Iterator for plugin events
-     * Own
-     */    
-    MAiContentItemIterator* iEvents;
-
-    /**
-     * Plugin engine
-     * Own
-     */    
-    CAiSatEngine* iEngine;
-
-    /**
-     * Array of content observers
-     */    
-    RPointerArray<MAiContentObserver> iObservers;
-    
-    /**
-     * Whether the icon is the same with previous one.
-     */      
-    TBool iDupIcon;
-    
-    /**
-     * Whether the text is the same with previous one.
-     */      
-    TBool iDupText;
-    
-    /**
-     * ETrue, if data should be published in Resume()
-     */
-    TBool iPublishRequired;
-    };
-
-#endif // CAISATPLUGIN_H
-
-
--- a/satui/satplugin/aisatplugininc/mpluginapi.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:  Defines interface for the operator info engine user
-*
-*/
-
-
-#ifndef MPLUGINAPI_H
-#define MPLUGINAPI_H
-
-// CLASS DECLARATION
-/** 
-* It defines interface for the plugin, contains virtual method which offers plugin 
-* a way to notify the client e.g. P&S data changes
-*
-* @since S60 v3.2
-*/
-class MPluginAPI 
-    {
-    public: 
-
-    /**
-    * Virtual method, which the plugin class has to implement.
-    * Method is used to send notification of P&S data's change event
-    * from engine to plugin.
-    *
-    */
-    inline virtual void NotifyContentUpdate() = 0;  
-    };
-
-#endif //MPLUGINAPI_H     
-            
--- a/satui/satplugin/aisatplugininc/tflogger.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +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:  Defines logging macroes
-*
-*/
-
-
-#ifndef __TFLOGGER_H__
-#define __TFLOGGER_H__
-
-#include <flogger.h>
-#include <e32svr.h>
-
-_LIT( KTfLogFolder, "sat" );
-_LIT( KTfLogFile, "satplugin.TXT" );
-
-/**
-* ------------------------------------------------------------------------------
-*
-*  Remove #define LOGGING_ENABLED from comments to enable logging
-*
-* ------------------------------------------------------------------------------
-*/
-
-//#define LOGGING_ENABLED
-                                
-/**
-* ------------------------------------------------------------------------------
-*
-*  LOGGING MACROs
-*
-*  USE THESE MACROS IN YOUR CODE
-*
-*  Example: TFLOGTEXT( own_desc )
-*  Example: TFLOGSTRING( "Test" )
-*  Example: TFLOGSTRING( "Test %i", aValue )
-*  Example: TFLOGSTRING( "Test %i %i", aValue1, aValue2 )
-*
-* ------------------------------------------------------------------------------
-*/
-
-#ifdef LOGGING_ENABLED
-
-    #define TFLOGTEXT( TEXT ) \
-        {  \
-        RFileLogger::Write( KTfLogFolder,KTfLogFile, \
-            EFileLoggingModeAppend, TEXT ); \
-        RDebug::Print( TEXT ); \
-        }
-
-    #define TFLOGSTRING( TEXT ) \
-        { \
-        _LIT( tempLogDes, TEXT ); \
-        RFileLogger::Write( \
-            KTfLogFolder, \
-            KTfLogFile, \
-            EFileLoggingModeAppend, \
-            tempLogDes() ); \
-        RDebug::Print( _L( TEXT ) ); \
-        }
-        
-    #define TFLOGSTRING2( TEXT, VAR1 ) \
-        { \
-        _LIT( tempLogDes, TEXT ); \
-        RFileLogger::WriteFormat( \
-            KTfLogFolder, \
-            KTfLogFile, \
-            EFileLoggingModeAppend, \
-            TRefByValue<const TDesC>( tempLogDes() ), VAR1 ); \
-        RDebug::Print( _L( TEXT ), VAR1 ); \
-        }
-        
-    #define TFLOGSTRING3( TEXT, VAR1, VAR2 ) \
-        { \
-        _LIT( tempLogDes, TEXT ); \
-        RFileLogger::WriteFormat( \
-            KTfLogFolder, \
-            KTfLogFile, \
-            EFileLoggingModeAppend, \
-            TRefByValue<const TDesC>( tempLogDes() ), VAR1, VAR2 ); \
-        RDebug::Print( _L( TEXT ), VAR1, VAR2 ); \
-        }
-
-#else
-
-    #define TFLOGTEXT( TEXT )
-    #define TFLOGSTRING( TEXT )
-    #define TFLOGSTRING2( TEXT, VAR1 )
-    #define TFLOGSTRING3( TEXT, VAR1, VAR2 )
-
-#endif // LOGGING_ENABLED
-
-#endif // __TFLOGGER_H__
--- a/satui/satplugin/aisatpluginsrc/caisatengine.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
-* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 engine class of operator info plugin. Handles the
-*                communication with Publish&Subscribe data.
-*
-*/
-
-
-// INCLUDE FILES
-#include    <AknIconArray.h>                // For itemsicon
-#include    <gulicon.h>                     // For itemsicon
-#include    <aknlayout.cdl.h>               // For TAknWindowLineLayout
-#include    <aknlayoutscalable_avkon.cdl.h> // For scalable layouts
-#include    <AknUtils.h>
-#include    <AknIconUtils.h>
-
-#include    "caisatengine.h"
-#include    "caisatnotifier.h"
-#include    "mpluginapi.h"
-#include    "tflogger.h" 
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// Default constructor
-// -----------------------------------------------------------------------------
-//
-CAiSatEngine::CAiSatEngine( MPluginAPI& aPlugin ) :
-    iPlugin ( aPlugin ),
-    iIcon( NULL ),
-    iPreviousIconId( 0 )
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// Create instance of concrete ECOM interface implementation
-// -----------------------------------------------------------------------------
-CAiSatEngine* CAiSatEngine::NewL( MPluginAPI& aPlugin )
-    {
-    TFLOGSTRING( "CAiSatEngine::NewL called" )
-    
-    CAiSatEngine* self = new( ELeave )CAiSatEngine( aPlugin );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    TFLOGSTRING( "CAiSatEngine::NewL exits" )
-    return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// Destructor.
-// Closes the connection to the P&S and deletes
-// all the dynamic content.
-// -----------------------------------------------------------------------------
-//
-CAiSatEngine::~CAiSatEngine()
-    {
-    TFLOGSTRING( "CAiSatEngine::~CAiSatEngine called" )
-
-    delete iNotifier;
-    
-    // Delete icon and null the pointer.
-    delete iIcon;
-    iIcon = NULL;
-           
-    iSatService.Close();
-    iSatSession.Close();
-    
-    TFLOGSTRING( "CAiSatEngine::~CAiSatEngine exits" )  
-    }
-    
-// -----------------------------------------------------------------------------
-// Offers information about the content
-// Returns ETrue if there is content available, 
-// EFalse if not.
-// -----------------------------------------------------------------------------
-//
-TBool CAiSatEngine::HasContent()
-    {
-    TFLOGSTRING( "CAiSatEngine::HasContent called - exits" )
-    return iNotifier->HasContent();
-    }
-
-// -----------------------------------------------------------------------------
-// Retrieves the operator info text from RSatService
-// -----------------------------------------------------------------------------
-//
-void CAiSatEngine::ContentText( TPtrC& aString )
-    {
-    TFLOGSTRING( "CAiSatEngine::ContentText called" )
-
-    iNotifier->GetIdleTextString( aString );
-    
-    TFLOGSTRING( "CAiSatEngine::ContentText exits" )
-    }
-    
-// -----------------------------------------------------------------------------
-// Offers the Idle Mode icon
-// -----------------------------------------------------------------------------
-//
-void CAiSatEngine::ContentIconL( CGulIcon*& aGulIcon )
-    {
-    TFLOGSTRING( "CAiSatEngine::ContentIconL called" )
-            
-    // Active Idle framework will release the bitmap we would
-    // publish. So a new bitmap should be created to avoid
-    // destroying the bitmap owned by UAA.
-    if ( iIcon )
-        {
-        TFLOGSTRING( "CAiSatEngine::ContentIconL iIcon != NULL" )
-        // The bitmap for publishing.
-        CFbsBitmap* bitmapToPublish( NULL );    
-                  
-        bitmapToPublish = new (ELeave) CFbsBitmap;
-        CleanupStack::PushL( bitmapToPublish );
-
-        TSize size = iIcon->SizeInPixels();
-        TInt error = bitmapToPublish->Create( size, iIcon->DisplayMode() ); 
-        TFLOGSTRING2( "CFbsBitmap::Create returns %d", error )
-        // Duplicate the bitmap owned by UAA into the new bitmap.
-        if ( !error )
-            {
-            error = bitmapToPublish->Duplicate( iIcon->Handle() );
-            TFLOGSTRING2( "CFbsBitmap::Duplicate returns %d", error )
-            if ( !error )
-                {
-                // Create a icon from the bitmap and publish it.
-                aGulIcon = CGulIcon::NewL( bitmapToPublish );
-                CleanupStack::Pop( bitmapToPublish );        
-                TFLOGSTRING( "CAiSatEngine::ContentIconL create GulIcon" )
-                }
-            } 
-        if ( error )  
-            {
-            CleanupStack::PopAndDestroy( bitmapToPublish );
-            aGulIcon = NULL;
-            }        
-        }   
-    TFLOGSTRING( "CAiSatEngine::ContentIconL exits" )
-    }
-
-//------------------------------------------------------------------------------
-// Loads icon provided by SIM from RSatIcon
-//------------------------------------------------------------------------------
-CFbsBitmap* CAiSatEngine::LoadIconL( TUint8 aIconId, 
-    RSatService::TSatIconQualifier aIconQualifier  )
-    {
-    TFLOGSTRING( "CAiSatEngine::LoadIconL called" )
-    CFbsBitmap* simIconBuffer( NULL ); 
-    
-    // If icon allready has been got from SIM (via satIcon and SATServer)
-    // Because mechanism for fetching icon is very slow, it has been 
-    // stored in class variable to make reasonable speed for 
-    // Active Idle refreshing.
-    if ( RSatService::ESatIconSelfExplanatory == aIconQualifier ||
-         RSatService::ESatIconNotSelfExplanatory == aIconQualifier )
-        {
-        TFLOGSTRING( "CAiSatEngine::LoadIconL having icon" )
-        RIconEf iconEf;
-        CleanupClosePushL( iconEf );
-    
-        // Get icon info
-        iSatService.GetIconInfoL( aIconId, iconEf );
-        // Get the an available icon from info array.
-        TInt infoCount( iconEf.Count() );
-        TInt error( KErrNotFound );
-        for ( TInt i = 0; i < infoCount && KErrNone != error; i++ )
-            {
-            TRAP( error, simIconBuffer = iSatService.GetIconL( iconEf[i] ) );
-            }
-            
-        // Check whether the for loop ends without icon gotton.
-        if ( error != KErrNone )
-            {
-            TFLOGSTRING2( "CAiSatEngine::LoadIconL: error=%d",error )
-            simIconBuffer = NULL;
-            }
-            
-        CleanupStack::PopAndDestroy( &iconEf );
-        } 
-    TFLOGSTRING( "CAiSatEngine::LoadIconL exit" )
-    return simIconBuffer;
-    }
-    
-// ---------------------------------------------------------------------------
-// Formulates response to SatIcon API
-// ---------------------------------------------------------------------------
-//
-void CAiSatEngine::HandleNotifyL()
-    {
-    TFLOGSTRING( "CAiSatEngine::HandleNotifyL called" )
-    TUint8 id( iNotifier->IdleIconId() );
-    RSatService::TSatIconQualifier iconQualifier( 
-        iNotifier->IdleIconQualifier() );
-
-    if ( !HasContent() && RSatService::ESatIconNoIcon == iconQualifier )
-        {
-        // Removal of text = No text and no icon
-        TFLOGSTRING( "CAiSatNotifier::HasContent ETrue remove text success" )
-        SendSatResponseL( RSatService::ESATIdleSuccess );
-        }
-    else
-        {
-        TFLOGSTRING2( "CAiSatEngine::HandleNotifyL Icon: %d", iconQualifier )
-        if ( RSatService::ESatIconNoIcon == iconQualifier)
-            {
-            TFLOGSTRING( "CAiSatEngine::HandleNotifyL ESatIconNoIcon" )
-            SendSatResponseL( RSatService::ESATIdleSuccess );
-            }        
-        else if ( RSatService::ESatIconSelfExplanatory == iconQualifier ||
-                  RSatService::ESatIconNotSelfExplanatory == iconQualifier )
-            {
-            SendSatResponseL( RSatService::ESATIdleSuccess );
-            TFLOGSTRING( "CAiSatEngine::HandleNotify icon & success resp" )
-            }
-        else if ( RSatService::ESatIconNotSelfExplanatory != iconQualifier &&
-                  RSatService::ESatIconNoIcon != iconQualifier )
-            {
-            SendSatResponseL( RSatService::ESATIdleSuccessRequestedIconNotDisplayed );
-            TFLOGSTRING( "CAiSatEngine: KSATIdleSuccessRequestedIconNotDisplayed" )
-            }
-        else
-            {
-            TFLOGSTRING( "CAiSatEngine::HandleNotifyL others" )
-            // Report error
-            SendSatResponseL( RSatService::ESATIdleMeUnableToProcessCmd );
-            }            
-        }
-
-    TFLOGSTRING( "CAiSatEngine::HandleNotify exit" )
-    }
-       
-// ---------------------------------------------------------------------------
-// Get Idle mode data first, and load icon for publishing
-// ---------------------------------------------------------------------------
-//       
-void CAiSatEngine::PrepareIdleModeDataL( TBool& aDupIcon, TBool& aDupText )
-    {
-    TFLOGSTRING( "CAiSatEngine::PrepareGetIdleModeDataL called" )
-    
-    // Get icon Id, icon qualifier and text.
-    iNotifier->GetIdleModeDataL( aDupIcon, aDupText );
-    
-    // Load icon, and check whether it is the same with previous one.
-    // if not, Load icon, otherwise, do nothing.
-    TUint8 id ( iNotifier->IdleIconId() );   
-    RSatService::TSatIconQualifier iconQualifier( 
-        iNotifier->IdleIconQualifier() );
-        
-    if ( !( RSatService::ESatIconNoIcon == iconQualifier ) ||
-         !( id == iPreviousIconId && iIcon ) ) 
-        {
-        TFLOGSTRING( "CAiSatEngine::PrepareIdleModeDataL load icon" )
-        delete iIcon;
-        iIcon = NULL;
-        
-        // The bitmap is fetched from UAA.
-        iIcon = LoadIconL( id, iconQualifier ); 
-        iPreviousIconId = id;  
-        }
-    TFLOGSTRING( "CAiSatEngine::PrepareGetIdleModeDataL exits" )
-    }
-    
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave
-// ---------------------------------------------------------------------------
-//
-void CAiSatEngine::ConstructL()
-    {
-    TFLOGSTRING( "CAiSatEngine::ConstructL called" )
-    
-    iSatSession.ConnectL();    
-    TFLOGSTRING( "CAiSatEngine::ConstructL connect sat session" )
-    
-    iSatService.OpenL( iSatSession );
-    TFLOGSTRING( "CAiSatEngine::ConstructL open sat service" )    
-    
-    iNotifier = CAiSatNotifier::NewL( iPlugin, iSatService );   
-    User::LeaveIfError( iNotifier->Start() );
-    
-    TFLOGSTRING( "CAiSatEngine::ConstructL exits" )
-    }
-    
-// ---------------------------------------------------------------------------
-// Sends SAT response to RSatIcon
-// ---------------------------------------------------------------------------
-//
-void CAiSatEngine::SendSatResponseL(
-    const RSatService::TSATIdleResult& aResponse ) const
-    {
-    TFLOGSTRING( "CAiSatEngine::SendSatResponseL called")
-
-    iSatService.SetIdleModeTextResponse( aResponse );
-
-    TFLOGSTRING( "CAiSatEngine::SendSatResponseL exits" )
-    }
-      
-// End Of File 
--- a/satui/satplugin/aisatpluginsrc/caisatnotifier.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +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:  The handler for the SAT Plug-in
-*                Set Up Idle Mode Text proactive command.
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <etelsat.h>
-#include <rsatsession.h>
-#include <rsatservice.h>
-
-#include "caisatnotifier.h"
-#include "mpluginapi.h" // Needed in cpp and header
-#include "tflogger.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave
-// ---------------------------------------------------------------------------
-//
-CAiSatNotifier* CAiSatNotifier::NewL( MPluginAPI& aPlugin, 
-                                      RSatService& aSatService )
-    {
-    TFLOGSTRING( "CAiSatNotifier::NewL calling" )
-    CAiSatNotifier* self = new ( ELeave ) CAiSatNotifier( aPlugin,
-                                                          aSatService );
-
-    TFLOGSTRING( "CAiSatNotifier::NewL exits" )
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// Cancels  and deletes
-// all the dynamic content
-// ---------------------------------------------------------------------------
-//
-CAiSatNotifier::~CAiSatNotifier()
-    {
-    TFLOGSTRING( "CAiSatNotifier::~CAiSatNotifier calling" )
-    
-    // Cancel any outstanding requests
-    Cancel();
-    delete iString;
-
-    TFLOGSTRING( "CAiSatNotifier::~CAiSatNotifier exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// Starts the handler
-// ---------------------------------------------------------------------------
-//
-TInt CAiSatNotifier::Start()
-    {
-    TFLOGSTRING( "CAiSatNotifier::Start calling" )
-    
-    TInt error( KErrNotReady );
-    if ( !IsActive() )
-        {
-        error = iSatService.NotifySetupIdleModeTextChange( iStatus ); 
-        TFLOGSTRING2( "CAiSatNotifier::Start error %i", error )
-        if ( KErrNone == error )
-            {
-            // Set to active so that requests can be received    
-            SetActive();       
-            }        
-        }
-    
-    TFLOGSTRING( "CAiSatNotifier::Start exits" )
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// Get the idle mode data to member: string, icon qualifier, icon id.
-// ---------------------------------------------------------------------------
-//
-TBool CAiSatNotifier::HasContent()
-    {
-    TFLOGSTRING( "CAiSatNotifier::HasContent calling" )
-    TBool ret( EFalse );
-    if ( ( iString && iString->Length() ) ||
-           RSatService::ESatIconNoIcon != iIconQualifier )
-        {
-        TFLOGSTRING( "CAiSatNotifier::HasContent ETrue" )
-        ret = ETrue;
-        }
-    TFLOGSTRING( "CAiSatNotifier::HasContent exits" )
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// Get the idle mode data to member: string, icon qualifier, icon id.
-// ---------------------------------------------------------------------------
-//
-void CAiSatNotifier::GetIdleModeDataL( TBool& aDupIcon, TBool& aDupText )
-    {
-    TFLOGSTRING( "CAiSatNotifier::GetIdleModeData calling" )
-    HBufC* string( NULL );
-    TUint8 recordId( NULL );
-    RSatService::TSatIconQualifier iconQualifier( 
-        RSatService::ESatIconNoIcon );
-    
-    // Get setup idle mode text, icon qualifier and record id.
-    iSatService.GetSetupIdleModeTextL( string, iconQualifier, recordId ); 
-            
-    // If the icon is self explanatory, NULL the string.
-    if ( string && RSatService::ESatIconSelfExplanatory == iconQualifier )
-        {
-        TPtr ptr( string->Des() );
-        ptr.Copy( KNullDesC );
-        }       
-    
-    // Check if the icon or text is the same as previous one.
-    if ( iFirstStartup )    
-        {
-        aDupIcon = EFalse;
-        aDupText = EFalse;
-        iFirstStartup = EFalse;
-        }
-    else
-        {
-        // Check if setup idle mode icon is changed.
-        aDupIcon = ( iRecordId == recordId );   
-        
-        // Check if setup idle mode text is changed.
-        // If both of the iString and string are NULL, it is duplicated.
-        // If both of the iString and string are not NULL, and they have
-        // the same content, it is duplicated.
-        // Otherwise, it is not duplicated.    
-            
-        aDupText = ( ( ( !iString || !iString->Length() ) && 
-                       ( !string || !string->Length() ) ) ||
-                     ( iString && string && 
-                       *iString == string->Des() ) );        
-        }     
-
-    // Save the setup idle mode text, icon qulifier 
-    // and record id to member params.
-    delete iString;
-    iString = NULL; 
-    if ( string )
-        {
-        CleanupStack::PushL( string );
-        iString = HBufC::NewL( string->Size() );
-        TPtr ptr( iString->Des() );
-        ptr.Copy( string->Des() );  
-        CleanupStack::PopAndDestroy( string );        
-        }
-        
-    iIconQualifier = iconQualifier;
-    
-    iRecordId = recordId;
-    
-    TFLOGSTRING( "CAiSatNotifier::GetIdleModeData exits" ) 
-    }
-    
-// ---------------------------------------------------------------------------
-// Handles the Idle Text string command
-// ---------------------------------------------------------------------------
-//
-void CAiSatNotifier::GetIdleTextString( TPtrC& aString )
-    {
-    TFLOGSTRING( "CAiSatNotifier::GetIdleTextString calling" )
-
-    if ( iString )
-        {
-        TFLOGSTRING2( "CAiSatNotifier::IdleTextStringL exits, \
-                      length of string: %i", iString->Length() )
-        aString.Set( iString->Des() );
-        } 
-    else
-        {
-        aString.Set( KNullDesC );
-        } 
-    TFLOGSTRING( "CAiSatNotifier::GetIdleTextString exits" )                             
-    }
-   
-
-// ---------------------------------------------------------------------------
-// Handles the Idle Icon command.
-// ---------------------------------------------------------------------------
-//
-TUint8 CAiSatNotifier::IdleIconId()
-    {
-    TFLOGSTRING( "CAiSatNotifier::IdleIconId calling" ) 
-       
-    TFLOGSTRING2( "CAiSatNotifier::IdleIconId exits, id: %i", iRecordId )  
-    
-    return iRecordId;
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the Idle Icon Qulifier command.
-// ---------------------------------------------------------------------------
-//
-RSatService::TSatIconQualifier CAiSatNotifier::IdleIconQualifier()
-    {
-    TFLOGSTRING( "CAiSatNotifier::IdleIconQualifier calling" )  
-        
-    TFLOGSTRING2( "CAiSatNotifier::IdleIconQualifier exits, \
-        iconQualifier: %d", iIconQualifier )
-             
-    return iIconQualifier;
-    }
-    
-// ---------------------------------------------------------------------------
-// Handles the Plugin's NotifyContentUpdate command.
-// ---------------------------------------------------------------------------
-//
-void CAiSatNotifier::RunL()
-    {
-    TFLOGSTRING( "CAiSatNotifier::RunL calling" )
-
-    // Notify the plugin about the event through the MPluginAPI interface
-    if ( KErrNone == iStatus.Int() )
-        {              
-        // Notify plugin when the content update.
-        // The plugin should get data again.
-        iPlugin.NotifyContentUpdate();       
-        }
-    if ( !IsActive() )
-        {
-        Activate();
-        }           
-    TFLOGSTRING( "CAiSatNotifier::RunL exits" )
-
-    }
-
-// ---------------------------------------------------------------------------
-// Cancels the pending request
-// ---------------------------------------------------------------------------
-//
-void CAiSatNotifier::DoCancel()
-    {
-    TFLOGSTRING( "CAiSatNotifier::DoCancel calling" )
-
-    iSatService.NotifySetupIdleModeTextChangeCancel();  
-
-    TFLOGSTRING( "CAiSatNotifier::DoCancel exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// Default constructor
-// ---------------------------------------------------------------------------
-//
-CAiSatNotifier::CAiSatNotifier( MPluginAPI& aPlugin,  
-                                RSatService& aSatService ):
-    CActive( EPriorityStandard ),
-    iString( NULL ),
-    iRecordId( 0 ),
-    iIconQualifier( RSatService::ESatIconNoIcon ),
-    iPlugin( aPlugin ),
-    iSatService( aSatService ),
-    iFirstStartup( ETrue )
-    {
-    TFLOGSTRING( "CAiSatNotifier::CAiSatNotifier calling" )
-    
-    // Add to active scheduler
-    CActiveScheduler::Add( this );
-
-    TFLOGSTRING( "CAiSatNotifier::CAiSatNotifier exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// Continues listening to the Sat command
-// ---------------------------------------------------------------------------
-//
-void CAiSatNotifier::Activate()
-    {
-    TFLOGSTRING( "CAiSatNotifier:Activate() calling" )
-    
-    Cancel();   
-    TInt error = iSatService.NotifySetupIdleModeTextChange( iStatus );
-    TFLOGSTRING2( "CAiSatNotifier::Activate error: %i", error )
-    if ( KErrNone == error )
-		{
-    	SetActive();
-		}
-    TFLOGSTRING( "CAiSatNotifier:Activate() exits" )
-    }
--- a/satui/satplugin/aisatpluginsrc/caisatplugin.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,498 +0,0 @@
-/*
-* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  SAT Active Idle publisher
-*
-*/
-
-
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-#include <aicontentobserver.h>
-#include <aiutility.h>
-#include <aipluginsettings.h>
-#include <flogger.h>
-#include <AknUtils.h>
-#include <gulicon.h>            // For CGulIcon
-#include <fbs.h>                // For CFbsBitmap
-#include <SATInternalPSKeys.h>
-
-#include "aisatcontentmodel.h"
-#include "caisatplugin.h"
-#include "caisatengine.h"
-#include "tflogger.h"
-
-const TImplementationProxy KImplementationTable[] =
-    {
-    //lint -e{611,1924} Warning "Suspicious cast" can not be avoided.
-    IMPLEMENTATION_PROXY_ENTRY( KImplUidSatPlugin, CAiSatPlugin::NewL )
-    };
-    
-// static cleanup function
-static void TransactionCleanup( TAny* aAny )
-    {
-    static_cast<MAiContentObserver*>( aAny )->
-        CancelTransaction( KImplUidSatPlugin );
-    }
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave
-// ---------------------------------------------------------------------------
-//
-CAiSatPlugin* CAiSatPlugin::NewL()
-    {
-    TFLOGSTRING( "CAiSatPlugin::NewL() starts" )
-
-    CAiSatPlugin* self = new ( ELeave ) CAiSatPlugin;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    TFLOGSTRING( "CAiSatPlugin::NewL() exits" )
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// Deletes all data created to heap
-// ---------------------------------------------------------------------------
-//
-CAiSatPlugin::~CAiSatPlugin()
-    {
-    TFLOGSTRING( "CAiSatPlugin::~CAiSatPlugin() starts" )
-
-    Release( iContent );
-    iContent = NULL;
-    
-    Release( iResources );
-    iResources = NULL;
-    
-    Release( iEvents );
-    iEvents = NULL;
-
-    delete iEngine;
-    
-    iObservers.Close();
-
-    TFLOGSTRING( "CAiSatPlugin::~CAiSatPlugin() exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// Publish a icon to the idle area.
-// ---------------------------------------------------------------------------
-//
-TInt CAiSatPlugin::PublishIcon(
-    MAiContentObserver& aObserver,
-    CGulIcon* aIcon )
-    {
-    TFLOGSTRING( "CAiSatPlugin::PublishIcon() starts" )
-    
-    TInt error( KErrNotSupported );
-    
-    // Check whether the icon can be published or not.
-    if ( aIcon && aObserver.CanPublish( *this, KSatContent[ESatContentIcon].id,
-                                        ESatContentIcon ) )
-        {
-        // If the icon can be published, and then publish it.        
-        error = aObserver.Publish( *this, KSatContent[ESatContentIcon].id,
-                                    TPckgC<TAny*>( aIcon ), ESatContentIcon );
-        }
-
-    TFLOGSTRING2( "CAiSatPlugin::PublishIcon() exits, error: %d", error )
-    
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// Clean idle area icon
-// ---------------------------------------------------------------------------
-// 
-TInt CAiSatPlugin::CleanIcon( MAiContentObserver& aObserver )
-    {
-    TFLOGSTRING( "CAiSatPlugin::CleanIcon() starts" )
-    TInt error( KErrNotSupported );
-
-    error = aObserver.Clean( *this, KSatContent[ESatContentIcon].id,
-                             ESatContentIcon );    
-                             
-    TFLOGSTRING2( "CAiSatPlugin::CleanIcon() exits, error %d", error )    
-    return error;                        
-    }
-    
-// ---------------------------------------------------------------------------
-// Publish a SetUpIdleModeText string.
-// ---------------------------------------------------------------------------
-//
-TInt CAiSatPlugin::PublishText( MAiContentObserver& aObserver,
-                                const TDesC& aText )
-    {
-    TFLOGSTRING( "CAiSatPlugin::PublishText() starts" )
-    TFLOGSTRING2( "CAiSatPlugin::PublishText() length %i", aText.Length() )
-    
-    TInt error( KErrNotSupported );
-    
-    // Check whether the SetUpIdleModeText string can be published or not
-    if ( aText.Length() && 
-         aObserver.CanPublish( *this, KSatContent[ESatContentText].id,
-                               ESatContentText ) )
-        {
-        // If SetUpIdleModeText can be published, and then publish it.
-        error = aObserver.Publish( *this, KSatContent[ESatContentText].id,
-                                   aText, ESatContentText );
-        }        
-    TFLOGSTRING2( "CAiSatPlugin::PublishText() exits, error: \
-        %d", error )
-
-    return error;
-    }
- 
-// ---------------------------------------------------------------------------
-// Clean idle area text
-// ---------------------------------------------------------------------------
-// 
-TInt CAiSatPlugin::CleanText( MAiContentObserver& aObserver )
-    {
-    TFLOGSTRING( "CAiSatPlugin::CleanText() starts" )
-    TInt error( KErrNotSupported );
-
-    error = aObserver.Clean( *this, KSatContent[ESatContentText].id,
-                             ESatContentText );  
-                             
-    TFLOGSTRING2( "CAiSatPlugin::CleanText() exits, error %d", error )   
-    
-    return error;                          
-    }
-    
-// ---------------------------------------------------------------------------
-// Publishes the SAT Set Up Idle Mode Text and or Icon
-// ---------------------------------------------------------------------------
-//
-void CAiSatPlugin::PublishSatL()
-    {
-    TFLOGSTRING( "CAiSatPlugin::PublishSatL() starts" )
-    
-    TInt error( KErrNone );
-    TInt iconError( KErrNone );
-    TInt textError( KErrNone );
-    TInt observers( iObservers.Count() );
-    TInt transactionId( KImplUidSatPlugin );
-    MAiContentObserver* observer( NULL );
-    CGulIcon* icon( NULL ); // The icon for publishing.
-    TInt i( 0 );
-    TBool commitNeeded( EFalse );
-    
-    // Publish sat data to all observers.
-    TFLOGSTRING2( "CAiSatPlugin::PublishSatL() observer count: %i", observers )        
-    for ( i = 0; i < observers; i++ )
-        {
-        commitNeeded = EFalse;
-        observer = iObservers[i];
-        TFLOGSTRING2( "CAiSatPlugin::PublishSatL() observer id: %i", observer )
-        
-        // Start publish transaciton.
-        error = observer->StartTransaction( transactionId );
-        TCleanupItem item( TransactionCleanup, observer );
-        CleanupStack::PushL( item );
-
-        // Publish icon and text to idle mode area.
-        iEngine->ContentIconL( icon ); 
-        TPtrC text( KNullDesC );
-        iEngine->ContentText( text );  
-        if ( !icon && !text.Length() ) // Nothing
-            {
-            if ( !iDupIcon ) 
-                {
-                error = CleanIcon( *observer ); 
-                commitNeeded = ETrue;
-                }
-            if ( !iDupText )
-                {
-                error = CleanText( *observer );
-                commitNeeded = ETrue;                
-                }
-            }
-        else if ( icon && !text.Length() ) // Icon only
-            {
-            if ( !iDupIcon )                
-                { 
-                error = CleanIcon( *observer ); 
-                iconError = PublishIcon( *observer, icon );
-                commitNeeded = ETrue;
-                }  
-            if ( !iDupText )
-                {
-                error = CleanText( *observer );  
-                commitNeeded = ETrue;
-                }
-            }            
-        else if ( !icon && text.Length() ) // Text only
-            {   
-            if ( !iDupIcon ) 
-                {
-                error = CleanIcon( *observer );
-                commitNeeded = ETrue;
-                }
-            if ( !iDupText )
-                {
-                error = CleanText( *observer );
-                textError = PublishText( *observer, text );
-                commitNeeded = ETrue;
-                }
-            }
-        else // Text and icon
-            {
-            if ( !iDupIcon )                
-                {
-                error = CleanIcon( *observer );
-                iconError = PublishIcon( *observer, icon );
-                commitNeeded = ETrue;
-                }            
-            if ( !iDupText )
-                {
-                error = CleanText( *observer );
-                textError = PublishText( *observer, text );
-                commitNeeded = ETrue;
-                }              
-            }    
-                     
-        // Commit the publishing of the icon and text.
-        if ( !textError && !iconError && commitNeeded )
-            {
-            TFLOGSTRING( "CAiSatPlugin::PublishSatL() commit transaction" )  
-            error = observer->Commit( transactionId );
-            }
-        else
-            {
-            TFLOGSTRING( "CAiSatPlugin::PublishSatL() cancel transaction" )  
-            error = observer->CancelTransaction( transactionId );
-            }   
-        CleanupStack::Pop();
-        }
-
-    TFLOGSTRING( "CAiSatPlugin::PublishSatL() exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// CAiSatPlugin::Start
-// 
-// ---------------------------------------------------------------------------
-//
-void CAiSatPlugin::Start( TStartReason /*aReason*/ )
-    {    
-    TFLOGSTRING( "CAiSatPlugin::Start() starts" )
-    
-    iPublishRequired = ETrue;
-    
-    TFLOGSTRING( "CAiSatPlugin::Start() exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// CAiSatPlugin::Stop
-// 
-// ---------------------------------------------------------------------------
-//
-void CAiSatPlugin::Stop( TStopReason /*aReason*/ )
-    {
-    TFLOGSTRING( "CAiSatPlugin::Stop() starts - exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// CAiSatPlugin::Resume
-// 
-// ---------------------------------------------------------------------------
-//
-void CAiSatPlugin::Resume( TResumeReason aReason )
-    {
-    TFLOGSTRING2( "CAiSatPlugin::Resume() reason %d", aReason )
-
-    if ( aReason == EForeground )
-        {
-        if ( iPublishRequired )
-            {
-            iPublishRequired = EFalse;
-            
-            TRAP_IGNORE( UpdateSatL() )                       
-            }
-        }
-            
-    TFLOGSTRING( "CAiSatPlugin::Resume() exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// CAiSatPlugin::Suspend
-// 
-// ---------------------------------------------------------------------------
-//
-void CAiSatPlugin::Suspend( TSuspendReason aReason )
-    {
-    TFLOGSTRING( "CAiSatPlugin::Suspend() starts" )
-    
-    if ( aReason == EGeneralThemeChange )
-        {
-        iPublishRequired = ETrue;
-        }
-    
-    TFLOGSTRING( "CAiSatPlugin::Suspend() exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// CAiSatPlugin::SubscribeL
-// 
-// ---------------------------------------------------------------------------
-//
-void CAiSatPlugin::SubscribeL( MAiContentObserver& aObserver )
-    {
-    TFLOGSTRING( "CAiSatPlugin::SubscribeL() starts" )
-
-    iObservers.AppendL( &aObserver );
-
-    TFLOGSTRING( "CAiSatPlugin::SubscribeL() exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// CAiSatPlugin::ConfigureL
-// 
-// ---------------------------------------------------------------------------
-//
-void CAiSatPlugin::ConfigureL( RAiSettingsItemArray& aSettings )
-    {
-    TFLOGSTRING( "CAiSatPlugin::ConfigureL() starts" )
-
-    TInt count = aSettings.Count();
-    TFLOGSTRING2( "CAiSatPlugin::ConfigureL  count: %d", count )
-    if ( count > 0 )
-        {
-        TInt i( 0 );
-        for ( i = 0; i < count; i++ )
-            {
-            MAiPluginSettings* settings = aSettings[i];
-            MAiPluginSettingsItem& item = settings->AiPluginSettingsItem();
-            item.SetValueL( item.Value(), EFalse );
-            }
-        TFLOGSTRING2( "CAiSatPlugin::ConfigureL  i: %d", i )    
-        }
-	
-    TFLOGSTRING( "CAiSatPlugin::ConfigureL() exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// CAiSatPlugin::GetProperty
-// 
-// ---------------------------------------------------------------------------
-//
-TAny* CAiSatPlugin::GetProperty( TProperty aProperty )
-    {
-    TFLOGSTRING( "CAiSatPlugin::GetProperty() starts" )
-    
-    TAny* property( NULL );
-    
-    TFLOGSTRING2( "CAiSatPlugin::GetProperty aProperty: %d", aProperty )
-
-    if ( aProperty == EPublisherContent )
-        {            
-        property = iContent;            
-        }
-    else if ( aProperty == EPublisherResources )
-        {
-        property = iResources;
-        }
-    else if ( aProperty == EPublisherEvents )
-        {
-        property = iEvents;
-        }
-
-    TFLOGSTRING( "CAiSatPlugin::GetProperty() exits" )
-
-    return property;
-    }
-
-// ---------------------------------------------------------
-// This method is called from the engine, when the P&S
-// data content has been changed. Method call is made through
-// the MPluginAPI interface.
-// ---------------------------------------------------------
-//
-void CAiSatPlugin::NotifyContentUpdate()
-    {
-    TFLOGSTRING( "CAiSatPlugin::NotifyContentUpdate() starts" )
-    
-    if ( iEngine )
-        {
-        // Get the idle mode data first.
-        TRAP_IGNORE( iEngine->PrepareIdleModeDataL( iDupIcon, iDupText ) );
-        
-        // Send response to client side
-        TRAP_IGNORE( iEngine->HandleNotifyL() );   
-                            
-        // Publish set up idle mode data           
-        TRAP_IGNORE( PublishSatL() );  
-        }
-
-    TFLOGSTRING( "CAiSatPlugin::NotifyContentUpdate() exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// Default constructor
-// ---------------------------------------------------------------------------
-//
-CAiSatPlugin::CAiSatPlugin()
-    {
-    TFLOGSTRING( "CAiSatPlugin::CAiSatPlugin() starts-exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave
-// ---------------------------------------------------------------------------
-//
-void CAiSatPlugin::ConstructL()
-    {
-    TFLOGSTRING( "CAiSatPlugin::ConstructL() starts" )
-
-    iContent = AiUtility::CreateContentItemArrayIteratorL( KSatContent );
-    iResources = AiUtility::CreateContentItemArrayIteratorL( KSatResources );
-    iEvents = AiUtility::CreateContentItemArrayIteratorL( KSatEvents );
-
-    iEngine = CAiSatEngine::NewL( *this );
-
-    TFLOGSTRING( "CAiSatPlugin::ConstructL() exits" )
-    }
-
-// ---------------------------------------------------------------------------
-// Update idle area when plug in reload.
-// ---------------------------------------------------------------------------
-//
-void CAiSatPlugin::UpdateSatL()
-    {
-    TFLOGSTRING( "CAiSatPlugin::UpdateSatL() starts" )
-    iEngine->PrepareIdleModeDataL( iDupIcon, iDupText );
-    PublishSatL();                
-    TFLOGSTRING( "CAiSatPlugin::UpdateSatL() exits" )
-    }
-
-// ============================ GLOBAL FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Constructs and returns an application object.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount )
-    {
-    TFLOGSTRING( "CAiSatPlugin::ImplementationGroupProxy() starts-exits" )
-    aTableCount =
-        sizeof( KImplementationTable ) / sizeof( TImplementationProxy );
-
-    return KImplementationTable;
-    }
Binary file satui/satplugin/data/SatPlugin_Stub.SIS has changed
--- a/satui/satplugin/data/aisatplugin.rss	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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:  Registry info
- *
-*/
-
-
-// INCLUDES
-#include <ecom/registryinfov2.rh>
-#include <hscontentpublisheruid.hrh>
-#include "../aisatplugininc/aisatpluginuids.hrh"
-
-/**
- * Ecom interface uid for CAiContentPublisher.
- */
-
-
-// RESOURCE DEFINITIONS 
-// -----------------------------------------------------------------------------
-//   
-// registry_info
-// Registry information required for identifying the ECOM component
-//
-// -----------------------------------------------------------------------------
-//
-
-RESOURCE REGISTRY_INFO registry_info
-{
-    resource_format_version = RESOURCE_FORMAT_VERSION_2;
-
-    // UID for the DLL
-    dll_uid = AI_UID_ECOM_DLL_CONTENTPUBLISHER_SATPLUGIN;  // SAT plugin UID
-
-    // Declare array of interface info
-    interfaces = 
-    {
-        INTERFACE_INFO
-        {
-            // UID of interface that is implemented
-            interface_uid = HS_UID_ECOM_INTERFACE_CONTENTPUBLISHER; 
-
-            implementations = 
-            {
-                IMPLEMENTATION_INFO
-                {
-                    implementation_uid = AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_SATPLUGIN;
-                    version_no         = 1;
-                    display_name       = "";
-                    default_data       = "";
-                    opaque_data        = "";
-                }
-            };
-        }
-    };
-}
-
-
-// End of File
--- a/satui/satplugin/group/SatPlugin_stub.pkg	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: For packing aisatplugin stub.
-;
-; Languages
-&EN
-
-; Header
-#{"aisatplugin"}, (0x102078EA), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Files
-""-"z:\sys\bin\aisatplugin.dll"
\ No newline at end of file
--- a/satui/satplugin/group/aisatplugin.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  Project definition file for project SatPlugin
-*
-*/
-
-
-// USED FOR RESOURCE
-#include <data_caging_paths.hrh> 
-#include <platform_paths.hrh>
-#include "../aisatplugininc/aisatpluginuids.hrh"
-
-TARGET          aisatplugin.dll
-
-TARGETTYPE      PLUGIN
-
-// Nokia's Vendor ID
-VENDORID        VID_DEFAULT
-// Capability assignment
-CAPABILITY      CAP_ECOM_PLUGIN  
-
-// ECom Dll recognition UID followed by the unique UID for this dll
-UID             0x10009D8D  AI_UID_ECOM_DLL_CONTENTPUBLISHER_SATPLUGIN
-
-SOURCEPATH      ../aisatpluginsrc
-SOURCE          caisatplugin.cpp
-SOURCE          caisatengine.cpp
-SOURCE          caisatnotifier.cpp
-
-USERINCLUDE     ../aisatplugininc
-
-APP_LAYER_SYSTEMINCLUDE // Temp fix for Symbian foundation structure change.
-SYSTEMINCLUDE   ../../../inc            // Domain telephony
-SYSTEMINCLUDE   ../../inc               // Subsystem satui
-
-TARGETPATH      ECOM_RESOURCE_DIR
-
-SOURCEPATH      ../data
-START RESOURCE  aisatplugin.rss
-TARGET          aisatplugin.rsc
-END
-
-// Symbian OS general
-LIBRARY         euser.lib
-LIBRARY         ECom.lib
-LIBRARY         fbscli.lib
-LIBRARY         flogger.lib
-LIBRARY         bitgdi.lib
-LIBRARY         Gdi.lib
-LIBRARY         bafl.lib 
-LIBRARY         CentralRepository.lib
-LIBRARY         CenRepNotifHandler.lib
-LIBRARY         satclient.lib
-LIBRARY         aiutils.lib
-LIBRARY         egul.lib                // CGulIcon
--- a/satui/satplugin/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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:  The build information file of SatPlug-in
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../data/SatPlugin_Stub.SIS      /epoc32/data/z/system/install/SatPlugin_stub.sis
-../rom/aisatplugin.iby           CORE_MW_LAYER_IBY_EXPORT_PATH( aisatplugin.iby )
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-    ./aisatplugin.mmp
-
-PRJ_TESTMMPFILES
-
--- a/satui/satplugin/rom/aisatplugin.iby	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  IBY file for SAT plug-in
-*
-*/
-
-
-#ifndef AISATPLUGIN_IBY
-#define AISATPLUGIN_IBY
-#include <bldvariant.hrh>
-
-ECOM_PLUGIN(aisatplugin.dll, aisatplugin.rsc)
-
-// SAT Stub SIS
-data=ZSYSTEM\install\SatPlugin_stub.sis         System\Install\SatPlugin_stub.sis
-
-#endif // AISATPLUGIN_IBY
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satshellcontroller/bwins/SATSHELLCNTRLU.DEF	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	?NewSatController@@YAPAVMSatShellController@@XZ @ 1 NONAME ; class MSatShellController * __cdecl NewSatController(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satshellcontroller/eabi/SatShellCntrlU.DEF	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,5 @@
+EXPORTS
+	_Z16NewSatControllerv @ 1 NONAME
+	_ZTI19CSatShellController @ 2 NONAME ; #<TI>#
+	_ZTV19CSatShellController @ 3 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satshellcontroller/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Build information file for project SATUI
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+./satshellcntrl.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satshellcontroller/group/satshellcntrl.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2003-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:  SatShellCntrl mmp- file
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET                  satshellcntrl.dll
+TARGETTYPE              dll
+UID                     0x1000008D 0x1000A835
+SECUREID                0x1000A835
+
+CAPABILITY              CAP_GENERAL_DLL
+VENDORID                VID_DEFAULT
+
+SOURCEPATH              ../src
+SOURCE                  csatshellcontroller.cpp
+
+USERINCLUDE             ../inc
+
+// Application layer system include is needed due MenuSatInterface provided by AppShell
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE           ../../../inc            // Domain telephony
+
+LIBRARY                 euser.lib
+LIBRARY                 apparc.lib              // RApaLsSession
+LIBRARY                 apgrfx.lib              // CApaCommandLine
+LIBRARY                 ws32.lib                // RWsSession
+LIBRARY                 menuinterface.lib
+LIBRARY                 flogger.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satshellcontroller/inc/csatshellcontroller.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,189 @@
+/*
+* Copyright (c) 2003-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 SAT Shell Controller class that is responsible
+*     for the actual implementation of the following functionality:
+*       - add SAT UI application to Desk (or similar)
+*       - remove SAT UI application from Desk (or similar)
+*       - bring SAT UI application to foreground if it already is up
+*           and running
+*       - launching the SAT UI application
+*       - launching the Browser
+*       - resolving default access point
+*       - bring Browser to the foreground
+*
+*
+*/
+
+
+#ifndef CSATSHELLCONTROLLER_H
+#define CSATSHELLCONTROLLER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <MSatShellController.h>
+
+// CONSTS
+const TInt KSatAppNameSize = 255;       //Context pane max
+
+// CLASS DECLARATION
+
+// DESCRIPTION
+// This class is used to control adding, removing and launching of
+// the SAT UI Client application. It connects to appropriate module
+// and is used by the SAT Server.
+
+class CSatShellController : public CBase,
+    public MSatShellController
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CSatShellController* NewL();
+
+        /**
+        * Destructor.
+        */
+        virtual ~CSatShellController();
+
+    public: // New functions
+
+        /**
+        * Adds SAT UI Client to the Application Shell (or similar).
+        * @param aName Name of the entry
+        * @param aUid UID of the SAT UI Application
+        * @return Nothing
+        */
+        void AddSatUiL( TDesC& aName );
+
+        /**
+        * Adds SAT UI Client to the Application Shell (or similar).
+        * @param aName Name of the entry
+        * @param aIconId Id for icons
+        * @return Nothing
+        */
+        void AddSatUiL( TDesC& aName, TUint8 aIconId );
+
+        /**
+        * Removes SAT UI Client from the Application Shell (or similar).
+        * @param aUid UID of the SAT UI Application
+        * @return Nothing
+        */
+        void RemoveSatUiL();
+
+        /**
+        * Launches the SAT UI Client.
+        * @param aUid UID of the SAT UI Application
+        * @return Nothing
+        */
+        void LaunchSatUiL();
+
+        /**
+        * Brings Browser to foreground after period of time.
+        * @param Nothing
+        * @return Nothing
+        */
+        void BringBrowserToForegroundAfterPeriod();
+
+        /**
+        * Bring the SAT UI Application to foreground.
+        * @param Nothing
+        * @return Nothing
+        */
+        void BringSatUiToForeground();
+        
+        /**
+        * Sets SAT UI Application to background if needed.
+        */
+        void SetSatUiToBackground() const;
+
+        /**
+        * Launch XHTML-browser
+        * @param aUrl URL to be opened when launching browser
+        * @param aAccessPointUid ID number of access point in CommDb
+        * @return The result of the operation
+        */
+        TInt LaunchBrowserL( const TDesC& aUrl, TUid aAccessPointUid );
+
+        /**
+        * Resolves Browsers default accesspoint, if any available.
+        * @return Accesspoint identifier.
+        */
+        TInt ResolveDefaultAccesspoint();
+
+        /**
+        * This callback function is used to call Browser to the foreground
+        * after short while.
+        * @param aObject Pointer to caller is passed to callback function.
+        * @return Callback function should return TInt.
+        */
+        static TInt TimerCompleted( TAny* aObject );
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CSatShellController();
+
+        /**
+        * By default constructor is private.
+        */
+        void ConstructL();
+
+        /**
+        * Bring the SAT UI Application to foreground.
+        * @param aAppUid The UID value of application.
+        * @return Nothing
+        */
+        void BringApplicationToForeground( const TUid& aAppUid ) const;
+
+        /**
+        * Brings Browser to foreground.
+        * @param Nothing
+        * @return Nothing
+        */
+        void BringBrowserToForeground() const;
+
+        /**
+        * Checks if Browser is not foreground and starts that if needed.
+        * @param Nothing
+        * @return Nothing
+        */
+        void CycleSatUiBackwards();
+        
+        /**
+        * Check if SatUi is needed to set to background.
+        * @param Nothing
+        * @return Nothing
+        */
+        void CheckSatUiStatus();
+
+    private:    // Data
+
+        TBufC<KSatAppNameSize>  iSimAppName;
+        TUid                    iUidWmlBrowser;
+        RWsSession              iWsSession;
+        RApaLsSession           iApaLsSession;
+        // Timer for checking Browser start.
+        CPeriodic*              iTimer;
+        TBool                   iSetSatUiToBackground;
+
+    };
+
+#endif      // CSATSHELLCONTROLLER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satshellcontroller/inc/tflogger.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Defines logging macroes
+*
+*/
+
+
+#ifndef __TFLOGGER_H__
+#define __TFLOGGER_H__
+
+#include <flogger.h>
+#include <e32svr.h>
+
+_LIT( KTfLogFolder, "sat" );
+_LIT( KTfLogFile, "sat.txt" );
+
+/**
+* ------------------------------------------------------------------------------
+*
+*  Remove #define LOGGING_ENABLED from comments to enable logging
+*
+* ------------------------------------------------------------------------------
+*/
+
+//#define LOGGING_ENABLED
+                				
+/**
+* ------------------------------------------------------------------------------
+*
+*  LOGGING MACROs
+*
+*  USE THESE MACROS IN YOUR CODE
+*
+*  Example: TFLOGTEXT( own_desc )
+*  Example: TFLOGSTRING( "Test" )
+*  Example: TFLOGSTRING( "Test %i", aValue )
+*  Example: TFLOGSTRING( "Test %i %i", aValue1, aValue2 )
+*
+* ------------------------------------------------------------------------------
+*/
+
+#ifdef LOGGING_ENABLED
+
+    #define TFLOGTEXT( TEXT ) \
+        {  \
+        RFileLogger::Write( KTfLogFolder,KTfLogFile, \
+            EFileLoggingModeAppend, TEXT ); \
+        RDebug::Print( TEXT ); \
+        }
+
+    #define TFLOGSTRING( TEXT ) \
+        { \
+        _LIT( tempLogDes, TEXT ); \
+        RFileLogger::Write( \
+            KTfLogFolder, \
+            KTfLogFile, \
+            EFileLoggingModeAppend, \
+            tempLogDes() ); \
+        RDebug::Print( _L( TEXT ) ); \
+        }
+        
+    #define TFLOGSTRING2( TEXT, VAR1 ) \
+        { \
+        _LIT( tempLogDes, TEXT ); \
+        RFileLogger::WriteFormat( \
+            KTfLogFolder, \
+            KTfLogFile, \
+            EFileLoggingModeAppend, \
+            TRefByValue<const TDesC>( tempLogDes() ), VAR1 ); \
+        RDebug::Print( _L( TEXT ), VAR1 ); \
+        }
+        
+    #define TFLOGSTRING3( TEXT, VAR1, VAR2 ) \
+        { \
+        _LIT( tempLogDes, TEXT ); \
+        RFileLogger::WriteFormat( \
+            KTfLogFolder, \
+            KTfLogFile, \
+            EFileLoggingModeAppend, \
+            TRefByValue<const TDesC>( tempLogDes() ), VAR1, VAR2 ); \
+        RDebug::Print( _L( TEXT ), VAR1, VAR2 ); \
+        }
+
+#else
+
+    #define TFLOGTEXT( TEXT )
+    #define TFLOGSTRING( TEXT )
+    #define TFLOGSTRING2( TEXT, VAR1 )
+    #define TFLOGSTRING3( TEXT, VAR1, VAR2 )
+
+#endif // LOGGING_ENABLED
+
+#endif // __TFLOGGER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satshellcontroller/src/csatshellcontroller.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,551 @@
+/*
+* Copyright (c) 2003-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 SAT Shell Controller class that is responsible
+*     for the actual implementation of the following functionality:
+*       - add SAT UI application to Desk (or similar)
+*       - remove SAT UI application from Desk (or similar)
+*       - bring SAT UI application to foreground if it already is up
+*           and running
+*       - launching the SAT UI application
+*       - launching the Browser
+*       - resolving default access point
+*       - bring Browser to the foreground
+*
+*
+*/
+
+
+//  INCLUDE FILES
+#include <w32std.h>             // RWsSession
+#include <apaid.h>              // TApaAppInfo
+#include <apacmdln.h>           // CApaCommandLine
+#include <apgcli.h>             // RApaLsSession
+#include <apgtask.h>            // TApaTaskList
+#include <apgwgnam.h>           // CApaWindowGroupName
+#include <MenuSatInterface.h>   // CMenuSATInterface
+#include <DocumentHandler.h>    // KWmlcHandler
+#include "csatshellcontroller.h"
+
+// Browser Cen Rep Keys.
+#ifdef __SERIES60_NATIVE_BROWSER
+//    #include <BrowserUiSDKCRKeys.h> Commented out to allow sat server boot TB10.1 
+//    #include <BrowserUiInternalCRKeys.h>
+#endif // __SERIES60_NATIVE_BROWSER
+#include "tflogger.h"
+
+// CONSTANTS
+const TUid KUidSatUi = { 0x101f4ce0 };
+_LIT( KFour, "4" );                     // Browser parameter.
+_LIT( KFive, "5" );                     // Browser parameter.
+_LIT( KSpace, " " );                    // Used as Browser parameter.
+static const TUid KEmptyUid = { KErrNotFound };
+static const TUid KUidBrowser = { KWmlcHandler };
+const TInt KTimerTime( 2000000 );       // 2 seconds.
+const TInt KBrowserParamAndTwoSpaces( 3 );
+#ifndef __SERIES60_NATIVE_BROWSER
+    const TUid KCRUidBrowser = { 0x10008D39 };
+    const TUint32 KBrowserDefaultAccessPoint( 0x0000000E );
+#endif // __SERIES60_NATIVE_BROWSER
+
+// ================= MEMBER FUNCTIONS =======================================
+
+// C++ default constructor can NOT contain any code that
+// might leave.
+//
+CSatShellController::CSatShellController():
+    iUidWmlBrowser( TUid::Uid( KWmlcHandler ))
+    {
+    TFLOGSTRING( "CSatShellController::CSatShellController called-exit" )
+    }
+
+// Symbian OS constructor
+void CSatShellController::ConstructL()
+    {
+    TFLOGSTRING( "CSatShellController::ConstructL called" )
+
+    // Timer is used to get the Browser application to the foreground.
+    iTimer = CPeriodic::NewL( EPriorityNormal );
+
+    TFLOGSTRING( "CSatShellController::ConstructL exit" )
+    }
+
+// Two-phased constructor.
+CSatShellController* CSatShellController::NewL()
+    {
+    TFLOGSTRING( "CSatShellController::NewL called" )
+
+    CSatShellController* self = new ( ELeave ) CSatShellController;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    TFLOGSTRING( "CSatShellController::NewL exit" )
+    return self;
+    }
+
+
+// Destructor
+CSatShellController::~CSatShellController()
+    {
+    TFLOGSTRING( "CSatShellController::~CSatShellController called" )
+
+    // Frees resources.
+    if ( iTimer )
+        {
+        iTimer->Cancel();
+        }
+    delete iTimer;
+
+    TFLOGSTRING( "CSatShellController::~CSatShellController exit" )
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::AddSatUiL
+// Adds SAT UI Client application to phone's
+// Application Shell (or similar).
+// ---------------------------------------------------------
+//
+void CSatShellController::AddSatUiL(
+    TDesC& aName )
+    {
+    TFLOGSTRING( "CSatShellController::AddSatUiL(name) called" )
+
+    iSimAppName = aName;
+
+    CMenuSATInterface* menu = new ( ELeave ) CMenuSATInterface;
+    menu->MakeSatUiVisible( ETrue, aName );
+    delete menu;
+
+    TFLOGSTRING( "CSatShellController::AddSatUiL exit" )
+    }
+
+//------------------------------------------------------------
+// CSatShellController::AddSatUiL
+// Adds SAT UI Client application to phone's
+// Application Shell (or similar).
+// ---------------------------------------------------------
+//
+void CSatShellController::AddSatUiL(
+    TDesC& aName, TUint8 aIconId )
+    {
+    TFLOGSTRING( "CSatShellController::AddSatUiL(name,icon) called" )
+
+    iSimAppName = aName;
+
+    CMenuSATInterface* menu = new ( ELeave ) CMenuSATInterface;
+    menu->MakeSatUiVisible( ETrue, aName, aIconId );
+    delete menu;
+
+    TFLOGSTRING( "CSatShellController::AddSatUiL exit" )
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::RemoveSatUiL
+// Removes SAT UI Client application from phone's
+// Application Shell (or similar).
+// ---------------------------------------------------------
+//
+
+void CSatShellController::RemoveSatUiL()
+    {
+    TFLOGSTRING( "CSatShellController::RemoveSatUiL called" )
+
+    CMenuSATInterface* menu = new ( ELeave ) CMenuSATInterface;
+    menu->MakeSatUiVisible( EFalse, iSimAppName );
+    delete menu;
+
+    TFLOGSTRING( "CSatShellController::RemoveSatUiL exit" )
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::LaunchSatUiL
+// Launches SAT UI Client application.
+// ---------------------------------------------------------
+//
+void CSatShellController::LaunchSatUiL()
+    {
+    TFLOGSTRING( "CSatShellController::LaunchSatUiL called" )
+
+    RApaLsSession rapaLsSession;
+    User::LeaveIfError( rapaLsSession.Connect() );
+    CleanupClosePushL( rapaLsSession );
+    TThreadId id( static_cast<TInt64>( 0 ) );
+    TApaAppInfo appInfo;
+
+    User::LeaveIfError( rapaLsSession.GetAppInfo( appInfo, KUidSatUi ) );
+    CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
+    cmdLine->SetExecutableNameL( appInfo.iFullName );
+    cmdLine->SetCommandL( EApaCommandOpen );
+    rapaLsSession.StartApp( *cmdLine, id );
+
+    CleanupStack::PopAndDestroy( cmdLine );
+    CleanupStack::PopAndDestroy( &rapaLsSession );
+
+    TFLOGSTRING( "CSatShellController::LaunchSatUiL exit" )
+    }
+
+
+// ---------------------------------------------------------
+// CSatShellController::BringBrowserToForeground
+// Brings the Browser to foreground.
+// ---------------------------------------------------------
+//
+void CSatShellController::BringBrowserToForeground() const
+    {
+    TFLOGSTRING( "CSatShellController::BringBrowserToForeground called" )
+
+    BringApplicationToForeground( iUidWmlBrowser );
+
+    TFLOGSTRING( "CSatShellController::BringBrowserToForeground exit" )
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::BringBrowserToForegroundAfterPeriod
+// Brings the Browser to foreground after time has passed.
+// ---------------------------------------------------------
+//
+void CSatShellController::BringBrowserToForegroundAfterPeriod()
+    {
+    TFLOGSTRING(
+        "CSatShellController::BringBrowserToForegroundAfterPeriod called" )
+
+    if ( !iTimer->IsActive() )
+        {
+        TFLOGSTRING(
+            "CSatShellController::BringBrowserToForegroundAfterPeriod \
+             start iTimer" )
+        iTimer->Start( KTimerTime,
+                       KTimerTime,
+                       TCallBack( TimerCompleted, this ) );
+        }
+
+    TFLOGSTRING(
+        "CSatShellController::BringBrowserToForegroundAfterPeriod exit" )
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::BringSatUiToForeground
+// Brings the SAT UI application to foreground.
+// ---------------------------------------------------------
+//
+void CSatShellController::BringSatUiToForeground()
+    {
+    TFLOGSTRING( "CSatShellController::BringSatUiToForeground called" )
+
+    CheckSatUiStatus();
+    BringApplicationToForeground( KUidSatUi );
+
+    TFLOGSTRING( "CSatShellController::BringSatUiToForeground exit" )
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::BringApplicationToForeground
+// Brings the SAT UI application to foreground.
+// ---------------------------------------------------------
+//
+void CSatShellController::BringApplicationToForeground(
+    const TUid& aAppUid ) const
+    {
+    TFLOGSTRING( "CSatShellController::BringApplicationToForeground called" )
+
+    RWsSession wsSession;
+    // Open the WS server session.
+    if ( KErrNone == wsSession.Connect() )
+        {
+        TFLOGSTRING( "CSatShellController::BringApplicationToForeground \
+            open WS server session" )
+        TApaTaskList tasklist( wsSession );
+        // Find the task with uid
+        TApaTask task = tasklist.FindApp( aAppUid );
+        task.BringToForeground();
+        wsSession.Close();
+        }
+
+    TFLOGSTRING( "CSatShellController::BringApplicationToForeground exit" )
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::SetSatUiToBackground
+// Sets SAT UI Application to background if needed.
+// ---------------------------------------------------------
+//
+void CSatShellController::SetSatUiToBackground() const
+    {
+    TFLOGSTRING( "CSatShellController::SetSatUiToBackground called" )
+    
+    if ( iSetSatUiToBackground )
+        {
+        RWsSession wsSession;
+        // Open the WS server session.
+        if ( KErrNone == wsSession.Connect() )
+            {
+            TFLOGSTRING( "CSatShellController::SetSatUiToBackground \
+                open WS server session" )
+            TApaTaskList tasklist( wsSession );
+            // Find the task with uid
+            TApaTask task = tasklist.FindApp( KUidSatUi );
+            task.SendToBackground();
+            wsSession.Close();
+            }            
+        }
+                    
+    TFLOGSTRING( "CSatShellController::SetSatUiToBackground exit" )                    
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::CycleSatUiBackwards
+// Brings the SAT UI application to foreground.
+// ---------------------------------------------------------
+//
+void CSatShellController::CycleSatUiBackwards()
+    {
+    TFLOGSTRING( "CSatShellController::BringSatUiToForeground called" )
+
+    RWsSession wsSession;
+    // Open the WS server session.
+    if ( KErrNone == wsSession.Connect() )
+        {
+        TFLOGSTRING( "CSatShellController::CycleSatUiBackwards \
+            open WS server session" )
+        TApaTaskList taskList( wsSession );
+        // Finds topmost application.
+        TApaTask task = taskList.FindByPos(0);
+        iTimer->Cancel();
+
+        CApaWindowGroupName* name = 0;
+        TRAPD( err,
+            name = CApaWindowGroupName::NewL( wsSession, task.WgId() ) );
+
+        if ( name )
+            {
+            // Check is that Browser is foremost application.
+            if ( !err && ( name->AppUid() == KUidBrowser ) )
+                {
+                TFLOGSTRING(
+                    "CSatShellController::BSUTF Browser is in foreground" )
+                }
+            else
+                {
+                TFLOGSTRING(
+                    "CSatShellController::BSUTF Browser isn't in foreground" )
+                TApaTask browserTask = taskList.FindApp( KUidBrowser );
+                browserTask.BringToForeground();
+                iTimer->Start(
+                    KTimerTime, KTimerTime, TCallBack( TimerCompleted, this ) );
+                }
+
+            delete name;
+            }
+
+        wsSession.Close();
+        }
+
+    TFLOGSTRING( "CSatShellController::BringSatUiToForeground exit" )
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::TimerCompleted
+// Callback function. Completes after predefined
+// time has passed
+// ---------------------------------------------------------
+//
+TInt CSatShellController::TimerCompleted( TAny* aObject )
+    {
+    TFLOGSTRING( "CSatShellController::TimerCompleted called" )
+
+    if ( aObject )
+        {
+        STATIC_CAST( CSatShellController*, aObject )->CycleSatUiBackwards();
+        }
+
+    TFLOGSTRING( "CSatShellController::TimerCompleted exit" )
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------
+// CSatShellController::LaunchBrowserL
+// Launch XHTML-browser
+// Browser launched with parameter
+// "4" + "<Space>" + "<Url>" + "<Space>" + "<UID of App>" or "5"
+// More information see Browser API Specification Document
+// ---------------------------------------------------------
+//
+TInt CSatShellController::LaunchBrowserL( const TDesC& aUrl,
+     TUid aAccessPointUid )
+    {
+    TFLOGSTRING( "CSatShellController::LaunchBrowserL called" )
+
+    TInt errorCode( KErrNone );
+    HBufC* param = HBufC::NewLC( aUrl.Length() + KMaxUidName +
+        KBrowserParamAndTwoSpaces );
+    
+    TFLOGSTRING2( "CSatShellController::LaunchBrowserL length of aUrl: %d", \
+        aUrl.Length() )
+    if ( aUrl.Length() > 0 )
+        {
+        param->Des().Copy( KFour );
+        param->Des().Append( KSpace );
+        param->Des().Append( aUrl );
+        TFLOGSTRING2( "CSatShellController::LaunchBrowserL \
+                      aAccessPointUid: %d", aAccessPointUid )
+        // Create script for Browser if not empty accesspoint UID.
+        if ( aAccessPointUid != KEmptyUid )
+            {
+            TFLOGSTRING( "CSatShellController::LaunchBrowserL not empty \
+                accesspoint" )
+            // Uid is in decimal format
+            param->Des().Append( KSpace );
+            param->Des().AppendNum( aAccessPointUid.iUid );
+            }
+
+        }
+    else
+        {
+        param->Des().Copy( KFive );
+        }
+
+    User::LeaveIfError( iWsSession.Connect() );
+
+    TFLOGSTRING2( "CSatShellController::LaunchBrowserL \
+                   param string: %S", param )
+    TApaTaskList taskList( iWsSession );
+    TApaTask task = taskList.FindApp( iUidWmlBrowser );
+
+    // If browser already open.
+    if ( task.Exists() )
+        {
+        TFLOGSTRING( "CSatShellController::LaunchBrowserL browser open" )
+        HBufC8* param8 = HBufC8::NewLC( param->Length() );
+        param8->Des().Append( *param );
+        errorCode = task.SendMessage( TUid::Uid( 0 ), param8->Des() );
+        CleanupStack::PopAndDestroy( param8 );
+        }
+    else
+        {
+        TFLOGSTRING( "CSatShellController::LaunchBrowserL launch browser" )
+        // Launch the Browser.
+        TThreadId id( static_cast<TInt64>( 0 ) );
+        RApaLsSession rapaLsSession;
+        User::LeaveIfError( rapaLsSession.Connect() );
+        errorCode = rapaLsSession.StartDocument( *param, iUidWmlBrowser, id );
+        rapaLsSession.Close();
+        }
+
+    BringBrowserToForeground();
+
+    iWsSession.Close();
+    CleanupStack::PopAndDestroy( param );
+
+    TFLOGSTRING2( "CSatShellController::LaunchBrowserL exit %d", errorCode )
+    return errorCode;
+    }
+
+// -----------------------------------------------------------------------------
+// CSatShellController::ResolveDefaultAccesspoint
+// Resolves Browser's default accesspoint.
+// -----------------------------------------------------------------------------
+//
+TInt CSatShellController::ResolveDefaultAccesspoint()
+    {
+    TFLOGSTRING( "CSatShellController::ResolveDefaultAccesspoint called" )
+
+    // Initialize with error value for wrong access point.
+    TInt apInt( KErrNotFound );
+/* Commented out to enable SAT Server boot,
+add TB10.1 implementation later
+
+    TInt err( KErrNone );
+    CRepository* repository = NULL;
+
+    // Which UID to monitor.
+    TRAP( err, repository = CRepository::NewL( KCRUidBrowser ) );
+
+    if ( ( KErrNone == err  ) && repository )
+        {
+        err = repository->StartTransaction(
+            CRepository::EReadWriteTransaction );
+        err = repository->Get( KBrowserDefaultAccessPoint, apInt );
+        TFLOGSTRING2( "CSatShellController::ResolveDefaultAccesspoint \
+        KBrowserDefaultAccessPoint: %d", apInt )
+        }
+
+    delete repository;
+    repository = NULL;
+*/
+    TFLOGSTRING( "CSatShellController::ResolveDefaultAccesspoint exit" )
+    return apInt;
+    }
+
+// -----------------------------------------------------------------------------
+// CSatShellController::CheckSatUiStatus
+// Check if SatUi is needed to set to background.
+// -----------------------------------------------------------------------------
+//
+void CSatShellController::CheckSatUiStatus()
+    {
+    TFLOGSTRING( "CSatShellController::CheckSatUiStatus called" )
+    
+    // if SatUi task is found and SatUi is not in foreground flag is set ETrue
+    iSetSatUiToBackground = EFalse;
+
+    RWsSession wsSession;
+    // Open the WS server session.
+    if ( KErrNone == wsSession.Connect() )
+        {
+        TFLOGSTRING( "CSatShellController::CheckSatUiStatus \
+            open WS server session" )
+        TApaTaskList tasklist( wsSession );
+        TApaTask satUiTask = tasklist.FindApp( KUidSatUi );
+        
+        if ( satUiTask.Exists() )
+            {
+            TFLOGSTRING(
+                 "CSatShellController::CheckSatUiStatus task exists" )
+            TApaTask topMostTask = tasklist.FindByPos( 0 );
+            
+            if ( topMostTask.ThreadId() != satUiTask.ThreadId() )
+                {
+                TFLOGSTRING(
+                    "CSatShellController::CheckSatUiStatus set SatUI to BG" )
+                iSetSatUiToBackground = ETrue;                    
+                }
+            }
+            
+        wsSession.Close();
+        }
+        
+    TFLOGSTRING( "CSatShellController::CheckSatUiStatus exit" )
+    }
+    
+// ================= OTHER EXPORTED FUNCTIONS ===============================
+
+EXPORT_C MSatShellController* NewSatController()
+    {
+    TFLOGSTRING( "CSatShellController::NewSatController called" )
+
+    MSatShellController* satController = NULL;
+    TRAPD( err, satController = CSatShellController::NewL() )
+    if ( KErrNone != err )
+        {
+        TFLOGSTRING2( "   CSatShellController::NewSatController \
+            failed: %d", err )
+        satController = NULL;
+        }
+
+    TFLOGSTRING( "CSatShellController::NewSatController exit" )
+    return satController;
+    }
+
+//  End of File
--- a/sysdef_1_4_0.dtd	Thu Aug 19 10:28:14 2010 +0300
+++ /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	Tue Aug 31 15:45:17 2010 +0300
@@ -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>  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/bwins/dialpadu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,65 @@
+EXPORTS
+	??1DialpadVtKeyHandler@@UAE@XZ @ 1 NONAME ; DialpadVtKeyHandler::~DialpadVtKeyHandler(void)
+	?initialize@Dialpad@@AAEXXZ @ 2 NONAME ; void Dialpad::initialize(void)
+	?metaObject@DialpadVtKeyHandler@@UBEPBUQMetaObject@@XZ @ 3 NONAME ; struct QMetaObject const * DialpadVtKeyHandler::metaObject(void) const
+	?closeEvent@Dialpad@@MAEXPAVQCloseEvent@@@Z @ 4 NONAME ; void Dialpad::closeEvent(class QCloseEvent *)
+	?trUtf8@DialpadKeyHandler@@SA?AVQString@@PBD0H@Z @ 5 NONAME ; class QString DialpadKeyHandler::trUtf8(char const *, char const *, int)
+	?openAnimValueChanged@Dialpad@@IAEXM@Z @ 6 NONAME ; void Dialpad::openAnimValueChanged(float)
+	?getStaticMetaObject@DialpadKeyHandler@@SAABUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const & DialpadKeyHandler::getStaticMetaObject(void)
+	?showEvent@Dialpad@@MAEXPAVQShowEvent@@@Z @ 8 NONAME ; void Dialpad::showEvent(class QShowEvent *)
+	?tr@DialpadVtKeyHandler@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString DialpadVtKeyHandler::tr(char const *, char const *, int)
+	?metaObject@Dialpad@@UBEPBUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const * Dialpad::metaObject(void) const
+	??0DialpadVtKeyHandler@@QAE@PAVDialpad@@AAVHbMainWindow@@PAVQObject@@@Z @ 11 NONAME ; DialpadVtKeyHandler::DialpadVtKeyHandler(class Dialpad *, class HbMainWindow &, class QObject *)
+	?trUtf8@DialpadVtKeyHandler@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString DialpadVtKeyHandler::trUtf8(char const *, char const *, int)
+	?staticMetaObject@Dialpad@@2UQMetaObject@@B @ 13 NONAME ; struct QMetaObject const Dialpad::staticMetaObject
+	?trUtf8@DialpadVtKeyHandler@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString DialpadVtKeyHandler::trUtf8(char const *, char const *)
+	?staticMetaObject@DialpadVtKeyHandler@@2UQMetaObject@@B @ 15 NONAME ; struct QMetaObject const DialpadVtKeyHandler::staticMetaObject
+	??1Dialpad@@UAE@XZ @ 16 NONAME ; Dialpad::~Dialpad(void)
+	?setTapOutsideDismiss@Dialpad@@QAEX_N@Z @ 17 NONAME ; void Dialpad::setTapOutsideDismiss(bool)
+	?getStaticMetaObject@Dialpad@@SAABUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const & Dialpad::getStaticMetaObject(void)
+	?trUtf8@DialpadKeyHandler@@SA?AVQString@@PBD0@Z @ 19 NONAME ; class QString DialpadKeyHandler::trUtf8(char const *, char const *)
+	?qt_metacall@DialpadVtKeyHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 20 NONAME ; int DialpadVtKeyHandler::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?gestureEvent@Dialpad@@MAEXPAVQGestureEvent@@@Z @ 21 NONAME ; void Dialpad::gestureEvent(class QGestureEvent *)
+	?paint@Dialpad@@MAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 22 NONAME ; void Dialpad::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+	?layoutBackgroundItem@Dialpad@@AAEXXZ @ 23 NONAME ; void Dialpad::layoutBackgroundItem(void)
+	?updateLayout@Dialpad@@AAEXW4Orientation@Qt@@@Z @ 24 NONAME ; void Dialpad::updateLayout(enum Qt::Orientation)
+	?openAnimFinished@Dialpad@@IAEXXZ @ 25 NONAME ; void Dialpad::openAnimFinished(void)
+	?getStaticMetaObject@DialpadVtKeyHandler@@SAABUQMetaObject@@XZ @ 26 NONAME ; struct QMetaObject const & DialpadVtKeyHandler::getStaticMetaObject(void)
+	?setCallButtonEnabled@Dialpad@@QAEX_N@Z @ 27 NONAME ; void Dialpad::setCallButtonEnabled(bool)
+	?startCloseAnimation@Dialpad@@AAEXXZ @ 28 NONAME ; void Dialpad::startCloseAnimation(void)
+	?closeDialpad@Dialpad@@QAEXXZ @ 29 NONAME ; void Dialpad::closeDialpad(void)
+	?aboutToClose@Dialpad@@IAEXXZ @ 30 NONAME ; void Dialpad::aboutToClose(void)
+	?qt_metacast@DialpadKeyHandler@@UAEPAXPBD@Z @ 31 NONAME ; void * DialpadKeyHandler::qt_metacast(char const *)
+	??_EDialpadVtKeyHandler@@UAE@I@Z @ 32 NONAME ; DialpadVtKeyHandler::~DialpadVtKeyHandler(unsigned int)
+	??0Dialpad@@QAE@ABVHbMainWindow@@@Z @ 33 NONAME ; Dialpad::Dialpad(class HbMainWindow const &)
+	?isOpen@Dialpad@@QBE_NXZ @ 34 NONAME ; bool Dialpad::isOpen(void) const
+	?trUtf8@Dialpad@@SA?AVQString@@PBD0H@Z @ 35 NONAME ; class QString Dialpad::trUtf8(char const *, char const *, int)
+	?closeAnimValueChanged@Dialpad@@IAEXM@Z @ 36 NONAME ; void Dialpad::closeAnimValueChanged(float)
+	?qt_metacast@Dialpad@@UAEPAXPBD@Z @ 37 NONAME ; void * Dialpad::qt_metacast(char const *)
+	?tr@DialpadKeyHandler@@SA?AVQString@@PBD0@Z @ 38 NONAME ; class QString DialpadKeyHandler::tr(char const *, char const *)
+	??0Dialpad@@QAE@XZ @ 39 NONAME ; Dialpad::Dialpad(void)
+	?openDialpad@Dialpad@@QAEXXZ @ 40 NONAME ; void Dialpad::openDialpad(void)
+	?staticMetaObject@DialpadKeyHandler@@2UQMetaObject@@B @ 41 NONAME ; struct QMetaObject const DialpadKeyHandler::staticMetaObject
+	?aboutToOpen@Dialpad@@IAEXXZ @ 42 NONAME ; void Dialpad::aboutToOpen(void)
+	??1DialpadKeyHandler@@UAE@XZ @ 43 NONAME ; DialpadKeyHandler::~DialpadKeyHandler(void)
+	?orientationChangeFinished@Dialpad@@IAEXW4Orientation@Qt@@@Z @ 44 NONAME ; void Dialpad::orientationChangeFinished(enum Qt::Orientation)
+	?qt_metacall@DialpadKeyHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 45 NONAME ; int DialpadKeyHandler::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?hideEvent@Dialpad@@MAEXPAVQHideEvent@@@Z @ 46 NONAME ; void Dialpad::hideEvent(class QHideEvent *)
+	?tr@Dialpad@@SA?AVQString@@PBD0@Z @ 47 NONAME ; class QString Dialpad::tr(char const *, char const *)
+	?qt_metacast@DialpadVtKeyHandler@@UAEPAXPBD@Z @ 48 NONAME ; void * DialpadVtKeyHandler::qt_metacast(char const *)
+	?orientationChangeStarted@Dialpad@@IAEXXZ @ 49 NONAME ; void Dialpad::orientationChangeStarted(void)
+	?trUtf8@Dialpad@@SA?AVQString@@PBD0@Z @ 50 NONAME ; class QString Dialpad::trUtf8(char const *, char const *)
+	?tr@DialpadKeyHandler@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString DialpadKeyHandler::tr(char const *, char const *, int)
+	?qt_metacall@Dialpad@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 52 NONAME ; int Dialpad::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?tr@DialpadVtKeyHandler@@SA?AVQString@@PBD0@Z @ 53 NONAME ; class QString DialpadVtKeyHandler::tr(char const *, char const *)
+	?tr@Dialpad@@SA?AVQString@@PBD0H@Z @ 54 NONAME ; class QString Dialpad::tr(char const *, char const *, int)
+	??_EDialpadKeyHandler@@UAE@I@Z @ 55 NONAME ; DialpadKeyHandler::~DialpadKeyHandler(unsigned int)
+	??0DialpadKeyHandler@@QAE@PAVDialpad@@V?$QFlags@W4DialpadKeyEventFilter@DialpadKeyHandler@@@@PAVQObject@@@Z @ 56 NONAME ; DialpadKeyHandler::DialpadKeyHandler(class Dialpad *, class QFlags<enum DialpadKeyHandler::DialpadKeyEventFilter>, class QObject *)
+	??_EDialpad@@UAE@I@Z @ 57 NONAME ; Dialpad::~Dialpad(unsigned int)
+	?editor@Dialpad@@QBEAAVHbLineEdit@@XZ @ 58 NONAME ; class HbLineEdit & Dialpad::editor(void) const
+	?closeAnimFinished@Dialpad@@IAEXXZ @ 59 NONAME ; void Dialpad::closeAnimFinished(void)
+	?metaObject@DialpadKeyHandler@@UBEPBUQMetaObject@@XZ @ 60 NONAME ; struct QMetaObject const * DialpadKeyHandler::metaObject(void) const
+	??0DialpadKeyHandler@@QAE@PAVDialpad@@AAVHbMainWindow@@PAVQObject@@@Z @ 61 NONAME ; DialpadKeyHandler::DialpadKeyHandler(class Dialpad *, class HbMainWindow &, class QObject *)
+	?isCallButtonEnabled@Dialpad@@QBE_NXZ @ 62 NONAME ; bool Dialpad::isCallButtonEnabled(void) const
+	?changeEvent@Dialpad@@MAEXPAVQEvent@@@Z @ 63 NONAME ; void Dialpad::changeEvent(class QEvent *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/dialpad.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,108 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = lib
+TARGET = dialpad
+CONFIG += hb
+HB += hbinput
+
+INCLUDEPATH += . inc ../../inc
+
+HEADERS += ../../phonesrv_plat/dialpad_api/inc/dialpad.h \
+           ../../phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h \
+           ../../phonesrv_plat/dialpad_api/inc/dialpadvtkeyhandler.h \
+           inc/dialpadbutton.h \
+           inc/dialpadinputfield.h \
+           inc/dialpadkeypad.h \
+           inc/dialpadmultitaphandler.h\
+           inc/dialpadsymbianwrapper.h \
+           inc/dialpadbackground.h \
+           inc/dialpadvoicemailboxeventfilter.h \
+           inc/dialpadbluetootheventfilter.h \
+           inc/dialpadkeysequenceeventfilter.h \
+           inc/dialpadvideomailboxeventfilter.h \
+           inc/dialpadmailboxeventfilterbase.h \
+           inc/dialpademergencycalleventfilter.h \
+           inc/dialpadhasheventfilter.h \
+           inc/dialpadnumericbutton.h
+
+SOURCES += src/dialpad.cpp \
+           src/dialpadbutton.cpp \
+           src/dialpadinputfield.cpp \
+           src/dialpadkeypad.cpp \
+           src/dialpadmultitaphandler.cpp\
+           src/dialpadkeyhandler.cpp \
+           src/dialpadsymbianwrapper.cpp \
+           src/dialpadbackground.cpp \
+           src/dialpadvoicemailboxeventfilter.cpp \
+           src/dialpadbluetootheventfilter.cpp \
+           src/dialpadkeysequenceeventfilter.cpp \
+           src/dialpadvideomailboxeventfilter.cpp \
+           src/dialpadmailboxeventfilterbase.cpp \
+           src/dialpademergencycalleventfilter.cpp \
+           src/dialpadvtkeyhandler.cpp \
+           src/dialpadhasheventfilter.cpp \
+	   src/dialpadnumericbutton.cpp
+
+RESOURCES += dialpad.qrc
+
+symbian {    
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.UID3 = 0x102078ED
+    
+    defFiles = \
+        "$${LITERAL_HASH}ifdef WINS" \
+            "DEFFILE bwins/dialpad.def" \
+        "$${LITERAL_HASH}else" \
+            "DEFFILE eabi/dialpad.def" \
+        "$${LITERAL_HASH}endif"
+    
+    MMP_RULES += defFiles
+    
+    HEADERS += inc/dialpadsymbianwrapper_p.h
+    SOURCES += src/dialpadsymbianwrapper_p.cpp
+    
+    BLD_INF_RULES.prj_exports += \
+    "$${LITERAL_HASH}include <platform_paths.hrh>" \
+    "./rom/dialpad.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(dialpad.iby)" 
+    
+    LIBS += -lxqservice \
+            -lxqserviceutil \
+            -lvmbxengine \
+            -lfeatmgr \
+            -lphoneclient \
+            -lcentralrepository \
+            -lxqsettingsmanager
+}
+else:win32 { 
+    HEADERS += inc/dialpadsymbianwrapper_p_stub.h
+    SOURCES += src/dialpadsymbianwrapper_p_stub.cpp
+    
+    # Put it to Hb/lib because it is in path
+    DESTDIR = c:/hb/lib
+    DLLDESTDIR = c:/hb/bin
+    INCLUDEPATH += ../../phonesrv_plat/dialpad_api/inc \
+        c:/hb/include/hbcore \
+        c:/hb/include/hbwidgets \
+        c:/hb/include/hbtools \
+        c:/hb/include/hbinput
+    INCLUDEPATH += ../xqtelephonyservice/inc
+}
+
+DEFINES += BUILD_DIALPAD \
+           BUILD_DIALPADKEYHANDLER
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/dialpad.qrc	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,8 @@
+<RCC>
+    <qresource prefix="/">
+        <file alias="dialpad.css">resources/dialpad.css</file>
+        <file alias="dialpad_color.css">resources/dialpad_color.css</file>
+        <file alias="dialpad_to_prt.fxml">resources/dialpad_to_prt.fxml</file>
+        <file alias="dialpad_to_lsc.fxml">resources/dialpad_to_lsc.fxml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/eabi/dialpadu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,72 @@
+EXPORTS
+	_ZN17DialpadKeyHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN17DialpadKeyHandler11qt_metacastEPKc @ 2 NONAME
+	_ZN17DialpadKeyHandler16staticMetaObjectE @ 3 NONAME DATA 16
+	_ZN17DialpadKeyHandler19getStaticMetaObjectEv @ 4 NONAME
+	_ZN17DialpadKeyHandlerC1EP7Dialpad6QFlagsINS_21DialpadKeyEventFilterEEP7QObject @ 5 NONAME
+	_ZN17DialpadKeyHandlerC1EP7DialpadR12HbMainWindowP7QObject @ 6 NONAME
+	_ZN17DialpadKeyHandlerC2EP7Dialpad6QFlagsINS_21DialpadKeyEventFilterEEP7QObject @ 7 NONAME
+	_ZN17DialpadKeyHandlerC2EP7DialpadR12HbMainWindowP7QObject @ 8 NONAME
+	_ZN17DialpadKeyHandlerD0Ev @ 9 NONAME
+	_ZN17DialpadKeyHandlerD1Ev @ 10 NONAME
+	_ZN17DialpadKeyHandlerD2Ev @ 11 NONAME
+	_ZN19DialpadVtKeyHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 12 NONAME
+	_ZN19DialpadVtKeyHandler11qt_metacastEPKc @ 13 NONAME
+	_ZN19DialpadVtKeyHandler16staticMetaObjectE @ 14 NONAME DATA 16
+	_ZN19DialpadVtKeyHandler19getStaticMetaObjectEv @ 15 NONAME
+	_ZN19DialpadVtKeyHandlerC1EP7DialpadR12HbMainWindowP7QObject @ 16 NONAME
+	_ZN19DialpadVtKeyHandlerC2EP7DialpadR12HbMainWindowP7QObject @ 17 NONAME
+	_ZN19DialpadVtKeyHandlerD0Ev @ 18 NONAME
+	_ZN19DialpadVtKeyHandlerD1Ev @ 19 NONAME
+	_ZN19DialpadVtKeyHandlerD2Ev @ 20 NONAME
+	_ZN7Dialpad10closeEventEP11QCloseEvent @ 21 NONAME
+	_ZN7Dialpad10initializeEv @ 22 NONAME
+	_ZN7Dialpad11aboutToOpenEv @ 23 NONAME
+	_ZN7Dialpad11openDialpadEv @ 24 NONAME
+	_ZN7Dialpad11qt_metacallEN11QMetaObject4CallEiPPv @ 25 NONAME
+	_ZN7Dialpad11qt_metacastEPKc @ 26 NONAME
+	_ZN7Dialpad12aboutToCloseEv @ 27 NONAME
+	_ZN7Dialpad12closeDialpadEv @ 28 NONAME
+	_ZN7Dialpad12gestureEventEP13QGestureEvent @ 29 NONAME
+	_ZN7Dialpad12updateLayoutEN2Qt11OrientationE @ 30 NONAME
+	_ZN7Dialpad16openAnimFinishedEv @ 31 NONAME
+	_ZN7Dialpad16staticMetaObjectE @ 32 NONAME DATA 16
+	_ZN7Dialpad17closeAnimFinishedEv @ 33 NONAME
+	_ZN7Dialpad19getStaticMetaObjectEv @ 34 NONAME
+	_ZN7Dialpad19startCloseAnimationEv @ 35 NONAME
+	_ZN7Dialpad20layoutBackgroundItemEv @ 36 NONAME
+	_ZN7Dialpad20openAnimValueChangedEf @ 37 NONAME
+	_ZN7Dialpad20setCallButtonEnabledEb @ 38 NONAME
+	_ZN7Dialpad20setTapOutsideDismissEb @ 39 NONAME
+	_ZN7Dialpad21closeAnimValueChangedEf @ 40 NONAME
+	_ZN7Dialpad24orientationChangeStartedEv @ 41 NONAME
+	_ZN7Dialpad25orientationChangeFinishedEN2Qt11OrientationE @ 42 NONAME
+	_ZN7Dialpad5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 43 NONAME
+	_ZN7Dialpad9hideEventEP10QHideEvent @ 44 NONAME
+	_ZN7Dialpad9showEventEP10QShowEvent @ 45 NONAME
+	_ZN7DialpadC1ERK12HbMainWindow @ 46 NONAME
+	_ZN7DialpadC1Ev @ 47 NONAME
+	_ZN7DialpadC2ERK12HbMainWindow @ 48 NONAME
+	_ZN7DialpadC2Ev @ 49 NONAME
+	_ZN7DialpadD0Ev @ 50 NONAME
+	_ZN7DialpadD1Ev @ 51 NONAME
+	_ZN7DialpadD2Ev @ 52 NONAME
+	_ZNK17DialpadKeyHandler10metaObjectEv @ 53 NONAME
+	_ZNK19DialpadVtKeyHandler10metaObjectEv @ 54 NONAME
+	_ZNK7Dialpad10metaObjectEv @ 55 NONAME
+	_ZNK7Dialpad6editorEv @ 56 NONAME
+	_ZNK7Dialpad6isOpenEv @ 57 NONAME
+	_ZTI17DialpadKeyHandler @ 58 NONAME
+	_ZTI19DialpadVtKeyHandler @ 59 NONAME
+	_ZTI7Dialpad @ 60 NONAME
+	_ZTV17DialpadKeyHandler @ 61 NONAME
+	_ZTV19DialpadVtKeyHandler @ 62 NONAME
+	_ZTV7Dialpad @ 63 NONAME
+	_ZThn16_N7DialpadD0Ev @ 64 NONAME
+	_ZThn16_N7DialpadD1Ev @ 65 NONAME
+	_ZThn8_N7Dialpad5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 66 NONAME
+	_ZThn8_N7DialpadD0Ev @ 67 NONAME
+	_ZThn8_N7DialpadD1Ev @ 68 NONAME
+	_ZNK7Dialpad19isCallButtonEnabledEv @ 69 NONAME
+	_ZN7Dialpad11changeEventEP6QEvent @ 70 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadbackground.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,49 @@
+/*!
+* 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: Background item to close dialpad when tapping outside.
+*
+*/
+
+#ifndef DIALPADBACKGROUND_H
+#define DIALPADBACKGROUND_H
+
+#include "qgraphicsitem.h"
+
+class Dialpad;
+
+class DialpadBackground : public QGraphicsItem
+{
+public:
+    DialpadBackground(Dialpad& dialpad);
+    virtual ~DialpadBackground();
+    
+    void setRect(QRectF rect);
+    QRectF boundingRect() const;    
+
+protected:
+    void paint(
+        QPainter *painter,
+        const QStyleOptionGraphicsItem *option,
+        QWidget *widget = 0);
+    void mousePressEvent(QGraphicsSceneMouseEvent * event);
+    void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+    void mouseReleaseEvent(QGraphicsSceneMouseEvent * event);
+
+private:
+    Dialpad& mDialpad;
+    QRectF mRect;
+    bool mPressed;
+};
+
+#endif // DIALPADBACKGROUND_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadbluetootheventfilter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,55 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef DIALPADBLUETOOTHEVENTFILTER_H
+#define DIALPADBLUETOOTHEVENTFILTER_H
+
+#include <QObject>
+
+class QTimer;
+class Dialpad;
+
+/*!
+    DialpadBluetoothEventFilter
+    Class provides bluetooth on/off key handling.
+*/
+class DialpadBluetoothEventFilter : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit DialpadBluetoothEventFilter(Dialpad* dialpad, QObject* parent = 0);
+    virtual ~DialpadBluetoothEventFilter();
+
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+private slots:
+    /*!
+       \fn void toggleBluetooth()
+
+       Toggles bluetooth on or off.
+    */
+    void toggleBluetooth();
+
+
+private:
+    QTimer *mLongPressTimer;
+    Dialpad* mDialpad;
+};
+
+#endif // DIALPADBLUETOOTHEVENTFILTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadbutton.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Custom button
+*
+*/
+
+#ifndef DIALPADBUTTON_H
+#define DIALPADBUTTON_H
+
+#include "hbpushbutton.h"
+
+class DialpadButton : public HbPushButton
+{
+    Q_OBJECT
+
+    Q_PROPERTY(DialpadButtonType buttonType READ buttonType WRITE setButtonType)
+    Q_ENUMS(DialpadButtonType)
+
+public:
+    enum DialpadButtonType {
+        FunctionButton = 0x1, // Backspace
+        CallButton = 0x2      // Dial button
+    };
+
+public:
+    explicit DialpadButton(QGraphicsItem *parent = 0 );
+    virtual ~DialpadButton( );
+
+    DialpadButtonType buttonType() const;
+    void setButtonType(DialpadButtonType type);
+
+protected:
+    bool sceneEvent(QEvent *event);
+    void polish(HbStyleParameters& params);
+
+    void updatePrimitives();
+
+private:
+    DialpadButtonType mButtonType;
+};
+
+#endif // DIALPADBUTTON_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpademergencycalleventfilter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,78 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef DIALPADEMERGENCYCALLEVENTFILTER_H
+#define DIALPADEMERGENCYCALLEVENTFILTER_H
+
+#include <QObject>
+
+class Dialpad;
+class CPhCltEmergencyCall;
+
+/*!
+    DialpadEmergencyCallEventFilter
+    Class provides emergency call key handling.
+*/
+class DialpadEmergencyCallEventFilter : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit DialpadEmergencyCallEventFilter(Dialpad* dialpad, QObject* parent = 0);
+    virtual ~DialpadEmergencyCallEventFilter();
+
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+private:
+
+    /*!
+       \fn void isEmergencyNumber()
+
+       Checks is string emergency number.
+    */
+    bool isEmergencyNumber(QString string);
+    
+    /*!
+       \fn void editorText()
+
+       Returns text from editor (in western digits).
+    */
+    QString editorText();
+    
+    /*!
+       \fn createCall(const QString phoneNumber)
+
+       Creates call request to QT Highway.
+    */
+    void createCall(const QString &phoneNumber);
+
+protected slots:
+
+    /*!
+        \fn void editorTextChanged()
+        
+        This slot is called when dialpad editor text is changed.
+    */
+    void editorTextChanged();
+    
+private:
+    Dialpad* mDialpad;
+    CPhCltEmergencyCall* mEmergency;
+};
+
+#endif // DIALPADEMERGENCYCALLEVENTFILTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadhasheventfilter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,70 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef DIALPADHASHEVENTFILTER_H
+#define DIALPADHASHEVENTFILTER_H
+
+#include "dialpadmailboxeventfilterbase.h"
+
+class QTimer;
+class Dialpad;
+class DialpadSymbianWrapper;
+
+/*!
+    DialpadHashEventFilter
+    Class provides hash key handling.
+*/
+class DialpadHashEventFilter : public DialpadMailboxEventFilterBase
+{
+    Q_OBJECT
+    
+    friend class UT_DialpadHashEventFilter;
+
+public:
+    explicit DialpadHashEventFilter(Dialpad* dialpad, QObject* parent = 0);
+    virtual ~DialpadHashEventFilter();
+
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+    /*!
+       \fn bool handleCallButtonPress()
+
+       Check if editor has number string and if it does then createCall
+       is called and funtion returns true, if there is no number then
+       funtion return false.
+   */
+    bool handleCallButtonPress();
+
+    /*!
+       \fn handleMailboxOperation
+
+       Start vmbx call or number definition procedures.
+    */
+    void handleMailboxOperation();
+    
+protected slots:
+
+    /*!
+       \fn void handleLongKeyPress()
+    
+       Handles long key presses.
+    */
+    void handleLongKeyPress();
+};
+
+#endif // DIALPADHASHEVENTFILTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadinputfield.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Input field
+*
+*/
+
+#ifndef DIALPADINPUTFIELD_H
+#define DIALPADINPUTFIELD_H
+
+#include <hbwidget.h>
+
+class HbLineEdit;
+class DialpadButtonStyle;
+class DialpadButton;
+
+class DialpadInputField : public HbWidget
+{
+    Q_OBJECT
+
+public:
+    DialpadInputField(QGraphicsItem* parent=0);
+    ~DialpadInputField();
+
+    HbLineEdit& editor() const;
+
+    DialpadButton& backspaceButton() const;
+
+protected:
+    QSizeF sizeHint(Qt::SizeHint which,
+                    const QSizeF & constraint = QSizeF()) const;
+
+private slots:
+    void onEditorContentChanged();
+
+private:
+    HbLineEdit* mNumberEditor;
+    DialpadButton* mBackspace;
+    int mHeight;
+};
+
+#endif // DIALPADINPUTFIELD_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadkeypad.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,111 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Dialpad keypad
+*
+*/
+
+#ifndef DIALPADKEYPAD_H
+#define DIALPADKEYPAD_H
+
+#include <QTextLayout>
+#include <QColor>
+#include <hbinputbuttongroup.h>
+
+class DialpadInputField;
+class DialpadButton;
+class DialpadNumericButton;
+class QSignalMapper;
+class QGraphicsGridLayout;
+
+class DialpadKeypad : public HbInputButtonGroup
+{
+    Q_OBJECT
+
+public:
+    explicit DialpadKeypad(
+        const HbMainWindow& mainWindow,
+        DialpadInputField& inputField,
+        QGraphicsItem* parent=0);
+
+    ~DialpadKeypad();
+
+public:
+    void setCallButtonEnabled(bool enabled);
+
+    void resetButtons();
+
+    DialpadButton& callButton() const;
+
+protected slots:
+    void setButtonTexts();
+
+    void handleKeyClicked(int key);
+    void sendKeyPressEvent(const QKeyEvent& event);
+    void sendKeyReleaseEvent(const QKeyEvent& event);
+    void sendLongPressEvent(const QKeyEvent& event);
+    void handleKeyChangeEvent(const QKeyEvent& releaseEvent,
+                              const QKeyEvent& pressEvent);
+    void cancelButtonPress();
+
+protected:
+    void postKeyEvent(QEvent::Type type, int key);
+    void sendKeyEventToEditor(QEvent::Type type, int key);
+
+    inline DialpadNumericButton* button(int i) const;
+    void updateButtonLabels();
+    void updateColorArray();
+    void updateIconColor();
+    void updateTextLayouts(const QSizeF &size);
+    void resolveTextContent(QList<QString> &content);
+    void createTextLayouts(const QSizeF &size,
+                           const QList<QString> &content);
+    void layoutTextLines(const QSizeF &size,
+                         QTextLayout &textLayout,
+                         int state,
+                         int type);
+
+protected:
+    void paint(QPainter* painter,
+               const QStyleOptionGraphicsItem* option,
+               QWidget* widget);
+    void setGeometry(const QRectF &rect);
+    void changeEvent(QEvent *event);
+
+private:
+    enum ButtonState {
+        Normal = 0,
+        Pressed,
+        StateCount
+    };
+
+    enum TextType {
+        PrimaryText = 0,
+        SecondaryText,
+        TextTypeCount
+    };
+
+private:
+    const HbMainWindow& mMainWindow;
+    DialpadInputField& mInputField;
+    QSignalMapper* mKeyClickedSignalMapper;
+    QMap<int,QChar> mGeneratedChar;
+    int mPressedNumericKey;
+    DialpadButton* mCallButton;
+    QList<QColor> mColors;
+    QList<QTextLayout*> mTextLayouts;
+    qreal mUnit;
+    qreal mMaxPrimaryLineWidth;
+};
+
+#endif // DIALPADKEYPAD_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadkeysequenceeventfilter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,60 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements key sequence recognition filter for Dialpad.
+*
+*/
+
+#ifndef DIALPADKEYSEQUENCEEVENTFILTER_H
+#define DIALPADKEYSEQUENCEEVENTFILTER_H
+
+#include <QObject>
+#include <xqappmgr.h>
+#include <xqaiwinterfacedescriptor.h>
+
+class Dialpad;
+
+/*!
+    DialpadKeySequenceEventFilter
+    Class provides key sequence recognition and handling.
+*/
+class DialpadKeySequenceEventFilter : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit DialpadKeySequenceEventFilter(
+        Dialpad* dialpad, 
+        QObject* parent = 0);
+    virtual ~DialpadKeySequenceEventFilter();
+
+public:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+private:
+    void constructKeySequenceToHandlerMappings();
+    XQAiwInterfaceDescriptor findKeySequenceHandler(
+        const QString &keySequenceCandidate);
+    
+private:
+    /*! Dialpad. Not own. */
+    Dialpad* mDialpad;
+    
+    /*! Application manager. */
+    XQApplicationManager mAiwMgr;
+    
+    /*! Key sequence validators and associated sequence handlers. */
+    QMap<QString, XQAiwInterfaceDescriptor> mValidators;
+};
+
+#endif // DIALPADKEYSEQUENCEEVENTFILTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadmailboxeventfilterbase.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,112 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef DIALPADMAILBOXEVENTFILTERBASE_H
+#define DIALPADMAILBOXEVENTFILTERBASE_H
+
+#include <QObject>
+
+class QTimer;
+class Dialpad;
+class DialpadSymbianWrapper;
+
+enum err {
+    DialpadErrorNone = 0,
+    DialpadErrorCancel = -3
+};
+const int DialpadLongKeyPressTimeOut(1000);
+
+/*!
+    DialpadMailboxEventFilterBase
+    Class provides voice mailbox key handling.
+*/
+class DialpadMailboxEventFilterBase : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit DialpadMailboxEventFilterBase(Dialpad* dialpad, QObject* parent = 0);
+    virtual ~DialpadMailboxEventFilterBase();
+
+protected:
+    virtual bool eventFilter(QObject *watched, QEvent *event) = 0;
+
+    /*!
+        \fn bool isLongKeyPressSupported(const int key)
+
+        Checks if key is numeric key'1' or numbersign key if it is then
+        function return true, if key is something else for example
+        yes/send then this returns false.
+    */
+    bool isLongKeyPressSupported(const int key);
+
+    /*!
+       \fn bool checkIfSendEventAndConsumeEvent(const int pressedKey, const int eventType)
+
+       Checks that keycode is call related key if it is then handle it.
+       */
+    bool checkIfSendEventAndConsumeEvent(const int pressedKey, const int eventType);
+
+    /*!
+       \fn bool handleCallButtonPress()
+
+       Check if editor has number string and if it does then createCall
+       is called and funtion returns true, if there is no number then
+       funtion return false.
+   */
+    virtual bool handleCallButtonPress() = 0;
+
+    /*!
+       \fn void clearEditor()
+
+       Clears dialpad editor.
+    */
+    void clearEditor();
+
+    /*!
+       \fn createCall(const QString phoneNumber)
+
+       Creates call request to QT Highway.
+    */
+    void createCall(const QString &phoneNumber, bool createVideoCall = false);
+
+    /*!
+       \fn handleMailboxOperation
+
+       Start vmbx call or number definition procedures.
+    */
+    virtual void handleMailboxOperation() = 0;
+
+    
+protected slots:
+
+    /*!
+       \fn void handleLongKeyPress()
+    
+       Handles long key presses.
+    */
+    virtual void handleLongKeyPress() = 0;
+
+
+protected:
+    QTimer *mLongPressTimer;
+    DialpadSymbianWrapper *mSymbianWrapper;
+    Dialpad* mDialpad;
+    int mKeyEvent;
+};
+
+#endif // DIALPADMAILBOXEVENTFILTERBASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadmultitaphandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Multitap handler
+*
+*/
+
+#ifndef DIALPADMULTITAPHANDLER_H_
+#define DIALPADMULTITAPHANDLER_H_
+
+#include <qobject.h>
+#include <QTime>
+#include <QMap>
+
+class HbLineEdit;
+
+class DialpadMultitapHandler : public QObject
+    {
+public:
+    explicit DialpadMultitapHandler(HbLineEdit& editor, QObject* parent=0);
+    virtual ~DialpadMultitapHandler();
+
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+private:
+    inline bool isNumericKey(int key);
+
+private:
+    HbLineEdit& mEditor;
+    QTime mMultitapTimer;
+    int mAsteriskMultitapIndex;
+    bool mGeneratedAsterisk;
+    QMap<int,QChar> mExtraChar;
+    };
+
+#endif /* DIALPADMULTITAPHANDLER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadnumericbutton.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,47 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Extends HbInputButton
+*
+*/
+
+#ifndef DIALPADNUMERICBUTTON_H
+#define DIALPADNUMERICBUTTON_H
+
+#include <hbicon.h>
+#include <hbinputbutton.h>
+
+class DialpadNumericButton : public HbInputButton
+{
+    Q_OBJECT
+
+public:
+    explicit DialpadNumericButton(int keyCode, const QPoint &position, const QSize &size = QSize(1, 1));
+    virtual ~DialpadNumericButton();
+
+    void setIcon(const HbIcon& icon);
+    HbIcon& icon();
+
+    void setText(const QString& text);
+    QString text() const;
+
+    void setSecondaryText(const QString& text);
+    QString secondaryText() const;
+
+private:
+    HbIcon mIcon;
+    QString mText;
+    QString mSecondaryText;
+};
+
+#endif // DIALPADNUMERICBUTTON_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadsymbianwrapper.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,53 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef DIALPADSYMBIANWRAPPER_H
+#define DIALPADSYMBIANWRAPPER_H
+
+#include <QObject>
+#include <QString>
+#include <qglobal.h>
+
+class DialpadSymbianWrapperPrivate;
+
+/*!
+    DialpadSymbianWrapper
+*/
+class  DialpadSymbianWrapper : public QObject
+{
+
+Q_OBJECT
+
+public:
+    explicit DialpadSymbianWrapper(QObject *parent = 0);
+    ~DialpadSymbianWrapper();
+    
+    int getMailboxNumber(QString &vmbxNumber);
+    int getVideoMailboxNumber(QString &vmbxNumber);
+        
+    int defineMailboxNumber(QString &vmbxNumber);
+    int defineVideoMailboxNumber(QString &vmbxNumber);
+    
+    bool changeSilentModeState();
+
+protected:
+    DialpadSymbianWrapperPrivate *const d_ptr;
+   
+    Q_DECLARE_PRIVATE(DialpadSymbianWrapper)
+};
+
+#endif // DIALPADSYMBIANWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadsymbianwrapper_p.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,58 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef DIALPADSYMBIANWRAPPERPRIVATE_H
+#define DIALPADSYMBIANWRAPPERPRIVATE_H
+
+#include <QString>
+#include <qglobal.h>
+
+class CVoiceMailbox;
+class CVoiceMailboxEntry;
+class DialpadSymbianWrapper;
+
+/*!
+    DialpadSymbianWrapperPrivate
+    
+*/
+class  DialpadSymbianWrapperPrivate
+{
+
+public:
+    
+    DialpadSymbianWrapperPrivate(DialpadSymbianWrapper *parent);
+    ~DialpadSymbianWrapperPrivate();
+    
+    int getMailboxNumber(QString &vmbxNumber);
+    int getVideoMailboxNumber(QString &vmbxNumber);
+    
+    int defineMailboxNumber(QString &vmbxNumber);
+    int defineVideoMailboxNumber(QString &vmbxNumber);
+    
+    bool changeSilentModeState();
+    
+private:
+    
+    QString getVmbxNumber(CVoiceMailboxEntry &vmbxEntry);
+    
+    CVoiceMailbox *mVmbx;
+    
+    DialpadSymbianWrapper *const q_ptr;
+    Q_DECLARE_PUBLIC(DialpadSymbianWrapper)
+};
+
+#endif // DIALPADSYMBIANWRAPPERPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadsymbianwrapper_p_stub.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,53 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef DIALPADSYMBIANWRAPPERPRIVATE_H
+#define DIALPADSYMBIANWRAPPERPRIVATE_H
+
+#include <QString>
+#include <qglobal.h>
+
+class DialpadSymbianWrapper;
+
+
+/*!
+    DialpadSymbianWrapperPrivate
+    
+*/
+class  DialpadSymbianWrapperPrivate
+{
+
+public:
+    
+    DialpadSymbianWrapperPrivate(DialpadSymbianWrapper *parent);
+    ~DialpadSymbianWrapperPrivate();
+    
+    int getMailboxNumber(QString &vmbxNumber);
+    int getVideoMailboxNumber(QString &vmbxNumber);
+    
+    int defineMailboxNumber(QString &vmbxNumber);
+    int defineVideoMailboxNumber(QString &vmbxNumber);
+
+private:
+
+    DialpadSymbianWrapper *const q_ptr;
+    Q_DECLARE_PUBLIC(DialpadSymbianWrapper)
+
+    int mTimes;
+};
+
+#endif // DIALPADSYMBIANWRAPPERPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadvideomailboxeventfilter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,71 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef DIALPADVIDEOMAILBOXEVENTFILTER_H
+#define DIALPADVIDEOMAILBOXEVENTFILTER_H
+
+#include "dialpadmailboxeventfilterbase.h"
+
+class QTimer;
+class Dialpad;
+class DialpadSymbianWrapper;
+
+/*!
+    DialpadVideoMailboxEventFilter
+    Class provides video mailbox key handling.
+*/
+class DialpadVideoMailboxEventFilter : public DialpadMailboxEventFilterBase
+{
+    Q_OBJECT
+
+public:
+    explicit DialpadVideoMailboxEventFilter(Dialpad* dialpad, QObject* parent = 0);
+    virtual ~DialpadVideoMailboxEventFilter();
+
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+    /*!
+       \fn bool handleCallButtonPress()
+
+       Check if editor has number string and if it does then createVideoCall
+       is called and funtion returns true, if there is no number then
+       funtion return false.
+   */
+    bool handleCallButtonPress();
+
+    /*!
+       \fn handleMailboxOperation
+
+       Start vmbx call or number definition procedures.
+    */
+    void handleMailboxOperation();
+
+protected slots:
+
+    /*!
+       \fn void handleLongKeyPress()
+    
+       Handles long key presses.
+    */
+    void handleLongKeyPress();
+
+private:
+    bool isVideoMbxSupported();
+};
+
+#endif // DIALPADVIDEOMAILBOXEVENTFILTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/inc/dialpadvoicemailboxeventfilter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,68 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef DIALPADVOICEMAILBOXEVENTFILTER_H
+#define DIALPADVOICEMAILBOXEVENTFILTER_H
+
+#include "dialpadmailboxeventfilterbase.h"
+
+class QTimer;
+class Dialpad;
+class DialpadSymbianWrapper;
+
+/*!
+    DialpadVoiceMailboxEventFilter
+    Class provides voice mailbox key handling.
+*/
+class DialpadVoiceMailboxEventFilter : public DialpadMailboxEventFilterBase
+{
+    Q_OBJECT
+
+public:
+    explicit DialpadVoiceMailboxEventFilter(Dialpad* dialpad, QObject* parent = 0);
+    virtual ~DialpadVoiceMailboxEventFilter();
+
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
+    /*!
+       \fn bool handleCallButtonPress()
+
+       Check if editor has number string and if it does then createCall
+       is called and funtion returns true, if there is no number then
+       funtion return false.
+   */
+    bool handleCallButtonPress();
+
+    /*!
+       \fn handleMailboxOperation
+
+       Start vmbx call or number definition procedures.
+    */
+    void handleMailboxOperation();
+    
+protected slots:
+
+    /*!
+       \fn void handleLongKeyPress()
+    
+       Handles long key presses.
+    */
+    void handleLongKeyPress();
+};
+
+#endif // DIALPADVOICEMAILBOXEVENTFILTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/resources/dialpad.css	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,20 @@
+
+/* icon only */
+DialpadButton[icon][!text][!additionalText]{
+    layout:icon_button;
+    min-height:6.25un; /* default min-height is too small */
+    min-width:6.25un;
+}
+
+DialpadInputField > HbLineEdit{
+    text-align: right;
+    size-policy: expanding expanding;
+}
+
+DialpadInputField > HbLineEdit::text{
+    left: -var(hb-param-margin-gene-middle-horizontal);
+    right: var(hb-param-margin-gene-middle-horizontal);
+    top: -var(hb-param-margin-gene-middle-vertical);
+    bottom: var(hb-param-margin-gene-middle-vertical);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/resources/dialpad_color.css	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,27 @@
+
+
+/* backspace */
+DialpadButton[state = "normal"][buttonType = "1"]::icon{
+    color: var(qtc_input_function_normal);
+}
+
+DialpadButton[state = "pressed"][buttonType = "1"]::icon{
+    color: var(qtc_input_function_pressed);
+}
+
+DialpadButton[buttonType = "1"]::icon[!enabled]{
+    color: var(qtc_input_function_disabled);
+}
+
+/* call button */
+DialpadButton[state = "normal"][buttonType = "2"]::icon{
+    color: var(qtc_callhandling_answer_normal);
+}
+
+DialpadButton[state = "pressed"][buttonType = "2"]::icon{
+    color: var(qtc_callhandling_answer_pressed);
+}
+
+DialpadButton[buttonType = "2"]::icon[!enabled]{
+    color: var(qtc_input_function_disabled);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/resources/dialpad_to_lsc.fxml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,28 @@
+<layers>
+<visual>
+
+  <param name="opacity" type="anim">
+      <duration>1.0</duration>
+      <style>linear</style>
+      <keyframe at="0">0</keyframe>
+      <keyframe at="0.2">0</keyframe>
+      <keyframe at="0.5">1</keyframe>
+  </param>
+  
+	<param name="rotation_angle" type="anim">
+            <duration>0.5</duration>
+            <style>outquad</style>
+            <keyframe at="0">-90</keyframe>
+            <keyframe at="1">0</keyframe>
+	</param>
+
+	<param name="rotation_origin_x" ref="visual.width">0.5</param>
+	<param name="rotation_origin_y" ref="visual.height">0.5</param>
+	
+	<param name="rotation_axis_x" type="anim">0</param>
+	<param name="rotation_axis_y" type="anim">0</param>
+	<param name="rotation_axis_z" type="anim">1</param>        
+
+</visual>
+</layers>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/resources/dialpad_to_prt.fxml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,28 @@
+<layers>
+<visual>
+
+  <param name="opacity" type="anim">
+      <duration>1.0</duration>
+      <style>linear</style>
+      <keyframe at="0">0</keyframe>
+      <keyframe at="0.2">0</keyframe>
+      <keyframe at="0.5">1</keyframe>
+  </param>
+  
+	<param name="rotation_angle" type="anim">
+            <duration>0.5</duration>
+            <style>outquad</style>
+            <keyframe at="0">90</keyframe>
+            <keyframe at="1">0</keyframe>
+	</param>
+
+	<param name="rotation_origin_x" ref="visual.width">0.5</param>
+	<param name="rotation_origin_y" ref="visual.height">0.5</param>
+	
+	<param name="rotation_axis_x" type="anim">0</param>
+	<param name="rotation_axis_y" type="anim">0</param>
+	<param name="rotation_axis_z" type="anim">1</param>        
+
+</visual>
+</layers>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/rom/dialpad.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Dialpad iby file.
+*
+*/
+
+
+#ifndef __DIALPAD_IBY__
+#define __DIALPAD_IBY__
+
+#include <data_caging_paths_for_iby.hrh>
+
+file=ABI_DIR\BUILD_DIR\dialpad.dll       SHARED_LIB_DIR\dialpad.dll
+
+#endif // __DIALPAD_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpad.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,489 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Dialpad popup
+*
+*/
+
+#include <QGraphicsLinearLayout>
+
+#include <hbframedrawer.h>
+#include <hbinstance.h>
+#include <hbeffect.h>
+#include <hbinstance.h>
+#include <hbmainwindow.h>
+#include <hbstyleloader.h>
+#include <hblineedit.h>
+#include <hbapplication.h>
+#include <hbswipegesture.h>
+#include <hbeffect.h>
+#include <hbevent.h>
+
+#include "dialpad.h"
+#include "dialpadinputfield.h"
+#include "dialpadkeypad.h"
+#include "dialpadbutton.h"
+#include "dialpadmultitaphandler.h"
+#include "dialpadbackground.h"
+#include "dialpadbutton.h"
+
+static const QLatin1String backgroundGraphics("qtg_fr_input_v_bg");
+static const QLatin1String backgroundGraphicsH("qtg_fr_input_h_bg");
+static const QLatin1String minimizeIcon("qtg_graf_input_v_swipe");
+static const QLatin1String minimizeIconH("qtg_graf_input_h_swipe");
+static const int DialpadCloseAnimDuration = 200; // ms
+static const int DialpadOpenAnimDuration = 200; // ms
+static const qreal DialpadComponentMargin = 0.75; // units
+static const qreal DialpadCloseHandleHeight = 2.23; // units
+static const qreal DialpadCloseHandleWidth = 18.8; // units
+static const qreal DialpadCallButtonHeight = 8.75; // units, same as numeric buttons
+static const qreal DialpadCallButtonHeightH = 7.25; // units
+
+static const QLatin1String handsetIcon("qtg_mono_call");
+static const QLatin1String vmbxIcon("qtg_mono_voice_mailbox");
+
+const QLatin1String DIALPAD_TO_PRT_FXML(":/dialpad_to_prt.fxml");
+const QLatin1String DIALPAD_TO_LSC_FXML(":/dialpad_to_lsc.fxml");
+const QLatin1String DIALPAD_TO_PRT_EVENT("prt_activated");
+const QLatin1String DIALPAD_TO_LSC_EVENT("lsc_activated");
+
+Dialpad::Dialpad() :
+    mMainWindow(*hbInstance->allMainWindows().at(0)),
+    mBackgroundItem(0),
+    mOpenTimeLine(DialpadOpenAnimDuration),
+    mCloseTimeLine(DialpadCloseAnimDuration),
+    mAnimationOngoing(false),
+    mOrientation(Qt::Vertical),
+    mIsOpen(false)
+{
+    // this constuctor is deprecated
+    initialize();
+}
+
+Dialpad::Dialpad(const HbMainWindow& mainWindow) :
+    mMainWindow(mainWindow),
+    mBackgroundItem(0),
+    mOpenTimeLine(DialpadOpenAnimDuration),
+    mCloseTimeLine(DialpadCloseAnimDuration),
+    mAnimationOngoing(false),
+    mOrientation(Qt::Vertical),
+    mIsOpen(false)
+{
+    initialize();
+}
+
+void Dialpad::initialize()
+{
+    setFocusPolicy(Qt::StrongFocus);
+    setFlag(QGraphicsItem::ItemIsFocusable,true);
+    setFlag(QGraphicsItem::ItemHasNoContents, false);
+
+    // create input field
+    mInputField = new DialpadInputField(this);
+
+    // create keypad
+    mKeypad = new DialpadKeypad(mMainWindow,*mInputField,this);
+
+    // layouting params
+    qreal unit = HbDeviceProfile::current().unitValue();
+    qreal margin = DialpadComponentMargin * unit;
+    mCloseHandleHeight = DialpadCloseHandleHeight * unit;
+    mCloseHandleWidth = DialpadCloseHandleWidth * unit;
+
+    mKeypad->callButton().setPreferredHeight(DialpadCallButtonHeight*unit);
+    mKeypad->callButton().setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
+
+    // create popup background
+    mBackgroundDrawer = new HbFrameDrawer();
+    mIconDrawer = new HbFrameDrawer();
+
+    // popup layout
+    QGraphicsLinearLayout* popupLayout =
+        new QGraphicsLinearLayout(Qt::Vertical);
+    popupLayout->addItem(mInputField);
+    popupLayout->addItem(mKeypad);
+    popupLayout->addItem(&mKeypad->callButton());
+    popupLayout->setContentsMargins(margin, mCloseHandleHeight, margin, margin);
+    popupLayout->setSpacing(0);
+    popupLayout->setItemSpacing(0,margin);
+    setLayout(popupLayout);
+    setLayoutDirection(Qt::LeftToRight);
+
+    // asterisk multitap handler
+    mMultitap = new DialpadMultitapHandler(mInputField->editor(),this);
+    mInputField->editor().installEventFilter(mMultitap);
+
+    // close animation
+    mCloseTimeLine.setUpdateInterval(16);
+    mCloseTimeLine.setEasingCurve(QEasingCurve::InQuad);
+    connect(&mCloseTimeLine, SIGNAL(finished()),
+            SLOT(closeAnimFinished()));
+    connect(&mCloseTimeLine, SIGNAL(valueChanged(qreal)),
+            SLOT(closeAnimValueChanged(qreal)));
+
+    // open animation
+    mOpenTimeLine.setUpdateInterval(16);
+    mOpenTimeLine.setEasingCurve(QEasingCurve::OutQuad);
+    connect(&mOpenTimeLine, SIGNAL(finished()),
+            SLOT(openAnimFinished()));
+    connect(&mOpenTimeLine, SIGNAL(valueChanged(qreal)),
+            SLOT(openAnimValueChanged(qreal)));
+
+    // default values
+    setPos(0,0);
+    setPreferredSize(360,360);
+    setZValue(0x00004000); // Hb PopupZValueRangeStart
+    hide();
+    mMainWindow.scene()->addItem(this);
+
+    // custom button style
+    HbStyleLoader::registerFilePath(QLatin1String(":/dialpad.css"));
+    HbStyleLoader::registerFilePath(QLatin1String(":/dialpad_color.css"));
+
+    // grab gestures so that those are not passed to widgets behind dialpad
+    grabGesture(Qt::TapGesture);
+    grabGesture(Qt::TapAndHoldGesture);
+    grabGesture(Qt::PanGesture);
+    grabGesture(Qt::SwipeGesture);
+    grabGesture(Qt::PinchGesture);
+
+    // effects
+    HbEffect::add(this, DIALPAD_TO_PRT_FXML, DIALPAD_TO_PRT_EVENT);
+    HbEffect::add(this, DIALPAD_TO_LSC_FXML, DIALPAD_TO_LSC_EVENT);
+}
+
+Dialpad::~Dialpad()
+{
+    delete mBackgroundDrawer;
+    delete mIconDrawer;
+    delete mBackgroundItem;
+}
+
+void Dialpad::paint(
+    QPainter* painter,
+    const QStyleOptionGraphicsItem* option,
+    QWidget* widget)
+{
+    Q_UNUSED(option);
+    Q_UNUSED(widget);
+
+    // paint popup background
+    if ( mOrientation == Qt::Vertical ) {
+        mBackgroundDrawer->setFrameGraphicsName(backgroundGraphics);
+        mIconDrawer->setFrameGraphicsName(minimizeIcon);
+        mBackgroundDrawer->setFrameType(HbFrameDrawer::ThreePiecesVertical);
+        mBackgroundDrawer->setBorderWidths(0.0, mCloseHandleHeight, 0.0, 0.0);
+    } else {
+        mBackgroundDrawer->setFrameGraphicsName(backgroundGraphicsH);
+        mIconDrawer->setFrameGraphicsName(minimizeIconH);
+        mBackgroundDrawer->setFrameType(HbFrameDrawer::ThreePiecesHorizontal);
+        mBackgroundDrawer->setBorderWidths(mCloseHandleHeight, 0.0, 0.0, 0.0);
+    }
+
+    // draw background
+    QRectF rect = boundingRect();
+    mBackgroundDrawer->setFillWholeRect(true);
+    mBackgroundDrawer->paint(painter, rect);
+
+    // adjust rectangle to close bar position
+    if ( mOrientation == Qt::Vertical ) {
+        rect.setLeft((rect.width()- mCloseHandleWidth)/2);
+        rect.setWidth(mCloseHandleWidth);
+        rect.setHeight(mCloseHandleHeight);
+    } else {
+        rect.setTop((rect.height() - mCloseHandleWidth)/2);
+        rect.setWidth(mCloseHandleHeight);
+        rect.setHeight(mCloseHandleWidth);
+    }
+
+    mIconDrawer->setFrameType(HbFrameDrawer::OnePiece);
+    mIconDrawer->paint(painter, rect);
+}
+
+void Dialpad::changeEvent(QEvent *event)
+{
+    if (event->type() == QEvent::LayoutDirectionChange) {
+        mBackgroundDrawer->setLayoutDirection(layoutDirection());
+    } else if (event->type() == HbEvent::ThemeChanged) {
+        mBackgroundDrawer->themeChanged();
+        mIconDrawer->themeChanged();
+    }
+}
+
+bool Dialpad::isOpen() const
+{
+    return mIsOpen;
+}
+
+bool Dialpad::isCallButtonEnabled() const
+{
+    return mKeypad->callButton().isEnabled();
+}
+
+void Dialpad::openDialpad()
+{
+    mKeypad->resetButtons();
+    
+    if (mIsOpen) {
+        return;
+    }
+
+    connect(&mMainWindow,SIGNAL(aboutToChangeOrientation()),
+            SLOT(orientationChangeStarted()));
+    connect(&mMainWindow,SIGNAL(orientationChanged(Qt::Orientation)),
+            SLOT(orientationChangeFinished(Qt::Orientation)));
+
+    // set offset for open animation
+    int previousOrientation = mOrientation;
+    mOrientation = mMainWindow.orientation();
+
+    mPosition = pos();
+    if (mOrientation==Qt::Vertical) {
+        qreal height = geometry().height();
+        setPos(mPosition.x(),mPosition.y()+height);
+    } else {
+        qreal width = geometry().width();
+        setPos(mPosition.x()+width,mPosition.y());
+    }
+
+    if (mOrientation!=previousOrientation) {
+        updateLayout((Qt::Orientation)mOrientation);
+    }
+
+    show();
+
+    setFocusProxy(&mInputField->editor());
+    mInputField->editor().setFocus();
+
+    mOpenTimeLine.start();
+    mAnimationOngoing = true;
+    if (!mInputField->editor().text().isEmpty()) {
+        setCallButtonEnabled(true);
+    }
+    mIsOpen = true;
+
+    emit aboutToOpen();
+}
+
+void Dialpad::closeDialpad()
+{
+    close();
+
+    disconnect(&mMainWindow,SIGNAL(aboutToChangeOrientation()),
+               this, SLOT(orientationChangeStarted()));
+    disconnect(&mMainWindow,SIGNAL(orientationChanged(Qt::Orientation)),
+               this, SLOT(orientationChangeFinished(Qt::Orientation)));
+
+    if (mBackgroundItem) {
+        mBackgroundItem->hide();
+    }
+}    
+
+HbLineEdit& Dialpad::editor() const
+{
+    return mInputField->editor();
+}
+
+void Dialpad::setCallButtonEnabled(bool enabled)
+{
+    mKeypad->setCallButtonEnabled(enabled);
+}
+
+void Dialpad::setTapOutsideDismiss(bool dismiss)
+{
+    // set dismiss policy before opening dialpad
+    Q_ASSERT(!isVisible());
+
+    if (dismiss) {
+        mBackgroundItem = new DialpadBackground(*this);
+        mBackgroundItem->setZValue(zValue()-1);
+        mMainWindow.scene()->addItem(mBackgroundItem);
+        qreal chromeHeight = 0;
+        hbInstance->style()->parameter(QLatin1String("hb-param-widget-chrome-height"),
+                                       chromeHeight);
+        mTitleBarHeight = chromeHeight;
+    } else {
+        delete mBackgroundItem;
+        mBackgroundItem = 0;
+    }
+}
+
+void Dialpad::startCloseAnimation()
+{
+    if (!mAnimationOngoing) {
+        mCloseTimeLine.start();
+        mAnimationOngoing = true;
+   }
+}
+
+void Dialpad::showEvent(QShowEvent *event)
+{
+    HbWidget::showEvent(event);
+
+    if (mBackgroundItem) {
+        layoutBackgroundItem();
+        mBackgroundItem->show();
+    }
+}
+
+void Dialpad::hideEvent(QHideEvent *event)
+{
+    HbWidget::hideEvent(event);
+}
+
+void Dialpad::closeEvent(QCloseEvent * event)
+{
+    mIsOpen = false;
+    HbWidget::closeEvent(event);
+    emit aboutToClose();
+}
+
+void Dialpad::closeAnimValueChanged(qreal value)
+{
+    QPointF currentPos = pos();
+    QPointF newPos;
+
+    if (mOrientation==Qt::Vertical) {
+        qreal height = geometry().height();
+
+        newPos.setX(currentPos.x());
+        newPos.setY(mPosition.y()+(height*value));
+    } else {
+        qreal width = geometry().width();
+
+        newPos.setY(currentPos.y());
+        newPos.setX(mPosition.x()+(width*value));
+    }
+
+    setPos(newPos);
+}
+
+
+void Dialpad::closeAnimFinished()
+{
+    mAnimationOngoing = false;
+    closeDialpad();
+    setPos(mPosition);
+}
+
+void Dialpad::openAnimValueChanged(qreal value)
+{
+    QPointF currentPos = pos();
+    QPointF newPos;
+
+    if (mOrientation==Qt::Vertical) {
+        qreal height = geometry().height();
+
+        newPos.setX(currentPos.x());
+        newPos.setY(mPosition.y()+(height*(1-value)));
+    } else {
+        qreal width = geometry().width();
+
+        newPos.setY(currentPos.y());
+        newPos.setX(mPosition.x()+(width*(1-value)));
+    }
+
+    setPos(newPos);
+}
+
+void Dialpad::openAnimFinished()
+{
+    mAnimationOngoing = false;    
+    setPos(mPosition);      
+}
+
+void Dialpad::orientationChangeStarted()
+{
+    hide();
+}
+
+void Dialpad::orientationChangeFinished(Qt::Orientation current)
+{
+    updateLayout(current);
+
+    show();
+
+    // run orientation change effect
+    if (current==Qt::Horizontal) {
+        HbEffect::start(this, DIALPAD_TO_LSC_EVENT);
+    } else {
+        HbEffect::start(this, DIALPAD_TO_PRT_EVENT);
+    }
+
+    mOrientation = current;
+
+    mPosition = pos();
+
+    if (mBackgroundItem) {
+        layoutBackgroundItem();
+    }
+}
+
+void Dialpad::layoutBackgroundItem()
+{
+    Q_ASSERT(mBackgroundItem);
+    QRectF backgroundRect(mMainWindow.layoutRect());
+    backgroundRect.adjust(0,mTitleBarHeight,0,0);
+    mBackgroundItem->setRect(backgroundRect);
+}
+
+void Dialpad::updateLayout(Qt::Orientation orientation)
+{
+    Q_ASSERT(layout());
+
+    qreal unit = HbDeviceProfile::current().unitValue();
+    qreal margin = DialpadComponentMargin * unit;
+
+    QGraphicsLinearLayout* mainLayout =
+        static_cast<QGraphicsLinearLayout*>(layout());
+
+    // close handle location changes, update margin values
+    if (orientation==Qt::Vertical) {
+        mainLayout->setContentsMargins(margin,
+                                       mCloseHandleHeight,
+                                       margin,
+                                       margin);
+        mKeypad->callButton().setPreferredHeight(DialpadCallButtonHeight*unit);
+    } else {
+        mainLayout->setContentsMargins(mCloseHandleHeight,
+                                       margin,
+                                       margin,
+                                       margin);
+        mKeypad->callButton().setPreferredHeight(DialpadCallButtonHeightH*unit);
+    }
+}
+
+void Dialpad::gestureEvent(QGestureEvent *event)
+{
+    bool closeGesture(false);
+
+    if(HbSwipeGesture *gesture = qobject_cast<HbSwipeGesture*>(
+           event->gesture(Qt::SwipeGesture))) {
+        if (gesture->state() == Qt::GestureFinished) {
+            if ( mOrientation==Qt::Vertical &&
+                 gesture->sceneVerticalDirection() == QSwipeGesture::Down ) {
+                closeGesture = true;
+            } else if (mOrientation==Qt::Horizontal &&
+                gesture->sceneHorizontalDirection() == QSwipeGesture::Right) {
+                closeGesture = true;
+            }
+        }
+    }
+
+    if (closeGesture) {
+        startCloseAnimation();
+        event->accept();
+    } else {
+        event->ignore();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadbackground.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,77 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Background item to close dialpad when tapping outside.
+*
+*/
+
+#include <QGraphicsSceneMouseEvent>
+#include "dialpadbackground.h"
+#include "dialpad.h"
+
+DialpadBackground::DialpadBackground(Dialpad& dialpad) :
+    mDialpad(dialpad), mPressed(false)
+{
+    setFlag(QGraphicsItem::ItemIsFocusable,true);
+}
+
+DialpadBackground::~DialpadBackground()
+{
+
+}
+
+void DialpadBackground::setRect(QRectF rect)
+{
+    mRect = rect;
+}
+
+QRectF DialpadBackground::boundingRect() const
+{
+    return mRect;
+}
+
+void DialpadBackground::paint(
+    QPainter *painter,
+    const QStyleOptionGraphicsItem *option,
+    QWidget *widget)
+{
+    Q_UNUSED(painter);
+    Q_UNUSED(option);
+    Q_UNUSED(widget);
+}
+
+void DialpadBackground::mousePressEvent(QGraphicsSceneMouseEvent * event)
+{
+    mPressed = true;
+    event->accept();
+}
+
+void DialpadBackground::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+{
+    if ( !boundingRect().contains(event->pos()) && mPressed ) {
+        ungrabMouse();
+        mPressed = false;
+    }
+}
+
+void DialpadBackground::mouseReleaseEvent(QGraphicsSceneMouseEvent * event)
+{
+    if (mPressed) {
+        mPressed = false;
+        event->accept();
+        mDialpad.startCloseAnimation();
+    }
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadbluetootheventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* 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 <QTimer>
+#include <QKeyEvent>
+#include <hblineedit.h>
+#include "dialpadbluetootheventfilter.h"
+#include "dialpad.h"
+#include "qtphonesrvlog.h"
+
+#ifdef Q_OS_SYMBIAN
+#include <xqservicerequest.h>
+#endif //Q_OS_SYMBIAN
+
+const int DialpadLongKeyPressTimeOut(1000);
+const QString BluetoothCharacter("*");
+
+DialpadBluetoothEventFilter::DialpadBluetoothEventFilter(Dialpad* dialpad, QObject* parent) :
+    QObject(parent), mDialpad(dialpad)
+{
+    PHONE_TRACE;
+    mLongPressTimer = new QTimer(this);
+    mLongPressTimer->setSingleShot(true);
+    connect(mLongPressTimer,SIGNAL(timeout()), this, SLOT(toggleBluetooth()));
+}
+
+DialpadBluetoothEventFilter::~DialpadBluetoothEventFilter()
+{
+}
+
+bool DialpadBluetoothEventFilter::eventFilter(QObject *watched, QEvent *event)
+{
+    Q_UNUSED(watched)
+            
+    if (event->type() == QEvent::KeyPress) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        if (keyEvent->key() == Qt::Key_Asterisk && 
+            !(mDialpad->editor().text().length() >= 1)) {
+            //Check that there is only one item in dialpad, if there is more than one
+            //do not handle long key press.
+            mLongPressTimer->stop();
+            mLongPressTimer->start(DialpadLongKeyPressTimeOut);
+        }
+    } else if (event->type() == QEvent::KeyRelease) {
+            mLongPressTimer->stop();
+    }
+
+    // Don't consume the key
+    return false;
+}
+
+void DialpadBluetoothEventFilter::toggleBluetooth()
+{
+    PHONE_TRACE;
+    mDialpad->editor().setText(QString(""));
+#ifdef Q_OS_SYMBIAN
+    XQServiceRequest snd("com.nokia.services.btservices.ToggleBluetooth","toggleBluetooth()", false);
+    QVariant retValue;
+    snd.send(retValue);
+#endif // Q_OS_SYMBIAN
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadbutton.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,99 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Custom button
+*
+*/
+
+
+#include <hbevent.h>
+#include <hbframeitem.h>
+
+#include "dialpadbutton.h"
+
+DialpadButton::DialpadButton(QGraphicsItem *parent)
+    : HbPushButton(parent), mButtonType(FunctionButton)
+{
+}
+
+DialpadButton::~DialpadButton()
+{
+}
+
+DialpadButton::DialpadButtonType DialpadButton::buttonType() const
+{
+    return mButtonType;
+}
+
+void DialpadButton::setButtonType(DialpadButtonType type)
+{
+    mButtonType = type;
+}
+
+bool DialpadButton::sceneEvent(QEvent *event)
+{
+    bool result = HbPushButton::sceneEvent(event);
+
+    if (event->type() == QEvent::UngrabMouse) {
+        if (isVisible() && isDown()) {
+            // this is needed in situation, where
+            // longpress launches a dialog (vmbx)
+            // and button release event goes to
+            // dialog (HbPopup grabs mouse).
+            setDown(false);
+            emit clicked();
+            emit released();
+        }
+    }
+
+    return result;
+}
+
+void DialpadButton::polish(HbStyleParameters& params)
+{
+    // HbPushButton::polish() prevents layouting
+    // text and additional-text horizontally.
+    HbAbstractButton::polish( params );
+}
+
+void DialpadButton::updatePrimitives()
+{
+    HbPushButton::updatePrimitives();
+
+    HbFrameItem* frame =
+        qgraphicsitem_cast<HbFrameItem*>(HbWidget::primitive(QLatin1String("background")));
+
+    if (!frame) {
+        return;
+    }
+
+    QString graphicsName;
+
+    if (!isEnabled()) {
+        graphicsName = QLatin1String("qtg_fr_input_btn_function_disabled");
+    } else if (isDown()) {
+        if (buttonType()==CallButton) {
+            graphicsName = QLatin1String("qtg_fr_btn_green_pressed");
+        } else {
+            graphicsName = QLatin1String("qtg_fr_input_btn_function_pressed");
+        }
+    } else {
+        if (buttonType()==CallButton) {
+            graphicsName = QLatin1String("qtg_fr_btn_green_normal");
+        } else {
+            graphicsName = QLatin1String("qtg_fr_input_btn_function_normal");
+        }
+    }
+
+    frame->frameDrawer().setFrameGraphicsName(graphicsName);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpademergencycalleventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include <QKeyEvent>
+#include <hblineedit.h>
+#include <hbstringutil.h>
+#include "dialpademergencycalleventfilter.h"
+#include "dialpad.h"
+#include "qtphonesrvlog.h"
+
+#ifdef Q_OS_SYMBIAN
+#include <cphcltemergencycall.h>
+#include <phclttypes.h>
+#endif //Q_OS_SYMBIAN
+
+
+DialpadEmergencyCallEventFilter::DialpadEmergencyCallEventFilter(Dialpad* dialpad, QObject* parent) :
+    QObject(parent), mDialpad(dialpad), mEmergency(0)
+{
+    PHONE_TRACE;
+#ifdef Q_OS_SYMBIAN
+    TRAP_IGNORE(mEmergency = CPhCltEmergencyCall::NewL( NULL ));
+#endif // Q_OS_SYMBIAN
+    mDialpad->setCallButtonEnabled(false);
+    connect(&mDialpad->editor(),SIGNAL(contentsChanged()),
+            this,SLOT(editorTextChanged()));
+}
+
+DialpadEmergencyCallEventFilter::~DialpadEmergencyCallEventFilter()
+{
+}
+
+bool DialpadEmergencyCallEventFilter::eventFilter(QObject *watched, QEvent *event)
+{
+    PHONE_TRACE;
+    Q_UNUSED(watched)
+    
+    bool eventFiltered = false;
+#ifdef Q_OS_SYMBIAN
+       
+    const int eventType = event->type();
+       
+    if (eventType == QEvent::KeyPress) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        const int keyCode = keyEvent->key();
+        if (keyCode == Qt::Key_Yes ||
+             keyCode == Qt::Key_Enter) {           
+            if (isEmergencyNumber(editorText())) {
+                createCall(editorText());
+                eventFiltered = true;
+            }            
+        }
+    }
+#else
+    Q_UNUSED(event)
+#endif // Q_OS_SYMBIAN
+    
+    return eventFiltered;
+}
+
+bool DialpadEmergencyCallEventFilter::isEmergencyNumber(QString string)
+{
+    PHONE_TRACE;
+    bool ret = false;
+#ifdef Q_OS_SYMBIAN
+    if (KPhCltTelephoneNumberLength >= string.length()) {
+        TBool emergency;
+        TPhCltTelephoneNumber number(reinterpret_cast<const TUint16*>(string.utf16()));
+        if (mEmergency && 
+           KErrNone == mEmergency->IsEmergencyPhoneNumber(number, emergency)) {
+            ret = emergency;
+        }               
+    }
+#else
+    Q_UNUSED(string)
+#endif // Q_OS_SYMBIAN
+    return ret;
+}
+
+QString DialpadEmergencyCallEventFilter::editorText()
+{
+    PHONE_TRACE;
+    return HbStringUtil::convertDigitsTo(
+                mDialpad->editor().text(), WesternDigit);
+}
+
+void DialpadEmergencyCallEventFilter::createCall(const QString &phoneNumber)
+{
+    PHONE_TRACE2("phoneNumber:", phoneNumber);
+#ifdef Q_OS_SYMBIAN
+    TPtrC number (static_cast<const TUint16*>(phoneNumber.utf16()),
+            phoneNumber.length());
+    TRAP_IGNORE(mEmergency->DialEmergencyCallL(number));
+#endif // Q_OS_SYMBIAN
+}
+
+void DialpadEmergencyCallEventFilter::editorTextChanged()
+{
+    mDialpad->setCallButtonEnabled(isEmergencyNumber(editorText())); 
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadhasheventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* 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 <qtimer>
+#include <hblineedit.h>
+#include <hbnotificationdialog.h>
+#include "dialpadhasheventfilter.h"
+#include "dialpadsymbianwrapper.h"
+#include "dialpad.h"
+#include "qtphonesrvlog.h"
+
+const QString HashCharacter("#");
+
+DialpadHashEventFilter::DialpadHashEventFilter(Dialpad* dialpad, QObject* parent) :
+    DialpadMailboxEventFilterBase(dialpad, parent)
+{
+}
+
+DialpadHashEventFilter::~DialpadHashEventFilter()
+{
+}
+
+bool DialpadHashEventFilter::eventFilter(QObject *watched, QEvent *event)
+{
+    Q_UNUSED(watched)
+    bool keyEventEaten(false);
+
+    if (event->type() == QEvent::KeyPress) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);        
+        if ((isLongKeyPressSupported(keyEvent->key())) &&
+            !(mDialpad->editor().text().length() >= 1)) {
+            //Check that there is only one item in dialpad, if there is more than one
+            //do not handle long key press.
+            mLongPressTimer->stop();
+            mLongPressTimer->start(DialpadLongKeyPressTimeOut);
+        }
+    } else if (event->type() == QEvent::KeyRelease) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        if (isLongKeyPressSupported(keyEvent->key())){
+            mLongPressTimer->stop();
+        }
+    }
+
+    return keyEventEaten;
+}
+
+void DialpadHashEventFilter::handleLongKeyPress()
+{
+    PHONE_TRACE;
+    switch(mKeyEvent) {
+    case Qt::Key_NumberSign:{
+       handleMailboxOperation();
+       break;
+       }
+   default:
+       // Do nothing.
+       break;
+    }
+
+    // Reset key code.
+    mKeyEvent = NULL;
+}
+
+bool DialpadHashEventFilter::handleCallButtonPress()
+{
+    // not supported
+    return EFalse;
+}
+
+void DialpadHashEventFilter::handleMailboxOperation()
+{
+    PHONE_TRACE;
+    // change KCRUidProfileEngine KProEngSilenceMode value and show note  
+    if (mSymbianWrapper->changeSilentModeState()) {
+        HbNotificationDialog::launchDialog( 
+                hbTrId( "txt_dialer_dpopinfo_silent_mode_activated" ) );
+    }
+    else {
+        HbNotificationDialog::launchDialog( 
+                hbTrId( "txt_dialer_dpopinfo_silent_mode_deactivated" ) );
+    }
+    clearEditor();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadinputfield.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,111 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Input field
+*
+*/
+
+#include <QGraphicsLinearLayout>
+
+#include <hblineedit.h>
+#include <hbinputeditorinterface.h>
+#include <hbinputstandardfilters.h>
+#include <hbdeviceprofile.h>
+
+#include "dialpadinputfield.h"
+#include "dialpadbutton.h"
+
+static const QLatin1String HbBackspaceIcon("qtg_mono_backspace2");
+static const int DialpadAutoRepeatInterval = 150; // ms
+static const int DialpadAutoRepeatDelay = 1000; // ms
+static const qreal DialpadComponentMargin = 0.75; // units
+static const qreal DialpadBackspaceWidth = 9.4; // units
+static const qreal DialpadInputFieldHeight = 6.3; // units
+static const int DialpadMaxEditStringLenght = 100;
+
+DialpadInputField::DialpadInputField(QGraphicsItem* parent)
+    : HbWidget(parent)
+{
+    // create editor
+    mNumberEditor = new HbLineEdit(this);
+    HbEditorInterface editorInterface(mNumberEditor);
+    editorInterface.setFilter(HbPhoneNumberFilter::instance());
+    editorInterface.setInputConstraints(HbEditorConstraintIgnoreFocus);
+    mNumberEditor->setMaxLength(DialpadMaxEditStringLenght);
+    mNumberEditor->setMinRows(1);
+    mNumberEditor->setMaxRows(1);    
+    mNumberEditor->setAdjustFontSizeToFitHeight(true);
+
+    // create backspace button
+    mBackspace = new DialpadButton(this);
+    mBackspace->setButtonType(DialpadButton::FunctionButton); // for css
+    mBackspace->setFocusPolicy(Qt::NoFocus);
+    mBackspace->setFlag(QGraphicsItem::ItemIsFocusable,false);
+    mBackspace->setIcon(HbIcon(HbBackspaceIcon));
+    mBackspace->setEnabled(false);
+    QString buttonName;
+    buttonName.setNum(Qt::Key_Backspace);
+    mBackspace->setObjectName(buttonName);
+    mBackspace->setAutoRepeat(true);
+    mBackspace->setAutoRepeatInterval(DialpadAutoRepeatInterval);
+    mBackspace->setAutoRepeatDelay(DialpadAutoRepeatDelay);
+
+    connect(mNumberEditor,SIGNAL(contentsChanged()),
+            SLOT(onEditorContentChanged()));
+
+    // set input field layout
+    qreal unit = HbDeviceProfile::current().unitValue();
+    mHeight = (int) DialpadInputFieldHeight * unit;
+    QGraphicsLinearLayout* layout = new QGraphicsLinearLayout;
+    layout->addItem(mNumberEditor);
+    layout->setAlignment(mNumberEditor,Qt::AlignVCenter);
+    layout->addItem(mBackspace);
+    layout->setContentsMargins(0,0,0,0);
+    layout->setSpacing(DialpadComponentMargin* unit);
+    // layout parameters
+    mBackspace->setPreferredWidth(DialpadBackspaceWidth * unit);
+    mBackspace->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding);
+    setLayout(layout);
+}
+
+DialpadInputField::~DialpadInputField()
+{
+}
+
+HbLineEdit& DialpadInputField::editor() const
+{
+    return *mNumberEditor;
+}
+
+DialpadButton& DialpadInputField::backspaceButton() const
+{
+    return *mBackspace;
+}
+
+void DialpadInputField::onEditorContentChanged()
+{
+    mBackspace->setEnabled(mNumberEditor->text().length());
+}
+
+QSizeF DialpadInputField::sizeHint(
+    Qt::SizeHint which,
+    const QSizeF & constraint) const
+{
+    Q_UNUSED(which);
+    Q_UNUSED(constraint);
+
+    // input field height is fixed
+    QSizeF sh;
+    sh.setHeight(mHeight);
+    return sh;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadkeyhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,130 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Custom button
+*
+*/
+
+#include <hbmainwindow.h>
+#ifdef Q_OS_SYMBIAN
+#include <featmgr.h>
+#endif // Q_OS_SYMBIAN
+#include "dialpad.h"
+#include "dialpadkeyhandler.h"
+#include "dialpadvoicemailboxeventfilter.h"
+#include "dialpadvideomailboxeventfilter.h"
+#include "dialpadbluetootheventfilter.h"
+#include "dialpadkeysequenceeventfilter.h"
+#include "dialpademergencycalleventfilter.h"
+#include "dialpadhasheventfilter.h"
+#include "qtphonesrvlog.h"
+
+DialpadKeyHandler::DialpadKeyHandler(
+    Dialpad *dialPad, HbMainWindow& mainWindow, QObject *parent) 
+    : 
+    QObject(parent),
+	mMainWindow(mainWindow),
+	mVmbxFilter(0),
+	mVideoVmbxFilter(0),
+	mBtFilter(0),
+	mKeySequenceFilter(0),
+	mEmergencyCallFilter(0),
+	mHashFilter(0)
+{
+    PHONE_TRACE;
+
+    // Variations
+    bool isVideoMailboxSupported = false;
+#ifdef Q_OS_SYMBIAN
+    isVideoMailboxSupported = FeatureManager::FeatureSupported(KFeatureIdCsVideoTelephony);
+#endif // Q_OS_SYMBIAN
+    
+    mVmbxFilter.reset(new DialpadVoiceMailboxEventFilter(dialPad));
+    if (isVideoMailboxSupported) {
+        mVideoVmbxFilter.reset(new DialpadVideoMailboxEventFilter(dialPad));
+    }
+    mBtFilter.reset(new DialpadBluetoothEventFilter(dialPad));
+    mKeySequenceFilter.reset(new DialpadKeySequenceEventFilter(dialPad));
+    mHashFilter.reset(new DialpadHashEventFilter(dialPad));
+
+    // Stack different event filters
+    mMainWindow.installEventFilter(mVmbxFilter.data());
+    if (isVideoMailboxSupported) {
+        mMainWindow.installEventFilter(mVideoVmbxFilter.data());    
+    }
+    mMainWindow.installEventFilter(mBtFilter.data());
+    mMainWindow.installEventFilter(mKeySequenceFilter.data());
+    mMainWindow.installEventFilter(mHashFilter.data());
+}
+
+
+DialpadKeyHandler::DialpadKeyHandler(
+    Dialpad *dialPad, 
+    DialpadKeyHandler::DialpadKeyEventFilters filters, 
+    QObject *parent) 
+    : 
+    QObject(parent),
+    mMainWindow(*(dialPad->mainWindow())),
+    mVmbxFilter(0),
+    mVideoVmbxFilter(0),
+    mBtFilter(0),
+    mKeySequenceFilter(0),
+    mEmergencyCallFilter(0),
+    mHashFilter(0)
+{
+    PHONE_TRACE;
+    
+    if (filters.testFlag(VoiceMailbox)) {
+        mVmbxFilter.reset(new DialpadVoiceMailboxEventFilter(dialPad));
+        mMainWindow.installEventFilter(mVmbxFilter.data());
+    }
+    
+    if (filters.testFlag(VideoMailBox)) {
+        mVideoVmbxFilter.reset(
+            new DialpadVideoMailboxEventFilter(dialPad));
+        mMainWindow.installEventFilter(mVideoVmbxFilter.data());
+    }
+    
+    if (filters.testFlag(Bluetooth)) {
+        mBtFilter.reset(new DialpadBluetoothEventFilter(dialPad));
+        mMainWindow.installEventFilter(mBtFilter.data());
+    }
+    
+    if (filters.testFlag(KeySequence)) {
+        mKeySequenceFilter.reset(
+            new DialpadKeySequenceEventFilter(dialPad));
+        mMainWindow.installEventFilter(mKeySequenceFilter.data());
+    }
+    
+    if (filters.testFlag(EmergencyCall)) {
+        mEmergencyCallFilter.reset(
+            new DialpadEmergencyCallEventFilter(dialPad));
+        mMainWindow.installEventFilter(mEmergencyCallFilter.data());
+    }
+    
+    if (filters.testFlag(Hash)) {
+        mHashFilter.reset(new DialpadHashEventFilter(dialPad));
+        mMainWindow.installEventFilter(mHashFilter.data());
+    }
+}
+
+
+DialpadKeyHandler::~DialpadKeyHandler()
+{
+    mMainWindow.removeEventFilter(mVmbxFilter.data());
+    mMainWindow.removeEventFilter(mVideoVmbxFilter.data());
+    mMainWindow.removeEventFilter(mBtFilter.data());
+    mMainWindow.removeEventFilter(mKeySequenceFilter.data());
+    mMainWindow.removeEventFilter(mEmergencyCallFilter.data());
+    mMainWindow.removeEventFilter(mHashFilter.data());
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadkeypad.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Dialpad keypad
+*
+*/
+
+#include <QLocale>
+#include <QSignalMapper>
+
+#include <hbinstance.h>
+#include <hbinputkeymapfactory.h>
+#include <hbinputkeymap.h>
+#include <hbinpututils.h>
+#include <hbinputsettingproxy.h>
+#include <hbinputlanguage.h>
+#include <hbapplication.h>
+#include <hbcolorscheme.h>
+#include <hblineedit.h>
+#include <hbfontspec.h>
+#include <hbevent.h>
+
+#include "dialpadnumericbutton.h"
+#include "dialpadkeypad.h"
+#include "dialpadbutton.h"
+#include "dialpadinputfield.h"
+
+static const int DialpadRowCount = 4;
+static const int DialpadColumnCount = 3;
+static const QLatin1String handsetIcon("qtg_mono_call");
+static const QLatin1String vmbxIcon("qtg_mono_voice_mailbox");
+// layout values in units
+static const qreal DialpadPrimaryTextSize = 5.5;
+static const qreal DialpadSecondaryTextSize = 4.0;
+static const qreal DialpadIconSize = 4.0;
+static const qreal DialpadPrimaryTextLeftMargin  = 1.5;
+static const qreal DialpadPrimarySecondaryMargin  = 0.75;
+
+static const int DialpadKeyCodeTable[DialpadRowCount*DialpadColumnCount] =
+{
+    Qt::Key_1,        Qt::Key_2,      Qt::Key_3,
+    Qt::Key_4,        Qt::Key_5,      Qt::Key_6,
+    Qt::Key_7,        Qt::Key_8,      Qt::Key_9,
+    Qt::Key_Asterisk, Qt::Key_0,      Qt::Key_NumberSign
+    // Qt::Key_Yes and Qt::Key_BackSpace are handled separately
+};
+
+DialpadKeypad::DialpadKeypad(
+    const HbMainWindow& mainWindow,
+    DialpadInputField& inputField,
+    QGraphicsItem* parent) :
+    HbInputButtonGroup(parent),
+    mMainWindow(mainWindow),
+    mInputField(inputField),
+    mMaxPrimaryLineWidth(0)
+{
+    setObjectName("keypad");
+
+    // create clicked signal mapper
+    mKeyClickedSignalMapper = new QSignalMapper(this);
+    connect(mKeyClickedSignalMapper,SIGNAL(mapped(int)),
+            SLOT(handleKeyClicked(int)));
+
+    // connect backspace signals
+    connect(&mInputField.backspaceButton(),SIGNAL(clicked()),
+            mKeyClickedSignalMapper,SLOT(map()));
+    mKeyClickedSignalMapper->setMapping(&mInputField.backspaceButton(),
+                                        Qt::Key_Backspace);
+
+    // create keypad
+    setGridSize(QSize(DialpadColumnCount, DialpadRowCount));
+    setButtonBorderSize(0);    
+
+    QList<HbInputButton*> buttons;
+
+    for (int i = 0; i < DialpadRowCount * DialpadColumnCount; ++i) {
+        DialpadNumericButton *item = new DialpadNumericButton(
+            DialpadKeyCodeTable[i],
+            QPoint(i % DialpadColumnCount, i / DialpadColumnCount));
+        buttons.append(item);
+
+        item->setType(HbInputButton::ButtonTypeNormal);
+    }
+
+    setButtons(buttons);
+
+    // connect keypad signals
+    QObject::connect(this, SIGNAL(buttonPressed(const QKeyEvent&)),
+                     this, SLOT(sendKeyPressEvent(const QKeyEvent&)));
+    QObject::connect(this, SIGNAL(buttonReleased(const QKeyEvent&)),
+                     this, SLOT(sendKeyReleaseEvent(const QKeyEvent&)));
+    QObject::connect(this, SIGNAL(buttonLongPressed(const QKeyEvent&)),
+                     this, SLOT(sendLongPressEvent(const QKeyEvent&)));
+    QObject::connect(this, SIGNAL(pressedButtonChanged(const QKeyEvent&,
+                                                       const QKeyEvent&)),
+                     this, SLOT(handleKeyChangeEvent(const QKeyEvent&,
+                                                     const QKeyEvent&)));
+
+    // create call button (parent layouts this)
+    mCallButton = new DialpadButton(parent);
+    mCallButton->setButtonType(DialpadButton::CallButton);
+    mCallButton->setIcon(HbIcon(handsetIcon));
+    QString buttonName;
+    buttonName.setNum(Qt::Key_Yes);
+    mCallButton->setObjectName(buttonName);
+    connect(mCallButton,SIGNAL(clicked()),
+            mKeyClickedSignalMapper,SLOT(map()));
+    connect(mCallButton,SIGNAL(longPress(QPointF)),
+            mKeyClickedSignalMapper,SLOT(map()));
+    mKeyClickedSignalMapper->setMapping(mCallButton,
+                                        Qt::Key_Yes);
+
+    // set button texts
+    setButtonTexts();
+    // set button icons
+    button(0)->setIcon(HbIcon(vmbxIcon));
+
+    // update button texts when input language is changed
+    connect(HbInputSettingProxy::instance(),
+            SIGNAL(globalInputLanguageChanged(HbInputLanguage)),
+            this,SLOT(setButtonTexts()));
+
+    updateColorArray();
+
+    mUnit = HbDeviceProfile::profile(this).unitValue();
+}
+
+DialpadKeypad::~DialpadKeypad()
+{
+}
+
+void DialpadKeypad::setButtonTexts()
+{
+    HbInputLanguage inputLanguage =
+        HbInputSettingProxy::instance()->globalInputLanguage();
+    const HbKeymap *keymap =
+        HbKeymapFactory::instance()->keymap(inputLanguage.language());
+
+    mGeneratedChar.clear();
+
+    if (keymap) {
+        int buttonCount = (DialpadRowCount*DialpadColumnCount);
+        for (int i = 0; i < buttonCount; i++) {
+            int keyCode = DialpadKeyCodeTable[i];
+
+            if (keyCode == Qt::Key_Asterisk) {
+                // asterisk is not localized
+                QChar asterisk('*');
+                button(i)->setText(asterisk);
+                button(i)->setSecondaryText(QLatin1String("+"));
+                mGeneratedChar.insert(Qt::Key_Asterisk, asterisk);
+                continue;
+            }
+
+            if (keyCode == Qt::Key_NumberSign) {
+                // number sign is not localized
+                QChar numberSign('#');
+                button(i)->setText(numberSign);
+                mGeneratedChar.insert(Qt::Key_NumberSign, numberSign);
+                continue;
+            }
+
+            int index = i;
+            if (keyCode==Qt::Key_0) {
+                index = i-1;
+            }
+
+            const HbMappedKey *key =
+                keymap->keyForIndex(HbKeyboardVirtual12Key, index);
+
+            if (key) {
+                QChar numberChar =
+                    HbInputUtils::findFirstNumberCharacterBoundToKey(
+                        key,
+                        inputLanguage.language(),
+                        HbInputUtils::inputDigitType(inputLanguage.language()));
+
+                // button text
+                button(i)->setText(numberChar);
+                mGeneratedChar.insert(keyCode,numberChar);
+
+                // additional text (letters)
+                int numberOfCharacters;
+                if (keyCode==Qt::Key_7 || keyCode == Qt::Key_9) {
+                    numberOfCharacters = 4;
+                } else if (keyCode==Qt::Key_0||keyCode==Qt::Key_1) {
+                    numberOfCharacters = 0;
+                } else {
+                    numberOfCharacters = 3;
+                }
+
+                QString characters = key->characters(HbModifierNone);
+
+                if (numberOfCharacters!=0 && keyCode!=Qt::Key_1) {
+                    button(i)->setSecondaryText(characters.left(numberOfCharacters));
+                }
+            }
+        }
+    }
+}
+
+void DialpadKeypad::handleKeyClicked(int key)
+{
+    // concerns only yes and backspace keys
+    postKeyEvent(QEvent::KeyPress, key);
+    postKeyEvent(QEvent::KeyRelease, key);
+}
+
+void DialpadKeypad::postKeyEvent(QEvent::Type type, int key)
+{
+    // send simulated key to application
+    QKeyEvent *keyEvent = new QKeyEvent(type, key, Qt::NoModifier);
+    HbApplication::postEvent(const_cast<HbMainWindow*>(&mMainWindow),keyEvent);
+}
+
+void DialpadKeypad::sendKeyEventToEditor(QEvent::Type type, int key)
+{
+    // send key event to editor
+    QKeyEvent keyEvent(type, key, Qt::NoModifier, mGeneratedChar.value(key));
+    HbApplication::sendEvent(&mInputField.editor(), &keyEvent);
+}
+
+void DialpadKeypad::sendKeyPressEvent(const QKeyEvent& event)
+{
+    updateButtonLabels();
+    mPressedNumericKey = event.key();
+    postKeyEvent(QEvent::KeyPress, event.key());
+}
+
+void DialpadKeypad::sendKeyReleaseEvent(const QKeyEvent& event)
+{
+    updateButtonLabels();
+
+    if (mPressedNumericKey) {
+        // short press, update editor here
+        sendKeyEventToEditor(QEvent::KeyPress, event.key());
+    }
+
+    postKeyEvent(QEvent::KeyRelease, event.key());    
+}
+
+void DialpadKeypad::sendLongPressEvent(const QKeyEvent& event)
+{
+    sendKeyEventToEditor(QEvent::KeyPress, event.key());
+    mPressedNumericKey = 0;
+}
+
+void DialpadKeypad::handleKeyChangeEvent(
+    const QKeyEvent& releaseEvent,
+    const QKeyEvent& pressEvent)
+{
+    Q_UNUSED(pressEvent)
+
+    postKeyEvent(QEvent::KeyRelease, releaseEvent.key());
+    cancelButtonPress();
+}
+
+void DialpadKeypad::setCallButtonEnabled(bool enabled)
+{
+    mCallButton->setEnabled(enabled);
+}
+
+void DialpadKeypad::resetButtons()
+{
+    cancelButtonPress();
+    mCallButton->setDown(false);
+}
+
+DialpadButton& DialpadKeypad::callButton() const
+{
+    return *mCallButton;
+}
+
+DialpadNumericButton* DialpadKeypad::button(int i) const
+{
+    return static_cast<DialpadNumericButton*>(HbInputButtonGroup::button(i));
+}
+
+void DialpadKeypad::updateButtonLabels()
+{
+    // update numeric buttons according to button state (pressed/released)
+    updateIconColor();
+    updateTextLayouts(rect().size());
+}
+
+void DialpadKeypad::paint(
+    QPainter* painter,
+    const QStyleOptionGraphicsItem* option,
+    QWidget* widget)
+{
+    Q_UNUSED(option);
+    Q_UNUSED(widget);
+
+    // Paints empty buttons
+    HbInputButtonGroup::paint(painter,option,widget);
+
+    qreal cellWidth = boundingRect().width() / gridSize().width();
+    qreal cellHeight = boundingRect().height() / gridSize().height();
+
+    // Draw icons
+    for (int i = 0; i < DialpadRowCount * DialpadColumnCount; i++) {
+        DialpadNumericButton *item = button(i);
+
+        if (!item->icon().isNull()) {
+            // icon is centered to button
+            qreal x = (item->position().x() * cellWidth) + (cellWidth / 2) -
+                      ((DialpadIconSize * mUnit) / 2);
+            qreal y = (item->position().y() * cellHeight) +  (cellHeight / 2) -
+                      ((DialpadIconSize * mUnit) / 2);
+
+            qreal width = DialpadIconSize * mUnit;
+            qreal height = DialpadIconSize * mUnit;
+
+            Qt::Alignment alignment =
+                static_cast<Qt::Alignment>(Qt::AlignVCenter | Qt::AlignHCenter);
+            item->icon().paint(painter,
+                               QRectF(x,y,width,height),
+                               Qt::KeepAspectRatio,
+                               alignment);
+        }                      
+    }
+
+    // Draw texts
+    QPen origPen = painter->pen();
+    for (int i = 0; i < mTextLayouts.count(); ++i) {
+        if (i==SecondaryText) {
+            // dimmed in normal state
+            painter->setPen(mColors.at(Pressed+1));
+        } else {
+            // otherwise normal or pressed color
+            painter->setPen(mColors.at(i/TextTypeCount));
+        }
+        mTextLayouts.at(i)->draw(painter, QPointF(0, 0));
+    }
+    painter->setPen(origPen);
+}
+
+void DialpadKeypad::updateColorArray()
+{
+    mColors.clear();
+
+    QColor normalColor = HbColorScheme::color("qtc_input_button_normal");
+    mColors.insert(Normal, normalColor);
+
+    QColor pressedColor = HbColorScheme::color("qtc_input_button_pressed");
+    mColors.insert(Pressed, pressedColor);
+
+    // this is used for alphabets shown dimmed, use alpha until exact color
+    // is specified
+    QColor disabledColor = HbColorScheme::color("qtc_input_button_normal");
+    disabledColor.setAlpha(128);
+    mColors.insert(Pressed+1, disabledColor);
+}
+
+void DialpadKeypad::updateIconColor()
+{
+    for (int i = 0; i < (DialpadRowCount * DialpadColumnCount); i++) {
+        DialpadNumericButton *item = button(i);
+
+        if (item->state()==HbInputButton::ButtonStatePressed) {
+            item->icon().setColor(mColors.at(Pressed));
+        } else {
+            item->icon().setColor(mColors.at(Normal));
+        }
+    }
+}
+
+void DialpadKeypad::cancelButtonPress()
+{
+    HbInputButtonGroup::cancelButtonPress();
+    updateButtonLabels();
+}
+
+void DialpadKeypad::setGeometry(const QRectF &rect)
+{
+    HbInputButtonGroup::setGeometry(rect);
+    updateTextLayouts(rect.size());
+}
+
+void DialpadKeypad::changeEvent(QEvent *event)
+{
+    HbInputButtonGroup::changeEvent(event);
+
+    if (event->type() == HbEvent::ThemeChanged) {
+        updateColorArray();
+        updateIconColor();
+    }
+}
+
+void DialpadKeypad::updateTextLayouts(const QSizeF &size)
+{
+    if (!size.width() && !size.height()) {
+        return;
+    }
+
+    // get normal and pressed state texts
+    QList<QString> textContent;
+    resolveTextContent(textContent);
+
+    // layout the texts
+    createTextLayouts(size, textContent);
+}
+
+void DialpadKeypad::resolveTextContent(QList<QString> &content)
+{
+    QString normalState;
+    QString normalStateSecondary;
+    QString pressedState;
+    QString pressedStateSecondary;
+
+    for (int i = 0; i < (DialpadRowCount*DialpadColumnCount); i++) {
+        DialpadNumericButton *item = button(i);
+        if (item->state()==HbInputButton::ButtonStatePressed) {
+            if (item->text().length()) {
+                pressedState.append(item->text());
+                pressedState.append(QChar(QChar::LineSeparator));
+            }
+
+            if (item->secondaryText().length()) {
+                pressedStateSecondary.append(item->secondaryText());
+                pressedStateSecondary.append(QChar(QChar::LineSeparator));
+            }
+        } else { // ButtonStateNormal
+            if (item->text().length()) {
+                normalState.append(item->text());
+                normalState.append(QChar(QChar::LineSeparator));
+            }
+
+            if (item->secondaryText().length()) {
+                normalStateSecondary.append(item->secondaryText());
+                normalStateSecondary.append(QChar(QChar::LineSeparator));
+            }
+        }
+    }
+
+    content.insert(PrimaryText, normalState);
+    content.insert(SecondaryText, normalStateSecondary);
+    content.insert(TextTypeCount + Pressed, pressedState);
+    content.insert(StateCount + SecondaryText, pressedStateSecondary);
+}
+
+void DialpadKeypad::createTextLayouts(
+    const QSizeF &size, const QList<QString> &content)
+{
+    // clear old layouts
+    qDeleteAll(mTextLayouts);
+    mTextLayouts.clear();
+
+    if (content.count()==2) {
+        // line width is measured only when all buttons are in normal state
+        mMaxPrimaryLineWidth = 0;
+    }
+
+    QFont primaryfFont = HbFontSpec(HbFontSpec::Primary).font();
+    primaryfFont.setPixelSize(DialpadPrimaryTextSize * mUnit);
+
+    QFont secondaryFont = HbFontSpec(HbFontSpec::Secondary).font();
+    secondaryFont.setPixelSize(DialpadSecondaryTextSize * mUnit);
+
+    for (int i=0; i < (StateCount*TextTypeCount); i++ ) {
+        QString text = content.at(i);
+
+        if (!text.isNull()) {
+            QTextLayout* textLayout;
+            int type;
+
+            if (i%TextTypeCount) {
+                textLayout = new QTextLayout(text,secondaryFont);
+                type = SecondaryText;
+            } else {
+                textLayout = new QTextLayout(text,primaryfFont);
+                type = PrimaryText;
+            }
+
+            mTextLayouts.append(textLayout);
+
+            textLayout->beginLayout();
+
+            int state = (i>=TextTypeCount) ? Pressed : Normal;
+
+            layoutTextLines(size,*textLayout,state,type);
+
+            textLayout->endLayout();
+
+            textLayout->setCacheEnabled(true);
+        }
+    }
+}
+
+void DialpadKeypad::layoutTextLines(
+    const QSizeF &size,
+    QTextLayout &textLayout,
+    int state,
+    int type)
+{
+    QFontMetricsF fontMetrics(textLayout.font());
+    qreal textHeight = fontMetrics.height();
+
+    qreal cellWidth = size.width() / gridSize().width();
+    qreal cellHeight = size.height() / gridSize().height();
+    qreal maxLineWidth = 0;
+
+    for (int j = 0; j < (DialpadRowCount*DialpadColumnCount); j++) {
+        DialpadNumericButton *item = button(j);
+
+        if ((type==PrimaryText && item->text().isNull()) ||
+            (type==SecondaryText && item->secondaryText().isNull())) {
+            continue; // no text for this button -> next button
+        }
+
+        if ( ( state==Normal &&
+               item->state()==HbInputButton::ButtonStateReleased ) ||
+             ( state==Pressed &&
+               item->state()==HbInputButton::ButtonStatePressed ) ) {
+
+            QTextLine line = textLayout.createLine();
+
+            qreal textPositionX = 0;
+            qreal textPositionY = 0;
+
+            if (line.isValid()) {
+                line.setNumColumns(item->text().length());
+                // layout text line
+                if (type==SecondaryText) {
+                    if (j==9) {
+                        // + is centered to button
+                        qreal lineWidth = fontMetrics.width(item->text());
+                        textPositionX = (item->position().x() * cellWidth) +
+                                        (cellWidth / 2) -
+                                        (lineWidth / 2);
+                        textPositionY = (item->position().y() +
+                                        (0.5 * item->size().height())) *
+                                        cellHeight - (0.5 * textHeight);
+
+                    } else {
+                        textPositionX = (item->position().x() * cellWidth) +
+                                        (DialpadPrimaryTextLeftMargin * mUnit) +
+                                        mMaxPrimaryLineWidth +
+                                        (DialpadPrimarySecondaryMargin * mUnit)
+                                        + buttonBorderSize();
+                        textPositionY = (item->position().y() +
+                                        (0.5 * item->size().height())) *
+                                        cellHeight - (0.5 * textHeight);
+                    }                    
+                } else {
+                    textPositionX = (item->position().x() * cellWidth) +
+                                    (DialpadPrimaryTextLeftMargin * mUnit)
+                                    + buttonBorderSize();
+                    textPositionY = (item->position().y() +
+                                    (0.5 * item->size().height())) *
+                                    cellHeight - (0.5 * textHeight);
+
+                    // store line width, for drawing secondary text
+                    qreal lineWidth = fontMetrics.width(item->text());
+                    if (mMaxPrimaryLineWidth == 0 && (j>0 && j<10) &&
+                        lineWidth > maxLineWidth) {
+                        maxLineWidth = lineWidth;
+                    }
+                }
+            }
+
+            line.setPosition(QPointF(textPositionX, textPositionY));
+        }
+    }
+
+    mMaxPrimaryLineWidth = maxLineWidth;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadkeysequenceeventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,150 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements key sequence recognition filter for Dialpad.
+*
+*/
+#include <QDebug>
+#include <QKeyEvent>
+#include <hblineedit.h>
+#include <hbstringutil.h>
+#ifdef Q_OS_SYMBIAN
+#include <xqservicerequest.h>
+#include <xqserviceutil.h>
+#endif //Q_OS_SYMBIAN
+#include "dialpadkeysequenceeventfilter.h"
+#include "dialpad.h"
+#include "qtphonesrvlog.h"
+
+/*!
+  DialpadKeySequenceEventFilter::DialpadKeySequenceEventFilter.
+ */
+DialpadKeySequenceEventFilter::DialpadKeySequenceEventFilter(
+    Dialpad* dialpad, QObject* parent) 
+    :
+    QObject(parent), mDialpad(dialpad)
+{
+    PHONE_TRACE;
+    
+    constructKeySequenceToHandlerMappings();
+}
+
+
+/*!
+  DialpadKeySequenceEventFilter::~DialpadKeySequenceEventFilter.
+ */
+DialpadKeySequenceEventFilter::~DialpadKeySequenceEventFilter()
+{
+    PHONE_TRACE;
+}
+
+
+/*!
+  DialpadKeySequenceEventFilter::eventFilter.
+ */
+bool DialpadKeySequenceEventFilter::eventFilter(QObject *watched, QEvent *event)
+{
+    Q_UNUSED(watched)
+    
+    const bool eventFiltered = false;
+#ifdef Q_OS_SYMBIAN    
+    // Code is executed after '#' is pressed as specified in Dialer UI 
+    // specification.
+    if (QEvent::KeyRelease == event->type()){
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        if (Qt::Key_NumberSign == keyEvent->key())  {        
+            QString keySequenceCandidate = HbStringUtil::convertDigitsTo(
+                mDialpad->editor().text(), WesternDigit);
+            XQAiwInterfaceDescriptor keySequenceHandler = 
+                findKeySequenceHandler(keySequenceCandidate);
+            if (keySequenceHandler.isValid()) {
+                QScopedPointer<XQAiwRequest> request(mAiwMgr.create(
+                    keySequenceHandler, 
+                    "executeKeySequence(QString)",
+                    false));
+                request->setSynchronous(true);
+                request->setBackground(true);
+                QList<QVariant> arguments;
+                arguments << keySequenceCandidate;
+                request->setArguments(arguments);
+                
+                QVariant keySequenceProcessed;
+                bool requestOk = request->send(keySequenceProcessed);
+                if (requestOk && keySequenceProcessed.toBool()) {
+                    mDialpad->editor().setText(QString(""));
+                }
+            }
+        }
+    }
+#else
+    Q_UNUSED(event)
+#endif // Q_OS_SYMBIAN
+    
+    return eventFiltered;
+}
+
+
+/*!
+  DialpadKeySequenceEventFilter::constructKeySequenceToHandlerMappings.
+ */
+void DialpadKeySequenceEventFilter::constructKeySequenceToHandlerMappings()
+{
+    PHONE_TRACE;
+    
+    QList<XQAiwInterfaceDescriptor> implementations = mAiwMgr.list(
+        "com.nokia.symbian.IKeySequenceRecognition", 
+        "");
+    
+    foreach (XQAiwInterfaceDescriptor d, implementations)
+    {
+        QScopedPointer<XQAiwRequest> request(mAiwMgr.create(
+            d,
+            "keySequenceValidator()",
+            false));
+        request->setSynchronous(true);
+        request->setBackground(true);
+        
+        QVariant keySequenceValidator;
+        bool requestOk = request->send(keySequenceValidator);
+        if (requestOk && keySequenceValidator.toString().size()) {
+            QString validator = keySequenceValidator.toString();
+            mValidators[validator] = d;
+        }
+    }
+}
+
+
+/*!
+  DialpadKeySequenceEventFilter::findKeySequenceHandler.
+ */
+XQAiwInterfaceDescriptor DialpadKeySequenceEventFilter::findKeySequenceHandler(
+    const QString &keySequenceCandidate) 
+{
+    PHONE_TRACE;
+
+    XQAiwInterfaceDescriptor keySequenceHandler;
+    
+    QList<QString> validatorExpressions = mValidators.keys();
+    QList<QString>::const_iterator it;
+    for (it = validatorExpressions.constBegin(); 
+         (it != validatorExpressions.constEnd()) && (!keySequenceHandler.isValid());
+         ++it) {
+        QString validatorExpression = *it;
+        QRegExp expression(validatorExpression);
+        if (expression.exactMatch(keySequenceCandidate)) {
+            keySequenceHandler = mValidators.value(*it);
+        }
+    }
+    
+    return keySequenceHandler;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadmailboxeventfilterbase.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,105 @@
+/*
+* 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 <QTimer>
+#include <QKeyEvent>
+#include <hblineedit.h>
+#include <hbstringutil.h>
+#include "dialpadmailboxeventfilterbase.h"
+#include "dialpadsymbianwrapper.h"
+#include "dialpad.h"
+#include "qtphonesrvlog.h"
+
+#ifdef Q_OS_SYMBIAN
+#include <xqservicerequest.h>
+#include <xqserviceutil.h>
+#endif //Q_OS_SYMBIAN
+
+const int DialpadLongKeyPressButtonCount(3);
+static const int DialpadLongKeyPressSupportingButtons[DialpadLongKeyPressButtonCount] =
+{ Qt::Key_1, Qt::Key_2, Qt::Key_NumberSign };
+
+
+DialpadMailboxEventFilterBase::DialpadMailboxEventFilterBase(Dialpad* dialpad, QObject* parent) :
+    QObject(parent), mDialpad(dialpad), mKeyEvent(NULL)
+{
+    PHONE_TRACE;
+    mLongPressTimer = new QTimer(this);
+    mLongPressTimer->setSingleShot(true);
+    connect(mLongPressTimer,SIGNAL(timeout()),this,SLOT(handleLongKeyPress()));
+    mSymbianWrapper = new DialpadSymbianWrapper(this);
+}
+
+DialpadMailboxEventFilterBase::~DialpadMailboxEventFilterBase()
+{
+}
+
+bool DialpadMailboxEventFilterBase::checkIfSendEventAndConsumeEvent(const int pressedKey, const int eventType)
+{
+    PHONE_TRACE4("pressedKey:", pressedKey, "eventType:", eventType);
+    bool sendKeyHandled(false);
+    // first check that pressed key is send key.
+    if (pressedKey == Qt::Key_Yes ||
+        pressedKey == Qt::Key_Enter) {
+       if (eventType == QEvent::KeyPress) {
+           sendKeyHandled = handleCallButtonPress();
+       } else if ((eventType == QEvent::KeyRelease) &&
+                  (!mDialpad->editor().text().isEmpty())) {
+           sendKeyHandled = true;
+       }
+    }
+    return sendKeyHandled;
+}
+
+bool DialpadMailboxEventFilterBase::isLongKeyPressSupported(const int key)
+{
+    PHONE_TRACE2("key:", key);
+    bool longKeySupport(false);
+    // check if dialpad button is pressed.
+    for (int i = 0; i < DialpadLongKeyPressButtonCount; i++) {
+        if (key==DialpadLongKeyPressSupportingButtons[i]) {
+            longKeySupport = true;
+            // Save key code for handleCallButtonPress.
+            mKeyEvent = key;
+        }
+    }
+    return longKeySupport;
+}
+
+void DialpadMailboxEventFilterBase::clearEditor()
+{
+    PHONE_TRACE;
+    // Erase data from dialpad editor.
+    mDialpad->editor().setText(QString(""));
+}
+
+void DialpadMailboxEventFilterBase::createCall(const QString &phoneNumber, bool createVideoCall)
+{
+    PHONE_TRACE2("phoneNumber:", phoneNumber);
+#ifdef Q_OS_SYMBIAN
+    if(createVideoCall) {
+        XQServiceRequest snd("com.nokia.symbian.ICallDial","dialVideo(QString)", false);
+        snd << phoneNumber;
+        QVariant retValue;
+        snd.send(retValue);    	
+    } else {
+        XQServiceRequest snd("com.nokia.symbian.ICallDial","dial(QString)", false);
+        snd << phoneNumber;
+        QVariant retValue;
+        snd.send(retValue);
+    }
+#endif // Q_OS_SYMBIAN
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadmultitaphandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Dialpad multitap handler
+*
+*/
+
+#include <QKeyEvent>
+#include <hbapplication.h>
+#include <hblineedit.h>
+#include "dialpadmultitaphandler.h"
+
+static const int DialpadMaxMultitapTime = 800; // ms
+static const int DialpadAsteriskMultitapCount = 4;
+static const int DialpadAsteriskMultitapChars[DialpadAsteriskMultitapCount] =
+    {Qt::Key_Asterisk, Qt::Key_Plus, Qt::Key_P, Qt::Key_W};
+
+
+DialpadMultitapHandler::DialpadMultitapHandler(
+    HbLineEdit& editor,
+    QObject* parent) :
+    QObject(parent),
+    mEditor(editor),
+    mAsteriskMultitapIndex(0),
+    mGeneratedAsterisk(false)
+{
+    // extra characters
+    mExtraChar.insert(Qt::Key_Asterisk, '*');
+    mExtraChar.insert(Qt::Key_Plus, '+');
+    mExtraChar.insert(Qt::Key_P, 'p');
+    mExtraChar.insert(Qt::Key_W, 'w');
+}
+
+DialpadMultitapHandler::~DialpadMultitapHandler()
+{
+}
+
+bool DialpadMultitapHandler::eventFilter(QObject *watched, QEvent *event)
+{
+    if (watched!=&mEditor) {
+        return false;
+    }
+
+    int type = event->type();
+
+    if (type==QEvent::KeyPress) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        if (isNumericKey(keyEvent->key()) &&
+            keyEvent->text().isEmpty() ) {
+            return true;
+        }
+    }
+
+    bool keyEventEaten = false;
+
+    if (type==QEvent::KeyPress) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+
+        if (keyEvent->key()==Qt::Key_Asterisk) {
+            if ((mMultitapTimer.elapsed() <= DialpadMaxMultitapTime) &&
+                !mGeneratedAsterisk) {
+                // remove the last char by generated backspace
+                QKeyEvent backspaceEvent(QEvent::KeyPress,
+                                         Qt::Key_Backspace,
+                                         Qt::NoModifier, "");
+                HbApplication::sendEvent(&mEditor,&backspaceEvent);
+
+                // generate +,p,w,* character
+                mAsteriskMultitapIndex =
+                    ++mAsteriskMultitapIndex % DialpadAsteriskMultitapCount;
+
+                int key = DialpadAsteriskMultitapChars[mAsteriskMultitapIndex];
+
+                // Allow + character only as a first char in editor
+                int cursorPosition = mEditor.cursorPosition();
+                if(cursorPosition != 0 && key == Qt::Key_Plus) {
+                    mAsteriskMultitapIndex = ++mAsteriskMultitapIndex;
+                    Q_ASSERT(mAsteriskMultitapIndex < DialpadAsteriskMultitapCount);
+                    key = DialpadAsteriskMultitapChars[mAsteriskMultitapIndex];
+                }
+                
+                QKeyEvent generatedEvent(QEvent::KeyPress, key,
+                                         Qt::KeypadModifier,
+                                         mExtraChar.value(key));
+                if (key==Qt::Key_Asterisk) {
+                    mGeneratedAsterisk = true;
+                }
+
+                HbApplication::sendEvent(&mEditor,&generatedEvent);
+                keyEventEaten = true;
+                mMultitapTimer.start();
+            } else {
+                mMultitapTimer.start();
+                mAsteriskMultitapIndex = 0;
+            }
+
+            mGeneratedAsterisk = false;
+        }
+    }
+
+    return keyEventEaten;
+}
+
+bool DialpadMultitapHandler::isNumericKey(int key)
+{
+    if (key==Qt::Key_Yes || key==Qt::Key_Backspace) {
+        return false;
+    } else {
+        return true;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadnumericbutton.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,59 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Extends HbInputButton
+*
+*/
+
+
+#include "dialpadnumericbutton.h"
+
+DialpadNumericButton::DialpadNumericButton(
+    int keyCode, const QPoint &position, const QSize &size)
+    : HbInputButton(keyCode, position, size)
+{
+}
+
+DialpadNumericButton::~DialpadNumericButton()
+{
+}
+
+void DialpadNumericButton::setIcon(const HbIcon& icon)
+{
+    mIcon = icon;
+}
+
+HbIcon& DialpadNumericButton::icon()
+{
+    return mIcon;
+}
+
+void DialpadNumericButton::setText(const QString& text)
+{
+    mText = text;
+}
+
+QString DialpadNumericButton::text() const
+{
+    return mText;
+}
+
+void DialpadNumericButton::setSecondaryText(const QString& text)
+{
+    mSecondaryText = text;
+}
+
+QString DialpadNumericButton::secondaryText() const
+{
+    return mSecondaryText;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadsymbianwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,58 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Provides information about ongoing calls.
+*
+*/
+
+#include "dialpadsymbianwrapper.h"
+#include "dialpadsymbianwrapper_p.h"
+
+
+DialpadSymbianWrapper::DialpadSymbianWrapper(QObject *parent) : 
+    QObject(parent),
+    d_ptr(new DialpadSymbianWrapperPrivate(this))
+{
+}
+
+DialpadSymbianWrapper::~DialpadSymbianWrapper()
+{
+    delete d_ptr;
+}
+
+int DialpadSymbianWrapper::getMailboxNumber(QString &vmbxNumber)
+{
+    //Q_D(DialpadSymbianWrapper);
+    return d_ptr->getMailboxNumber(vmbxNumber);
+}
+
+int DialpadSymbianWrapper::getVideoMailboxNumber(QString &vmbxNumber)
+{
+    return d_ptr->getVideoMailboxNumber(vmbxNumber);
+}
+
+int DialpadSymbianWrapper::defineMailboxNumber(QString &vmbxNumber)
+{
+    //Q_D(DialpadSymbianWrapper);
+    return d_ptr->defineMailboxNumber(vmbxNumber);
+}
+
+int DialpadSymbianWrapper::defineVideoMailboxNumber(QString &vmbxNumber)
+{
+    return d_ptr->defineVideoMailboxNumber(vmbxNumber);
+}
+
+bool DialpadSymbianWrapper::changeSilentModeState()
+{
+    return d_ptr->changeSilentModeState();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadsymbianwrapper_p.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,140 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Provides information about ongoing calls.
+*
+*/
+
+#include "dialpadsymbianwrapper.h"
+#include "dialpadsymbianwrapper_p.h"
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+#include <centralrepository.h>
+#include <profileenginesdkcrkeys.h>
+#include <profileengineinternalcrkeys.h>
+
+DialpadSymbianWrapperPrivate::DialpadSymbianWrapperPrivate(DialpadSymbianWrapper *parent) : 
+    q_ptr(parent)
+{
+    TRAPD(error, mVmbx = CVoiceMailbox::NewL());
+    qt_symbian_throwIfError(error);
+}
+
+DialpadSymbianWrapperPrivate::~DialpadSymbianWrapperPrivate()
+{
+    delete mVmbx;
+    mVmbx = NULL;
+}
+
+int DialpadSymbianWrapperPrivate::getMailboxNumber(QString &vmbxNumber)
+{
+    int errValue(KErrNone);
+    CVoiceMailboxEntry* vmbxEntry = NULL;
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVoice;
+
+    errValue = mVmbx->GetStoredEntry(vmbxParams, vmbxEntry);
+    
+    if (KErrNone == errValue) {
+        // Number retrieved succesfully:
+        vmbxNumber = getVmbxNumber(*vmbxEntry);
+     }
+    // Entry ownership was transferred.
+    delete vmbxEntry;
+    vmbxEntry = NULL;
+    return errValue;
+}
+
+int DialpadSymbianWrapperPrivate::getVideoMailboxNumber(QString &vmbxNumber)
+{
+    int errValue(KErrNone);
+    CVoiceMailboxEntry* vmbxEntry = NULL;
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVideo;
+    
+    errValue = mVmbx->GetStoredEntry(vmbxParams, vmbxEntry);
+    
+    if (KErrNone == errValue) {
+        // Number retrieved succesfully:
+        vmbxNumber = getVmbxNumber(*vmbxEntry);
+     }
+    // Entry ownership was transferred.
+    delete vmbxEntry;
+    vmbxEntry = NULL;
+    return errValue;		
+}
+
+int DialpadSymbianWrapperPrivate::defineMailboxNumber(QString &vmbxNumber)
+{
+    CVoiceMailboxEntry* vmbxEntry = NULL;
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVoice;
+
+    int errValue = mVmbx->QueryNewEntry(vmbxParams, vmbxEntry);
+    if (KErrNone == errValue) {
+        mVmbx->SaveEntry(*vmbxEntry);
+        // Do appropriate tasks, e.g. save number.
+        vmbxNumber = getVmbxNumber(*vmbxEntry);
+    }
+
+    return errValue;
+}
+
+int DialpadSymbianWrapperPrivate::defineVideoMailboxNumber(QString &vmbxNumber)
+{
+    CVoiceMailboxEntry* vmbxEntry = NULL;
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVideo;
+
+    int errValue = mVmbx->QueryNewEntry(vmbxParams, vmbxEntry);
+    if (KErrNone == errValue) {
+        mVmbx->SaveEntry(*vmbxEntry);
+        // Do appropriate tasks, e.g. save number.
+        vmbxNumber = getVmbxNumber(*vmbxEntry);
+    }
+
+    return errValue;
+}
+
+QString DialpadSymbianWrapperPrivate::getVmbxNumber(CVoiceMailboxEntry &vmbxEntry)
+{
+    TPtrC ptrNumber(KNullDesC);
+    QString dialpadText = NULL;
+    if(KErrNone == vmbxEntry.GetVmbxNumber(ptrNumber)) {
+        dialpadText = QString::fromUtf16(ptrNumber.Ptr(), ptrNumber.Length());
+    }
+    return dialpadText;
+}
+
+bool DialpadSymbianWrapperPrivate::changeSilentModeState()
+{   
+    // first get present value from cenrep
+    int silenceMode( 0 );
+    CRepository* cenRep = CRepository::NewL( KCRUidProfileEngine );
+    int err = cenRep->Get( KProEngSilenceMode, silenceMode );
+    
+    // then set it to another one
+    if (KErrNone == err) {
+        if (silenceMode) {
+            silenceMode = 0;
+        }
+        else {
+            silenceMode = 1;
+        }
+    }
+
+    err = cenRep->Set( KProEngSilenceMode, silenceMode );
+    delete cenRep;
+    return silenceMode;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadsymbianwrapper_p_stub.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,81 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Provides information about ongoing calls.
+*
+*/
+
+#include "dialpadsymbianwrapper.h"
+#include "dialpadsymbianwrapper_p_stub.h"
+
+DialpadSymbianWrapperPrivate::DialpadSymbianWrapperPrivate(DialpadSymbianWrapper *parent) : 
+    q_ptr(parent),
+    mTimes(0)
+{
+}
+
+DialpadSymbianWrapperPrivate::~DialpadSymbianWrapperPrivate()
+{
+}
+
+int DialpadSymbianWrapperPrivate::getMailboxNumber(QString &vmbxNumber)
+{
+    int errValue(0);
+    switch( mTimes ) {
+    case 0:
+    case 1:{
+       errValue = -1;
+       break;
+    }
+    case 2:{
+        errValue = 0;
+        break;
+    }
+    default:
+        break;
+    }
+    
+    return errValue;
+}
+
+int DialpadSymbianWrapperPrivate::getVideoMailboxNumber(QString &vmbxNumber)
+{
+    return getMailboxNumber(vmbxNumber);
+}
+
+int DialpadSymbianWrapperPrivate::defineMailboxNumber(QString &vmbxNumber)
+{
+    int errValue(0);
+    
+    switch( mTimes ) {
+    case 0:{
+        errValue = 0;
+        vmbxNumber.append("12345678");
+        break;
+    }
+    case 1:{
+        errValue = -3;
+        vmbxNumber.append("");
+        break;
+    }
+    default:
+       break;
+    }
+    mTimes++;
+    return errValue;
+}
+
+int DialpadSymbianWrapperPrivate::defineVideoMailboxNumber(QString &vmbxNumber)
+{
+    return defineMailboxNumber(vmbxNumber);	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadvideomailboxeventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,149 @@
+/*
+* 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 <QTimer>
+#include <QKeyEvent>
+#include <hblineedit.h>
+#include <hbstringutil.h>
+#include "dialpadvideomailboxeventfilter.h"
+#include "dialpadsymbianwrapper.h"
+#include "dialpad.h"
+#include "qtphonesrvlog.h"
+
+#ifdef Q_OS_SYMBIAN
+#include <xqserviceutil.h>
+#endif //Q_OS_SYMBIAN
+
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+#include <voicemailboxdomaincrkeys.h>
+
+
+const QString VideoVmbxCharacter("2");
+
+DialpadVideoMailboxEventFilter::DialpadVideoMailboxEventFilter(Dialpad* dialpad, QObject* parent) :
+    DialpadMailboxEventFilterBase(dialpad, parent)
+{
+}
+
+DialpadVideoMailboxEventFilter::~DialpadVideoMailboxEventFilter()
+{
+}
+
+bool DialpadVideoMailboxEventFilter::eventFilter(QObject *watched, QEvent *event)
+{
+    Q_UNUSED(watched)
+    bool keyEventEaten(false);
+        
+    if (event->type() == QEvent::KeyPress) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        if (checkIfSendEventAndConsumeEvent(keyEvent->key(), event->type())) {
+            keyEventEaten = true;
+        } else if ((isLongKeyPressSupported(keyEvent->key())) &&
+                !(mDialpad->editor().text().length() >= 1)) {
+            //Check that there is only one item in dialpad, if there is more than one
+            //do not handle long key press.
+            mLongPressTimer->stop();
+            mLongPressTimer->start(DialpadLongKeyPressTimeOut);
+        }
+    } else if (event->type() == QEvent::KeyRelease) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        if (checkIfSendEventAndConsumeEvent(keyEvent->key(), event->type())) {
+            keyEventEaten = true;
+        } else if (isLongKeyPressSupported(keyEvent->key())){
+            mLongPressTimer->stop();
+        }
+    }
+
+    return keyEventEaten;
+}
+
+void DialpadVideoMailboxEventFilter::handleLongKeyPress()
+{
+    PHONE_TRACE;
+    switch(mKeyEvent) {
+    case Qt::Key_2:{
+       handleMailboxOperation();
+       break;
+       }
+   default:
+       // Do nothing.
+       break;
+    }
+
+    // Reset key code.
+    mKeyEvent = NULL;
+}
+
+bool DialpadVideoMailboxEventFilter::handleCallButtonPress()
+{
+    PHONE_TRACE;
+    bool callButtonhandled(false);
+    if (!mDialpad->editor().text().isEmpty()) {
+#ifdef Q_OS_SYMBIAN
+        // check if editor has '2' character if does then
+        // get MailboxNumber.
+        QString editorContent = HbStringUtil::convertDigitsTo(
+            mDialpad->editor().text(), WesternDigit);
+        if (VideoVmbxCharacter==editorContent) {
+            handleMailboxOperation();
+            callButtonhandled = true;
+        }
+#endif //Q_OS_SYMBIAN
+    }
+    return callButtonhandled;
+}
+
+void DialpadVideoMailboxEventFilter::handleMailboxOperation()
+{
+    PHONE_TRACE;
+    
+    if (isVideoMbxSupported()) {
+        QString mailboxNumber;
+        int error = mSymbianWrapper->getVideoMailboxNumber(mailboxNumber);
+        // If here is no vmbx number and dialpad must start vmbx number definition procedures.
+        if (DialpadErrorNone != error || mailboxNumber.length() == 0) {
+            mDialpad->closeDialpad();
+            // If define mailbox query was interupted than reopen dialpad.
+            error = mSymbianWrapper->defineVideoMailboxNumber(mailboxNumber);
+            if (DialpadErrorCancel == error) {
+                mDialpad->openDialpad();
+            }
+        }
+    
+        // Valid vmbx number found or defined and there vmbx didnt
+        // return error values then create a call.
+        if ((DialpadErrorNone == error) &&
+            (mailboxNumber.length() != 0)) {
+            createCall(mailboxNumber, true);
+            clearEditor();
+            mDialpad->openDialpad();
+        }
+    }
+}
+
+bool DialpadVideoMailboxEventFilter::isVideoMbxSupported()
+{
+    XQSettingsKey key(XQSettingsKey::TargetCentralRepository,
+        KCRUidVideoMailbox.iUid,
+        KVideoMbxSupport);
+    XQSettingsManager settingsMgr;
+    
+    int ret = settingsMgr.readItemValue(key, XQSettingsManager::TypeInt).toInt();
+    PHONE_TRACE2("Video mbx support:", ret);
+    return ret;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadvoicemailboxeventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,128 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include <QTimer>
+#include <QKeyEvent>
+#include <hblineedit.h>
+#include <hbstringutil.h>
+#include "dialpadvoicemailboxeventfilter.h"
+#include "dialpadsymbianwrapper.h"
+#include "dialpad.h"
+#include "qtphonesrvlog.h"
+
+#ifdef Q_OS_SYMBIAN
+#include <xqservicerequest.h>
+#include <xqserviceutil.h>
+#endif //Q_OS_SYMBIAN
+
+const QString VmbxCharacter("1");
+
+DialpadVoiceMailboxEventFilter::DialpadVoiceMailboxEventFilter(Dialpad* dialpad, QObject* parent) :
+    DialpadMailboxEventFilterBase(dialpad, parent)
+{
+}
+
+DialpadVoiceMailboxEventFilter::~DialpadVoiceMailboxEventFilter()
+{
+}
+
+bool DialpadVoiceMailboxEventFilter::eventFilter(QObject *watched, QEvent *event)
+{
+    Q_UNUSED(watched)
+    bool keyEventEaten(false);
+    
+    if (event->type() == QEvent::KeyPress) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        if (checkIfSendEventAndConsumeEvent(keyEvent->key(), event->type())) {
+            keyEventEaten = true;
+        } else if ((isLongKeyPressSupported(keyEvent->key())) &&
+                !(mDialpad->editor().text().length() >= 1)) {
+            //Check that there is only one item in dialpad, if there is more than one
+            //do not handle long key press.
+            mLongPressTimer->stop();
+            mLongPressTimer->start(DialpadLongKeyPressTimeOut);
+        }
+    } else if (event->type() == QEvent::KeyRelease) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        if (checkIfSendEventAndConsumeEvent(keyEvent->key(), event->type())) {
+            keyEventEaten = true;
+        } else if (isLongKeyPressSupported(keyEvent->key())){
+            mLongPressTimer->stop();
+        }
+    }
+
+    return keyEventEaten;
+}
+
+void DialpadVoiceMailboxEventFilter::handleLongKeyPress()
+{
+    PHONE_TRACE;
+    switch(mKeyEvent) {
+    case Qt::Key_1:{
+       handleMailboxOperation();
+       break;
+       }
+   default:
+       // Do nothing.
+       break;
+    }
+
+    // Reset key code.
+    mKeyEvent = NULL;
+}
+
+bool DialpadVoiceMailboxEventFilter::handleCallButtonPress()
+{
+    PHONE_TRACE;
+    bool callButtonhandled(false);
+    if (!mDialpad->editor().text().isEmpty()) {
+#ifdef Q_OS_SYMBIAN
+        // check if editor has '1' character if does then
+        // get MailboxNumber.
+        QString editorContent = HbStringUtil::convertDigitsTo(
+            mDialpad->editor().text(), WesternDigit);
+        if (VmbxCharacter==editorContent) {
+            handleMailboxOperation();
+            callButtonhandled = true;
+        }
+#endif //Q_OS_SYMBIAN
+    }
+    return callButtonhandled;
+}
+
+void DialpadVoiceMailboxEventFilter::handleMailboxOperation()
+{
+    PHONE_TRACE;
+    QString mailboxNumber;
+    int error = mSymbianWrapper->getMailboxNumber(mailboxNumber);
+    // If here is no vmbx number and dialpad must start vmbx number definition procedures.
+    if (DialpadErrorNone != error || mailboxNumber.length() == 0) {
+        mDialpad->closeDialpad();
+        // If define mailbox query was interupted than reopen dialpad.
+        error = mSymbianWrapper->defineMailboxNumber(mailboxNumber);
+        if (DialpadErrorCancel == error) {
+            mDialpad->openDialpad();
+        }
+    }
+    // Valid vmbx number found or defined and there vmbx didnt
+    // return error values then create a call.
+    if ((DialpadErrorNone == error) &&
+        (mailboxNumber.length() != 0)) {
+        createCall(mailboxNumber);
+        clearEditor();
+        mDialpad->openDialpad();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/src/dialpadvtkeyhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,43 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Custom button
+*
+*/
+
+#include <hbmainwindow.h>
+#include "dialpadvtkeyhandler.h"
+#include "dialpadkeysequenceeventfilter.h"
+#include "dialpademergencycalleventfilter.h"
+#include "qtphonesrvlog.h"
+
+DialpadVtKeyHandler::DialpadVtKeyHandler(
+    Dialpad *dialPad, HbMainWindow& mainWindow, QObject *parent) 
+    : 
+    QObject(parent),
+    mMainWindow(mainWindow),
+    mEmergencyCallFilter(0),
+    mKeySequenceFilter(0)
+{
+    PHONE_TRACE;
+    mEmergencyCallFilter = new DialpadEmergencyCallEventFilter(dialPad, this);
+    mKeySequenceFilter = new DialpadKeySequenceEventFilter(dialPad, this);
+    
+    // Stack different event filters
+    mMainWindow.installEventFilter(mKeySequenceFilter);
+    mMainWindow.installEventFilter(mEmergencyCallFilter);
+}
+
+DialpadVtKeyHandler::~DialpadVtKeyHandler()
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/dialpadtest/dialpadtest.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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 = app
+CONFIG += hb
+TARGET = dialpadtest
+DEPENDPATH += .
+
+INCLUDEPATH += .
+
+HEADERS += dialpadtestview.h
+
+SOURCES += main.cpp \
+           dialpadtestview.cpp
+
+RESOURCES += resources/dialpadtest.qrc
+
+symbian {    
+TARGET.EPOCHEAPSIZE = 0x1000 0xA00000
+TARGET.CAPABILITY = CAP_APPLICATION    
+} else:win32 {
+INCLUDEPATH += ../../../../phonesrv_plat/dialpad_api/inc \
+               c:/hb/include/hbcore \
+               c:/hb/include/hbwidgets
+}
+
+# Libraries
+LIBS += -ldialpad
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/dialpadtest/dialpadtestview.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+
+#include <QtGui>
+#include <hbtoolbar.h>
+#include <hbaction.h>
+#include <hblabel.h>
+#include <hbdialog.h>
+#include <hbmainwindow.h>
+#include <hbmenu.h>
+#include <hblistwidget.h>
+#include <hblistwidgetitem.h>
+#include <hblineedit.h>
+#include <hbmessagebox.h>
+
+#include "dialpadtestview.h"
+#include "dialpad.h"
+#include "dialpadkeyhandler.h"
+
+DialpadTestView::DialpadTestView( HbMainWindow& mainWindow ) :
+    mMainWindow(mainWindow), mTapOutsideDismiss(0)
+{
+    setTitle("DialpadTest");
+
+    // create toolbar with launch dialer action
+    HbToolBar* tb = toolBar();
+    if (mMainWindow.orientation()==Qt::Horizontal) {
+        tb->setOrientation(mMainWindow.orientation());
+    }
+
+    tb->addAction("");
+    tb->addAction(HbIcon(":/qtg_large_tb_dialler.svg"),"",this,SLOT(openDialpad()));
+    tb->addAction("");
+
+
+    // create menu
+    menu()->addAction("Switch orientation",this,SLOT(switchOrientation()));
+    connect(&mMainWindow,
+            SIGNAL(orientationChanged(Qt::Orientation)),
+            SLOT(onOrientationChange(Qt::Orientation)));
+
+    menu()->addAction("Tap outside dismiss",this,SLOT(setTapOutsideDismiss()));
+
+    // create view widget (recent calls list mockup)
+    createListWidget();
+
+    // create dialpad popup
+    mDialpad = new Dialpad(); // Note! no parent for popup
+    mDialpad->setCallButtonEnabled(false);
+    connect(mDialpad,SIGNAL(aboutToClose()),SLOT(onDialpadClosed()));
+    connect(&mDialpad->editor(),SIGNAL(contentsChanged()),
+            SLOT(onEditorContentChanged()));
+
+    // create key event handler
+    mLongPressTimer = new QTimer(this);
+    mLongPressTimer->setSingleShot(true);
+    connect(mLongPressTimer,SIGNAL(timeout()),this,SLOT(handleLongKeyPress()));
+    
+    mKeyhandler = new DialpadKeyHandler(mDialpad, mMainWindow, this);
+    
+    mMainWindow.installEventFilter(this);
+}
+
+DialpadTestView::~DialpadTestView()
+{
+    delete mDialpad;
+}
+
+void DialpadTestView::openDialpad()
+{
+    toolBar()->hide();
+    setDialpadPosition();
+    mDialpad->openDialpad();
+}
+
+void DialpadTestView::onDialpadClosed()
+{
+    toolBar()->show();
+    mDialpad->editor().setText(QString());
+}
+
+void DialpadTestView::onEditorContentChanged()
+{
+    mDialpad->setCallButtonEnabled(
+        mDialpad->editor().text().length());
+}
+
+void DialpadTestView::setDialpadPosition()
+{
+    QRectF screenRect(mMainWindow.layoutRect());
+
+    if (mMainWindow.orientation() == Qt::Horizontal) {
+        // dialpad takes half of the screen
+        mDialpad->setPos(QPointF(screenRect.width()/2,
+                                 this->scenePos().y()));
+        mDialpad->resize(screenRect.width()/2,
+                         (screenRect.height()-scenePos().y()));
+    } else {
+        qreal screenHeight = screenRect.height();
+        mDialpad->setPos(0, screenHeight/2.25);
+        mDialpad->resize(screenRect.width(),screenHeight - screenHeight/2.25);
+    }
+}
+
+void DialpadTestView::switchOrientation()
+{
+    if (mMainWindow.orientation()==Qt::Vertical) {
+        mMainWindow.setOrientation(Qt::Horizontal);
+
+    } else {
+        mMainWindow.setOrientation(Qt::Vertical);
+    }
+}
+
+void DialpadTestView::onOrientationChange(Qt::Orientation orientation)
+{
+    if (orientation==Qt::Horizontal) {
+        toolBar()->setOrientation(Qt::Horizontal);
+    }
+
+    setDialpadPosition();
+}
+
+void DialpadTestView::createListWidget()
+{
+    mListWidget = new HbListWidget(this);
+    for (int i=0; i<10; i++) {
+        HbListWidgetItem* listItem = new HbListWidgetItem;
+        QString logEvent("Log event ");
+        QString index; index.setNum(i+1);
+        logEvent.append(index);
+        listItem->setText(logEvent);
+        QString phoneNum("+35850123456");
+        phoneNum.append(index);
+        listItem->setSecondaryText(phoneNum);
+        HbIcon icon(":/qgn_prop_pb_comm_call_large.svg");
+        listItem->setIcon(icon);
+        mListWidget->addItem(listItem);
+    }
+    setWidget(mListWidget);
+}
+
+bool DialpadTestView::eventFilter(QObject* watched, QEvent * event)
+{
+    if (watched!=&mMainWindow) {
+        return false;
+    }
+
+    if (event->type() == QEvent::KeyPress) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        qDebug() << "KeyEventHandler: key press:" << keyEvent->key();
+
+        mPressedKey = keyEvent->text();
+
+        if (keyEvent->key()>=Qt::Key_0 && keyEvent->key()<=Qt::Key_9) {
+            mLongPressTimer->stop();
+            mLongPressTimer->start(1500);
+        }
+
+        return false;
+    } else if (event->type() == QEvent::KeyRelease) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        qDebug() << "KeyEventHandler: key release:" << keyEvent->key();
+
+        mLongPressTimer->stop();
+
+        if (keyEvent->key()==Qt::Key_Yes ||
+            keyEvent->key()==Qt::Key_Enter) {
+            handleDial();
+        }
+
+        return false;
+    }
+
+    return false;
+}
+
+bool DialpadTestView::event(QEvent * event)
+{
+    if (event->type() == QEvent::LayoutDirectionChange) {
+        setDialpadPosition();
+    }
+
+    return HbView::event(event);
+}
+
+void DialpadTestView::handleLongKeyPress()
+{
+    QString msg;
+    msg.append("Long press: ");
+    msg.append(mPressedKey);
+
+    HbMessageBox::information(msg);
+}
+
+void DialpadTestView::handleDial()
+{
+    QString msg;
+    if (mDialpad->editor().text().length()) {
+        msg.append("Dialing to number: ");
+        msg.append(mDialpad->editor().text());
+    } else {
+        msg.append("Please, enter phone number first");
+    }
+
+    HbMessageBox::information(msg);
+}
+
+void DialpadTestView::setTapOutsideDismiss()
+{
+    mTapOutsideDismiss = !mTapOutsideDismiss;
+    mDialpad->setTapOutsideDismiss(mTapOutsideDismiss);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/dialpadtest/dialpadtestview.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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 DIALPADTESTVIEW_H
+#define DIALPADTESTVIEW_H
+
+#include <hbview.h>
+
+class HbMainWindow;
+class HbListWidget;
+class Dialpad;
+class DialpadKeyHandler;
+
+class DialpadTestView : public HbView
+{
+    Q_OBJECT
+
+public:
+    DialpadTestView( HbMainWindow& mainWindow );
+    ~DialpadTestView();
+
+protected:
+    bool eventFilter(QObject * watched, QEvent * event);
+    bool event(QEvent * event);
+
+private:
+    void createListWidget();
+    void setDialpadPosition();
+    void handleDial();
+
+private slots:
+    void openDialpad();
+    void onDialpadClosed();
+    void switchOrientation();
+    void onOrientationChange(Qt::Orientation orientation);
+    void onEditorContentChanged();
+    void handleLongKeyPress();
+    void setTapOutsideDismiss();
+
+private:
+    HbMainWindow& mMainWindow;
+    HbListWidget* mListWidget;
+    Dialpad* mDialpad;
+    DialpadKeyHandler *mKeyhandler;
+    QTimer* mLongPressTimer;
+    QString mPressedKey;
+    bool mTapOutsideDismiss;
+};
+
+#endif // DIALPADTESTVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/dialpadtest/main.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,34 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include "dialpadtestview.h"
+
+int main(int argc, char *argv[])
+{
+    HbApplication app(argc, argv);
+
+    HbMainWindow window;
+
+    DialpadTestView *view = new DialpadTestView(window);
+    window.addView(view);
+
+    window.show();
+
+    return app.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/dialpadtest/resources/dialpadtest.qrc	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource prefix="/">
+        <file>qtg_large_tb_dialler.svg</file>
+        <file>qgn_prop_pb_comm_call_large.svg</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/dialpadtest/resources/qgn_prop_pb_comm_call_large.svg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!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" width="42" height="36" viewBox="0 0 42 36">
+<rect fill="none" height="36" width="42"/>
+<linearGradient id="SVGID_1" gradientUnits="userSpaceOnUse" x1="21.13" y1="18.42" x2="25.21" y2="26.44">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path d="M9.919,20.012c-0.03,0.05-1.706,3.02-2.049,6.236l0.282,1.469l0.035,0.039 c2.285,2.66,7.428,3.494,7.428,3.494s4.832-2.818,6.429-7.583l0.138-1.884c-0.002-0.109-0.073-2.4-0.321-3.81 c0.136-0.128,1.521-1.512,1.521-1.512s2.437-2.316,2.651-2.522c0.8,0.645,2.519,1.63,4.218,2.009l0.066,0.015l0.062-0.03 c1.184-0.586,3.34-3.045,3.547-3.88c0.177-0.7,0.235-1.22,0.19-1.685l0.009-0.029c-0.261-2.641-1.746-4.248-1.988-4.583 c-1.077-0.67-3.352-0.977-3.745-1.006C22.815,6.717,14.876,13.439,9.919,20.012z" fill="url(#SVGID_1)"/>
+<linearGradient id="SVGID_2" gradientUnits="userSpaceOnUse" x1="38.85" y1="6.68" x2="22.72" y2="18.8">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#4A9900" offset="0.44"/>
+<stop stop-color="#0E4E58" offset="0.94"/>
+</linearGradient>
+<path d="M33.737,10.302l-7.315,3l-0.469,0.448c0.705,0.612,2.874,1.745,4.252,2.055 c1.175-0.504,3.182-2.946,3.373-3.716C33.794,11.228,33.807,10.738,33.737,10.302z" fill="url(#SVGID_2)"/>
+<linearGradient id="SVGID_3" gradientUnits="userSpaceOnUse" x1="34.44" y1="12.82" x2="23.12" y2="11.89">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#4A9900" offset="0.44"/>
+<stop stop-color="#0E4E58" offset="0.94"/>
+</linearGradient>
+<path d="M29.447,9.845l-3.218,3.318c1.287,0.897,2.83,1.572,3.887,1.861L29.447,9.845z" fill="url(#SVGID_3)"/>
+<linearGradient id="SVGID_4" gradientUnits="userSpaceOnUse" x1="35.43" y1="21.71" x2="4.58" y2="30.26">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#4A9900" offset="0.44"/>
+<stop stop-color="#0E4E58" offset="0.94"/>
+</linearGradient>
+<path d="M21.756,21.788L8.241,26.192l0.269,1.342c0,0,2.237,2.549,7.147,3.374 c3.281-2.195,5.399-5.396,5.971-7.339L21.756,21.788z" fill="url(#SVGID_4)"/>
+<linearGradient id="SVGID_5" gradientUnits="userSpaceOnUse" x1="3.72" y1="21.61" x2="18.19" y2="26.98">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#4A9900" offset="0.44"/>
+<stop stop-color="#0E4E58" offset="0.94"/>
+</linearGradient>
+<path d="M8.225,26.192c0.34-3.178,1.986-6.067,1.986-6.067l4.984,1.696l0.142,7.805 C11.516,29.052,9.462,27.395,8.225,26.192z" fill="url(#SVGID_5)"/>
+<linearGradient id="SVGID_6" gradientUnits="userSpaceOnUse" x1="30.53" y1="2.71" x2="10.42" y2="24.34">
+<stop stop-color="#DCE8E4" offset="0"/>
+<stop stop-color="#43910A" offset="1"/>
+</linearGradient>
+<path d="M10.21,20.125c0.753,0.712,2.789,2.011,4.906,1.823L31.882,6.083 c-1.461-0.812-3.522-0.989-3.522-0.989C22.654,7.5,15.24,13.455,10.21,20.125z" fill="url(#SVGID_6)"/>
+<linearGradient id="SVGID_7" gradientUnits="userSpaceOnUse" x1="32.17" y1="7.71" x2="13.3" y2="28.51">
+<stop stop-color="#DCE8E4" offset="0"/>
+<stop stop-color="#43910A" offset="1"/>
+</linearGradient>
+<path d="M15.337,29.625c-0.435-1.613-0.614-5.911-0.217-7.727c4.594-6.72,11.205-12.723,16.732-15.845 c0,0,1.56,1.627,1.889,4.239c-0.384,1.651-2.3,3.746-3.629,4.724c-0.177-0.4-0.778-4.89-0.778-4.89 c-1.525,1.998-3.937,4.169-7.882,7.909c0.262,1.386,0.303,3.733,0.303,3.733C20.489,24.825,18.239,27.817,15.337,29.625z" fill="url(#SVGID_7)"/>
+</svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/dialpadtest/resources/qtg_large_tb_dialler.svg	Tue Aug 31 15:45:17 2010 +0300
@@ -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/telutils/dialpad/tsrc/dialpadtest/rom/dialpadtest.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __DIALPADTEST_IBY__
+#define __DIALPADTEST_IBY__
+
+file=ABI_DIR\UREL\dialpadtest.exe PROGRAMS_DIR\dialpadtest.exe
+data=DATAZ_\resource\apps\dialpadtest.rsc \resource\apps\dialpadtest.rsc
+data=DATAZ_\private\10003a3f\import\apps\dialpadtest_reg.rsc \private\10003a3f\import\apps\dialpadtest_reg.rsc
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/checkcoverage.cmd	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,62 @@
+@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
+
+@echo off
+
+rmdir /q /s coverage
+mkdir coverage
+cd coverage
+
+if "%1"=="mt_dialpad" (
+echo Instrumenting dialpad.dll
+call qmake^
+ ..\..\..\dialpad.pro
+call ctcwrap^
+ mingw32-make debug
+call qmake^
+ ..\%1\%1.pro
+call mingw32-make^
+ debug
+if "%2"=="mt_keyhandler" (
+call qmake^
+ ..\%2\%2.pro
+call mingw32-make^
+ debug
+)
+call %1.exe
+call %2.exe
+) 
+
+if not "%1"=="mt_dialpad" (
+echo Instrumenting %1
+call qmake^
+ ..\%1\%1.pro
+call ctcwrap^
+ mingw32-make debug
+call %1.exe
+)
+
+call ctcpost^
+ mon.sym mon.dat^
+ -p profile.txt
+call ctc2html -i profile.txt
+cd ..
+echo All done!
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/mt_dialpad/mt_dialpad.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,401 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <hblineedit.h>
+#include <hbmessagebox.h>
+
+#include "dialpadtest.h"
+#include "dialpadtestutil.h"
+#include "dialpad.h"
+
+const int WAIT_TIME = 300;
+const int LONGPRESS_DURATION = 1000;
+
+// helper class
+class KeyEventCatcher : public QObject
+{
+public:
+    bool eventFilter(QObject* watched, QEvent * event)
+    {
+        Q_UNUSED(watched);
+
+        if (event->type() == QEvent::KeyPress) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyPresses.append(keyEvent->key());
+            return false;
+        } else if (event->type() == QEvent::KeyRelease) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyReleases.append(keyEvent->key());
+            return false;
+        }
+        return false;
+    }
+
+public:
+    QList<int> mKeyPresses;
+    QList<int> mKeyReleases;
+};
+
+// test cases
+class mt_Dialpad : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void cleanup();
+
+    void testNumericButtons();
+    void testNumericButtonLongPress();
+    void testBackspace();
+    void testAsteriskMultitap();
+    void testCallButton();
+    void testCloseGesture();
+    void testOpenDialogWhileButtonPressed();
+    void testTapOutsideDismiss();
+
+#ifndef Q_OS_SYMBIAN
+    void testCloseGestureLandscape();
+    void testOrientationChange();
+#endif
+
+private:
+    HbMainWindow*  mMainWindow;
+    Dialpad*       mDialpad;
+    KeyEventCatcher* mKeyCatcher;
+    DialpadTestUtil* mUtil;
+};
+
+void mt_Dialpad::initTestCase()
+{
+    mMainWindow = new HbMainWindow;
+
+    mKeyCatcher = new KeyEventCatcher;
+    mMainWindow->installEventFilter(mKeyCatcher);
+
+    mUtil = new DialpadTestUtil(*mMainWindow);
+
+    mDialpad = new Dialpad(*mMainWindow);
+
+    QRectF rect(mMainWindow->contentsRect());
+    rect.setHeight(rect.height()*0.7);
+    rect.moveTop((mMainWindow->contentsRect().height()-rect.height())/2);
+
+    mDialpad->resize(mMainWindow->layoutRect().width(),
+                               mMainWindow->layoutRect().height()/2);
+    mDialpad->setPos(0,mMainWindow->layoutRect().height()/4);
+
+    mMainWindow->show();
+    mDialpad->show();
+    mDialpad->hide();
+}
+
+void mt_Dialpad::cleanupTestCase()
+{
+    delete mDialpad;
+    delete mMainWindow;
+    delete mKeyCatcher;
+    delete mUtil;
+}
+
+void mt_Dialpad::cleanup()
+{
+    mKeyCatcher->mKeyPresses.clear();
+    mKeyCatcher->mKeyReleases.clear();
+    mDialpad->editor().setText(QString());
+    QTest::qWait( WAIT_TIME ); // delay between tests
+}
+
+void mt_Dialpad::testNumericButtons()
+{
+    QSignalSpy aboutToOpenSpy( mDialpad, SIGNAL(aboutToOpen()));
+    QSignalSpy aboutToCloseSpy( mDialpad, SIGNAL(aboutToClose()));
+
+    QVERIFY(mDialpad->isOpen()==false);
+    mDialpad->openDialpad();
+    QVERIFY(mDialpad->isOpen()==true);
+    QVERIFY(aboutToOpenSpy.count()==1);
+    QTest::qWait( 2*WAIT_TIME );
+
+    mUtil->mouseClickDialpad(Qt::Key_1);
+    mUtil->mouseClickDialpad(Qt::Key_2);
+    mUtil->mouseClickDialpad(Qt::Key_3);
+    mUtil->mouseClickDialpad(Qt::Key_4);
+    mUtil->mouseClickDialpad(Qt::Key_5);
+    mUtil->mouseClickDialpad(Qt::Key_6);
+    mUtil->mouseClickDialpad(Qt::Key_7);
+    mUtil->mouseClickDialpad(Qt::Key_8);
+    mUtil->mouseClickDialpad(Qt::Key_9);
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    mUtil->mouseClickDialpad(Qt::Key_0);
+    mUtil->mouseClickDialpad(Qt::Key_NumberSign);
+
+    QVERIFY(mDialpad->editor().text()=="123456789*0#");
+
+    QVERIFY(mKeyCatcher->mKeyPresses.count()==12);
+    QVERIFY(mKeyCatcher->mKeyReleases.count()==12);
+    QVERIFY(mKeyCatcher->mKeyPresses.at(0)==Qt::Key_1);
+    QVERIFY(mKeyCatcher->mKeyReleases.at(0)==Qt::Key_1);
+    QVERIFY(mKeyCatcher->mKeyPresses.at(11)==Qt::Key_NumberSign);
+    QVERIFY(mKeyCatcher->mKeyReleases.at(11)==Qt::Key_NumberSign);
+    mDialpad->closeDialpad();
+    QVERIFY(mDialpad->isOpen()==false);
+    QVERIFY(aboutToCloseSpy.count()==1);
+}
+
+void mt_Dialpad::testNumericButtonLongPress()
+{
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Press);
+    QTest::qWait( LONGPRESS_DURATION );
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Release);
+    QVERIFY(mDialpad->editor().text()=="1");
+    mDialpad->closeDialpad();
+}
+
+void mt_Dialpad::testBackspace()
+{
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_1);
+    QVERIFY(mDialpad->editor().text()=="1");
+    mUtil->mouseClickDialpad(Qt::Key_Backspace);
+    QVERIFY(mDialpad->editor().text()=="");
+    QVERIFY(mKeyCatcher->mKeyPresses.count()==2);
+    QVERIFY(mKeyCatcher->mKeyReleases.count()==2);
+    QVERIFY(mKeyCatcher->mKeyPresses.at(1)==Qt::Key_Backspace);
+    QVERIFY(mKeyCatcher->mKeyReleases.at(1)==Qt::Key_Backspace);
+    // test repeats
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_1);
+    mUtil->mouseClickDialpad(Qt::Key_2);
+    mUtil->mouseClickDialpad(Qt::Key_3);
+    QVERIFY(mDialpad->editor().text()=="123");
+    mUtil->mouseClickDialpad(Qt::Key_Backspace, DialpadTestUtil::Press);
+    QTest::qWait( 1500 );
+    mUtil->mouseClickDialpad(Qt::Key_Backspace, DialpadTestUtil::Release);
+    QVERIFY(mDialpad->editor().text()=="");
+    mDialpad->closeDialpad();
+}
+
+void mt_Dialpad::testAsteriskMultitap()
+{
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QVERIFY(mDialpad->editor().text()=="*");
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QVERIFY(mDialpad->editor().text()=="+");
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QVERIFY(mDialpad->editor().text()=="p");
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QVERIFY(mDialpad->editor().text()=="w");
+
+    QVERIFY(mKeyCatcher->mKeyPresses.count()==4);
+    QVERIFY(mKeyCatcher->mKeyReleases.count()==4);
+    QVERIFY(mKeyCatcher->mKeyPresses.at(1)==Qt::Key_Asterisk);
+    QVERIFY(mKeyCatcher->mKeyReleases.at(1)==Qt::Key_Asterisk);
+    QVERIFY(mKeyCatcher->mKeyPresses.at(2)==Qt::Key_Asterisk);
+    QVERIFY(mKeyCatcher->mKeyReleases.at(2)==Qt::Key_Asterisk);
+
+    // Verify that the second char can't be +
+    QTest::qWait(1000);
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QCOMPARE(mDialpad->editor().text(), QString("w*"));
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QCOMPARE(mDialpad->editor().text(), QString("wp"));
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QCOMPARE(mDialpad->editor().text(), QString("ww"));
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QCOMPARE(mDialpad->editor().text(), QString("w*"));
+
+    // test entering two asterisk
+    QTest::qWait(1000);
+    mDialpad->editor().setText(QString());
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QTest::qWait( 1000 ); // longer than short tap
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk);
+    QCOMPARE(mDialpad->editor().text(), QString("**"));
+
+    mDialpad->closeDialpad();
+}
+
+void mt_Dialpad::testCallButton()
+{
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+    mDialpad->setCallButtonEnabled(false);
+    mUtil->mouseClickDialpad(Qt::Key_Yes);
+    QVERIFY(mKeyCatcher->mKeyPresses.count()==0);
+    QVERIFY(mKeyCatcher->mKeyReleases.count()==0);
+    mDialpad->setCallButtonEnabled(true);
+    mUtil->mouseClickDialpad(Qt::Key_Yes);
+    QTest::qWait( WAIT_TIME );
+    QVERIFY(mKeyCatcher->mKeyPresses.count()==1);
+    QVERIFY(mKeyCatcher->mKeyReleases.count()==1);
+    QVERIFY(mKeyCatcher->mKeyPresses.at(0)==Qt::Key_Yes);
+    QVERIFY(mKeyCatcher->mKeyReleases.at(0)==Qt::Key_Yes);
+    mDialpad->closeDialpad();
+}
+
+void mt_Dialpad::testCloseGesture()
+{
+    // QTest::mouseMove() doesn't work
+}
+
+void mt_Dialpad::testOpenDialogWhileButtonPressed()
+{
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_5, DialpadTestUtil::Press);
+    QTest::qWait( LONGPRESS_DURATION );
+
+    HbMessageBox* box = new HbMessageBox("Test dialog!");
+    box->setAttribute(Qt::WA_DeleteOnClose);
+    box->setTimeout(1000);
+    box->show();
+    QTest::qWait( 500 );
+    mUtil->mouseClickDialpad(Qt::Key_5, DialpadTestUtil::Release);
+    QTest::qWait( 100 );
+
+    QVERIFY(mDialpad->editor().text()=="5");
+    QVERIFY(mKeyCatcher->mKeyPresses.at(0)==Qt::Key_5);
+    QVERIFY(mKeyCatcher->mKeyReleases.at(0)==Qt::Key_5);
+    mDialpad->closeDialpad();
+}
+
+void mt_Dialpad::testTapOutsideDismiss()
+{
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+
+    QPointF aboveTop = mDialpad->scenePos();
+    aboveTop.setY(aboveTop.y()-10);
+    aboveTop.setX(aboveTop.x()+mDialpad->rect().center().x());
+    QPoint windowPos = mMainWindow->mapFromScene( aboveTop );
+
+    // test tap outside dismiss is OFF (default)
+    QTest::mouseClick( mMainWindow->viewport(), Qt::LeftButton,
+                       0, windowPos );
+    QTest::qWait( 500 );
+    QVERIFY(mDialpad->isVisible());
+    mDialpad->closeDialpad();
+
+    // test tap outside dismiss is ON    
+    mDialpad->setTapOutsideDismiss(true);
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+    QTest::mouseClick( mMainWindow->viewport(), Qt::LeftButton,
+                       0, windowPos );
+    QTest::qWait( 500 );
+    QVERIFY(!mDialpad->isVisible());
+}
+
+#ifndef Q_OS_SYMBIAN
+void mt_Dialpad::testCloseGestureLandscape()
+{
+    /*
+    // switch to landscape
+    mMainWindow->setOrientation(Qt::Horizontal);
+    mMainWindow->resize(640,360);
+    QTest::qWait( 1000 );
+
+    mDialpad->resize(mMainWindow->layoutRect().width()/2,
+                               mMainWindow->layoutRect().height());
+    mDialpad->setPos(mMainWindow->layoutRect().width()/2,0);
+
+    mDialpad->openDialpad();
+
+    // slow swipe
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_4, Press, false);
+    QTest::qWait( 500 ); // longer than swipe
+    mUtil->mouseClickDialpad(Qt::Key_6, Release, false);
+    QTest::qWait( 500 );
+    QVERIFY(mDialpad->isVisible()==true);
+
+    // short swipe
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_4, Press, false);
+    QTest::qWait( 200 );
+    mUtil->mouseClickDialpad(Qt::Key_5, Release, false);
+    QTest::qWait( 500 );
+    QVERIFY(mDialpad->isVisible()==true);
+
+    // ok swipe
+    mDialpad->editor().setText(QString());
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_4, Press, false);
+    QTest::qWait( 200 );
+    mUtil->mouseClickDialpad(Qt::Key_6, Release, false);
+    QVERIFY(mDialpad->editor().text()=="");
+    QTest::qWait( 1000 );
+    QVERIFY(mDialpad->isVisible()==false);*/
+}
+
+void mt_Dialpad::testOrientationChange()
+{
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+
+    // test landscape
+    mMainWindow->setOrientation(Qt::Horizontal);
+    mMainWindow->resize(640,360);
+    QTest::qWait( 1000 );
+    mDialpad->resize(mMainWindow->layoutRect().width()/2,
+                               mMainWindow->layoutRect().height());
+    mDialpad->setPos(mMainWindow->layoutRect().width()/2,0);
+    QTest::qWait( 1000 );
+
+    QVERIFY(mDialpad->isVisible()==true);
+    mUtil->mouseClickDialpad(Qt::Key_5);
+    QVERIFY(mDialpad->editor().text()=="5");
+    QTest::qWait( 500 );
+
+    // test portrait
+    mMainWindow->setOrientation(Qt::Vertical);
+    mMainWindow->resize(360,640);
+    mDialpad->resize(mMainWindow->layoutRect().width(),
+                               mMainWindow->layoutRect().height()/2);
+    mDialpad->setPos(0,mMainWindow->layoutRect().height()/4);
+    QTest::qWait( 1000 );
+
+    QVERIFY(mDialpad->isVisible()==true);
+    mDialpad->editor().setText("");
+    mUtil->mouseClickDialpad(Qt::Key_5);
+    QVERIFY(mDialpad->editor().text()=="5");
+
+    mDialpad->closeDialpad();
+    QTest::qWait( 500 );
+    QVERIFY(mDialpad->isVisible()==false);
+}
+
+#endif //Q_OS_SYMBIAN
+
+DIALPAD_TEST_MAIN(mt_Dialpad)
+#include "mt_dialpad.moc"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/mt_dialpad/mt_dialpad.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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 =
+INCLUDEPATH += . ../../../inc  ../shared
+
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+    INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc
+}
+
+#
+HEADERS += ../shared/dialpadtestutil.h
+SOURCES += mt_dialpad.cpp ../shared/dialpadtestutil.cpp
+
+# 
+LIBS += -ldialpad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/mt_keyhandler/mt_keyhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,81 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbview.h>
+#include <hblineedit.h>
+#include <hbinstance.h>
+
+#include "dialpadtest.h"
+#include "dialpad.h"
+#include "dialpadkeyhandler.h"
+#include "dialpadvoicemailboxeventfilter.h"
+
+bool mVmbxFilterConstructed;
+Dialpad* mParameter1;
+QObject* mParameter2;
+
+#ifdef Q_OS_SYMBIAN
+/*DialpadVoiceMailboxEventFilter::DialpadVoiceMailboxEventFilter(Dialpad* dialPad, QObject* parent)
+{
+    mVmbxFilterConstructed = true;
+    mParameter1 = dialPad;
+    mParameter2 = parent;
+}*/
+#endif
+
+// test cases
+class mt_KeyHandler : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void init();
+    void cleanup();
+
+private:
+    HbMainWindow*  mMainWindow;
+    Dialpad*       mDialpad;
+    DialpadKeyHandler *mKeyhandler;
+};
+
+void mt_KeyHandler::init()
+{
+    mVmbxFilterConstructed = false;
+    mDialpad = new Dialpad(*mMainWindow);
+    mKeyhandler = new DialpadKeyHandler(mDialpad, *hbInstance->allMainWindows().at(0), this);
+    QVERIFY(mKeyhandler != NULL);
+    //QVERIFY(mVmbxFilterConstructed == true);
+    //QVERIFY(mParameter1 == mDialpad);
+    //QVERIFY(mParameter2 == this);
+}
+
+void mt_KeyHandler::cleanup()
+{
+    delete mDialpad;
+    delete mMainWindow;
+}
+
+
+DIALPAD_TEST_MAIN(mt_KeyHandler)
+#include "mt_keyhandler.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/mt_keyhandler/mt_keyhandler.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,35 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc  ../shared
+
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+    INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc
+}
+
+#
+SOURCES += mt_keyhandler.cpp
+
+# 
+LIBS += -ldialpad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/runall.cmd	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,48 @@
+@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_dialpademergencycalleventfilter
+call runtest.cmd ut_dialpadmultitaphandler
+call runtest.cmd mt_dialpad
+call runtest.cmd ut_dialpadvoicemailboxeventfilter
+call runtest.cmd ut_dialpadvideomailboxeventfilter
+call runtest.cmd mt_keyhandler
+call runtest.cmd ut_dialpadbluetootheventfilter
+call runtest.cmd ut_dialpadkeysequenceeventfilter
+call runtest.cmd ut_dialpadkeyhandler
+call runtest.cmd ut_dialpadhasheventfilter
+)
+
+@echo off
+if "%1"=="win32" (
+call runtest_w32.cmd ut_dialpadmultitaphandler
+call runtest_w32.cmd mt_dialpad
+)
+
+@echo off
+if "%2"=="ctc" (
+call ctcpost^
+ ut_dialpad\mon.sym ut_dialpad\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/telutils/dialpad/tsrc/unit/runtest.cmd	Tue Aug 31 15:45:17 2010 +0300
@@ -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/telutils/dialpad/tsrc/unit/runtest_w32.cmd	Tue Aug 31 15:45:17 2010 +0300
@@ -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/telutils/dialpad/tsrc/unit/shared/dialpadtest.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef DIALPADTEST_H
+#define DIALPADTEST_H
+
+#include <QtCore>
+
+#define DIALPAD_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; \
+}
+
+#endif // DIALPADTEST_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/dialpadtestutil.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,132 @@
+/*!
+* 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: Dialpad test utility
+*
+*/
+
+#include <QGraphicsWidget>
+#include <QtTest/QtTest>
+#include <hbmainwindow.h>
+
+#include "dialpadtestutil.h"
+
+const int WAIT_TIME = 300;
+
+DialpadTestUtil::DialpadTestUtil(HbMainWindow& mainWindow, QObject* parent) :
+    QObject(parent), mMainWindow(mainWindow)
+{
+    mKeyNames.insert(Qt::Key_1,"keypad");
+    mKeyNames.insert(Qt::Key_2,"keypad");
+    mKeyNames.insert(Qt::Key_3,"keypad");
+    mKeyNames.insert(Qt::Key_4,"keypad");
+    mKeyNames.insert(Qt::Key_5,"keypad");
+    mKeyNames.insert(Qt::Key_6,"keypad");
+    mKeyNames.insert(Qt::Key_7,"keypad");
+    mKeyNames.insert(Qt::Key_8,"keypad");
+    mKeyNames.insert(Qt::Key_9,"keypad");
+    mKeyNames.insert(Qt::Key_Asterisk,"keypad");
+    mKeyNames.insert(Qt::Key_0,"keypad");
+    mKeyNames.insert(Qt::Key_NumberSign,"keypad");
+    mKeyNames.insert(Qt::Key_Backspace,"16777219");
+    mKeyNames.insert(Qt::Key_Yes,"16842753");
+}
+
+DialpadTestUtil::~DialpadTestUtil()
+{      
+}
+
+QGraphicsWidget* DialpadTestUtil::getWidgetByName(const QString& name)
+{
+    QGraphicsWidget* widget = 0;
+
+    QList<QGraphicsItem*> items = mMainWindow.scene()->items();
+    foreach (QGraphicsItem* item, items) {
+        if (item->isWidget()) {
+            QGraphicsWidget *w = static_cast<QGraphicsWidget*>(item);
+            if (w->objectName()==name) {
+                widget = w;
+            }
+        }
+    }
+
+    return widget;
+}
+
+QPointF DialpadTestUtil::keyPosition(QGraphicsWidget* widget, int key)
+{
+    QPointF keyPos;
+    QRectF rect = widget->rect();
+
+    // 3 x 4 grid
+    int cellWidth = rect.width() / 3;
+    int cellHeight = rect.height() / 4;
+
+    if (key==Qt::Key_Asterisk) {
+        keyPos = QPointF( 0.5 * cellWidth, 3.5 * cellHeight );
+    } else if (key==Qt::Key_NumberSign) {
+        keyPos = QPointF( 2.5 * cellWidth, 3.5 * cellHeight );
+    } else if (key==Qt::Key_0) {
+        keyPos = QPointF( 1.5 * cellWidth, 3.5 * cellHeight );
+    } else {
+        int normalized = key - 49;
+        // qDebug() << normalized;
+        int column = normalized % 3;
+        int row = (normalized / 3);
+        // qDebug() << column << row;
+
+        keyPos = QPointF((column+0.5)*cellWidth,(row+0.5)*cellHeight);
+    }
+
+    return keyPos;
+}
+
+void DialpadTestUtil::mouseClickDialpad(int key, MouseEventType type, bool pause)
+{
+    QString name = mKeyNames.value(key);
+
+    QGraphicsWidget* widget = getWidgetByName(name);
+
+    if ( widget ) {
+        QPointF widgetPos;
+
+        if (name=="keypad") {
+            widgetPos = widget->scenePos() +
+                        keyPosition(widget, key);
+        } else {
+            widgetPos = widget->scenePos() +
+                        widget->rect().center();
+        }
+
+        QPoint windowPos = mMainWindow.mapFromScene( widgetPos );
+
+        if (type==Press) {
+            QTest::mousePress( mMainWindow.viewport(), Qt::LeftButton,
+                               0, windowPos );
+        } else if (type==Release) {
+            QTest::mouseRelease( mMainWindow.viewport(), Qt::LeftButton,
+                                 0, windowPos );
+        } else {
+            QTest::mouseClick( mMainWindow.viewport(), Qt::LeftButton,
+                               0, windowPos );
+        }
+
+        if (pause) {
+            QTest::qWait( WAIT_TIME );
+        }
+    } else {
+        QFAIL( "Button could not be accessed!" );
+    }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/dialpadtestutil.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,54 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Dialpad test utility
+*
+*/
+
+#ifndef DIALPADTESTUTIL_H
+#define DIALPADTESTUTIL_H
+
+#include <QObject>
+#include <QMap>
+#include <QGraphicsWidget>
+#include <QSwipeGesture>
+
+class HbMainWindow;
+
+class DialpadTestUtil : public QObject
+{
+
+public:
+    enum MouseEventType
+    {
+        Press,
+        Release,
+        Click
+    };
+
+public:
+    explicit DialpadTestUtil(HbMainWindow& mainWindow, QObject* parent=0);
+    ~DialpadTestUtil();
+
+    void mouseClickDialpad(int key, MouseEventType type=Click, bool pause=true);
+
+private:
+    QGraphicsWidget* getWidgetByName(const QString& name);
+    QPointF keyPosition(QGraphicsWidget* widget, int key);
+
+private:
+    QMap<int,QString> mKeyNames;
+    HbMainWindow& mMainWindow;
+};
+
+#endif // DIALPADTESTUTIL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_cenrep.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,35 @@
+#include <QtTest/QtTest>
+#include <mock_centralrepository.h>
+
+// TODO: Add a new class named Ut_Utility to config all CR key
+// to simulate 3 different images
+CRepository* CRepository::NewL(TUid /*aRepositoryUid*/)
+{
+    CRepository *self = new (ELeave) CRepository();
+    return self;
+}
+
+CRepository::~CRepository()
+{    
+}
+
+TInt CRepository::Get(TUint32 aKey, TInt& aValue)
+{
+    aValue = mValue;
+    return KErrNone;
+}
+TInt CRepository::Set(TUint32 /*aKey*/, TInt aValue)
+{
+    mValue = aValue;
+    return KErrNone;
+}
+
+TInt CRepository::Get(TUint32 /*aKey*/, TDes16& aValue)
+{
+    return KErrNone;
+}
+
+TInt CRepository::Set(TUint32 /*aKey*/, const TDesC16& /*aValue*/)
+{
+    return KErrNone;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_centralrepository.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,214 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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 __CENTRALREPOSITORY_H__
+#define __CENTRALREPOSITORY_H__
+
+#include <e32base.h>
+
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS 
+	#include <centralrepositoryinternal.h>
+#endif
+
+namespace NCentralRepositoryConstants
+/** Namespace encapsulating the CentralRepository constants.
+@publishedAll
+@released
+*/
+{
+	
+/** The maximum number of unicode characters that can be stored in a setting
+@publishedAll
+@released
+*/
+const TInt KMaxUnicodeStringLength = 1024;
+
+/** The maximum number of bytes that can be stored in a setting
+@publishedAll
+@released
+*/
+const TInt KMaxBinaryLength = KMaxUnicodeStringLength*2;
+
+/** Error key returned by CommitTransaction in case of an error that cannot be
+attributed to any single or partial key. Also notify value for spurious 
+notifications (eg when a notification is cancelled or several values change at once )
+@publishedAll
+@released
+*/
+const TUint32 KUnspecifiedKey = 0xffffffffUL;
+
+/** Use KUnspecifiedKey instead of this value.
+@publishedAll
+@deprecated
+*/
+const TUint32 KInvalidNotificationId = KUnspecifiedKey;
+
+/** The 8 most significant bits of a setting's meta-data are reserved for internal use.
+Clients should not make use of the reserved bits (unless it is specifically stated
+otherwise in Symbian developer documentation).  Clients should not rely on the value
+of the reserved bits.  Reserved bits are not guaranteed to be 0 or 1 and are not
+guaranteed to stay constant from one GetMeta call to the next.
+@released
+@see CRepository::GetMeta
+@see KMetaUnreserved
+*/
+const TUint32 KMetaSymbianReserved = 0xFF000000; 
+
+/** The 24 least significant bits of a setting's meta-data are available for use. Clients
+should make use of KMetaUnreserved to mask out the reserved bits following a call
+to GetMeta.  Clients should not rely on the value of the reserved bits.  Reserved bits
+are not guaranteed to be 0 or 1 and are not guaranteed to stay constant from one
+GetMeta call to the next.
+@released
+@see CRepository::GetMeta
+@see KMetaSymbianReserved 
+*/
+const TUint32 KMetaUnreserved = 0x00FFFFFF; 
+
+} // namespace NCentralRepositoryConstants
+
+/** Provides access to a repository.
+
+There are potentially 2^32 repositories, each identified by a UID. Within each
+repository up to 2^32 settings can be stored. Settings within a repository are
+identified by a 32-bit key and may be of the types integer, real or descriptor.
+@publishedAll
+@released
+*/
+class CRepository : public CBase
+	{
+public:
+
+	/**	Transaction mode chosen with StartTransaction.
+	*/
+	enum TTransactionMode
+		{
+		/** Standard optimistic non-serialised transaction. Can be started at any time
+		Commit fails with KErrLocked if another client interrupts it by first committing
+		changes: transaction should be repeated until KErrLocked is not returned.
+		*/
+		EConcurrentReadWriteTransaction = 2,
+		/** Pessimistic locking transaction intended for reading consistent values.
+		Can only be started if EReadWriteTransaction is not in progress.
+		Automatically promoted to EReadWriteTransaction on first write operation
+		if no other read transaction is in progress (or fails if not attainable).
+		Use ONLY if all clients can agree not to use EConcurrentReadWriteTransaction,
+		and only make changes in an EReadWriteTransaction.
+		*/
+		EReadTransaction = 1,
+		/** Pessimistic locking transaction intended for writing values. Can only be
+		started if no EReadTransaction or EReadWriteTransactions are in progress.
+		Use ONLY if all clients can agree not to use EConcurrentReadWriteTransaction,
+		and only make changes in an EReadWriteTransaction.
+		*/
+		EReadWriteTransaction = 3
+		};
+
+	/** Buffer type for aKeyInfo parameter to asynchronous CommitTransaction.
+	@see CRepository::CommitTransaction(TDes8& aKeyInfo, TRequestStatus& aStatus)
+	*/
+	typedef TPckgBuf<TUint32> TTransactionKeyInfoBuf;
+
+	IMPORT_C static CRepository* NewL(TUid aRepositoryUid);
+	IMPORT_C static CRepository* NewLC(TUid aRepositoryUid);
+
+	IMPORT_C virtual ~CRepository();
+	IMPORT_C TInt Create(TUint32 aKey, TInt aValue);
+	IMPORT_C TInt Create(TUint32 aKey, const TReal& aValue);
+	IMPORT_C TInt Create(TUint32 aKey, const TDesC8& aValue);
+	IMPORT_C TInt Create(TUint32 aKey, const TDesC16& aValue);
+
+	IMPORT_C TInt Delete(TUint32 aKey);
+	IMPORT_C TInt Delete(TUint32 aPartialKey, TUint32 aMask, TUint32 &aErrorKey) ;
+
+	IMPORT_C TInt Get(TUint32 aKey, TInt& aValue);
+	IMPORT_C TInt Set(TUint32 aKey, TInt aValue);
+	
+	IMPORT_C TInt Get(TUint32 aKey, TReal& aValue);
+	IMPORT_C TInt Set(TUint32 aKey, const TReal& aValue);
+
+	IMPORT_C TInt Get(TUint32 aKey, TDes8& aValue);
+	IMPORT_C TInt Get(TUint32 aId, TDes8& aValue, TInt& aActualLength);
+	IMPORT_C TInt Set(TUint32 aKey, const TDesC8& aValue);
+
+	IMPORT_C TInt Get(TUint32 aKey, TDes16& aValue);
+	IMPORT_C TInt Get(TUint32 aId, TDes16& aValue, TInt& aActualLength);
+	IMPORT_C TInt Set(TUint32 aKey, const TDesC16& aValue);
+
+	IMPORT_C TInt GetMeta(TUint32 aKey, TUint32& aMeta);
+
+	IMPORT_C TInt Move (TUint32 aSourcePartialKey, TUint32 aTargetPartialKey, 
+	                    TUint32 aMask, TUint32 &aErrorKey) ;
+
+	IMPORT_C TInt FindL(TUint32 aPartialKey, TUint32 aMask,
+		RArray<TUint32>& aFoundKeys);
+
+	IMPORT_C TInt FindEqL(TUint32 aPartialKey, TUint32 aMask,
+		TInt aValue, RArray<TUint32>& aFoundKeys);
+	IMPORT_C TInt FindEqL(TUint32 aPartialKey, TUint32 aMask,
+		const TReal& aValue, RArray<TUint32>& aFoundKeys);
+	IMPORT_C TInt FindEqL(TUint32 aPartialKey, TUint32 aMask,
+		const TDesC8& aValue, RArray<TUint32>& aFoundKeys);
+	IMPORT_C TInt FindEqL(TUint32 aPartialKey, TUint32 aMask,
+		const TDesC16& aValue, RArray<TUint32>& aFoundKeys);
+
+	IMPORT_C TInt FindNeqL(TUint32 aPartialKey, TUint32 aMask,
+		TInt aValue, RArray<TUint32>& aFoundKeys);
+	IMPORT_C TInt FindNeqL(TUint32 aPartialKey, TUint32 aMask,
+		const TReal& aValue, RArray<TUint32>& aFoundKeys);
+	IMPORT_C TInt FindNeqL(TUint32 aPartialKey, TUint32 aMask,
+		const TDesC8& aValue, RArray<TUint32>& aFoundKeys);
+	IMPORT_C TInt FindNeqL(TUint32 aPartialKey, TUint32 aMask,
+		const TDesC16& aValue, RArray<TUint32>& aFoundKeys);
+
+	IMPORT_C TInt NotifyRequest(TUint32 aKey, TRequestStatus& aStatus);
+	IMPORT_C TInt NotifyRequest(TUint32 aPartialKey, TUint32 aMask,
+		TRequestStatus& aStatus);
+
+	IMPORT_C TInt NotifyCancel(TUint32 aKey);
+	IMPORT_C TInt NotifyCancel(TUint32 aPartialKey, TUint32 aMask);
+	IMPORT_C TInt NotifyCancelAll();
+
+	IMPORT_C TInt Reset();
+	IMPORT_C TInt Reset(TUint32 aKey);
+
+	IMPORT_C TInt StartTransaction(TTransactionMode aMode);
+	IMPORT_C void StartTransaction(TTransactionMode aMode, TRequestStatus& aStatus);
+	IMPORT_C TInt CommitTransaction(TUint32& aKeyInfo);
+	IMPORT_C void CommitTransaction(TDes8& aKeyInfo, TRequestStatus& aStatus);
+	IMPORT_C void CancelTransaction();
+	IMPORT_C void CleanupCancelTransactionPushL();
+	IMPORT_C void FailTransaction();
+	IMPORT_C void CleanupFailTransactionPushL();
+
+	/** Same as CancelTransaction.
+	@see CancelTransaction
+	*/
+	inline void RollbackTransaction() 
+		{
+		CancelTransaction();
+		}
+
+	/** Same as CleanupCancelTransactionPushL.
+	@see CleanupCancelTransactionPushL
+	*/
+	inline void CleanupRollbackTransactionPushL()
+		{
+		CleanupCancelTransactionPushL();
+		}
+	int mValue;
+	};
+
+#endif // __CENTRALREPOSITORY_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_cphcltemergencycall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <smcmockclassincludes.h>
+#include <mphcltemergencycallobserver.h>
+#include "mock_cphcltemergencycall.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCall::CPhCltEmergencyCall
+// C++ constructor.
+// -----------------------------------------------------------------------------
+//
+CPhCltEmergencyCall::CPhCltEmergencyCall( 
+        MPhCltEmergencyCallObserver* aObserver )
+    : CActive( EPriorityStandard ), iObserver( aObserver )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCall::CPhCltEmergencyCall
+// -----------------------------------------------------------------------------
+//
+CPhCltEmergencyCall* CPhCltEmergencyCall::NewL( 
+        MPhCltEmergencyCallObserver* aObserver )
+    {
+    return CPhCltEmergencyCallMock::NewL( aObserver );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::CPhCltEmergencyCallMock
+// C++ constructor.
+// -----------------------------------------------------------------------------
+//
+CPhCltEmergencyCallMock::CPhCltEmergencyCallMock( 
+        MPhCltEmergencyCallObserver * aObserver )
+    : CPhCltEmergencyCall( aObserver )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::NewL
+// -----------------------------------------------------------------------------
+//
+CPhCltEmergencyCallMock * CPhCltEmergencyCallMock::NewL( 
+        MPhCltEmergencyCallObserver * aObserver )
+    {
+    SMC_MOCK_NEWL1( CPhCltEmergencyCallMock *, MPhCltEmergencyCallObserver *, aObserver )
+
+    CPhCltEmergencyCallMock* self = new( ELeave ) CPhCltEmergencyCallMock( aObserver );
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::IsEmergencyPhoneNumber
+// -----------------------------------------------------------------------------
+//
+TInt CPhCltEmergencyCallMock::IsEmergencyPhoneNumber( 
+        const TDesC & aNumber,
+        TBool & aIsEmergencyNumber )
+    {
+    SMC_MOCK_METHOD2( TInt, const TDesC &, aNumber, 
+        TBool &, aIsEmergencyNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::FindEmergencyPhoneNumber
+// -----------------------------------------------------------------------------
+//
+TInt CPhCltEmergencyCallMock::FindEmergencyPhoneNumber( 
+        TDes & aNumber,
+        TBool & aIsEmergencyNumber )
+    {
+    SMC_MOCK_METHOD2( TInt, TDes &, aNumber, 
+        TBool &, aIsEmergencyNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::DialEmergencyCallL
+// -----------------------------------------------------------------------------
+//
+void CPhCltEmergencyCallMock::DialEmergencyCallL( 
+        const TDesC & aNumber )
+    {
+    SMC_MOCK_METHOD1( void, const TDesC &, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::IsEmergencyPhoneNumber
+// -----------------------------------------------------------------------------
+//
+TInt CPhCltEmergencyCallMock::IsEmergencyPhoneNumber( 
+        const TDesC & aNumber,
+        TDes & aMatchedEmergencyNumber,
+        TBool & aIsEmergencyNumber )
+    {
+    SMC_MOCK_METHOD3( TInt, const TDesC &, aNumber, 
+        TDes &, aMatchedEmergencyNumber, 
+        TBool &, aIsEmergencyNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::RunL
+// Declaration needed due to vftable references.
+// -----------------------------------------------------------------------------
+//
+void CPhCltEmergencyCallMock::RunL()
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCltEmergencyCallMock::DoCancel
+// Declaration needed due to vftable references.
+// -----------------------------------------------------------------------------
+//
+void CPhCltEmergencyCallMock::DoCancel()
+    {
+    
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_cphcltemergencycall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,144 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHCLTEMERGENCYCALLMOCK_H
+#define CPHCLTEMERGENCYCALLMOCK_H
+
+#include <e32base.h>
+#include <cphcltemergencycall.h>
+
+// FORWARD DECLARATIONS
+class MPhCltEmergencyCallObserver;
+
+// CLASS DECLARATION
+/**
+*   Phone Client Emergency Call Api for emergency number query
+*   and emergency dialing.
+*
+*   @lib phoneclient.lib
+*   @since SeriesS60_3.2
+*/
+class CPhCltEmergencyCallMock : public CPhCltEmergencyCall
+    {
+    public:
+        static TBool iSimulateEmergencyNumberMatch;
+    
+    public:  // Constructors and destructor
+ 
+        /**
+        * Create an instance that implements the interface.
+        *
+        * @param aObserver It is the observer for the instance.
+        * @return Returns the created instance.
+        */
+        static CPhCltEmergencyCallMock* NewL( 
+            MPhCltEmergencyCallObserver* aObserver );
+
+    public: // New functions    
+        
+       /**
+        * Returns information whether the number specified was an emergency number.
+        * 
+        * @param aNumber Number to be queried. aNumber might contain prefix (SS code)
+        *                and/or postfix (DTMF part).  
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltEmergencyNumber.
+        *
+        * @param aIsEmergencyNumber If ETrue, then the aNumber 
+        *                           parameter included emergency number.
+        * @return Returns error code of the success of the operation.
+        */
+        TInt IsEmergencyPhoneNumber( const TDesC& aNumber, 
+            TBool& aIsEmergencyNumber );
+
+        /**
+        * Method can be used to check if the number specified contains 
+        * a valid emergency number in the end of the number.
+        * 
+        * @param aNumber Number to be queried, matched emergency number 
+        *                is returned in this parameter.
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltTelephoneNumber.
+        *             
+        * @param aIsEmergencyNumber If ETrue, then the aNumber parameter 
+        *                           was emergency number. 
+        * @return Returns error code of the success of the operation.
+        */
+        TInt FindEmergencyPhoneNumber( TDes& aNumber, 
+            TBool& aIsEmergencyNumber );
+
+        /**
+        * Initiates an emergency call.
+        *
+        * @param aNumber Emergency number to be dialed.
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltEmergencyNumber. 
+        *
+        *                If the aNumber parameter supplies an "empty" buffer 
+        *                the call is created either dialing the default emergency 
+        *                phone number or use the SET UP EMERGENCY request  
+        *                that does not contain a  dialling number.
+        *
+        *                Leaves with KErrArgument, if parameter aNumber was
+        *                not an emergency number.
+        *
+        * @pre IsActive() returns EFalse, otherwise leaves with KErrInUse.
+        */
+        void DialEmergencyCallL( const TDesC& aNumber );
+        
+        /**
+        * Returns information whether the number specified was an emergency 
+        * number and also returns the plain emergency number.
+        * 
+        * @param aNumber Number to be queried.aNumber might contain prefix (SS code)
+        *                and/or postfix (DTMF part).
+        *                The aNumber parameter should be a buffer and the 
+        *                clients are provided with a typedef called 
+        *                TPhCltEmergencyNumber. 
+        *
+        * @param aMatchedEmergencyNumber Matched emergencynumber without prefix or 
+        *                postfix is returned in this parameter. The aMatchedEmergencyNumber 
+        *                parameter should be a buffer and the clients are
+        *                provided with atypedef called TPhCltEmergencyNumber.
+        * 
+        * @param aIsEmergencyNumber If ETrue, then the aNumber 
+        *                           parameter included emergency number.
+        *
+        * @return Returns error code of the success of the operation.
+        */
+        TInt IsEmergencyPhoneNumber( const TDesC& aNumber,
+            TDes& aMatchedEmergencyNumber, TBool& aIsEmergencyNumber );                    
+        
+    protected:
+
+        /**
+        * C++ constructor.
+        */
+        CPhCltEmergencyCallMock( MPhCltEmergencyCallObserver* aObserver );
+        
+        void RunL();
+        
+        void DoCancel();
+
+    };
+
+#endif      // CPHCLTEMERGENCYCALLMOCK_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_cvoicemailbox.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,237 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+#include <mvoicemailboxobserver.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// TVoiceMailboxParams::TVoiceMailboxParams
+// -----------------------------------------------------------------------------
+//
+TVoiceMailboxParams::TVoiceMailboxParams(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// TVoiceMailboxParams::Version
+// -----------------------------------------------------------------------------
+//
+TInt TVoiceMailboxParams::Version(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// TVoiceMailboxParams::TVoiceMailboxParams
+// -----------------------------------------------------------------------------
+//
+TVoiceMailboxParams::TVoiceMailboxParams( 
+        const CVoiceMailboxEntry & aEntry )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::CVoiceMailbox
+// -----------------------------------------------------------------------------
+//
+CVoiceMailbox::CVoiceMailbox(  )
+    //:
+    //CBase( /**/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailbox::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::NewL
+// -----------------------------------------------------------------------------
+//
+CVoiceMailbox * CVoiceMailbox::NewL(  )
+    {
+    SMC_MOCK_NEWL0( CVoiceMailbox * )
+
+    CVoiceMailbox* self = new( ELeave ) CVoiceMailbox;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::NewLC
+// -----------------------------------------------------------------------------
+//
+CVoiceMailbox * CVoiceMailbox::NewLC(  )
+    {
+    SMC_MOCK_NEWLC0( CVoiceMailbox * )
+
+    CVoiceMailbox* self = new( ELeave ) CVoiceMailbox;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::~CVoiceMailbox
+// -----------------------------------------------------------------------------
+//
+CVoiceMailbox::~CVoiceMailbox(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::GetStoredEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::GetStoredEntry( 
+        const TVoiceMailboxParams & aParams,
+        CVoiceMailboxEntry * & aEntry ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::SaveEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::SaveEntry( 
+        const CVoiceMailboxEntry & aEntry )
+    {
+    SMC_MOCK_METHOD1( TInt, const CVoiceMailboxEntry &, aEntry )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::QueryNewEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::QueryNewEntry( 
+        const TVoiceMailboxParams & aParams,
+        CVoiceMailboxEntry * & aEntry )
+    {
+    SMC_MOCK_METHOD2( TInt, const TVoiceMailboxParams &, aParams, 
+        CVoiceMailboxEntry *, aEntry )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::QueryChangeEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::QueryChangeEntry( 
+        const TVoiceMailboxParams & aParams,
+        CVoiceMailboxEntry * & aEntry )
+    {
+    SMC_MOCK_METHOD2( TInt, const TVoiceMailboxParams &, aParams, 
+        CVoiceMailboxEntry *, aEntry )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::QueryVmbxType
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::QueryVmbxType( 
+        TVoiceMailboxParams & aParams )
+    {
+    SMC_MOCK_METHOD1( TInt, TVoiceMailboxParams &, aParams )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::NotifyVmbxNumberChangeL
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailbox::NotifyVmbxNumberChangeL( 
+        MVoiceMailboxObserver & aObserver,
+        const TBool aNotifyOnActiveLineOnly )
+    {
+    SMC_MOCK_METHOD2( void, MVoiceMailboxObserver &, aObserver, 
+        const TBool, aNotifyOnActiveLineOnly )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::NotifyVmbxNumberChangeCancel
+// -----------------------------------------------------------------------------
+//
+void CVoiceMailbox::NotifyVmbxNumberChangeCancel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::CheckConfiguration
+// -----------------------------------------------------------------------------
+//
+TBool CVoiceMailbox::CheckConfiguration( 
+        const TVoiceMailboxParams & aParams,
+        const TInt aFlags )
+    {
+    SMC_MOCK_METHOD2( TBool, const TVoiceMailboxParams &, aParams, 
+        const TInt, aFlags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::GetServiceIds
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::GetServiceIds( 
+        RIdArray & aProfileIds ) const
+    {
+    SMC_MOCK_METHOD1( TInt, RIdArray &, aProfileIds )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CVoiceMailbox::SaveProvisionedEntry
+// -----------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::SaveProvisionedEntry( 
+        const CVoiceMailboxEntry & aEntry )
+    {
+    SMC_MOCK_METHOD1( TInt, const CVoiceMailboxEntry &, aEntry )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_dialpad.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,269 @@
+/*
+* 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 <QDebug>
+#include <QtGui>
+#include <hbframedrawer.h>
+#include <hbinstance.h>
+#include <hbeffect.h>
+#include <hbinstance.h>
+#include <hbmainwindow.h>
+#include <hbstyleloader.h>
+#include <hblineedit.h>
+#include <hbapplication.h>
+#include <smcmockclassincludes.h>
+#include "dialpad.h"
+
+static const int DialpadCloseAnimDuration = 200; // ms
+static const int DialpadOpenAnimDuration = 200; // ms
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// Dialpad::Dialpad
+// -----------------------------------------------------------------------------
+//
+Dialpad::Dialpad(  )
+    :
+    mMainWindow(*hbInstance->allMainWindows().at(0)),
+    mBackgroundDrawer(0),
+    mIconDrawer(0),
+    mBackgroundItem(0),
+    mInputField(0),
+    mKeypad(0),
+    mMultitap(0),
+    mOpenTimeLine(DialpadOpenAnimDuration),
+    mCloseTimeLine(DialpadCloseAnimDuration),
+    mAnimationOngoing(false),
+    mOrientation(Qt::Vertical),
+    mIsOpen(false)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::Dialpad
+// -----------------------------------------------------------------------------
+//
+Dialpad::Dialpad( const HbMainWindow & mainWindow )
+    :
+    mMainWindow(mainWindow)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::~Dialpad
+// -----------------------------------------------------------------------------
+//
+Dialpad::~Dialpad(  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::editor
+// -----------------------------------------------------------------------------
+//
+HbLineEdit & Dialpad::editor(  ) const
+    {
+    SMC_MOCK_METHOD0( HbLineEdit & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::changeEvent
+// -----------------------------------------------------------------------------
+//
+void Dialpad::changeEvent(QEvent *event)
+    {
+    SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::isOpen
+// -----------------------------------------------------------------------------
+//
+bool Dialpad::isOpen(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::openDialpad
+// -----------------------------------------------------------------------------
+//
+void Dialpad::openDialpad(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::closeDialpad
+// -----------------------------------------------------------------------------
+//
+void Dialpad::closeDialpad(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::setCallButtonEnabled
+// -----------------------------------------------------------------------------
+//
+void Dialpad::setCallButtonEnabled( 
+        bool enabled )
+    {
+    SMC_MOCK_METHOD1( void, bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::setTapOutsideDismiss
+// -----------------------------------------------------------------------------
+//
+void Dialpad::setTapOutsideDismiss( 
+        bool dismiss )
+    {
+    SMC_MOCK_METHOD1( void, bool, dismiss )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::paint
+// -----------------------------------------------------------------------------
+//
+void Dialpad::paint( 
+        QPainter * painter,
+        const QStyleOptionGraphicsItem * option,
+        QWidget * widget )
+    {
+    SMC_MOCK_METHOD3( void, QPainter *, painter, 
+        const QStyleOptionGraphicsItem *, option, 
+        QWidget *, widget )
+    }
+
+// -----------------------------------------------------------------------------
+// Dialpad::showEvent
+// -----------------------------------------------------------------------------
+//
+void Dialpad::showEvent( 
+        QShowEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QShowEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::hideEvent
+// -----------------------------------------------------------------------------
+//
+void Dialpad::hideEvent( 
+        QHideEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QHideEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::closeEvent
+// -----------------------------------------------------------------------------
+//
+void Dialpad::closeEvent( 
+        QCloseEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QCloseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::closeAnimValueChanged
+// -----------------------------------------------------------------------------
+//
+void Dialpad::closeAnimValueChanged( 
+        qreal value )
+    {
+    SMC_MOCK_METHOD1( void, qreal, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::closeAnimFinished
+// -----------------------------------------------------------------------------
+//
+void Dialpad::closeAnimFinished(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::openAnimValueChanged
+// -----------------------------------------------------------------------------
+//
+void Dialpad::openAnimValueChanged( 
+        qreal value )
+    {
+    SMC_MOCK_METHOD1( void, qreal, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::openAnimFinished
+// -----------------------------------------------------------------------------
+//
+void Dialpad::openAnimFinished(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::orientationChangeStarted
+// -----------------------------------------------------------------------------
+//
+void Dialpad::orientationChangeStarted(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Dialpad::orientationChangeFinished
+// -----------------------------------------------------------------------------
+//
+void Dialpad::orientationChangeFinished( 
+        Qt::Orientation current )
+    {
+    SMC_MOCK_METHOD1( void, Qt::Orientation, current )
+    }
+
+// -----------------------------------------------------------------------------
+// Dialpad::gestureEvent
+// -----------------------------------------------------------------------------
+//
+void Dialpad::gestureEvent(QGestureEvent *event)
+    {
+	 	SMC_MOCK_METHOD1( void, QGestureEvent *, event )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_dialpadbluetootheventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+#include <QDebug>
+#include <QEvent>
+#include <smcmockclassincludes.h>
+#include "dialpadbluetootheventfilter.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// DialpadBluetoothEventFilter::DialpadBluetoothEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadBluetoothEventFilter::DialpadBluetoothEventFilter( 
+        Dialpad * dialpad,
+        QObject * parent )
+    :
+    QObject( parent )
+    {
+    Q_UNUSED(dialpad)
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadBluetoothEventFilter::~DialpadBluetoothEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadBluetoothEventFilter::~DialpadBluetoothEventFilter(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadBluetoothEventFilter::eventFilter
+// -----------------------------------------------------------------------------
+//
+bool DialpadBluetoothEventFilter::eventFilter( 
+        QObject * watched,
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD2( bool, QObject *, watched, 
+        QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadBluetoothEventFilter::toggleBluetooth
+// -----------------------------------------------------------------------------
+//
+void DialpadBluetoothEventFilter::toggleBluetooth()
+{
+    SMC_MOCK_METHOD0( void )
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_dialpademergencycalleventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <QEvent>
+#include <smcmockclassincludes.h>
+#include "dialpademergencycalleventfilter.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// DialpadEmergencyCallEventFilter::DialpadEmergencyCallEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadEmergencyCallEventFilter::DialpadEmergencyCallEventFilter( 
+        Dialpad * dialpad,
+        QObject * parent )
+    :
+    QObject( parent )
+    {
+    Q_UNUSED(dialpad)
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadEmergencyCallEventFilter::~DialpadEmergencyCallEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadEmergencyCallEventFilter::~DialpadEmergencyCallEventFilter(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadEmergencyCallEventFilter::eventFilter
+// -----------------------------------------------------------------------------
+//
+bool DialpadEmergencyCallEventFilter::eventFilter( 
+        QObject * watched,
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD2( bool, QObject *, watched, 
+        QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadEmergencyCallEventFilter::editorTextChanged
+// -----------------------------------------------------------------------------
+//
+void DialpadEmergencyCallEventFilter::editorTextChanged(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_dialpadhasheventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QDebug>
+#include <QEvent>
+#include <smcmockclassincludes.h>
+#include "dialpadhasheventfilter.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// DialpadHashEventFilter::DialpadHashEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadHashEventFilter::DialpadHashEventFilter( 
+        Dialpad * dialpad,
+        QObject * parent )
+    :
+    DialpadMailboxEventFilterBase(dialpad, parent)
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadHashEventFilter::~DialpadHashEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadHashEventFilter::~DialpadHashEventFilter(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadHashEventFilter::eventFilter
+// -----------------------------------------------------------------------------
+//
+bool DialpadHashEventFilter::eventFilter( 
+        QObject * watched,
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD2( bool, QObject *, watched, 
+        QEvent *, event )
+    }
+
+// -----------------------------------------------------------------------------
+// DialpadHashEventFilter::handleCallButtonPress
+// -----------------------------------------------------------------------------
+//
+bool DialpadHashEventFilter::handleCallButtonPress()
+{
+    return false;
+}
+
+// -----------------------------------------------------------------------------
+// DialpadHashEventFilter::handleMailboxOperation
+// -----------------------------------------------------------------------------
+//
+void DialpadHashEventFilter::handleMailboxOperation()
+{
+    
+}
+
+// -----------------------------------------------------------------------------
+// DialpadHashEventFilter::handleLongKeyPress
+// -----------------------------------------------------------------------------
+//
+void DialpadHashEventFilter::handleLongKeyPress()
+{
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_dialpadkeysequenceeventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <QEvent>
+#include <smcmockclassincludes.h>
+#include "dialpadkeysequenceeventfilter.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// DialpadKeySequenceEventFilter::DialpadKeySequenceEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadKeySequenceEventFilter::DialpadKeySequenceEventFilter( 
+        Dialpad * dialpad,
+        QObject * parent )
+    :
+    QObject( parent )
+    {
+    Q_UNUSED(dialpad)
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadKeySequenceEventFilter::~DialpadKeySequenceEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadKeySequenceEventFilter::~DialpadKeySequenceEventFilter(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadKeySequenceEventFilter::eventFilter
+// -----------------------------------------------------------------------------
+//
+bool DialpadKeySequenceEventFilter::eventFilter( 
+        QObject * watched,
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD2( bool, QObject *, watched, 
+        QEvent *, event )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_dialpadmailboxeventfilterbase.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <QEvent>
+#include <smcmockclassincludes.h>
+#include "dialpadmailboxeventfilterbase.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::DialpadMailboxEventFilterBase
+// -----------------------------------------------------------------------------
+//
+DialpadMailboxEventFilterBase::DialpadMailboxEventFilterBase( 
+        Dialpad * dialpad,
+        QObject * parent )
+    :
+    QObject( parent )
+    {
+    Q_UNUSED(dialpad)
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::~DialpadMailboxEventFilterBase
+// -----------------------------------------------------------------------------
+//
+DialpadMailboxEventFilterBase::~DialpadMailboxEventFilterBase(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::eventFilter
+// -----------------------------------------------------------------------------
+//
+bool DialpadMailboxEventFilterBase::eventFilter( 
+        QObject * watched,
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD2( bool, QObject *, watched, 
+        QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::isLongKeyPressSupported
+// -----------------------------------------------------------------------------
+//
+bool DialpadMailboxEventFilterBase::isLongKeyPressSupported( 
+        const int key )
+    {
+    SMC_MOCK_METHOD1( bool, const int, key )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::checkIfSendEventAndConsumeEvent
+// -----------------------------------------------------------------------------
+//
+bool DialpadMailboxEventFilterBase::checkIfSendEventAndConsumeEvent( 
+        const int pressedKey,
+        const int eventType )
+    {
+    SMC_MOCK_METHOD2( bool, const int, pressedKey, 
+        const int, eventType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::handleCallButtonPress
+// -----------------------------------------------------------------------------
+//
+bool DialpadMailboxEventFilterBase::handleCallButtonPress(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::clearEditor
+// -----------------------------------------------------------------------------
+//
+void DialpadMailboxEventFilterBase::clearEditor(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::createCall
+// -----------------------------------------------------------------------------
+//
+void DialpadMailboxEventFilterBase::createCall( 
+        const QString & phoneNumber,
+        bool createVideoCall )
+    {
+    SMC_MOCK_METHOD2( void, const QString &, phoneNumber, 
+        bool, createVideoCall )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::handleMailboxOperation
+// -----------------------------------------------------------------------------
+//
+void DialpadMailboxEventFilterBase::handleMailboxOperation(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadMailboxEventFilterBase::handleLongKeyPress
+// -----------------------------------------------------------------------------
+//
+void DialpadMailboxEventFilterBase::handleLongKeyPress(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_dialpadvideomailboxeventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QDebug>
+#include <QEvent>
+#include <smcmockclassincludes.h>
+#include "dialpadvideomailboxeventfilter.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// DialpadVideoMailboxEventFilter::DialpadVideoMailboxEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadVideoMailboxEventFilter::DialpadVideoMailboxEventFilter( 
+        Dialpad * dialpad,
+        QObject * parent )
+    :
+    DialpadMailboxEventFilterBase( dialpad, parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVideoMailboxEventFilter::~DialpadVideoMailboxEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadVideoMailboxEventFilter::~DialpadVideoMailboxEventFilter(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVideoMailboxEventFilter::eventFilter
+// -----------------------------------------------------------------------------
+//
+bool DialpadVideoMailboxEventFilter::eventFilter( 
+        QObject * watched,
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD2( bool, QObject *, watched, 
+        QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVideoMailboxEventFilter::handleCallButtonPress
+// -----------------------------------------------------------------------------
+//
+bool DialpadVideoMailboxEventFilter::handleCallButtonPress(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVideoMailboxEventFilter::handleMailboxOperation
+// -----------------------------------------------------------------------------
+//
+void DialpadVideoMailboxEventFilter::handleMailboxOperation(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVideoMailboxEventFilter::handleLongKeyPress
+// -----------------------------------------------------------------------------
+//
+void DialpadVideoMailboxEventFilter::handleLongKeyPress(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_dialpadvoicemailboxeventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QDebug>
+#include <QEvent>
+#include <smcmockclassincludes.h>
+#include "dialpadvoicemailboxeventfilter.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// DialpadVoiceMailboxEventFilter::DialpadVoiceMailboxEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadVoiceMailboxEventFilter::DialpadVoiceMailboxEventFilter( 
+        Dialpad * dialpad,
+        QObject * parent )
+    :
+    DialpadMailboxEventFilterBase( dialpad, parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVoiceMailboxEventFilter::~DialpadVoiceMailboxEventFilter
+// -----------------------------------------------------------------------------
+//
+DialpadVoiceMailboxEventFilter::~DialpadVoiceMailboxEventFilter(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVoiceMailboxEventFilter::eventFilter
+// -----------------------------------------------------------------------------
+//
+bool DialpadVoiceMailboxEventFilter::eventFilter( 
+        QObject * watched,
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD2( bool, QObject *, watched, 
+        QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVoiceMailboxEventFilter::handleCallButtonPress
+// -----------------------------------------------------------------------------
+//
+bool DialpadVoiceMailboxEventFilter::handleCallButtonPress(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVoiceMailboxEventFilter::handleMailboxOperation
+// -----------------------------------------------------------------------------
+//
+void DialpadVoiceMailboxEventFilter::handleMailboxOperation(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// DialpadVoiceMailboxEventFilter::handleLongKeyPress
+// -----------------------------------------------------------------------------
+//
+void DialpadVoiceMailboxEventFilter::handleLongKeyPress(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_featmgr.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+#include <smcmockclassincludes.h>
+#include <featmgr/featmgr.h>
+#include <featmgr/featurecontrol.h>
+#include <e32std.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// FeatureManager::FeatureManager
+// -----------------------------------------------------------------------------
+//
+FeatureManager::FeatureManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// FeatureManager::InitializeLibL
+// -----------------------------------------------------------------------------
+//
+void FeatureManager::InitializeLibL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// FeatureManager::UnInitializeLib
+// -----------------------------------------------------------------------------
+//
+void FeatureManager::UnInitializeLib(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// FeatureManager::FeatureSupported
+// -----------------------------------------------------------------------------
+//
+TBool FeatureManager::FeatureSupported( 
+        TInt aFeature )
+    {
+    SMC_MOCK_METHOD1( TBool, TInt, aFeature )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_hblineedit.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,381 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <QFontMetrics>
+#include <QGraphicsSceneMouseEvent>
+#include <QPainter>
+#include <QTextBlock>
+#include <QTextDocument>
+
+#include <smcmockclassincludes.h>
+#include "hblineedit.h"
+#include "hbabstractedit.h"
+#include "hbwidget.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::HbLineEdit
+// -----------------------------------------------------------------------------
+//
+HbLineEdit::HbLineEdit(QGraphicsItem *parent) 
+{
+    Q_UNUSED(parent)
+}
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::HbLineEdit
+// -----------------------------------------------------------------------------
+//
+HbLineEdit::HbLineEdit( 
+        const QString & text,
+        QGraphicsItem * parent )
+    {
+    Q_UNUSED(text)
+    Q_UNUSED(parent)
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::~HbLineEdit
+// -----------------------------------------------------------------------------
+//
+HbLineEdit::~HbLineEdit(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::type
+// -----------------------------------------------------------------------------
+//
+int HbLineEdit::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::maxLength
+// -----------------------------------------------------------------------------
+//
+int HbLineEdit::maxLength(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::setMaxLength
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::setMaxLength( 
+        int length )
+    {
+    SMC_MOCK_METHOD1( void, int, length )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::setMinRows
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::setMinRows( 
+        int rows )
+    {
+    SMC_MOCK_METHOD1( void, int, rows )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::minRows
+// -----------------------------------------------------------------------------
+//
+int HbLineEdit::minRows(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::setMaxRows
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::setMaxRows( 
+        int rows )
+    {
+    SMC_MOCK_METHOD1( void, int, rows )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::maxRows
+// -----------------------------------------------------------------------------
+//
+int HbLineEdit::maxRows(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::isExpandable
+// -----------------------------------------------------------------------------
+//
+bool HbLineEdit::isExpandable(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::text
+// -----------------------------------------------------------------------------
+//
+QString HbLineEdit::text(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::displayText
+// -----------------------------------------------------------------------------
+//
+QString HbLineEdit::displayText(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::hasSelectedText
+// -----------------------------------------------------------------------------
+//
+bool HbLineEdit::hasSelectedText(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::selectedText
+// -----------------------------------------------------------------------------
+//
+QString HbLineEdit::selectedText(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::selectionStart
+// -----------------------------------------------------------------------------
+//
+int HbLineEdit::selectionStart(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::setSelection
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::setSelection( 
+        int start,
+        int length )
+    {
+    SMC_MOCK_METHOD2( void, int, start, 
+        int, length )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::cursorPosition
+// -----------------------------------------------------------------------------
+//
+int HbLineEdit::cursorPosition() const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::setCursorPosition
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::setCursorPosition( 
+        int pos )
+    {
+    SMC_MOCK_METHOD1( void, int, pos )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::echoMode
+// -----------------------------------------------------------------------------
+//
+HbLineEdit::EchoMode HbLineEdit::echoMode(  ) const
+    {
+    SMC_MOCK_METHOD0( HbLineEdit::EchoMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::setEchoMode
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::setEchoMode( HbLineEdit::EchoMode echoMode )
+    {
+    SMC_MOCK_METHOD1( void, HbLineEdit::EchoMode, echoMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::setCapitalization
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::setCapitalization( 
+        QFont::Capitalization caps )
+    {
+    SMC_MOCK_METHOD1( void, QFont::Capitalization, caps )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::capitalization
+// -----------------------------------------------------------------------------
+//
+QFont::Capitalization HbLineEdit::capitalization(  ) const
+    {
+    SMC_MOCK_METHOD0( QFont::Capitalization )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::setText
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::setText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::HbLineEdit
+// -----------------------------------------------------------------------------
+//
+HbLineEdit::HbLineEdit( 
+        HbLineEditPrivate & dd,
+        QGraphicsItem * parent )
+    {
+    Q_UNUSED(dd)
+    Q_UNUSED(parent)
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::inputMethodEvent
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::inputMethodEvent( 
+        QInputMethodEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QInputMethodEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::keyPressEvent
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::keyPressEvent( 
+        QKeyEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QKeyEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::keyReleaseEvent
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::keyReleaseEvent( 
+        QKeyEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QKeyEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::resizeEvent
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::resizeEvent( 
+        QGraphicsSceneResizeEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsSceneResizeEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::canInsertFromMimeData
+// -----------------------------------------------------------------------------
+//
+bool HbLineEdit::canInsertFromMimeData( 
+        const QMimeData * source ) const
+    {
+    SMC_MOCK_METHOD1( bool, const QMimeData *, source )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::insertFromMimeData
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::insertFromMimeData( 
+        const QMimeData * source )
+    {
+    SMC_MOCK_METHOD1( void, const QMimeData *, source )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::focusOutEvent
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::focusOutEvent( 
+        QFocusEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QFocusEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLineEdit::focusInEvent
+// -----------------------------------------------------------------------------
+//
+void HbLineEdit::focusInEvent( 
+        QFocusEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QFocusEvent *, event )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_hbmainwindow.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,413 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <smcmockclassincludes.h>
+#include <hbmainwindow.h>
+#include <hbview.h>
+#include <hbnamespace.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::~HbMainWindow
+// -----------------------------------------------------------------------------
+//
+HbMainWindow::~HbMainWindow(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::addView
+// -----------------------------------------------------------------------------
+//
+HbView * HbMainWindow::addView( 
+        QGraphicsWidget * widget )
+    {
+    SMC_MOCK_METHOD1( HbView *, QGraphicsWidget *, widget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::insertView
+// -----------------------------------------------------------------------------
+//
+HbView * HbMainWindow::insertView( 
+        int index,
+        QGraphicsWidget * widget )
+    {
+    SMC_MOCK_METHOD2( HbView *, int, index, 
+        QGraphicsWidget *, widget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::removeView
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::removeView( 
+        QGraphicsWidget * widget )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsWidget *, widget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::views
+// -----------------------------------------------------------------------------
+//
+QList <HbView * > HbMainWindow::views(  ) const
+    {
+    SMC_MOCK_METHOD0( QList <HbView * > )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::currentView
+// -----------------------------------------------------------------------------
+//
+HbView * HbMainWindow::currentView(  ) const
+    {
+    SMC_MOCK_METHOD0( HbView * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::setCurrentView
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::setCurrentView( 
+        HbView * view,
+        bool animate,
+        Hb::ViewSwitchFlags flags )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::orientation
+// -----------------------------------------------------------------------------
+//
+Qt::Orientation HbMainWindow::orientation(  ) const
+    {
+    SMC_MOCK_METHOD0( Qt::Orientation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::setOrientation
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::setOrientation( 
+        Qt::Orientation orientation,
+        bool animate )
+    {
+    SMC_MOCK_METHOD2( void, Qt::Orientation, orientation, 
+        bool, animate )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::unsetOrientation
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::unsetOrientation( 
+        bool animate )
+    {
+    SMC_MOCK_METHOD1( void, bool, animate )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::nativeBackgroundWindow
+// -----------------------------------------------------------------------------
+//
+WId HbMainWindow::nativeBackgroundWindow(  )
+    {
+    SMC_MOCK_METHOD0( WId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::resetNativeBackgroundWindow
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::resetNativeBackgroundWindow(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::layoutRect
+// -----------------------------------------------------------------------------
+//
+QRectF HbMainWindow::layoutRect(  ) const
+    {
+    SMC_MOCK_METHOD0( QRectF )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::setBackgroundImageName
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::setBackgroundImageName( 
+        Qt::Orientation orientation,
+        const QString & name )
+    {
+    SMC_MOCK_METHOD2( void, Qt::Orientation, orientation, 
+        const QString &, name )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::backgroundImageName
+// -----------------------------------------------------------------------------
+//
+QString HbMainWindow::backgroundImageName( 
+        Qt::Orientation orientation ) const
+    {
+    SMC_MOCK_METHOD1( QString, Qt::Orientation, orientation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::setBackgroundImageMode
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::setBackgroundImageMode( 
+        Hb::BackgroundImageMode mode )
+    {
+    SMC_MOCK_METHOD1( void, Hb::BackgroundImageMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::backgroundImageMode
+// -----------------------------------------------------------------------------
+//
+Hb::BackgroundImageMode HbMainWindow::backgroundImageMode(  ) const
+    {
+    SMC_MOCK_METHOD0( Hb::BackgroundImageMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::setAutomaticOrientationEffectEnabled
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::setAutomaticOrientationEffectEnabled( 
+        bool enabled )
+    {
+    SMC_MOCK_METHOD1( void, bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::automaticOrientationEffectEnabled
+// -----------------------------------------------------------------------------
+//
+bool HbMainWindow::automaticOrientationEffectEnabled(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::broadcastEvent
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::broadcastEvent( 
+        int eventType )
+    {
+    SMC_MOCK_METHOD1( void, int, eventType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::viewReady
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::viewReady(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::aboutToChangeView
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::aboutToChangeView( 
+        HbView * oldView,
+        HbView * newView )
+    {
+    SMC_MOCK_METHOD2( void, HbView *, oldView, 
+        HbView *, newView )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::currentViewChanged
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::currentViewChanged( 
+        HbView * view )
+    {
+    SMC_MOCK_METHOD1( void, HbView *, view )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::aboutToChangeOrientation
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::aboutToChangeOrientation(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::aboutToChangeOrientation
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::aboutToChangeOrientation( 
+        Qt::Orientation newOrientation,
+        bool animated )
+    {
+    SMC_MOCK_METHOD2( void, Qt::Orientation, newOrientation, 
+        bool, animated )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::orientationChanged
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::orientationChanged( 
+        Qt::Orientation orientation )
+    {
+    SMC_MOCK_METHOD1( void, Qt::Orientation, orientation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::changeEvent
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::changeEvent( 
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::closeEvent
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::closeEvent( 
+        QCloseEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QCloseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::keyPressEvent
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::keyPressEvent( 
+        QKeyEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QKeyEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::keyReleaseEvent
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::keyReleaseEvent( 
+        QKeyEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QKeyEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::resizeEvent
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::resizeEvent( 
+        QResizeEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QResizeEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::customEvent
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::customEvent( 
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::scrollContentsBy
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::scrollContentsBy( 
+        int dx,
+        int dy )
+    {
+    SMC_MOCK_METHOD2( void, int, dx, 
+        int, dy )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::paintEvent
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::paintEvent( 
+        QPaintEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QPaintEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::showEvent
+// -----------------------------------------------------------------------------
+//
+void HbMainWindow::showEvent( 
+        QShowEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QShowEvent *, event )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_hbnotificationdialog.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,296 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 "hbnotificationdialog.h"
+#include <qgraphicsscene.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::Q_PROPERTY
+// -----------------------------------------------------------------------------
+//
+/*Q_OBJECT HbNotificationDialog::Q_PROPERTY( 
+        QString text READ text WRITE setText ) Q_PROPERTY ( QString title READ title WRITE setTitle ) Q_PROPERTY ( HbIcon icon READ icon WRITE setIcon ) Q_PROPERTY ( Hb::TextWrapping titleTextWrapping READ titleTextWrapping WRITE setTitleTextWrapping ) Q_PROPERTY ( bool sequentialShow READ isSequentialShow WRITE setSequentialShow ):HbNotificationDialog ( )
+    {
+    SMC_MOCK_METHOD1( Q_OBJECT, QString text READ text WRITE setText ) Q_PROPERTY ( QString title READ title WRITE setTitle ) Q_PROPERTY ( HbIcon icon READ icon WRITE setIcon ) Q_PROPERTY ( Hb::TextWrapping titleTextWrapping READ titleTextWrapping WRITE setTitleTextWrapping ) Q_PROPERTY ( bool sequentialShow READ isSequentialShow WRITE setSequentialShow ):HbNotificationDialog, ( )
+    }*/
+
+HbNotificationDialog::HbNotificationDialog() //: HbDialog(*new HbNotificationDialogPrivate, 0)
+{    
+}
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::~HbNotificationDialog
+// -----------------------------------------------------------------------------
+//
+HbNotificationDialog::~HbNotificationDialog(  )
+    {
+    //SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::launchDialog
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::launchDialog( 
+        const QString & title,
+        QGraphicsScene * scene )
+    {
+    SMC_MOCK_METHOD2( void, const QString &, title, 
+        QGraphicsScene *, scene )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::launchDialog
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::launchDialog( 
+        const QString & title,
+        const QString & text,
+        QGraphicsScene * scene )
+    {
+    SMC_MOCK_METHOD3( void, const QString &, title, 
+        const QString &, text, 
+        QGraphicsScene *, scene )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::launchDialog
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::launchDialog( 
+        const HbIcon & icon,
+        const QString & title,
+        const QString & text,
+        QGraphicsScene * scene )
+    {
+    SMC_MOCK_METHOD4( void, const HbIcon &, icon, 
+        const QString &, title, 
+        const QString &, text, 
+        QGraphicsScene *, scene )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::enableTouchActivation
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::enableTouchActivation( 
+        bool enabled )
+    {
+    SMC_MOCK_METHOD1( void, bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::isTouchActivating
+// -----------------------------------------------------------------------------
+//
+bool HbNotificationDialog::isTouchActivating(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::setTitle
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::setTitle( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::setText
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::setText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::setIcon
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::setIcon( 
+        const HbIcon & icon )
+    {
+    SMC_MOCK_METHOD1( void, const HbIcon &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::title
+// -----------------------------------------------------------------------------
+//
+QString HbNotificationDialog::title(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::text
+// -----------------------------------------------------------------------------
+//
+QString HbNotificationDialog::text(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::icon
+// -----------------------------------------------------------------------------
+//
+HbIcon HbNotificationDialog::icon(  ) const
+    {
+    SMC_MOCK_METHOD0( HbIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::setTitleTextWrapping
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::setTitleTextWrapping( 
+        Hb::TextWrapping wrapping )
+    {
+    SMC_MOCK_METHOD1( void, Hb::TextWrapping, wrapping )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::titleTextWrapping
+// -----------------------------------------------------------------------------
+//
+Hb::TextWrapping HbNotificationDialog::titleTextWrapping(  ) const
+    {
+    SMC_MOCK_METHOD0( Hb::TextWrapping )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::setSequentialShow
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::setSequentialShow( 
+        bool sequential )
+    {
+    SMC_MOCK_METHOD1( void, bool, sequential )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::isSequentialShow
+// -----------------------------------------------------------------------------
+//
+bool HbNotificationDialog::isSequentialShow(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::primitive
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbNotificationDialog::primitive( 
+        const QString & itemName ) const
+    {
+    SMC_MOCK_METHOD1( QGraphicsItem *, const QString &, itemName )
+    }
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::HbNotificationDialog
+// -----------------------------------------------------------------------------
+//
+/*void*/ HbNotificationDialog::HbNotificationDialog( 
+        HbNotificationDialogPrivate & dd,
+        QGraphicsItem * parent )
+    {
+    Q_UNUSED(dd)
+    Q_UNUSED(parent)    
+    //SMC_MOCK_METHOD2( void, HbNotificationDialogPrivate &, dd, 
+     //   QGraphicsItem *, parent )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::gestureEvent
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::gestureEvent( 
+        QGestureEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QGestureEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::hideEvent
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::hideEvent( 
+        QHideEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QHideEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::showEvent
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::showEvent( 
+        QShowEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QShowEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::itemChange
+// -----------------------------------------------------------------------------
+//
+QVariant HbNotificationDialog::itemChange( 
+        GraphicsItemChange change,
+        const QVariant & value )
+    {
+    SMC_MOCK_METHOD2( QVariant, GraphicsItemChange, change, 
+        const QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbNotificationDialog::orientationChanged
+// -----------------------------------------------------------------------------
+//
+void HbNotificationDialog::orientationChanged(Qt::Orientation orientation)
+{
+    SMC_MOCK_METHOD1( void, Qt::Orientation, orientation )
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_xqaiwinterfacedescriptor.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,181 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <xqaiwinterfacedescriptor.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::XQAiwInterfaceDescriptor
+// -----------------------------------------------------------------------------
+//
+XQAiwInterfaceDescriptor::XQAiwInterfaceDescriptor(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::XQAiwInterfaceDescriptor
+// -----------------------------------------------------------------------------
+//
+XQAiwInterfaceDescriptor::XQAiwInterfaceDescriptor( 
+        const XQAiwInterfaceDescriptor & other )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::~XQAiwInterfaceDescriptor
+// -----------------------------------------------------------------------------
+//
+XQAiwInterfaceDescriptor::~XQAiwInterfaceDescriptor(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::=
+// -----------------------------------------------------------------------------
+//
+XQAiwInterfaceDescriptor & XQAiwInterfaceDescriptor::operator =( 
+        const XQAiwInterfaceDescriptor & other )
+    {
+    return *this;
+    //SMC_MOCK_METHOD1( XQAiwInterfaceDescriptor &, const XQAiwInterfaceDescriptor &, other )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::=
+// -----------------------------------------------------------------------------
+//
+bool XQAiwInterfaceDescriptor::operator==( 
+        const XQAiwInterfaceDescriptor & other ) const
+    {
+    SMC_MOCK_METHOD1( bool, const XQAiwInterfaceDescriptor &, other )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::serviceName
+// -----------------------------------------------------------------------------
+//
+QString XQAiwInterfaceDescriptor::serviceName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::interfaceName
+// -----------------------------------------------------------------------------
+//
+QString XQAiwInterfaceDescriptor::interfaceName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::majorVersion
+// -----------------------------------------------------------------------------
+//
+int XQAiwInterfaceDescriptor::majorVersion(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::minorVersion
+// -----------------------------------------------------------------------------
+//
+int XQAiwInterfaceDescriptor::minorVersion(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::isValid
+// -----------------------------------------------------------------------------
+//
+bool XQAiwInterfaceDescriptor::isValid(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::inSystemScope
+// -----------------------------------------------------------------------------
+//
+bool XQAiwInterfaceDescriptor::inSystemScope(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::property
+// -----------------------------------------------------------------------------
+//
+QVariant XQAiwInterfaceDescriptor::property( 
+        XQAiwInterfaceDescriptor::PropertyKey key ) const
+    {
+    SMC_MOCK_METHOD1( QVariant, XQAiwInterfaceDescriptor::PropertyKey, key )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::customProperty
+// -----------------------------------------------------------------------------
+//
+QString XQAiwInterfaceDescriptor::customProperty( 
+        const QString & key ) const
+    {
+    SMC_MOCK_METHOD1( QString, const QString &, key )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::customPropertyKeys
+// -----------------------------------------------------------------------------
+//
+QStringList XQAiwInterfaceDescriptor::customPropertyKeys(  ) const
+    {
+    SMC_MOCK_METHOD0( QStringList )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwInterfaceDescriptor::setProperty
+// -----------------------------------------------------------------------------
+//
+bool XQAiwInterfaceDescriptor::setProperty( 
+        XQAiwInterfaceDescriptor::PropertyKey key,
+        const QVariant value )
+    {
+    SMC_MOCK_METHOD2( bool, XQAiwInterfaceDescriptor::PropertyKey, key, 
+        const QVariant, value )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_xqaiwrequest.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,318 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <qglobal.h>
+#include <smcmockclassincludes.h>
+#include "xqaiwrequest.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::XQAiwRequest( 
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & operation,
+        bool embedded )
+    :
+    QObject()
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::XQAiwRequest( 
+        const QUrl & uri,
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & operation )
+    :
+    QObject( )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::XQAiwRequest( 
+        const QFile & file,
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & operation )
+    :
+    QObject()
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::XQAiwRequest( 
+        const XQSharableFile & file,
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & operation )
+    :
+    QObject()
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::~XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::~XQAiwRequest(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::createAction
+// -----------------------------------------------------------------------------
+//
+QAction * XQAiwRequest::createAction(  )
+    {
+    SMC_MOCK_METHOD0( QAction * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setArguments
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setArguments( 
+        const QList<QVariant> & arguments )
+    {
+    SMC_MOCK_METHOD1( void, const QList<QVariant> &, arguments )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::lastError
+// -----------------------------------------------------------------------------
+//
+int XQAiwRequest::lastError(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::lastErrorMessage
+// -----------------------------------------------------------------------------
+//
+const QString & XQAiwRequest::lastErrorMessage(  ) const
+    {
+    SMC_MOCK_METHOD0( const QString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::descriptor
+// -----------------------------------------------------------------------------
+//
+const XQAiwInterfaceDescriptor & XQAiwRequest::descriptor(  ) const
+    {
+    SMC_MOCK_METHOD0( const XQAiwInterfaceDescriptor & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::send
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::send(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::send
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::send( 
+        QVariant & returnValue )
+    {
+    SMC_MOCK_METHOD1( bool, QVariant &, returnValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setEmbedded
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setEmbedded( 
+        bool embedded )
+    {
+    SMC_MOCK_METHOD1( void, bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::isEmbedded
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::isEmbedded(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setOperation
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setOperation( 
+        const QString & operation )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, operation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::operation
+// -----------------------------------------------------------------------------
+//
+const QString & XQAiwRequest::operation(  ) const
+    {
+    SMC_MOCK_METHOD0( const QString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setSynchronous
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setSynchronous( 
+        bool synchronous )
+    {
+    SMC_MOCK_METHOD1( void, bool, synchronous )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::isSynchronous
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::isSynchronous(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setBackground
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setBackground( 
+        bool background )
+    {
+    SMC_MOCK_METHOD1( void, bool, background )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::isBackground
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::isBackground(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setInfo
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setInfo( 
+        const XQRequestInfo & requestInfo )
+    {
+    SMC_MOCK_METHOD1( void, const XQRequestInfo &, requestInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::info
+// -----------------------------------------------------------------------------
+//
+XQRequestInfo XQAiwRequest::info(  ) const
+    {
+    SMC_MOCK_METHOD0( XQRequestInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::results
+// -----------------------------------------------------------------------------
+//
+const QVariant & XQAiwRequest::results(  ) const
+    {
+    SMC_MOCK_METHOD0( const QVariant & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::sendExecute
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::sendExecute(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::handleAsyncResponse
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::handleAsyncResponse(const QVariant& value)
+{
+    Q_UNUSED(value);
+}
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::sendFromAction
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::sendFromAction(bool checked)
+{
+    Q_UNUSED(checked);
+}
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::handleAsyncError
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::handleAsyncError(int err)
+{
+    Q_UNUSED(err);    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_xqappmgr.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <xqaiwrequest.h>
+#include <xqaiwinterfacedescriptor.h>
+#include <QList>
+#include "xqappmgr.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::XQApplicationManager
+// -----------------------------------------------------------------------------
+//
+XQApplicationManager::XQApplicationManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::~XQApplicationManager
+// -----------------------------------------------------------------------------
+//
+XQApplicationManager::~XQApplicationManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QString & interface,
+        const QString & operation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const QString &, interface, 
+        const QString &, operation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const XQAiwInterfaceDescriptor & implementation,
+        const QString & operation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const XQAiwInterfaceDescriptor &, implementation, 
+        const QString &, operation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QString & service,
+        const QString & interface,
+        const QString & operation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD4( XQAiwRequest *, const QString &, service, 
+        const QString &, interface, 
+        const QString &, operation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const QString & interface,
+        const QString & operation )
+    {
+    SMC_MOCK_METHOD2( QList <XQAiwInterfaceDescriptor >, const QString &, interface, 
+        const QString &, operation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const QString & service,
+        const QString & interface,
+        const QString & operation )
+    {
+    SMC_MOCK_METHOD3( QList <XQAiwInterfaceDescriptor >, const QString &, service, 
+        const QString &, interface, 
+        const QString &, operation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QUrl & url,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD2( XQAiwRequest *, const QUrl &, url, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QUrl & url,
+        const XQAiwInterfaceDescriptor & implementation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const QUrl &, url, 
+        const XQAiwInterfaceDescriptor &, implementation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QFile & file,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD2( XQAiwRequest *, const QFile &, file, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QFile & file,
+        const XQAiwInterfaceDescriptor & implementation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const QFile &, file, 
+        const XQAiwInterfaceDescriptor &, implementation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const QUrl & uri )
+    {
+    SMC_MOCK_METHOD1( QList <XQAiwInterfaceDescriptor >, const QUrl &, uri )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const QFile & file )
+    {
+    SMC_MOCK_METHOD1( QList <XQAiwInterfaceDescriptor >, const QFile &, file )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const XQSharableFile & file )
+    {
+    SMC_MOCK_METHOD1( QList <XQAiwInterfaceDescriptor >, const XQSharableFile &, file )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const XQSharableFile & file,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD2( XQAiwRequest *, const XQSharableFile &, file, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const XQSharableFile & file,
+        const XQAiwInterfaceDescriptor & implementation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const XQSharableFile &, file, 
+        const XQAiwInterfaceDescriptor &, implementation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::lastError
+// -----------------------------------------------------------------------------
+//
+int XQApplicationManager::lastError(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::isRunning
+// -----------------------------------------------------------------------------
+//
+bool XQApplicationManager::isRunning( 
+        const XQAiwInterfaceDescriptor & implementation ) const
+    {
+    SMC_MOCK_METHOD1( bool, const XQAiwInterfaceDescriptor &, implementation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::getDrmAttributes
+// -----------------------------------------------------------------------------
+//
+bool XQApplicationManager::getDrmAttributes( 
+        const QFile & file,
+        const QList<int> & attributeNames,
+        QVariantList & attributeValues )
+    {
+    SMC_MOCK_METHOD3( bool, const QFile &, file, 
+        const QList<int> &, attributeNames, 
+        QVariantList &, attributeValues )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::getDrmAttributes
+// -----------------------------------------------------------------------------
+//
+bool XQApplicationManager::getDrmAttributes( 
+        const XQSharableFile & file,
+        const QList<int> & attributeNames,
+        QVariantList & attributeValues )
+    {
+    SMC_MOCK_METHOD3( bool, const XQSharableFile &, file, 
+        const QList<int> &, attributeNames, 
+        QVariantList &, attributeValues )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::status
+// -----------------------------------------------------------------------------
+//
+XQApplicationManager::ServiceStatus XQApplicationManager::status( 
+        const XQAiwInterfaceDescriptor & implementation )
+    {
+    SMC_MOCK_METHOD1( ServiceStatus, const XQAiwInterfaceDescriptor &, implementation )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_xqrequestinfo.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,199 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <QStringList>
+#include <QSet>
+#include <smcmockclassincludes.h>
+#include "xqrequestinfo.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::XQRequestInfo
+// -----------------------------------------------------------------------------
+//
+XQRequestInfo::XQRequestInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::~XQRequestInfo
+// -----------------------------------------------------------------------------
+//
+XQRequestInfo::~XQRequestInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::isValid
+// -----------------------------------------------------------------------------
+//
+bool XQRequestInfo::isValid(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::setEmbedded
+// -----------------------------------------------------------------------------
+//
+void XQRequestInfo::setEmbedded( 
+        bool on )
+    {
+    SMC_MOCK_METHOD1( void, bool, on )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::isEmbedded
+// -----------------------------------------------------------------------------
+//
+bool XQRequestInfo::isEmbedded(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::setBackground
+// -----------------------------------------------------------------------------
+//
+void XQRequestInfo::setBackground( 
+        bool on )
+    {
+    SMC_MOCK_METHOD1( void, bool, on )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::isBackground
+// -----------------------------------------------------------------------------
+//
+bool XQRequestInfo::isBackground(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::isSynchronous
+// -----------------------------------------------------------------------------
+//
+bool XQRequestInfo::isSynchronous(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::setForeground
+// -----------------------------------------------------------------------------
+//
+void XQRequestInfo::setForeground( 
+        bool on )
+    {
+    SMC_MOCK_METHOD1( void, bool, on )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::isForeground
+// -----------------------------------------------------------------------------
+//
+bool XQRequestInfo::isForeground(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::clientSecureId
+// -----------------------------------------------------------------------------
+//
+quint32 XQRequestInfo::clientSecureId(  ) const
+    {
+    SMC_MOCK_METHOD0( quint32 )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::clientVendorId
+// -----------------------------------------------------------------------------
+//
+quint32 XQRequestInfo::clientVendorId(  ) const
+    {
+    SMC_MOCK_METHOD0( quint32 )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::clientCapabilities
+// -----------------------------------------------------------------------------
+//
+QSet <int > XQRequestInfo::clientCapabilities(  ) const
+    {
+    SMC_MOCK_METHOD0( QSet <int > )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::id
+// -----------------------------------------------------------------------------
+//
+int XQRequestInfo::id(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::setInfo
+// -----------------------------------------------------------------------------
+//
+void XQRequestInfo::setInfo( 
+        const QString & key,
+        const QVariant & value )
+    {
+    SMC_MOCK_METHOD2( void, const QString &, key, 
+        const QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::info
+// -----------------------------------------------------------------------------
+//
+QVariant XQRequestInfo::info( 
+        const QString & key ) const
+    {
+    SMC_MOCK_METHOD1( QVariant, const QString &, key )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQRequestInfo::infoKeys
+// -----------------------------------------------------------------------------
+//
+QStringList XQRequestInfo::infoKeys(  ) const
+    {
+    SMC_MOCK_METHOD0( QStringList )
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_xqservicerequest.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,284 @@
+/*
+* 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 <QDebug>
+#include <QVariant>
+#include <smcmockclassincludes.h>
+#include <xqservicerequest.h>
+#include <xqrequestinfo.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::XQServiceRequest(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::XQServiceRequest( 
+        const QString & service,
+        const QString & message,
+        const bool & synchronous )
+    {
+    Q_UNUSED(service)
+    Q_UNUSED(message)
+    Q_UNUSED(synchronous)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::XQServiceRequest( 
+        const XQServiceRequest & orig )
+    {
+    Q_UNUSED(orig)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::XQServiceRequest( 
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & message,
+        const bool & synchronous )
+    {
+    Q_UNUSED(descriptor)
+    Q_UNUSED(message)
+    Q_UNUSED(synchronous)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::~XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::~XQServiceRequest(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::send
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::send(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::send
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::send( 
+        QVariant & retValue )
+    {
+    SMC_MOCK_METHOD1( bool, QVariant &, retValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::isNull
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::isNull(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setSynchronous
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setSynchronous( 
+        const bool & synchronous )
+    {
+    SMC_MOCK_METHOD1( void, const bool &, synchronous )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::isSynchronous
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::isSynchronous(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setService
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setService( 
+        const QString & service )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, service )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::service
+// -----------------------------------------------------------------------------
+//
+QString XQServiceRequest::service(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setMessage
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setMessage( 
+        const QString & message )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, message )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::message
+// -----------------------------------------------------------------------------
+//
+QString XQServiceRequest::message(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::arguments
+// -----------------------------------------------------------------------------
+//
+const QList <QVariant > & XQServiceRequest::arguments(  ) const
+    {
+    SMC_MOCK_METHOD0( const QList <QVariant > & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setArguments
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setArguments( 
+        const QList<QVariant> & arguments )
+    {
+    SMC_MOCK_METHOD1( void, const QList<QVariant> &, arguments )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::latestError
+// -----------------------------------------------------------------------------
+//
+int XQServiceRequest::latestError(  )
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setInfo
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setInfo( 
+        const XQRequestInfo & requestInfo )
+    {
+    SMC_MOCK_METHOD1( void, const XQRequestInfo &, requestInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::info
+// -----------------------------------------------------------------------------
+//
+XQRequestInfo XQServiceRequest::info(  ) const
+    {
+    SMC_MOCK_METHOD0( XQRequestInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::=
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest & XQServiceRequest::operator=( 
+        const XQServiceRequest & orig )
+    {
+    SMC_MOCK_METHOD1( XQServiceRequest &, const XQServiceRequest &, orig )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::serializeArguments
+// -----------------------------------------------------------------------------
+//
+QByteArray XQServiceRequest::serializeArguments( 
+        const XQServiceRequest & request )
+    {
+    SMC_MOCK_METHOD1( QByteArray, const XQServiceRequest &, request )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::deserializeArguments
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::deserializeArguments( 
+        XQServiceRequest & request,
+        const QByteArray & data )
+    {
+    SMC_MOCK_METHOD2( void, XQServiceRequest &, request, 
+        const QByteArray &, data )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::addArg
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::addArg(const QVariant& v)
+{
+    Q_UNUSED(v)
+}
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::handleSharableFileArgs
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::handleSharableFileArgs()
+{
+    SMC_MOCK_METHOD0( bool )
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/shared/mock_xqsettingskey.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QDebug>
+#include "xqsettingskey.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::XQSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::XQSettingsKey( 
+        XQSettingsKey::Target target,
+        long int uid,
+        unsigned long int key )
+    {
+    Q_UNUSED(target)
+    Q_UNUSED(uid)
+    Q_UNUSED(key)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::~XQSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::~XQSettingsKey(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::target
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::Target XQSettingsKey::target(  ) const
+    {
+    
+    XQSettingsKey::Target variable = (XQSettingsKey::Target)1;
+    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/telutils/dialpad/tsrc/unit/shared/mock_xqsettingsmanager.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <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, const XQSettingsKey &, key, XQSettingsManager::Type, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::writeItemValue
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::writeItemValue( 
+        const XQSettingsKey & key,
+        const QVariant & value )
+    {
+    SMC_MOCK_METHOD2( bool, const XQSettingsKey &, key, const QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::startMonitoring
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::startMonitoring( 
+        const XQSettingsKey & key,
+        XQSettingsManager::Type type )
+    {
+    SMC_MOCK_METHOD2( bool, const XQSettingsKey &, key, XQSettingsManager::Type, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::stopMonitoring
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::stopMonitoring( 
+        const XQSettingsKey & key )
+    {
+    SMC_MOCK_METHOD1( bool, const XQSettingsKey &, key )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::error
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::Error XQSettingsManager::error(  ) const
+    {
+    SMC_MOCK_METHOD0( XQSettingsManager::Error )
+    }
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/unit.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = subdirs
+SUBDIRS += ut_dialpademergencycalleventfilter
+SUBDIRS += ut_dialpadbutton
+SUBDIRS += ut_dialpadmultitaphandler
+SUBDIRS += ut_dialpadvoicemailboxeventfilter
+SUBDIRS += ut_dialpadvideomailboxeventfilter
+SUBDIRS += ut_dialpadbluetootheventfilter
+SUBDIRS += ut_dialpadkeysequenceeventfilter
+SUBDIRS += ut_dialpadkeyhandler
+SUBDIRS += mt_dialpad
+SUBDIRS += mt_keyhandler
+SUBDIRS += ut_dialpadhasheventfilter
+SUBDIRS += ut_dialpadnumericbutton
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadbluetootheventfilter/ut_dialpadbluetootheventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,181 @@
+/*!
+* 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbview.h>
+#include <hblineedit.h>
+#include <hbinstance.h>
+
+#ifdef Q_OS_SYMBIAN
+#include "xqservicerequest.h"
+#endif
+
+#include "dialpadtest.h"
+#include "dialpadtestutil.h"
+#include "dialpadbluetootheventfilter.h"
+#include "dialpad.h"
+
+const int WAIT_TIME = 300;
+QString mService;
+QString mMessage;
+bool mXQServiceConstructed;
+bool mSendCalled;
+
+#ifdef Q_OS_SYMBIAN
+XQServiceRequest::XQServiceRequest(const QString& service, const QString& message, const bool& synchronous) { mService=service; mMessage=message; mXQServiceConstructed=true; }
+XQServiceRequest::~XQServiceRequest() {}
+bool XQServiceRequest::send(QVariant& retValue) { mSendCalled=true; return true; }
+void XQServiceRequest::addArg(const QVariant& v) {}
+#endif
+
+// helper class
+class KeyEventCatcher : public QObject
+{
+public:
+    bool eventFilter(QObject* watched, QEvent * event)
+    {
+        Q_UNUSED(watched);
+
+        if (event->type() == QEvent::KeyPress) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyPresses.append(keyEvent->key());
+            return false;
+        } else if (event->type() == QEvent::KeyRelease) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyReleases.append(keyEvent->key());
+            return false;
+        }
+        return false;
+    }
+
+public:
+    QList<int> mKeyPresses;
+    QList<int> mKeyReleases;
+};
+
+// test cases
+class ut_DialpadBluetoothEventFilter : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void init();
+    void cleanup();
+    void cleanupTestCase();
+    void testLongPressAsteriskKey();
+    void testShortAndLongPressAsteriskKey();
+
+private:
+    HbMainWindow*  mMainWindow;
+    Dialpad*       mDialpad;
+    DialpadBluetoothEventFilter *mEventFilter;
+    KeyEventCatcher* mKeyCatcher;
+    DialpadTestUtil* mUtil;
+};
+
+void ut_DialpadBluetoothEventFilter::initTestCase()
+{
+    mMainWindow = new HbMainWindow;
+
+    mKeyCatcher = new KeyEventCatcher;
+    mMainWindow->installEventFilter(mKeyCatcher);
+
+    mUtil = new DialpadTestUtil(*mMainWindow);
+
+    mDialpad = new Dialpad();
+    mEventFilter = new DialpadBluetoothEventFilter(mDialpad, this);
+    hbInstance->allMainWindows().at(0)->installEventFilter(mEventFilter);
+            
+    QRectF rect(mMainWindow->contentsRect());
+    rect.setHeight(rect.height()*0.7);
+    rect.moveTop((mMainWindow->contentsRect().height()-rect.height())/2);
+
+    mDialpad->setPreferredSize(360,400);
+    mDialpad->setPos(0,100);
+
+    mMainWindow->show();
+    mDialpad->show();
+    mDialpad->hide();
+}
+
+void ut_DialpadBluetoothEventFilter::init()
+{
+    mService = QString("");
+    mMessage = QString("");
+    mXQServiceConstructed = false;
+    mSendCalled = false;
+}
+
+void ut_DialpadBluetoothEventFilter::cleanupTestCase()
+{
+    delete mDialpad;
+    delete mMainWindow;
+    delete mKeyCatcher;
+    delete mUtil;
+}
+
+void ut_DialpadBluetoothEventFilter::cleanup()
+{
+    mKeyCatcher->mKeyPresses.clear();
+    mKeyCatcher->mKeyReleases.clear();
+    mDialpad->editor().setText(QString());
+    QTest::qWait(WAIT_TIME); // delay between tests
+}
+
+void ut_DialpadBluetoothEventFilter::testLongPressAsteriskKey()
+{
+    mDialpad->openDialpad();
+    QTest::qWait(2*WAIT_TIME);
+
+    // Basic long press
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk, DialpadTestUtil::Press);
+    QTest::qWait(2000);
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk, DialpadTestUtil::Release);
+    QTest::qWait(1000);
+    QCOMPARE(mDialpad->editor().text(), QString(""));
+    mDialpad->closeDialpad();
+    
+    QVERIFY(mXQServiceConstructed == true);
+    QCOMPARE(mService, QString("com.nokia.services.btservices.ToggleBluetooth"));
+    QCOMPARE(mMessage, QString("toggleBluetooth()"));
+    QVERIFY(mSendCalled == true);
+}
+
+void ut_DialpadBluetoothEventFilter::testShortAndLongPressAsteriskKey()
+{
+    mDialpad->openDialpad();
+
+    // Short press and long press shouldn't do anything
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk, DialpadTestUtil::Press);
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk, DialpadTestUtil::Release);
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk, DialpadTestUtil::Press);
+    QTest::qWait(2000);
+    mUtil->mouseClickDialpad(Qt::Key_Asterisk, DialpadTestUtil::Release);
+    QCOMPARE(mDialpad->editor().text(), QString("**"));
+    mDialpad->closeDialpad();	
+}
+
+DIALPAD_TEST_MAIN(ut_DialpadBluetoothEventFilter)
+#include "ut_dialpadbluetootheventfilter.moc"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadbluetootheventfilter/ut_dialpadbluetootheventfilter.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc ../../../../../inc  ../shared
+
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+    INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc
+}
+
+#
+HEADERS += ../../../inc/dialpadbluetootheventfilter.h \
+           xqservicerequest.h \
+           dialpadtestutil.h
+SOURCES += ut_dialpadbluetootheventfilter.cpp \
+           ../../../src/dialpadbluetootheventfilter.cpp \
+           ../shared/dialpadtestutil.cpp
+
+# 
+LIBS += -ldialpad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadbluetootheventfilter/xqservicerequest.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+class XQServiceRequest : public QObject
+{
+public:
+    XQServiceRequest(const QString& service, const QString& message, const bool& synchronous);
+    ~XQServiceRequest();
+    bool send(QVariant& retValue);
+    void addArg(const QVariant& v);
+    template<typename T>
+    inline XQServiceRequest &operator<< (const T &var)
+    {
+        QVariant v = qVariantFromValue(var);
+        addArg(v);
+        return *this;
+    }
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadbutton/ut_dialpadbutton.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbwidget.h>
+#include <hbframeitem.h>
+#include <hbframedrawer.h>
+
+#include "dialpadtest.h"
+#include "dialpadbutton.h"
+
+class TestDialpadButton : public DialpadButton
+{
+public:
+    TestDialpadButton() {};
+    ~TestDialpadButton() {};
+
+    bool testSceneEvent(QEvent *event) { return DialpadButton::sceneEvent(event); };
+};
+
+class ut_DialpadButton : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testButtonType();
+    void testUpdatePrimitives();
+    void testSceneEvent();
+
+private:
+    TestDialpadButton *mButton;
+};
+
+void ut_DialpadButton::initTestCase()
+{
+    mButton = new TestDialpadButton();
+}
+
+void ut_DialpadButton::cleanupTestCase()
+{
+    delete mButton;
+}
+
+void ut_DialpadButton::testButtonType()
+{
+    QVERIFY(mButton->buttonType()==DialpadButton::FunctionButton);
+    mButton->setButtonType(DialpadButton::CallButton);
+    QVERIFY(mButton->buttonType()==DialpadButton::CallButton);
+}
+
+void ut_DialpadButton::testUpdatePrimitives()
+{
+    // function button
+
+    mButton->setEnabled(false);
+    mButton->setButtonType(DialpadButton::FunctionButton);
+    HbFrameItem* frame =
+        qgraphicsitem_cast<HbFrameItem*>(static_cast<HbWidget*>(mButton)->primitive("background"));
+    QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_input_btn_function_disabled");
+
+    mButton->setEnabled(true);
+    QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_input_btn_function_normal");
+
+    mButton->setDown(true);
+    QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_input_btn_function_pressed");
+    mButton->setDown(false);
+
+    // call button
+    mButton->setEnabled(false);
+    mButton->setButtonType(DialpadButton::CallButton);
+    QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_input_btn_function_disabled");
+
+    mButton->setEnabled(true);
+    QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_btn_green_normal");
+
+    mButton->setDown(true);
+    QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_btn_green_pressed");
+    mButton->setDown(false);
+}
+
+void ut_DialpadButton::testSceneEvent()
+{
+    QEvent event(QEvent::UngrabMouse);
+    QSignalSpy spy( mButton, SIGNAL( clicked()) );
+    QSignalSpy spy2( mButton, SIGNAL( released()) );
+    mButton->setVisible(false);
+    mButton->setDown(false);
+    mButton->testSceneEvent(&event);
+    QVERIFY(spy.count()==0);
+    QVERIFY(spy2.count()==0);
+
+    QEvent eventNone(QEvent::None);
+    mButton->testSceneEvent(&eventNone);
+    QVERIFY(spy.count()==0);
+    QVERIFY(spy2.count()==0);
+
+    mButton->setVisible(true);
+    mButton->setDown(true);
+    mButton->testSceneEvent(&event);
+    QVERIFY(spy.count()==1);
+    QVERIFY(spy2.count()==1);
+    QVERIFY(mButton->isDown()==false);
+}
+
+DIALPAD_TEST_MAIN(ut_DialpadButton)
+#include "ut_dialpadbutton.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadbutton/ut_dialpadbutton.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../src
+INCLUDEPATH += . ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+HEADERS += ../../../inc/dialpadbutton.h
+
+SOURCES += ut_dialpadbutton.cpp \
+           ../../../src/dialpadbutton.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/ut_dialpademergencycalleventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbview.h>
+#include <hblineedit.h>
+#include <hbinstance.h>
+#include <mockservice.h>
+
+#include "mock_cphcltemergencycall.h"
+#include "dialpadtest.h"
+#include "dialpadtestutil.h"
+#include "dialpademergencycalleventfilter.h"
+#include "dialpad.h"
+
+const int WAIT_TIME = 300;
+
+// test cases
+class ut_DialpadEmergencyCallEventFilter : public QObject, public MockService
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void init();
+    void cleanupTestCase();
+    void cleanup();
+
+    // These are actual emergency call event filter unit tests
+    void testEmergencyCallEventFilter();
+
+private:
+    HbMainWindow*  mMainWindow; 
+    Dialpad*       mDialpad;
+    DialpadEmergencyCallEventFilter *mEventFilter;
+    DialpadTestUtil* mUtil;
+};
+
+void ut_DialpadEmergencyCallEventFilter::initTestCase()
+{
+    mMainWindow = new HbMainWindow;
+
+    mDialpad = new Dialpad();
+    mEventFilter = new DialpadEmergencyCallEventFilter(mDialpad, this);
+    //hbInstance->allMainWindows().at(0)->installEventFilter(mEventFilter);
+    mMainWindow->installEventFilter(mEventFilter);
+
+    mUtil = new DialpadTestUtil(*mMainWindow);
+    
+    QRectF rect(mMainWindow->contentsRect());
+    rect.setHeight(rect.height()*0.7);
+    rect.moveTop((mMainWindow->contentsRect().height()-rect.height())/2);
+
+    mDialpad->setPreferredSize(mMainWindow->layoutRect().width(),
+                               mMainWindow->layoutRect().height()/2);
+    mDialpad->setPos(0,mMainWindow->layoutRect().height()/4);
+
+    mMainWindow->show();
+    mDialpad->show();
+    mDialpad->hide();
+}
+
+void ut_DialpadEmergencyCallEventFilter::init()
+{
+    initialize();
+}
+
+void ut_DialpadEmergencyCallEventFilter::cleanupTestCase()
+{
+    delete mDialpad;
+    delete mMainWindow;
+    delete mUtil;
+}
+
+void ut_DialpadEmergencyCallEventFilter::cleanup()
+{
+    reset();
+    mDialpad->editor().setText(QString());
+    QTest::qWait( WAIT_TIME ); // delay between tests
+}
+
+void checkNumber(const TDesC& aNumber, TBool& aIsEmergencyNumber)
+{
+    if (aNumber == _L("112")) {
+        aIsEmergencyNumber = true;
+    }
+}
+
+void ut_DialpadEmergencyCallEventFilter::testEmergencyCallEventFilter()
+{
+    EXPECT(CPhCltEmergencyCallMock, IsEmergencyPhoneNumber).willOnce(
+            invoke(checkNumber));
+    EXPECT(CPhCltEmergencyCallMock, DialEmergencyCallL);
+    
+    mDialpad->openDialpad();
+    QTest::qWait(WAIT_TIME);
+    mUtil->mouseClickDialpad(Qt::Key_1);
+    QTest::qWait(1000);
+    mUtil->mouseClickDialpad(Qt::Key_1);
+    QTest::qWait(1000);
+    mUtil->mouseClickDialpad(Qt::Key_2);
+    QTest::qWait(1000);
+    mUtil->mouseClickDialpad(Qt::Key_Yes);
+    QTest::qWait(1000);
+    
+    mDialpad->closeDialpad();
+
+    QVERIFY(verify());
+}
+
+DIALPAD_TEST_MAIN(ut_DialpadEmergencyCallEventFilter)
+#include "ut_dialpademergencycalleventfilter.moc"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/ut_dialpademergencycalleventfilter.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc ../../../../../inc  ../shared
+
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    LIBS += -lphoneclient
+} else:win32 {
+    DESTDIR = ./
+    INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc
+    INCLUDEPATH += ../../../../xqtelephonyservice/inc
+}
+
+#ß
+HEADERS += ../../../inc/dialpademergencycalleventfilter.h \
+           ../shared/dialpadtestutil.h
+SOURCES += ut_dialpademergencycalleventfilter.cpp \
+           ../../../src/dialpademergencycalleventfilter.cpp \
+           ../shared/dialpadtestutil.cpp \
+           ../shared/mock_cphcltemergencycall.cpp
+
+# 
+LIBS += -ldialpad -lmocklib -lsymbianmock
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/hblineedit.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (developer.feedback@nokia.com)
+**
+** This file is part of the HbWidgets module of the UI Extensions for Mobile.
+**
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at developer.feedback@nokia.com.
+**
+****************************************************************************/
+
+#ifndef HBLINEEDIT_H
+#define HBLINEEDIT_H
+
+#include <hbglobal.h>
+#include <hbnamespace.h>
+#include <hbabstractedit.h>
+#include <QFont>
+
+class HbLineEditPrivate;
+
+class HB_WIDGETS_EXPORT HbLineEdit: public QObject
+{
+    Q_OBJECT
+
+    Q_ENUMS(EchoMode)
+
+    Q_PROPERTY(QString text READ text WRITE setText USER true)
+    Q_PROPERTY(QString displayText READ displayText)
+    Q_PROPERTY(int maxLength READ maxLength WRITE setMaxLength)
+    Q_PROPERTY(bool hasSelectedText READ hasSelectedText)
+    Q_PROPERTY(QString selectedText READ selectedText)
+    Q_PROPERTY(int selectionStart READ selectionStart)
+    Q_PROPERTY(int maxRows READ maxRows WRITE setMaxRows)
+    Q_PROPERTY(int minRows READ minRows WRITE setMinRows)
+    Q_PROPERTY(bool expandable READ isExpandable)
+    Q_PROPERTY(EchoMode echoMode READ echoMode WRITE setEchoMode)
+
+public:
+
+    explicit HbLineEdit(QGraphicsItem *parent = 0);
+    explicit HbLineEdit(const QString &text, QGraphicsItem *parent = 0);
+    virtual ~HbLineEdit();
+
+    enum {
+        Type = Hb::ItemType_LineEdit
+    };
+
+    int type() const;
+
+    int maxLength() const;
+    void setMaxLength(int length);
+
+    void setMinRows(int rows);
+    int minRows() const;
+
+    void setMaxRows(int rows);
+    int maxRows() const;
+
+    bool isExpandable() const;
+
+    QString text() const;
+    QString displayText() const;
+
+    bool hasSelectedText() const;
+    QString selectedText() const;
+    int selectionStart() const;
+    void setSelection(int start, int length);
+
+    int cursorPosition() const;
+    void setCursorPosition(int pos);
+
+    enum EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit };
+    EchoMode echoMode() const;
+    void setEchoMode(EchoMode);
+
+    void setCapitalization ( QFont::Capitalization caps );
+    QFont::Capitalization capitalization () const;
+
+public slots:
+    void setText(const QString &text);
+
+signals:
+    void editingFinished();
+    void textChanged(const QString &text);
+    void selectionChanged();
+
+protected:
+    HbLineEdit(HbLineEditPrivate &dd, QGraphicsItem *parent);
+
+    void inputMethodEvent(QInputMethodEvent *event);
+    void keyPressEvent(QKeyEvent *event);
+    void keyReleaseEvent(QKeyEvent *event);
+
+    void resizeEvent(QGraphicsSceneResizeEvent *event);
+
+    bool canInsertFromMimeData(const QMimeData *source) const;
+    void insertFromMimeData(const QMimeData *source);
+
+    void focusOutEvent ( QFocusEvent * event );
+    void focusInEvent ( QFocusEvent * event );
+private:
+    Q_DISABLE_COPY(HbLineEdit)
+//    Q_DECLARE_PRIVATE_D(d_ptr, HbLineEdit)
+//    Q_PRIVATE_SLOT(d_func(), void _q_textChanged())
+};
+
+#endif // HBLINEEDIT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/ut_dialpadhasheventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,178 @@
+/*!
+* 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 <QtGui>
+#include <QtTest/QtTest>
+#include <HbMainWindow>
+#include <HbLineEdit>
+#ifdef Q_OS_SYMBIAN
+#include <xqaiwinterfacedescriptor.h>
+#include <xqaiwrequest.h>
+#endif
+#include "ut_dialpadhasheventfilter.h"
+#include "dialpadtest.h"
+#include "dialpadhasheventfilter.h"
+#include "dialpad.h"
+
+const int WAIT_TIME = 300;
+
+/*void setValidatorReturnValue(QVariant &returnValue)
+{
+    returnValue.setValue<QString>(QRegExp::escape(KValidKeySequence));
+}*/
+
+UT_DialpadHashEventFilter::UT_DialpadHashEventFilter()
+    :
+    m_dialPad(0), 
+    m_eventFilter(0),
+    m_lineEditMock(0)
+{
+    
+}
+
+UT_DialpadHashEventFilter::~UT_DialpadHashEventFilter()
+{
+    delete m_dialPad;
+    delete m_eventFilter;
+    delete m_lineEditMock;
+}
+
+void UT_DialpadHashEventFilter::init()
+{
+    initialize();
+    
+    m_lineEditMock = new HbLineEdit();
+    QT_TRAP_THROWING(SmcDefaultValue<HbLineEdit&>::SetL(*m_lineEditMock))
+    
+    XQAiwInterfaceDescriptor descriptor;
+    QString dummyOperation;
+    bool isEmbedded = false;
+    QList<XQAiwInterfaceDescriptor> interfaceList;
+    interfaceList.append(descriptor);
+    /*EXPECT(XQApplicationManager, list).returns(interfaceList);
+    QPointer<XQAiwRequest> aiwRequest(new XQAiwRequest(
+        descriptor, dummyOperation, isEmbedded));
+    EXPECT(XQApplicationManager, create).returns(aiwRequest.data());
+    EXPECT(XQAiwRequest, send)
+        .willOnce(invoke(setValidatorReturnValue))
+        .returns(true);*/
+    
+    SmcDefaultValue<QString>::SetL(QString());
+    HbMainWindow *dummyWindow = NULL;
+    m_dialPad = new Dialpad(*dummyWindow);
+    m_eventFilter = new DialpadHashEventFilter(m_dialPad);
+    
+    //QVERIFY(aiwRequest.isNull());
+    QVERIFY(verify());
+}
+
+void UT_DialpadHashEventFilter::cleanup()
+{
+    reset();
+    
+    SmcDefaultValue<QString>::Reset();
+    SmcDefaultValue<HbLineEdit&>::Reset();
+    delete m_dialPad;
+    m_dialPad = NULL;
+    delete m_eventFilter;
+    m_eventFilter = NULL;
+    delete m_lineEditMock;
+    m_lineEditMock = NULL;
+}
+
+#ifdef Q_OS_SYMBIAN
+
+/*void setServiceRequestReturnValue(QVariant & returnValue)
+{
+    returnValue.setValue<bool>(true);
+}*/
+
+void UT_DialpadHashEventFilter::testeventFilter()
+{
+    // start long press timer
+    EXPECT(XQAiwRequest, send).times(0);
+    QKeyEvent keyEvent(
+        QEvent::KeyPress,
+        Qt::Key_NumberSign,
+        Qt::NoModifier);    
+    bool filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent);
+    QVERIFY(!filtered);
+    QVERIFY(verify());
+    
+    // stop long press timer
+    QKeyEvent keyEvent2(
+        QEvent::KeyRelease,
+        Qt::Key_NumberSign,
+        Qt::NoModifier);
+    
+    filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent2);
+    QVERIFY(!filtered);
+    QVERIFY(verify());
+    
+    // some other buttons pressed and released
+    EXPECT(XQAiwRequest, send).times(0);
+    QKeyEvent keyEvent3(
+        QEvent::KeyPress,
+        Qt::Key_3,
+        Qt::NoModifier);
+    // start long press timer
+    filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent3);
+    QVERIFY(!filtered);
+    QVERIFY(verify());
+    
+    QKeyEvent keyEvent4(
+        QEvent::FocusIn,
+        Qt::Key_1,
+        Qt::NoModifier);
+    // stop long press timer
+    filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent4);
+    QVERIFY(!filtered);
+    QVERIFY(verify());
+    
+}
+
+void UT_DialpadHashEventFilter::testhandleLongKeyPress()
+{
+    m_eventFilter->handleLongKeyPress();
+    m_eventFilter->mKeyEvent = Qt::Key_NumberSign;
+    m_eventFilter->handleLongKeyPress();
+}
+
+void UT_DialpadHashEventFilter::testhandleCallButtonPress()
+{   
+    // inherited method not supported
+    EXPECT(XQAiwRequest, send).times(0);
+    bool callButtonPress = m_eventFilter->handleCallButtonPress();
+    QVERIFY(!callButtonPress);
+}
+
+void UT_DialpadHashEventFilter::testhandleMailboxOperation()
+{
+    m_eventFilter->handleMailboxOperation();
+    
+    // another call to test other note
+    m_eventFilter->handleMailboxOperation();
+}
+
+#endif
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication app(argc, argv);
+    UT_DialpadHashEventFilter tc;
+    return QTest::qExec(&tc, argc, argv);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/ut_dialpadhasheventfilter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_DIALPADHASHEVENTFILTER_H
+#define UT_DIALPADHASHEVENTFILTER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class Dialpad;
+class DialpadHashEventFilter;
+class HbLineEdit;
+class QTimer;
+
+// helper class
+class KeyEventCatcher : public QObject
+{
+public:
+    bool eventFilter(QObject* watched, QEvent * event)
+    {
+        Q_UNUSED(watched);
+
+        if (event->type() == QEvent::KeyPress) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyPresses.append(keyEvent->key());
+            return false;
+        } else if (event->type() == QEvent::KeyRelease) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyReleases.append(keyEvent->key());
+            return false;
+        }
+        return false;
+    }
+
+public:
+    QList<int> mKeyPresses;
+    QList<int> mKeyReleases;
+};
+
+class UT_DialpadHashEventFilter : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_DialpadHashEventFilter();
+    ~UT_DialpadHashEventFilter();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    // void callEventFilter();
+    
+#ifdef Q_OS_SYMBIAN
+    // These are actual hash event filter unit tests
+    void testeventFilter();
+    void testhandleLongKeyPress();
+    void testhandleCallButtonPress();
+    void testhandleMailboxOperation();
+#endif
+    
+private:
+    Dialpad *m_dialPad;
+    DialpadHashEventFilter *m_eventFilter;
+    HbLineEdit *m_lineEditMock;
+    QTimer *mLongPressTimer;
+};
+
+#endif  // UT_DIALPADHASHEVENTFILTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadhasheventfilter/ut_dialpadhasheventfilter.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,68 @@
+#
+# 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:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc ../../../../../inc  ../shared
+
+CONFIG += hb qtestlib
+
+QT -= gui
+
+DEFINES += BUILD_DIALPAD \
+           BUILD_DIALPADKEYHANDLER \
+           XQ_BUILD_XQSERVICE_LIB \
+           BUILD_HB_WIDGETS
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+    INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc
+}
+
+#
+HEADERS += ../../../inc/dialpadhasheventfilter.h \
+           ut_dialpadhasheventfilter.h \
+           ../../../inc/dialpadmailboxeventfilterbase.h \
+           ../../../inc/dialpadsymbianwrapper.h \
+           ../../../inc/dialpadsymbianwrapper_p.h \
+           /epoc32/include/mw/xqservicerequest.h \
+           /epoc32/include/mw/xqappmgr.h \
+           /epoc32/include/mw/xqaiwrequest.h \
+           ../../../../../phonesrv_plat/dialpad_api/inc/dialpad.h \
+           /epoc32/include/mw/hb/hbwidgets/hbnotificationdialog.h \
+           hblineedit.h
+
+SOURCES += ut_dialpadhasheventfilter.cpp \
+           ../../../src/dialpadhasheventfilter.cpp \
+           ../../../src/dialpadmailboxeventfilterbase.cpp \
+           ../../../src/dialpadsymbianwrapper.cpp \
+           ../../../src/dialpadsymbianwrapper_p.cpp \
+           ../shared/mock_dialpad.cpp \
+           ../shared/mock_xqservicerequest.cpp \
+           ../shared/mock_hblineedit.cpp       \
+           ../shared/mock_xqappmgr.cpp         \
+           ../shared/mock_xqaiwrequest.cpp     \
+           ../shared/mock_xqaiwinterfacedescriptor.cpp \
+           ../shared/mock_cenrep.cpp \
+           ../shared/mock_cvoicemailbox.cpp \
+           ../shared/mock_hbnotificationdialog.cpp
+	   
+
+# 
+LIBS += -lmocklib -lsymbianmock -lxqserviceutil
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadkeyhandler/ut_dialpadkeyhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,146 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <HbMainWindow>
+#ifdef Q_OS_SYMBIAN
+#include <featmgr.h>
+#endif // Q_OS_SYMBIAN
+
+#include <smcmockclassincludes.h>
+#include "ut_dialpadkeyhandler.h"
+#include "dialpad.h"
+#include "dialpadkeyhandler.h"
+#include "dialpadtest.h"
+
+HbMainWindow *HbWidget::mainWindow() const
+{
+    return 0;
+}
+
+
+void QObject::installEventFilter(QObject *obj)
+{
+    SMC_MOCK_METHOD1( void, QObject *, obj )
+}
+
+void QObject::removeEventFilter(QObject *obj)
+{
+    SMC_MOCK_METHOD1( void, QObject *, obj )
+}
+
+UT_DialpadKeyHandler::UT_DialpadKeyHandler()
+    :
+    m_dialPad(0), 
+    m_keyHandler(0)
+{
+    
+}
+
+
+UT_DialpadKeyHandler::~UT_DialpadKeyHandler()
+{
+    delete m_dialPad;
+    delete m_keyHandler;
+}
+
+
+void UT_DialpadKeyHandler::init()
+{
+    initialize();
+    
+    HbMainWindow *dummyWindow = 0;
+    m_dialPad = new Dialpad(*dummyWindow);
+}
+
+
+void UT_DialpadKeyHandler::cleanup()
+{
+    reset();
+    
+    delete m_dialPad;
+    m_dialPad = NULL;
+    delete m_keyHandler;
+    m_keyHandler = NULL;
+}
+
+
+void UT_DialpadKeyHandler::t_constructionWithAllFilters()
+{
+    EXPECT(QObject, installEventFilter).times(5);
+    EXPECT(QObject, removeEventFilter).times(5);
+    
+    DialpadKeyHandler::DialpadKeyEventFilters filters(
+        DialpadKeyHandler::VoiceMailbox |
+        DialpadKeyHandler::VideoMailBox |
+        DialpadKeyHandler::Bluetooth |
+        DialpadKeyHandler::KeySequence |
+        DialpadKeyHandler::EmergencyCall |
+        DialpadKeyHandler::Hash );
+    
+    m_keyHandler = new DialpadKeyHandler(m_dialPad, filters, this);
+    delete m_keyHandler;
+    m_keyHandler = 0;
+    
+    QVERIFY(verify());
+}
+
+
+void UT_DialpadKeyHandler::t_constructionWithNoFilters()
+{
+    EXPECT(QObject, installEventFilter).times(0);
+    
+    DialpadKeyHandler::DialpadKeyEventFilters filters;
+    m_keyHandler = new DialpadKeyHandler(m_dialPad, filters, this);
+    
+    QVERIFY(verify());
+}
+
+
+void UT_DialpadKeyHandler::t_deprecatedConstructionWithVideoMailbox()
+{
+#ifdef Q_OS_SYMBIAN
+    EXPECT(FeatureManager, FeatureSupported).returns(true);
+    EXPECT(QObject, installEventFilter).times(4);
+    
+    HbMainWindow *dummyWindow = 0;
+    m_keyHandler = new DialpadKeyHandler(m_dialPad, *dummyWindow, this);
+    
+    QVERIFY(verify());
+#endif // Q_OS_SYMBIAN
+}
+
+
+void UT_DialpadKeyHandler::t_deprecatedConstructionWithoutVideoMailbox()
+{
+    EXPECT(FeatureManager, FeatureSupported).returns(false);
+    EXPECT(QObject, installEventFilter).times(3);
+    
+    HbMainWindow *dummyWindow = 0;
+    m_keyHandler = new DialpadKeyHandler(m_dialPad, *dummyWindow, this);
+    
+    QVERIFY(verify());
+}
+
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication app(argc, argv);
+    UT_DialpadKeyHandler tc;
+    return QTest::qExec(&tc, argc, argv);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadkeyhandler/ut_dialpadkeyhandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_DIALPADKEYHANDLER_H
+#define UT_DIALPADKEYHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class Dialpad;
+class DialpadKeyHandler;
+
+class UT_DialpadKeyHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_DialpadKeyHandler();
+    ~UT_DialpadKeyHandler();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_constructionWithAllFilters();
+    void t_constructionWithNoFilters();
+    void t_deprecatedConstructionWithVideoMailbox();
+    void t_deprecatedConstructionWithoutVideoMailbox();
+    
+private:
+    Dialpad *m_dialPad;
+    DialpadKeyHandler *m_keyHandler;
+};
+
+#endif  // UT_DIALPADKEYHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadkeyhandler/ut_dialpadkeyhandler.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,73 @@
+#
+# 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:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc ../../../../../inc ../shared
+
+CONFIG += hb qtestlib
+
+QT -= gui
+
+DEFINES += BUILD_DIALPAD \
+           BUILD_DIALPADKEYHANDLER \
+           XQ_BUILD_XQSERVICE_LIB \
+           XQ_BUILD_XQSERVICEUTIL_LIB \
+           BUILD_HB_WIDGETS
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+    INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc
+}
+
+HEADERS += ../../../../../phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h
+SOURCES += ../../../src/dialpadkeyhandler.cpp
+
+HEADERS += ut_dialpadkeyhandler.h
+SOURCES += ut_dialpadkeyhandler.cpp
+
+HEADERS += ../../../../../phonesrv_plat/dialpad_api/inc/dialpad.h \
+           ../../../inc/dialpadbluetootheventfilter.h             \
+           ../../../inc/dialpademergencycalleventfilter.h         \
+           ../../../inc/dialpadkeysequenceeventfilter.h           \
+           ../../../inc/dialpadmailboxeventfilterbase.h           \
+           ../../../inc/dialpadvideomailboxeventfilter.h          \
+           ../../../inc/dialpadvoicemailboxeventfilter.h          \
+           ../../../inc/dialpadhasheventfilter.h                  \
+           #/epoc32/include/mw/xqservicerequest.h                 \
+           /epoc32/include/mw/xqappmgr.h                          \
+           /epoc32/include/mw/xqaiwrequest.h                      \
+           /epoc32/include/mw/xqrequestinfo.h
+
+SOURCES += ../shared/mock_dialpad.cpp                             \
+           ../shared/mock_dialpadbluetootheventfilter.cpp         \
+           ../shared/mock_dialpademergencycalleventfilter.cpp     \
+           ../shared/mock_dialpadkeysequenceeventfilter.cpp       \
+           ../shared/mock_dialpadmailboxeventfilterbase.cpp       \
+           ../shared/mock_dialpadvideomailboxeventfilter.cpp      \
+           ../shared/mock_dialpadvoicemailboxeventfilter.cpp      \
+           ../shared/mock_dialpadhasheventfilter.cpp              \
+           ../shared/mock_featmgr.cpp                             \
+           ../shared/mock_xqappmgr.cpp                            \
+           ../shared/mock_xqaiwrequest.cpp                        \
+           ../shared/mock_xqaiwinterfacedescriptor.cpp            \
+           ../shared/mock_hbmainwindow.cpp                        \
+           ../shared/mock_xqrequestinfo.cpp
+
+LIBS += -lmocklib -lsymbianmock -lxqservice -lxqserviceutil
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadkeysequenceeventfilter/hblineedit.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (developer.feedback@nokia.com)
+**
+** This file is part of the HbWidgets module of the UI Extensions for Mobile.
+**
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at developer.feedback@nokia.com.
+**
+****************************************************************************/
+
+#ifndef HBLINEEDIT_H
+#define HBLINEEDIT_H
+
+#include <hbglobal.h>
+#include <hbnamespace.h>
+#include <hbabstractedit.h>
+#include <QFont>
+
+class HbLineEditPrivate;
+
+class HB_WIDGETS_EXPORT HbLineEdit: public QObject
+{
+    Q_OBJECT
+
+    Q_ENUMS(EchoMode)
+
+    Q_PROPERTY(QString text READ text WRITE setText USER true)
+    Q_PROPERTY(QString displayText READ displayText)
+    Q_PROPERTY(int maxLength READ maxLength WRITE setMaxLength)
+    Q_PROPERTY(bool hasSelectedText READ hasSelectedText)
+    Q_PROPERTY(QString selectedText READ selectedText)
+    Q_PROPERTY(int selectionStart READ selectionStart)
+    Q_PROPERTY(int maxRows READ maxRows WRITE setMaxRows)
+    Q_PROPERTY(int minRows READ minRows WRITE setMinRows)
+    Q_PROPERTY(bool expandable READ isExpandable)
+    Q_PROPERTY(EchoMode echoMode READ echoMode WRITE setEchoMode)
+
+public:
+
+    explicit HbLineEdit(QGraphicsItem *parent = 0);
+    explicit HbLineEdit(const QString &text, QGraphicsItem *parent = 0);
+    virtual ~HbLineEdit();
+
+    enum {
+        Type = Hb::ItemType_LineEdit
+    };
+
+    int type() const;
+
+    int maxLength() const;
+    void setMaxLength(int length);
+
+    void setMinRows(int rows);
+    int minRows() const;
+
+    void setMaxRows(int rows);
+    int maxRows() const;
+
+    bool isExpandable() const;
+
+    QString text() const;
+    QString displayText() const;
+
+    bool hasSelectedText() const;
+    QString selectedText() const;
+    int selectionStart() const;
+    void setSelection(int start, int length);
+
+    int cursorPosition() const;
+    void setCursorPosition(int pos);
+
+    enum EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit };
+    EchoMode echoMode() const;
+    void setEchoMode(EchoMode);
+
+    void setCapitalization ( QFont::Capitalization caps );
+    QFont::Capitalization capitalization () const;
+
+public slots:
+    void setText(const QString &text);
+
+signals:
+    void editingFinished();
+    void textChanged(const QString &text);
+    void selectionChanged();
+
+protected:
+    HbLineEdit(HbLineEditPrivate &dd, QGraphicsItem *parent);
+
+    void inputMethodEvent(QInputMethodEvent *event);
+    void keyPressEvent(QKeyEvent *event);
+    void keyReleaseEvent(QKeyEvent *event);
+
+    void resizeEvent(QGraphicsSceneResizeEvent *event);
+
+    bool canInsertFromMimeData(const QMimeData *source) const;
+    void insertFromMimeData(const QMimeData *source);
+
+    void focusOutEvent ( QFocusEvent * event );
+    void focusInEvent ( QFocusEvent * event );
+private:
+    Q_DISABLE_COPY(HbLineEdit)
+    //Q_DECLARE_PRIVATE_D(d_ptr, HbLineEdit)
+    //Q_PRIVATE_SLOT(d_func(), void _q_textChanged())
+};
+
+#endif // HBLINEEDIT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadkeysequenceeventfilter/ut_dialpadkeysequenceeventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,227 @@
+/*!
+* 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 <QtGui>
+#include <QtTest/QtTest>
+#include <HbMainWindow>
+#include <HbLineEdit>
+#ifdef Q_OS_SYMBIAN
+#include <xqaiwinterfacedescriptor.h>
+#include <xqaiwrequest.h>
+#endif
+#include "ut_dialpadkeysequenceeventfilter.h"
+#include "dialpadtest.h"
+#include "dialpadkeysequenceeventfilter.h"
+#include "dialpad.h"
+
+const QString KValidKeySequence("*#1#");
+
+void setValidatorReturnValue(QVariant &returnValue)
+{
+    returnValue.setValue<QString>(QRegExp::escape(KValidKeySequence));
+}
+
+UT_DialpadKeySequenceEventFilter::UT_DialpadKeySequenceEventFilter()
+    :
+    m_dialPad(0), 
+    m_eventFilter(0),
+    m_lineEditMock(0)
+{
+    
+}
+
+UT_DialpadKeySequenceEventFilter::~UT_DialpadKeySequenceEventFilter()
+{
+    delete m_dialPad;
+    delete m_eventFilter;
+    delete m_lineEditMock;
+}
+
+void UT_DialpadKeySequenceEventFilter::init()
+{
+    initialize();
+    
+    m_lineEditMock = new HbLineEdit();
+    QT_TRAP_THROWING(SmcDefaultValue<HbLineEdit&>::SetL(*m_lineEditMock))
+    
+    XQAiwInterfaceDescriptor descriptor;
+    QString dummyOperation;
+    bool isEmbedded = false;
+    QList<XQAiwInterfaceDescriptor> interfaceList;
+    interfaceList.append(descriptor);
+    EXPECT(XQApplicationManager, list).returns(interfaceList);
+    QPointer<XQAiwRequest> aiwRequest(new XQAiwRequest(
+        descriptor, dummyOperation, isEmbedded));
+    EXPECT(XQApplicationManager, create).returns(aiwRequest.data());
+    EXPECT(XQAiwRequest, send)
+        .willOnce(invoke(setValidatorReturnValue))
+        .returns(true);
+    
+    SmcDefaultValue<QString>::SetL(QString());
+    HbMainWindow *dummyWindow = NULL;
+    m_dialPad = new Dialpad(*dummyWindow);
+    m_eventFilter = new DialpadKeySequenceEventFilter(m_dialPad);
+    
+    QVERIFY(aiwRequest.isNull());
+    QVERIFY(verify());
+}
+
+void UT_DialpadKeySequenceEventFilter::cleanup()
+{
+    reset();
+    
+    SmcDefaultValue<QString>::Reset();
+    SmcDefaultValue<HbLineEdit&>::Reset();
+    delete m_dialPad;
+    m_dialPad = NULL;
+    delete m_eventFilter;
+    m_eventFilter = NULL;
+    delete m_lineEditMock;
+    m_lineEditMock = NULL;
+}
+
+#ifdef Q_OS_SYMBIAN
+
+void setServiceRequestReturnValue(QVariant & returnValue)
+{
+    returnValue.setValue<bool>(true);
+}
+
+void UT_DialpadKeySequenceEventFilter::eventFilterValidKeySequence()
+{
+    EXPECT(HbLineEdit, text).returns(KValidKeySequence);
+    EXPECT(XQAiwInterfaceDescriptor, isValid).returns(false);
+    EXPECT(XQAiwInterfaceDescriptor, isValid).returns(true);
+    XQAiwInterfaceDescriptor dummyDescriptor;
+    QString dummyOperation;
+    QPointer<XQAiwRequest> aiwRequest(new XQAiwRequest(
+        dummyDescriptor, dummyOperation, false));
+    EXPECT(XQApplicationManager, create).returns(aiwRequest.data());
+    EXPECT(XQAiwRequest, send)
+        .willOnce(invoke(setServiceRequestReturnValue))
+        .returns(true);
+    QKeyEvent keyEvent(
+        QEvent::KeyRelease,
+        Qt::Key_NumberSign,
+        Qt::NoModifier);
+    bool filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent);
+    QVERIFY(!filtered);
+    QVERIFY(aiwRequest.isNull());
+    QVERIFY(verify());
+}
+
+void UT_DialpadKeySequenceEventFilter::eventFilterNotAKeyEvent()
+{
+    EXPECT(XQAiwRequest, send).times(0);
+    QMouseEvent mouseEvent(
+        QEvent::MouseMove,
+        QPoint(),
+        Qt::LeftButton,
+        Qt::LeftButton,
+        Qt::NoModifier);
+    bool filtered = m_eventFilter->eventFilter(m_dialPad, &mouseEvent);
+    QVERIFY(!filtered);
+    QVERIFY(verify());
+}
+
+void UT_DialpadKeySequenceEventFilter::eventFilterNotAHashKey()
+{
+    EXPECT(XQAiwRequest, send).times(0);
+    QKeyEvent keyEvent(
+        QEvent::KeyRelease,
+        Qt::Key_Escape,
+        Qt::NoModifier);
+    bool filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent);
+    QVERIFY(!filtered);
+    QVERIFY(verify());
+}
+
+void UT_DialpadKeySequenceEventFilter::eventFilterNotValidKeySequence()
+{
+    const QString KInvalidKeySequence1("*##");
+    const QString KInvalidKeySequence2("#1234#");
+    const QString KInvalidKeySequence3("**1234#");
+    const QString KInvalidKeySequence4("*#1234*");
+    
+    EXPECT(XQAiwRequest, send).times(0);
+    
+    EXPECT(HbLineEdit, text).returns(KInvalidKeySequence1);
+    QKeyEvent keyEvent(
+        QEvent::KeyRelease,
+        Qt::Key_NumberSign,
+        Qt::NoModifier);
+    bool filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent);
+    QVERIFY(!filtered);
+    
+    EXPECT(HbLineEdit, text).returns(KInvalidKeySequence2);
+    filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent);
+    QVERIFY(!filtered);
+    
+    EXPECT(HbLineEdit, text).returns(KInvalidKeySequence3);
+    filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent);
+    QVERIFY(!filtered);
+    
+    EXPECT(HbLineEdit, text).returns(KInvalidKeySequence4);
+    filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent);
+    QVERIFY(!filtered);
+    
+    QVERIFY(verify());
+}
+
+void UT_DialpadKeySequenceEventFilter::eventFilterServiceRequestFails()
+{
+    // Qt Highway error while issuing service request
+    EXPECT(HbLineEdit, text).returns(KValidKeySequence);
+    EXPECT(XQAiwInterfaceDescriptor, isValid).returns(false);
+    EXPECT(XQAiwInterfaceDescriptor, isValid).returns(true);
+    XQAiwInterfaceDescriptor dummyDescriptor;
+    QString dummyOperation;
+    QPointer<XQAiwRequest> aiwRequest1(new XQAiwRequest(
+        dummyDescriptor, dummyOperation, false));
+    EXPECT(XQApplicationManager, create).returns(aiwRequest1.data());
+    EXPECT(XQAiwRequest, send).returns(false);
+    QKeyEvent keyEvent(
+        QEvent::KeyRelease,
+        Qt::Key_NumberSign,
+        Qt::NoModifier);
+    bool filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent);
+    QVERIFY(!filtered);
+    QVERIFY(aiwRequest1.isNull());
+    QVERIFY(verify());
+    
+    // service provider fails to fulfill request
+    EXPECT(HbLineEdit, text).returns(KValidKeySequence);
+    EXPECT(XQAiwInterfaceDescriptor, isValid).returns(false);
+    EXPECT(XQAiwInterfaceDescriptor, isValid).returns(true);
+    QPointer<XQAiwRequest> aiwRequest2(new XQAiwRequest(
+        dummyDescriptor, dummyOperation, false));
+    EXPECT(XQApplicationManager, create).returns(aiwRequest2.data());
+    EXPECT(XQAiwRequest, send).returns(true);
+    filtered = m_eventFilter->eventFilter(m_dialPad, &keyEvent);
+    QVERIFY(!filtered);
+    QVERIFY(aiwRequest2.isNull());
+    QVERIFY(verify());
+}
+
+#endif
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication app(argc, argv);
+    UT_DialpadKeySequenceEventFilter tc;
+    return QTest::qExec(&tc, argc, argv);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadkeysequenceeventfilter/ut_dialpadkeysequenceeventfilter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_DIALPADKEYSEQUENCEEVENTFILTER_H
+#define UT_DIALPADKEYSEQUENCEEVENTFILTER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class Dialpad;
+class DialpadKeySequenceEventFilter;
+class HbLineEdit;
+
+class UT_DialpadKeySequenceEventFilter : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_DialpadKeySequenceEventFilter();
+    ~UT_DialpadKeySequenceEventFilter();
+    
+private slots:
+
+    void init();
+    void cleanup();
+#ifdef Q_OS_SYMBIAN
+    void eventFilterValidKeySequence();
+    void eventFilterNotAKeyEvent();
+    void eventFilterNotAHashKey();
+    void eventFilterNotValidKeySequence();
+    void eventFilterServiceRequestFails();
+#endif
+    
+private:
+    Dialpad *m_dialPad;
+    DialpadKeySequenceEventFilter *m_eventFilter;
+    HbLineEdit *m_lineEditMock;
+};
+
+#endif  // UT_DIALPADKEYSEQUENCEEVENTFILTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadkeysequenceeventfilter/ut_dialpadkeysequenceeventfilter.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,57 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc ../../../../../inc ../shared
+
+CONFIG += hb qtestlib
+
+QT -= gui
+
+DEFINES += BUILD_DIALPAD \
+           BUILD_DIALPADKEYHANDLER \
+           XQ_BUILD_XQSERVICE_LIB \
+           BUILD_HB_WIDGETS
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+    INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc
+}
+
+HEADERS += ../../../inc/dialpadkeysequenceeventfilter.h
+SOURCES += ../../../src/dialpadkeysequenceeventfilter.cpp
+
+HEADERS += ut_dialpadkeysequenceeventfilter.h
+SOURCES += ut_dialpadkeysequenceeventfilter.cpp
+
+HEADERS += ../../../../../phonesrv_plat/dialpad_api/inc/dialpad.h
+HEADERS += /epoc32/include/mw/xqservicerequest.h \
+           /epoc32/include/mw/xqappmgr.h         \
+           /epoc32/include/mw/xqaiwrequest.h     \
+           hblineedit.h
+
+SOURCES += ../shared/mock_dialpad.cpp          \
+           ../shared/mock_xqservicerequest.cpp \
+           ../shared/mock_hblineedit.cpp       \
+           ../shared/mock_xqappmgr.cpp         \
+           ../shared/mock_xqaiwrequest.cpp     \
+           ../shared/mock_xqaiwinterfacedescriptor.cpp
+
+LIBS += -lmocklib -lsymbianmock -lxqserviceutil
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadmultitaphandler/ut_dialpadmultitaphandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <hblineedit.h>
+
+#include "dialpadmultitaphandler.h"
+#include "dialpadtest.h"
+
+
+class ut_DialpadMultitapHandler : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void cleanup();
+
+    void testWatchedNotEditor();
+    void testNumericKeyPress();
+    void testNonNumericKeyPress();
+    void testAsterisk();
+    void testAsteriskMultitap();
+
+private:
+    QObject*  mHandler;
+    HbLineEdit* mEditor;
+};
+
+void ut_DialpadMultitapHandler::initTestCase()
+{
+    mEditor = new HbLineEdit;
+    mHandler = new DialpadMultitapHandler(*mEditor);
+}
+
+void ut_DialpadMultitapHandler::cleanupTestCase()
+{
+    delete mHandler;
+    delete mEditor;
+}
+
+void ut_DialpadMultitapHandler::cleanup()
+{
+    mEditor->setText(QString());
+}
+
+void ut_DialpadMultitapHandler::testWatchedNotEditor()
+{
+    QKeyEvent asteriskPress(QEvent::KeyPress, Qt::Key_Asterisk, Qt::NoModifier);
+    QKeyEvent asteriskRelease(QEvent::KeyRelease, Qt::Key_Asterisk, Qt::NoModifier);
+    HbLineEdit edit2;
+
+    QVERIFY(mHandler->eventFilter(&edit2,&asteriskPress)==false);
+    QVERIFY(mHandler->eventFilter(&edit2,&asteriskRelease)==false);
+}
+
+void ut_DialpadMultitapHandler::testNumericKeyPress()
+{
+    QKeyEvent key1Press(QEvent::KeyPress, Qt::Key_1, Qt::NoModifier);
+    QKeyEvent key1Char(QEvent::KeyPress, Qt::Key_1, Qt::NoModifier, "1");
+    QKeyEvent key1Release(QEvent::KeyRelease, Qt::Key_1, Qt::NoModifier);
+
+    QVERIFY(mHandler->eventFilter(mEditor,&key1Press)==true);
+    QVERIFY(mHandler->eventFilter(mEditor,&key1Char)==false);
+    QVERIFY(mHandler->eventFilter(mEditor,&key1Release)==false);
+}
+
+void ut_DialpadMultitapHandler::testNonNumericKeyPress()
+{
+    QKeyEvent keyYesPress(QEvent::KeyPress, Qt::Key_Yes, Qt::NoModifier);
+    QKeyEvent keyYesRelease(QEvent::KeyRelease, Qt::Key_Yes, Qt::NoModifier);
+
+    QVERIFY(mHandler->eventFilter(mEditor,&keyYesPress)==false);
+    QVERIFY(mHandler->eventFilter(mEditor,&keyYesRelease)==false);
+
+    QKeyEvent keyBackspacePress(QEvent::KeyPress, Qt::Key_Backspace, Qt::NoModifier);
+    QKeyEvent keyBackspaceRelease(QEvent::KeyRelease, Qt::Key_Backspace, Qt::NoModifier);
+
+    QVERIFY(mHandler->eventFilter(mEditor,&keyBackspacePress)==false);
+    QVERIFY(mHandler->eventFilter(mEditor,&keyBackspaceRelease)==false);
+}
+
+void ut_DialpadMultitapHandler::testAsterisk()
+{
+    QKeyEvent asteriskPress(QEvent::KeyPress, Qt::Key_Asterisk, Qt::NoModifier);
+    QKeyEvent asteriskChar(QEvent::KeyPress, Qt::Key_Asterisk, Qt::NoModifier, "*");
+    QKeyEvent asteriskRelease(QEvent::KeyRelease, Qt::Key_Asterisk, Qt::NoModifier);
+
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskPress)==true);
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskChar)==false);
+    QTest::qWait( 1000 );
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskRelease)==false);
+}
+
+void ut_DialpadMultitapHandler::testAsteriskMultitap()
+{
+    QKeyEvent asteriskPress(QEvent::KeyPress, Qt::Key_Asterisk, Qt::NoModifier);
+    QKeyEvent asteriskChar(QEvent::KeyPress, Qt::Key_Asterisk, Qt::NoModifier, "*");
+    QKeyEvent asteriskRelease(QEvent::KeyRelease, Qt::Key_Asterisk, Qt::NoModifier);
+
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskPress)==true);
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskChar)==false);
+    QTest::qWait( 100 );
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskChar)==true); // +
+    QTest::qWait( 100 );
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskChar)==true); // p
+    QTest::qWait( 100 );
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskChar)==true); // w
+    QTest::qWait( 100 );
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskChar)==true); // *
+    QVERIFY(mHandler->eventFilter(mEditor,&asteriskRelease)==false);
+}
+
+DIALPAD_TEST_MAIN(ut_DialpadMultitapHandler)
+#include "ut_dialpadmultitaphandler.moc"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadmultitaphandler/ut_dialpadmultitaphandler.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,32 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc ../shared
+
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+SOURCES += ut_dialpadmultitaphandler.cpp \
+           ../../../src/dialpadmultitaphandler.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadnumericbutton/ut_dialpadnumericbutton.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,78 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+
+#include "dialpadtest.h"
+#include "dialpadnumericbutton.h"
+
+class ut_DialpadNumericButton : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testSetText();
+    void testSetSecondaryText();
+    void testSetIcon();
+
+private:
+    DialpadNumericButton *mButton;
+};
+
+void ut_DialpadNumericButton::initTestCase()
+{
+    mButton = new DialpadNumericButton(0,QPoint(1,1),QSize(1,1));
+}
+
+void ut_DialpadNumericButton::cleanupTestCase()
+{
+    delete mButton;
+}
+
+void ut_DialpadNumericButton::testSetText()
+{
+    QVERIFY(mButton->text().isNull());
+    mButton->setText(QLatin1String("Primary text"));
+    QVERIFY(mButton->text() == QLatin1String("Primary text"));
+}
+
+void ut_DialpadNumericButton::testSetSecondaryText()
+{
+    QVERIFY(mButton->secondaryText().isNull());
+    mButton->setSecondaryText(QLatin1String("Secondary text"));
+    QVERIFY(mButton->secondaryText() == QLatin1String("Secondary text"));
+}
+
+void ut_DialpadNumericButton::testSetIcon()        
+{
+    HbIcon icon(QLatin1String("dummy.svg"));
+
+    QVERIFY(mButton->icon().isNull());
+    mButton->setIcon(icon);
+    mButton->icon().setColor(Qt::white);
+    QVERIFY(mButton->icon().iconName() == QLatin1String("dummy.svg"));
+    QVERIFY(mButton->icon().color() == Qt::white);
+}
+
+DIALPAD_TEST_MAIN(ut_DialpadNumericButton)
+#include "ut_dialpadnumericbutton.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadnumericbutton/ut_dialpadnumericbutton.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,35 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../src
+INCLUDEPATH += . ../../../inc ../shared
+CONFIG += hb qtestlib
+HB += hbinput
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+HEADERS += ../../../inc/dialpadnumericbutton.h
+
+SOURCES += ut_dialpadnumericbutton.cpp \
+           ../../../src/dialpadnumericbutton.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/ut_dialpadvideomailboxeventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,202 @@
+/*!
+* 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbview.h>
+#include <hblineedit.h>
+#include <hbinstance.h>
+
+#ifdef Q_OS_SYMBIAN
+#include "xqservicerequest.h"
+#endif
+
+#include "dialpadtest.h"
+#include "dialpadtestutil.h"
+#include "dialpadvideomailboxeventfilter.h"
+#include "dialpad.h"
+#include "dialpadsymbianwrapper.h"
+
+const int WAIT_TIME = 300;
+QString mService;
+QString mMessage;
+bool mXQServiceConstructed;
+bool mSendCalled;
+
+DialpadSymbianWrapper::DialpadSymbianWrapper(QObject */*parent*/) : d_ptr(NULL) {}
+DialpadSymbianWrapper::~DialpadSymbianWrapper() {}
+int DialpadSymbianWrapper::getVideoMailboxNumber(QString &vmbxNumber) { vmbxNumber=QString("12345678"); return 0; }
+int DialpadSymbianWrapper::defineVideoMailboxNumber(QString &/*vmbxNumber*/) { return 0; }
+
+#ifdef Q_OS_SYMBIAN
+XQServiceRequest::XQServiceRequest(const QString& service, const QString& message, const bool& /*synchronous*/) { mService=service; mMessage=message; mXQServiceConstructed=true; }
+XQServiceRequest::~XQServiceRequest() {}
+bool XQServiceRequest::send(QVariant& /*retValue*/) { mSendCalled=true; return true; }
+void XQServiceRequest::addArg(const QVariant& /*v*/) {}
+#endif
+
+// helper class
+class KeyEventCatcher : public QObject
+{
+public:
+    bool eventFilter(QObject* watched, QEvent * event)
+    {
+        Q_UNUSED(watched);
+
+        if (event->type() == QEvent::KeyPress) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyPresses.append(keyEvent->key());
+            return false;
+        } else if (event->type() == QEvent::KeyRelease) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyReleases.append(keyEvent->key());
+            return false;
+        }
+        return false;
+    }
+
+public:
+    QList<int> mKeyPresses;
+    QList<int> mKeyReleases;
+};
+
+// test cases
+class ut_DialpadVideoMailboxEventFilter : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void init();
+    void cleanupTestCase();
+    void cleanup();
+
+    // These are actual voice mailbox event filter unit tests
+    void testNumericKeyTwoLongPress();
+    void testNumericKeyTwoShortPress();
+    void testNumericKeyTwoShortThenLongPress();
+
+private:
+    HbMainWindow*  mMainWindow;
+    Dialpad*       mDialpad;
+    DialpadVideoMailboxEventFilter *mEventFilter;
+    KeyEventCatcher* mKeyCatcher;
+    DialpadTestUtil* mUtil;
+};
+
+void ut_DialpadVideoMailboxEventFilter::initTestCase()
+{
+    mMainWindow = new HbMainWindow;
+
+    mKeyCatcher = new KeyEventCatcher;
+    mMainWindow->installEventFilter(mKeyCatcher);
+
+    mUtil = new DialpadTestUtil(*mMainWindow);
+
+    mDialpad = new Dialpad();
+    mEventFilter = new DialpadVideoMailboxEventFilter(mDialpad, this);
+    hbInstance->allMainWindows().at(0)->installEventFilter(mEventFilter);
+
+    QRectF rect(mMainWindow->contentsRect());
+    rect.setHeight(rect.height()*0.7);
+    rect.moveTop((mMainWindow->contentsRect().height()-rect.height())/2);
+
+    mDialpad->setPreferredSize(360,400);
+    mDialpad->setPos(0,100);
+
+    mMainWindow->show();
+    mDialpad->show();
+    mDialpad->hide();
+}
+
+void ut_DialpadVideoMailboxEventFilter::init()
+{
+    mService = QString("");
+    mMessage = QString("");
+    mXQServiceConstructed = false;
+    mSendCalled = false;
+}
+
+void ut_DialpadVideoMailboxEventFilter::cleanupTestCase()
+{
+    delete mDialpad;
+    delete mMainWindow;
+    delete mKeyCatcher;
+    delete mUtil;
+}
+
+void ut_DialpadVideoMailboxEventFilter::cleanup()
+{
+    mKeyCatcher->mKeyPresses.clear();
+    mKeyCatcher->mKeyReleases.clear();
+    mDialpad->editor().setText(QString());
+    QTest::qWait( WAIT_TIME ); // delay between tests
+}
+
+void ut_DialpadVideoMailboxEventFilter::testNumericKeyTwoLongPress()
+{
+    mDialpad->openDialpad();
+    QTest::qWait(WAIT_TIME);
+    mUtil->mouseClickDialpad(Qt::Key_2, DialpadTestUtil::Press);
+    QTest::qWait(2000);
+    mUtil->mouseClickDialpad(Qt::Key_2, DialpadTestUtil::Release);
+    QTest::qWait(1000);
+    QCOMPARE(mDialpad->editor().text(), QString(""));
+    mDialpad->closeDialpad();
+
+#ifdef Q_OS_SYMBIAN
+    QVERIFY(mXQServiceConstructed == true);
+    QVERIFY(mSendCalled == true);
+    QCOMPARE(mService, QString("com.nokia.symbian.ICallDial"));
+    QCOMPARE(mMessage, QString("dialVideo(QString)"));
+#endif
+}
+
+void ut_DialpadVideoMailboxEventFilter::testNumericKeyTwoShortPress()
+{
+    mDialpad->openDialpad();
+    QTest::qWait(WAIT_TIME);
+    mUtil->mouseClickDialpad(Qt::Key_2, DialpadTestUtil::Press);
+    QTest::qWait(200);
+    mUtil->mouseClickDialpad(Qt::Key_2, DialpadTestUtil::Release);
+    QTest::qWait(1000);
+    // Check that character '1' is in editor.
+    QCOMPARE(mDialpad->editor().text(), QString("2"));
+}
+
+void ut_DialpadVideoMailboxEventFilter::testNumericKeyTwoShortThenLongPress()
+{
+    // Then one short and one long press
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_2, DialpadTestUtil::Press);
+    mUtil->mouseClickDialpad(Qt::Key_2, DialpadTestUtil::Release);
+    mUtil->mouseClickDialpad(Qt::Key_2, DialpadTestUtil::Press);
+    QTest::qWait(2000);
+    mUtil->mouseClickDialpad(Qt::Key_2, DialpadTestUtil::Release);
+    QTest::qWait(1000);
+    QVERIFY(mDialpad->editor().text()=="22");
+    mDialpad->closeDialpad();
+}
+
+DIALPAD_TEST_MAIN(ut_DialpadVideoMailboxEventFilter)
+#include "ut_dialpadvideomailboxeventfilter.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/ut_dialpadvideomailboxeventfilter.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,53 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc ../../../../../inc  ../shared
+
+CONFIG += hb qtestlib
+DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
+    # mocks
+    HEADERS += /epoc32/include/platform/mw/xqsettingskey.h \
+               /epoc32/include/platform/mw/xqsettingsmanager.h
+    SOURCES += ../shared/mock_xqsettingsmanager.cpp \
+               ../shared/mock_xqsettingskey.cpp
+    
+    LIBS += -lsymbianmock -lmocklib
+} else:win32 {
+    DESTDIR = ./
+    INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc
+    INCLUDEPATH += ../../../../xqtelephonyservice/inc
+}
+
+#
+HEADERS += ../../../inc/dialpadvideomailboxeventfilter.h \
+           ../../../inc/dialpadmailboxeventfilterbase.h \
+           ../../../inc/dialpadsymbianwrapper.h \
+           xqservicerequest.h \
+           dialpadtestutil.h
+SOURCES += ut_dialpadvideomailboxeventfilter.cpp \
+           ../../../src/dialpadvideomailboxeventfilter.cpp \
+           ../../../src/dialpadmailboxeventfilterbase.cpp \
+           ../shared/dialpadtestutil.cpp
+
+#
+LIBS += -ldialpad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/xqservicerequest.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+class XQServiceRequest : public QObject
+{
+public:
+    XQServiceRequest(const QString& service, const QString& message, const bool& synchronous);
+    ~XQServiceRequest();
+    bool send(QVariant& retValue);
+    void addArg(const QVariant& v);
+    template<typename T>
+    inline XQServiceRequest &operator<< (const T &var)
+    {
+        QVariant v = qVariantFromValue(var);
+        addArg(v);
+        return *this;
+    }
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,203 @@
+/*!
+* 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbview.h>
+#include <hblineedit.h>
+#include <hbinstance.h>
+
+#ifdef Q_OS_SYMBIAN
+#include "xqservicerequest.h"
+#endif
+
+#include "dialpadtest.h"
+#include "dialpadtestutil.h"
+#include "dialpadvoicemailboxeventfilter.h"
+#include "dialpad.h"
+#include "dialpadsymbianwrapper.h"
+
+const int WAIT_TIME = 300;
+QString mService;
+QString mMessage;
+bool mXQServiceConstructed;
+bool mSendCalled;
+
+DialpadSymbianWrapper::DialpadSymbianWrapper(QObject *parent) : d_ptr(NULL) {}
+DialpadSymbianWrapper::~DialpadSymbianWrapper() {}
+int DialpadSymbianWrapper::getMailboxNumber(QString &vmbxNumber) { vmbxNumber=QString("12345678"); return 0; }
+int DialpadSymbianWrapper::defineMailboxNumber(QString &vmbxNumber) { return 0; }
+
+#ifdef Q_OS_SYMBIAN
+XQServiceRequest::XQServiceRequest(const QString& service, const QString& message, const bool& synchronous) { mService=service; mMessage=message; mXQServiceConstructed=true; }
+XQServiceRequest::~XQServiceRequest() {}
+bool XQServiceRequest::send(QVariant& retValue) { mSendCalled=true; return true; }
+void XQServiceRequest::addArg(const QVariant& v) {}
+#endif
+
+// helper class
+class KeyEventCatcher : public QObject
+{
+public:
+    bool eventFilter(QObject* watched, QEvent * event)
+    {
+        Q_UNUSED(watched);
+
+        if (event->type() == QEvent::KeyPress) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyPresses.append(keyEvent->key());
+            return false;
+        } else if (event->type() == QEvent::KeyRelease) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+            mKeyReleases.append(keyEvent->key());
+            return false;
+        }
+        return false;
+    }
+
+public:
+    QList<int> mKeyPresses;
+    QList<int> mKeyReleases;
+};
+
+// test cases
+class ut_DialpadVoiceMailboxEventFilter : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void init();
+    void cleanupTestCase();
+    void cleanup();
+
+    // These are actual voice mailbox event filter unit tests
+    void testNumericKeyOneLongPress();
+    void testNumericKeyOneShortPress();
+    void testNumericKeyOneShortThenLongPress();
+
+private:
+    HbMainWindow*  mMainWindow;
+    Dialpad*       mDialpad;
+    DialpadVoiceMailboxEventFilter *mEventFilter;
+    KeyEventCatcher* mKeyCatcher;
+    DialpadTestUtil* mUtil;
+};
+
+void ut_DialpadVoiceMailboxEventFilter::initTestCase()
+{
+    mMainWindow = new HbMainWindow;
+
+    mKeyCatcher = new KeyEventCatcher;
+    mMainWindow->installEventFilter(mKeyCatcher);
+
+    mUtil = new DialpadTestUtil(*mMainWindow);
+
+    mDialpad = new Dialpad();
+    mEventFilter = new DialpadVoiceMailboxEventFilter(mDialpad, this);
+    hbInstance->allMainWindows().at(0)->installEventFilter(mEventFilter);
+
+    QRectF rect(mMainWindow->contentsRect());
+    rect.setHeight(rect.height()*0.7);
+    rect.moveTop((mMainWindow->contentsRect().height()-rect.height())/2);
+
+    mDialpad->setPreferredSize(360,400);
+    mDialpad->setPos(0,100);
+
+    mMainWindow->show();
+    mDialpad->show();
+    mDialpad->hide();
+}
+
+void ut_DialpadVoiceMailboxEventFilter::init()
+{
+    mService = QString("");
+    mMessage = QString("");
+    mXQServiceConstructed = false;
+    mSendCalled = false;
+}
+
+void ut_DialpadVoiceMailboxEventFilter::cleanupTestCase()
+{
+    delete mDialpad;
+    delete mMainWindow;
+    delete mKeyCatcher;
+    delete mUtil;
+}
+
+void ut_DialpadVoiceMailboxEventFilter::cleanup()
+{
+    mKeyCatcher->mKeyPresses.clear();
+    mKeyCatcher->mKeyReleases.clear();
+    mDialpad->editor().setText(QString());
+    QTest::qWait( WAIT_TIME ); // delay between tests
+}
+
+void ut_DialpadVoiceMailboxEventFilter::testNumericKeyOneLongPress()
+{
+    mDialpad->openDialpad();
+    QTest::qWait(WAIT_TIME);
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Press);
+    QTest::qWait(2000);
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Release);
+    QTest::qWait(1000);
+    QCOMPARE(mDialpad->editor().text(), QString(""));
+    mDialpad->closeDialpad();
+
+#ifdef Q_OS_SYMBIAN
+    QVERIFY(mXQServiceConstructed == true);
+    QVERIFY(mSendCalled == true);
+    QCOMPARE(mService, QString("com.nokia.symbian.ICallDial"));
+    QCOMPARE(mMessage, QString("dial(QString)"));
+#endif
+}
+
+void ut_DialpadVoiceMailboxEventFilter::testNumericKeyOneShortPress()
+{
+    mDialpad->openDialpad();
+    QTest::qWait(WAIT_TIME);
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Press);
+    QTest::qWait(200);
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Release);
+    QTest::qWait(1000);
+    // Check that character '1' is in editor.
+    QCOMPARE(mDialpad->editor().text(), QString("1"));
+}
+
+void ut_DialpadVoiceMailboxEventFilter::testNumericKeyOneShortThenLongPress()
+{
+    // Then one short and one long press
+    mDialpad->openDialpad();
+    QTest::qWait( WAIT_TIME );
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Press);
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Release);
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Press);
+    QTest::qWait(2000);
+    mUtil->mouseClickDialpad(Qt::Key_1, DialpadTestUtil::Release);
+    QTest::qWait(1000);
+    QVERIFY(mDialpad->editor().text()=="11");
+    mDialpad->closeDialpad();
+}
+
+DIALPAD_TEST_MAIN(ut_DialpadVoiceMailboxEventFilter)
+#include "ut_dialpadvoicemailboxeventfilter.moc"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc ../../../../../inc  ../shared
+
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+    INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc
+    INCLUDEPATH += ../../../../xqtelephonyservice/inc
+}
+
+#
+HEADERS += ../../../inc/dialpadvoicemailboxeventfilter.h \
+           ../../../inc/dialpadmailboxeventfilterbase.h \
+           ../../../inc/dialpadsymbianwrapper.h \
+           xqservicerequest.h \
+           dialpadtestutil.h
+SOURCES += ut_dialpadvoicemailboxeventfilter.cpp \
+           ../../../src/dialpadvoicemailboxeventfilter.cpp \
+           ../../../src/dialpadmailboxeventfilterbase.cpp \
+           ../shared/dialpadtestutil.cpp
+
+# 
+LIBS += -ldialpad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/xqservicerequest.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+class XQServiceRequest : public QObject
+{
+public:
+    XQServiceRequest(const QString& service, const QString& message, const bool& synchronous);
+    ~XQServiceRequest();
+    bool send(QVariant& retValue);
+    void addArg(const QVariant& v);
+    template<typename T>
+    inline XQServiceRequest &operator<< (const T &var)
+    {
+        QVariant v = qVariantFromValue(var);
+        addArg(v);
+        return *this;
+    }
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/inc/imeikeysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,46 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements IMEI key sequence handling.
+*
+*/
+
+#ifndef IMEIKEYSEQUENCEHANDLER_H
+#define IMEIKEYSEQUENCEHANDLER_H
+
+#include "keysequencehandler.h"
+
+class HbDeviceMessageBox;
+
+class ImeiKeySequenceHandler : public KeySequenceHandler
+{
+    Q_OBJECT
+
+public:
+
+    ImeiKeySequenceHandler(QObject *parent = 0);
+    ~ImeiKeySequenceHandler();
+    
+    bool executeKeySequence(const QString &keySequence);
+
+private:
+    void launchImeiDialog();
+    
+private slots:
+    void destroyMessageBox();
+
+private:    
+    HbDeviceMessageBox *m_messageBox;
+};
+
+#endif // IMEIKEYSEQUENCEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/inc/keysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,43 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Base class for key sequence handlers.
+*
+*/
+
+#ifndef KEYSEQUENCEHANDLER_H
+#define KEYSEQUENCEHANDLER_H
+
+#include <QObject>
+#include <QString>
+
+class KeySequenceHandler : public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    KeySequenceHandler(QObject *parent = 0);
+    ~KeySequenceHandler();
+    
+    QString keySequenceValidator() const;
+    virtual bool executeKeySequence(const QString &keySequence) = 0;
+
+protected:
+    void setKeySequenceValidator(const QString &validator);
+    
+private:
+    QString m_keySequenceValidator;
+};
+
+#endif // KEYSEQUENCEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/inc/keysequencerecognitionprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,95 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements Qt Highway provider for key sequence handling.
+*
+*/
+
+#ifndef KEYSEQUENCERECOGNITIONPROVIDER_H
+#define KEYSEQUENCERECOGNITIONPROVIDER_H
+
+#include <xqserviceprovider.h>
+
+class KeySequenceHandler;
+
+class KeySequenceRecognitionProvider : public XQServiceProvider
+{
+    Q_OBJECT
+
+public:
+
+    KeySequenceRecognitionProvider(QObject *parent = 0);
+    ~KeySequenceRecognitionProvider();
+    
+public slots:
+    
+    /*!
+        \fn keySequenceValidator()
+        
+        Returns regular expression for key sequence validation. Client must 
+        validate sequence before requesting provider to execute it. Regular
+        expression is in escaped format.
+        
+        \return Escaped regular expression.
+        
+        Usage example:
+        XQAiwRequest *request = mAiwMgr.create(
+            "com.nokia.symbian.IKeySequenceRecognition",
+            "keySequenceValidator()", 
+            true);
+        
+        QVariant keySequenceValidator;
+        bool requestOk = request->send(keySequenceValidator);
+        if (requestOk && keySequenceValidator.toString().size()) {
+            QString expression = keySequenceValidator.toString();
+            mValidator = new QRegExp(expression);
+        }
+    */
+    QString keySequenceValidator();
+    
+    /*!
+        \fn executeKeySequence(const QString& keySequence)
+        
+        Client can use this method to execute key sequence.
+        Key sequence may contain for example product codes etc. that
+        may cause lower layers to do any specific things.
+        
+        \param  keySequence          Key sequence to execute.
+        \return True if key sequence was processed, false otherwise.
+        
+        Usage example:
+        XQAiwRequest *request = mAiwMgr.create(
+            "com.nokia.symbian.IKeySequenceRecognition",
+            "executeKeySequence(QString)", 
+            true);
+        
+        QList<QVariant> arguments;
+        arguments << "*#0000#";
+        request->setArguments(arguments);
+        
+        QVariant keySequenceProcessed;
+        bool requestOk = request.send(keySequenceProcessed);
+    */
+    bool executeKeySequence(const QString &keySequence);
+
+private:
+    void setupLocalization();
+    void constructKeySequenceHandlers();
+    void constructKeySequenceValidator();
+    
+private:
+    QString m_keySequenceValidator;
+    QList<KeySequenceHandler*> m_handlers;
+};
+
+#endif // KEYSEQUENCERECOGNITIONPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/inc/keysequencerecognitionservicedefs.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,47 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definitions for key sequence recognition component.
+*
+*/
+
+#ifndef KEYSEQUENCERECOGNITIONSERVICEDEFS_H
+#define KEYSEQUENCERECOGNITIONSERVICEDEFS_H
+
+#include <QString>
+
+/*! code for showing software version number */
+const QString KCodeSwVersion("*#0000#");
+/*! code for launching reset ui */
+const QString KCodeActivateRfsNormal("*#7780#");
+/*! code for launching reset ui */
+const QString KCodeActivateRfsDeep("*#7370#");
+/*! code for showing bluetooth device address */
+const QString KCodeBtAddress("*#2820#");
+/*! code for enabling bluetooth test mode */
+const QString KCodeRFLoopback("*#9990#");
+/*! code for showing serial number */
+const QString KCodeImei("*#06#");
+/*! code for showing life timer data */
+const QString KCodeLifeTimer("*#92702689#");
+/*! code for changing pin code 1 */
+const QString KCodeChangePin1("\\*\\*04\\*\\d{4,15}\\*\\d{4,15}\\*\\d{4,15}\\#");
+/*! code for changing pin code 2 */
+const QString KCodeChangePin2("\\*\\*042\\*\\d{4,15}\\*\\d{4,15}\\*\\d{4,15}#");
+/*! code for unblocking pin code 1 */
+const QString KCodeUnblockPin1("\\*\\*05\\**\\d{8,20}\\*\\d{4,15}\\*\\d{4,15}#");
+/*! code for unblocking pin code 2 */
+const QString KCodeUnblockPin2("\\*\\*052\\**\\d{8,20}\\*\\d{4,15}\\*\\d{4,15}#");
+
+
+#endif // KEYSEQUENCERECOGNITIONSERVICEDEFS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/inc/keysequencerecognitionservicelog.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,73 @@
+/*!
+* 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:  Definitions for key sequence recognition component.
+*
+*/
+
+#ifndef KEYSEQUENCERECOGNITIONSERVICELOG_H
+#define KEYSEQUENCERECOGNITIONSERVICELOG_H
+
+#include <QDebug>
+
+class MethodEntryExitDebugPrint
+{
+public:
+    MethodEntryExitDebugPrint(const char* methodDescription)
+        :
+        m_methodDescription(0),
+        m_stackFrame(0)
+    {
+#ifdef __WINS__
+        // Workaround for exception detection as MSL runtime has a bug in
+        // std::uncaught_exception() implementation.
+        int stackFrame = 0;
+        _asm( mov stackFrame, ebp );
+        m_stackFrame = stackFrame;
+#endif
+        m_methodDescription = methodDescription;
+        qDebug() << m_methodDescription << "IN";
+    };
+    
+    ~MethodEntryExitDebugPrint() 
+    {
+#ifdef __WINS__
+        // Workaround for exception detection as MSL runtime has a bug in
+        // std::uncaught_exception() implementation.
+        int stackFrame = 0;
+        int returnValue = -1;
+        _asm( mov stackFrame, ebp );
+        _asm( mov returnValue, ebx );
+        if ((stackFrame + sizeof(int) != m_stackFrame) && (0 == returnValue)) {
+           qDebug() << m_methodDescription << "EXCEPTION!";
+        } else {
+           qDebug() << m_methodDescription << "OUT";
+        }
+#else
+        if (std::uncaught_exception()) {
+           qDebug() << m_methodDescription << "EXCEPTION!";
+        } else {
+           qDebug() << m_methodDescription << "OUT";
+        }
+#endif
+    };
+
+private:
+    const char* m_methodDescription;
+    int m_stackFrame;
+};
+
+#define DPRINT_METHODENTRYEXIT \
+    MethodEntryExitDebugPrint __entryExitDebugPrint(__PRETTY_FUNCTION__)
+
+#endif // KEYSEQUENCERECOGNITIONSERVICELOG_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/inc/lifetimerkeysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,63 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements Life Timer key sequence handling.
+*
+*/
+
+#ifndef LIFETIMERKEYSEQUENCEHANDLER_H
+#define LIFETIMERKEYSEQUENCEHANDLER_H
+
+#include <centralrepository.h>
+#include "keysequencehandler.h"
+
+class HbDeviceMessageBox;
+class RTelServer;
+class RMobilePhone;
+class RMmCustomAPI;
+
+class LifeTimerKeySequenceHandler : public KeySequenceHandler
+{
+    Q_OBJECT
+
+public:
+
+    LifeTimerKeySequenceHandler(QObject *parent = 0);
+    ~LifeTimerKeySequenceHandler();
+    
+    bool executeKeySequence(const QString &keySequence);
+
+private:
+    void launchLifeTimerDialog();
+    QString constructLifeTimerData();
+    
+    void openEtelConnectionL(
+        RTelServer &telephonyServer,
+        RMobilePhone &mobilePhone,
+        RMmCustomAPI &mmCustomApi);
+    void closeEtelConnection(
+        RTelServer &telephonyServer,
+        RMobilePhone &mobilePhone,
+        RMmCustomAPI &mmCustomApi);
+    
+    bool lifeTimerFeatureEnabled();
+    
+private slots:
+    void destroyMessageBox();
+
+private:    
+    HbDeviceMessageBox *m_messageBox;
+    QScopedPointer<CRepository> m_repository;
+};
+
+#endif // LIFETIMERKEYSEQUENCEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/inc/manufacturerkeysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,76 @@
+/*!
+* 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: Implements manufacturer key sequence handling.
+*
+*/
+
+#ifndef MANUFACTURERKEYSEQUENCEHANDLER_H
+#define MANUFACTURERKEYSEQUENCEHANDLER_H
+
+#include <xqappmgr.h>
+#include "keysequencehandler.h"
+
+class XQAiwRequest;
+
+class InterfaceDescription
+{
+public:
+    InterfaceDescription() 
+        :
+        m_service(""),
+        m_interface(""),
+        m_method("") {}
+    
+    InterfaceDescription(
+        const QString &service, 
+        const QString &interface, 
+        const QString &method) 
+    :
+    m_service(service),
+    m_interface(interface),
+    m_method(method) {}
+
+public:
+    QString m_service;
+    QString m_interface;
+    QString m_method;
+};
+
+class ManufacturerKeySequenceHandler : public KeySequenceHandler
+{
+    Q_OBJECT
+
+public:
+
+    ManufacturerKeySequenceHandler(QObject *parent = 0);
+    ~ManufacturerKeySequenceHandler();
+    
+    bool executeKeySequence(
+        const QString &keySequence);
+
+private:
+    bool issueServiceRequest(
+        const InterfaceDescription &description);
+
+private slots:
+    void requestOk(const QVariant &returnValue);
+    void requestError(int error, const QString& errorMessage);
+
+private:
+    XQApplicationManager m_aiwManager;
+    QMap<QString, InterfaceDescription> m_codeToInterfaceMappings;
+    QPointer<XQAiwRequest> m_currentRequest;
+};
+
+#endif // MANUFACTURERKEYSEQUENCEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/inc/simcontrolkeysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,64 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements simcontrol key sequence handling.
+*
+*/
+
+#ifndef SIMCONTROLKEYSEQUENCEHANDLER_H
+#define SIMCONTROLKEYSEQUENCEHANDLER_H
+
+#include "keysequencehandler.h"
+
+class CManualSecuritySettings;
+
+class SimControlKeySequenceHandler : public KeySequenceHandler
+{
+    Q_OBJECT
+
+public:
+
+    SimControlKeySequenceHandler(QObject *parent = 0);
+    ~SimControlKeySequenceHandler();
+    
+    bool executeKeySequence(const QString &keySequence);
+    
+    enum SimOperation
+        {
+        None,
+        Pin1,
+        Pin2,
+        Unblock1,
+        Unblock2
+        };
+
+private:
+
+    bool parseString(const QString &keySequence);
+    void processChangePin(
+            SimOperation op,
+            const QString &oldPin,
+            const QString &newPin,
+            const QString &verifyNew);
+    
+    void processUnblockPin(
+            SimOperation op,
+            const QString &puk,
+            const QString &newPin,
+            const QString &verifyNew);
+    
+private:    
+    CManualSecuritySettings* m_securityModel;
+};
+
+#endif // SIMCONTROLKEYSEQUENCEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/keysequencerecognitionservice.pri	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,25 @@
+# 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:
+
+HEADERS = ./inc/keysequencerecognitionprovider.h        \
+          ./inc/keysequencehandler.h                    \
+          ./inc/manufacturerkeysequencehandler.h        \
+          ./inc/imeikeysequencehandler.h                \
+           ./inc/simcontrolkeysequencehandler.h         \
+          ./inc/lifetimerkeysequencehandler.h
+
+SOURCES = ./src/main.cpp                                \
+          ./src/keysequencerecognitionprovider.cpp      \
+          ./src/keysequencehandler.cpp                  \
+          ./src/manufacturerkeysequencehandler.cpp      \
+          ./src/imeikeysequencehandler.cpp              \
+          ./src/simcontrolkeysequencehandler.cpp        \
+          ./src/lifetimerkeysequencehandler.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/keysequencerecognitionservice.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,54 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = keysequencerecognitionservice
+CONFIG += hb service
+TRANSLATIONS = telephone.ts
+MOC_DIR = moc
+
+symbian {
+    TARGET.UID3 = 0x2002FF8A
+    TARGET.VID = VID_DEFAULT
+    TARGET.CAPABILITY = CAP_APPLICATION
+    TARGET.EPOCALLOWDLLDATA = 1
+    
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += ../../inc 
+    
+    BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>"
+    BLD_INF_RULES.prj_exports += "./rom/keysequencerecognitionservice.iby \
+        CORE_MW_LAYER_IBY_EXPORT_PATH(keysequencerecognitionservice.iby)"
+    BLD_INF_RULES.prj_exports += \
+      "./rom/keysequencerecognitionservice_resources.iby \
+      LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(keysequencerecognitionservice_resources.iby)"
+    
+    RSS_RULES += "hidden = KAppIsHidden;"
+    RSS_RULES += "launch = KAppLaunchInBackground;"
+    
+    include(./keysequencerecognitionservice.pri)
+    
+    # Service provider specific configuration.
+    SERVICE.FILE = ./resources/keysequencerecognitionservice_conf.xml
+    SERVICE.OPTIONS += embeddable
+    SERVICE.OPTIONS += hidden
+  
+    LIBS += -lxqservice -lxqserviceutil -lxqutils \
+            -letel -letelmm -lcustomapi \
+            -lcentralrepository -lQtSystemInfo -lsecui \
+            -ltstaskmonitorclient
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/resources/keysequencerecognitionservice_conf.xml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<service>
+  <name>keysequencerecognitionservice</name>
+  <filepath>No path</filepath>
+  <description>Key sequence recognition service</description>
+  <interface>
+     <name>com.nokia.symbian.IKeySequenceRecognition</name>
+     <version>1.0</version>
+     <description>Interface for key sequence recognition</description>
+   </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/rom/keysequencerecognitionservice.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: KeySequenceRecognitionService's IBY definitions.
+*
+*/
+
+#ifndef __KEYSEQUENCERECOGNITIONSERVICE_IBY__
+#define __KEYSEQUENCERECOGNITIONSERVICE_IBY__
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+
+file = ABI_DIR/BUILD_DIR/keysequencerecognitionservice.exe \
+           PROGRAMS_DIR/keysequencerecognitionservice.exe
+data = DATAZ_/private/10003a3f/import/apps/keysequencerecognitionservice_reg.rsc \
+           private/10003a3f/import/apps/keysequencerecognitionservice_reg.rsc
+
+#endif // __KEYSEQUENCERECOGNITIONSERVICE_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/rom/keysequencerecognitionservice_resources.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: KeySequenceRecognitionService's resource IBY definitions.
+*
+*/
+
+#ifndef __KEYSEQUENCERECOGNITIONSERVICE_RESORCES_IBY__
+#define __KEYSEQUENCERECOGNITIONSERVICE_RESORCES_IBY__
+
+#include <data_caging_paths_for_iby.hrh> 
+
+data = DATAZ_/resource/apps/keysequencerecognitionservice.rsc \
+           /resource/apps/keysequencerecognitionservice.rsc
+
+#endif // __KEYSEQUENCERECOGNITIONSERVICE_RESORCES_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/src/imeikeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,110 @@
+/*!
+* 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: Implements IMEI key sequence handling.
+*
+*/
+
+#include <qsysteminfo.h>
+#include <hbmessagebox.h>
+#include <hbdevicemessagebox.h>
+#include "imeikeysequencehandler.h"
+#include "keysequencerecognitionservicedefs.h"
+#include "keysequencerecognitionservicelog.h"
+
+QTM_USE_NAMESPACE
+
+/*!
+  ImeiKeySequenceHandler::ImeiKeySequenceHandler.
+ */
+ImeiKeySequenceHandler::ImeiKeySequenceHandler(
+    QObject* parent)
+    :
+    KeySequenceHandler(parent),
+    m_messageBox(0)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    setKeySequenceValidator(QRegExp::escape(KCodeImei));
+}
+
+
+/*!
+  ImeiKeySequenceHandler::~ImeiKeySequenceHandler.
+ */
+ImeiKeySequenceHandler::~ImeiKeySequenceHandler()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    destroyMessageBox();
+}
+
+
+/*!
+  ImeiKeySequenceHandler::executeKeySequence.
+ */
+bool ImeiKeySequenceHandler::executeKeySequence(
+    const QString &keySequence)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    bool handled = true;
+    
+    if (KCodeImei == keySequence) {
+        launchImeiDialog();
+    } else {
+        handled = false;
+    }
+    
+    return handled;
+}
+
+
+/*!
+  ImeiKeySequenceHandler::launchImeiDialog().
+ */
+void ImeiKeySequenceHandler::launchImeiDialog()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    destroyMessageBox();
+    
+    QScopedPointer<QSystemDeviceInfo> deviceInfo(new QSystemDeviceInfo()); 
+    QString serialNumber = deviceInfo->imei();
+    QString serialNumberNoteText = 
+        hbTrId("txt_phone_info_serial_no").arg(serialNumber);
+    m_messageBox = new HbDeviceMessageBox(
+        serialNumberNoteText, 
+        HbMessageBox::MessageTypeInformation);
+    m_messageBox->setTimeout(HbPopup::NoTimeout);
+    
+    QObject::connect(
+        m_messageBox, SIGNAL(aboutToClose()), 
+        this, SLOT(destroyMessageBox()));
+    
+    m_messageBox->show();
+}
+
+
+/*!
+  ImeiKeySequenceHandler::destroyMessageBox.
+ */
+void ImeiKeySequenceHandler::destroyMessageBox()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    if (m_messageBox) {
+        m_messageBox->deleteLater();
+        m_messageBox = 0;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/src/keysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,65 @@
+/*!
+* 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: Base class for key sequence handlers.
+*
+*/
+
+#include <QCoreApplication>
+#include <QDebug>
+#include <xqaiwrequest.h>
+#include "keysequencehandler.h"
+#include "keysequencerecognitionservicelog.h"
+
+/*!
+  KeySequenceHandler::KeySequenceHandler.
+ */
+KeySequenceHandler::KeySequenceHandler(
+    QObject* parent)
+    : 
+    QObject(parent),
+    m_keySequenceValidator("")
+{
+    DPRINT_METHODENTRYEXIT;
+}
+
+
+/*!
+  KeySequenceHandler::~KeySequenceHandler.
+ */
+KeySequenceHandler::~KeySequenceHandler()
+{
+    DPRINT_METHODENTRYEXIT;
+}
+
+
+/*!
+  KeySequenceHandler::keySequenceValidator.
+ */
+QString KeySequenceHandler::keySequenceValidator() const
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    return m_keySequenceValidator;
+}
+
+
+/*!
+  KeySequenceHandler::setKeySequenceValidator.
+ */
+void KeySequenceHandler::setKeySequenceValidator(const QString &validator)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    m_keySequenceValidator = validator;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/src/keysequencerecognitionprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,167 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements Qt Highway provider for key sequence handling.
+*
+*/
+
+#include <QCoreApplication>
+#include <QTimer>
+#include <QTranslator>
+#include <QLocale>
+#include <tstasksettings.h>
+#include "keysequencerecognitionprovider.h"
+#include "manufacturerkeysequencehandler.h"
+#include "imeikeysequencehandler.h"
+#include "lifetimerkeysequencehandler.h"
+#include "simcontrolkeysequencehandler.h"
+#include "keysequencerecognitionservicelog.h"
+
+/*!
+  KeySequenceRecognitionProvider::KeySequenceRecognitionProvider.
+ */
+KeySequenceRecognitionProvider::KeySequenceRecognitionProvider(
+    QObject* parent)
+    : 
+    XQServiceProvider(QLatin1String(
+        "keysequencerecognitionservice.com.nokia.symbian.IKeySequenceRecognition"),
+        parent),
+    m_keySequenceValidator("")
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    publishAll();
+    
+    setupLocalization();
+    
+    // One should not call anything exception generating after handlers are
+    // created because memory for handlers will be leaked on an exception 
+    // while being in c++ constructor.
+    constructKeySequenceHandlers();
+
+    // Keysequencerecognitionprovider to be invisible in taskswitcher 
+    TsTaskSettings taskSettings;
+    taskSettings.setVisibility(false);
+}
+
+
+/*!
+  KeySequenceRecognitionProvider::~KeySequenceRecognitionProvider.
+ */
+KeySequenceRecognitionProvider::~KeySequenceRecognitionProvider()
+{
+    DPRINT_METHODENTRYEXIT;
+}
+
+
+/*!
+  KeySequenceRecognitionProvider::keySequenceValidator.
+ */
+QString KeySequenceRecognitionProvider::keySequenceValidator()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    if (m_keySequenceValidator.isEmpty()) {
+        constructKeySequenceValidator();
+    }
+    
+    return m_keySequenceValidator;
+}
+
+
+/*!
+  KeySequenceRecognitionProvider::executeKeySequence.
+ */
+bool KeySequenceRecognitionProvider::executeKeySequence(
+    const QString &keySequence)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    bool handled = false;
+    
+    QList<KeySequenceHandler*>::const_iterator it = m_handlers.constBegin();
+    for (;(it != m_handlers.constEnd()) && (!handled); ++it) {
+        handled = (*it)->executeKeySequence(keySequence);
+    }
+    
+    return handled;
+}
+
+
+/*!
+  KeySequenceRecognitionProvider::setupLocalization.
+ */
+void KeySequenceRecognitionProvider::setupLocalization()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    QScopedPointer<QTranslator> translator(new QTranslator(this));
+    
+    QString locale = QLocale::system().name();
+    QString path = QString("z:/resource/qt/translations/");
+    bool translatorLoaded = 
+        translator->load(QString(path + "telephone_" + locale));
+    
+    if (translatorLoaded) {
+        qApp->installTranslator(translator.data());
+        translator.take();
+    }
+}
+
+
+/*!
+  KeySequenceRecognitionProvider::constructKeySequenceHandlers.
+ */
+void KeySequenceRecognitionProvider::constructKeySequenceHandlers()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    QScopedPointer<KeySequenceHandler> manufacturerHandler( 
+        new ManufacturerKeySequenceHandler(this));
+    m_handlers.append(manufacturerHandler.data());
+    manufacturerHandler.take();
+    
+    QScopedPointer<KeySequenceHandler> imeiHandler( 
+        new ImeiKeySequenceHandler(this));
+    m_handlers.append(imeiHandler.data());
+    imeiHandler.take();
+
+    QScopedPointer<KeySequenceHandler> lifeTimerHandler( 
+        new LifeTimerKeySequenceHandler(this));
+    m_handlers.append(lifeTimerHandler.data());
+    lifeTimerHandler.take();
+    
+    QScopedPointer<KeySequenceHandler> simControlHandler( 
+        new SimControlKeySequenceHandler(this));
+    m_handlers.append(simControlHandler.data());
+    simControlHandler.take();
+}
+
+
+/*!
+  KeySequenceRecognitionProvider::constructKeySequenceValidator.
+ */
+void KeySequenceRecognitionProvider::constructKeySequenceValidator()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    QList<KeySequenceHandler*>::const_iterator it = m_handlers.constBegin();
+    for (;it != m_handlers.constEnd(); ++it) {
+        if (!m_keySequenceValidator.isEmpty()) {
+            m_keySequenceValidator.append("|");
+        }
+        
+        QString validator = (*it)->keySequenceValidator();
+        m_keySequenceValidator.append(validator);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/src/lifetimerkeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,208 @@
+/*!
+* 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: Implements Life Timer key sequence handling.
+*
+*/
+
+#include <QDebug>
+#include <hbmessagebox.h>
+#include <hbdevicemessagebox.h>
+#include <hbextendedlocale.h>
+#include <etelmm.h>
+#include <rmmcustomapi.h>
+#include <mmtsy_names.h>
+#include <xqconversions.h>
+#include "lifetimerkeysequencehandler.h"
+#include "keysequencerecognitionservicedefs.h"
+#include "telservicesinternalcrkeys.h"
+#include "telservicesvariant.hrh"
+#include "keysequencerecognitionservicelog.h"
+
+/*!
+  LifeTimerKeySequenceHandler::LifeTimerKeySequenceHandler.
+ */
+LifeTimerKeySequenceHandler::LifeTimerKeySequenceHandler(
+    QObject* parent)
+    : 
+    KeySequenceHandler(parent),
+    m_messageBox(0),
+    m_repository(0)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    CRepository *repository = 0;
+    QT_TRAP_THROWING(repository = CRepository::NewL(KCRUidTelSrvVariation))
+    m_repository.reset(repository);
+    
+    if (lifeTimerFeatureEnabled()) {
+        setKeySequenceValidator(QRegExp::escape(KCodeLifeTimer));
+    }
+}
+
+
+/*!
+  LifeTimerKeySequenceHandler::~LifeTimerKeySequenceHandler.
+ */
+LifeTimerKeySequenceHandler::~LifeTimerKeySequenceHandler()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    destroyMessageBox();
+}
+
+
+/*!
+  LifeTimerKeySequenceHandler::executeKeySequence.
+ */
+bool LifeTimerKeySequenceHandler::executeKeySequence(
+    const QString &keySequence)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    bool handled = true;
+    
+    if (KCodeLifeTimer == keySequence && lifeTimerFeatureEnabled()) {
+        launchLifeTimerDialog();
+    } else {
+        handled = false;
+    }
+    
+    return handled;
+}
+
+
+/*!
+  LifeTimerKeySequenceHandler::launchLifeTimerDialog().
+ */
+void LifeTimerKeySequenceHandler::launchLifeTimerDialog()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    destroyMessageBox();
+    
+    QString lifeTimerData = constructLifeTimerData();
+    QString lifeTimerNoteText = 
+        hbTrId("txt_phone_info_life_timer").arg(lifeTimerData);
+    m_messageBox = new HbDeviceMessageBox(
+        lifeTimerNoteText, 
+        HbMessageBox::MessageTypeInformation);
+    m_messageBox->setTimeout(HbPopup::NoTimeout);
+    
+    QObject::connect(
+        m_messageBox, SIGNAL(aboutToClose()), 
+        this, SLOT(destroyMessageBox()));
+    
+    m_messageBox->show();
+}
+
+
+/*!
+  LifeTimerKeySequenceHandler::constructLifeTimerData.
+ */
+QString LifeTimerKeySequenceHandler::constructLifeTimerData()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    QString lifeTimerText;
+    
+    RTelServer telephonyServer;
+    RMobilePhone mobilePhone;
+    RMmCustomAPI mmCustomApi;
+    QT_TRAP_THROWING(
+        openEtelConnectionL(telephonyServer, mobilePhone, mmCustomApi);
+    )
+    
+    RMmCustomAPI::TLifeTimeData lifeTimeData;
+    RMmCustomAPI::TLifeTimeDataPckg dataPckg(lifeTimeData);
+    int lifeTimeDataQueryResult = mmCustomApi.GetLifeTime(dataPckg);
+    closeEtelConnection(telephonyServer, mobilePhone, mmCustomApi);
+    
+    if (KErrNone == lifeTimeDataQueryResult) {
+        lifeTimeData = dataPckg();
+        
+        HbExtendedLocale locale = HbExtendedLocale::system();
+        lifeTimerText.append(QString::number(lifeTimeData.iHours));
+        const int KMinuteSeparatorInd = 2;
+        lifeTimerText.append(locale.timeSeparator(KMinuteSeparatorInd));
+        lifeTimerText.append(
+            QString::number(static_cast<int>(lifeTimeData.iMinutes)));
+        // pad hour field to a length of 6 digits
+        const int KLifeTimerDataFieldLength = 9;
+        lifeTimerText = lifeTimerText.rightJustified(
+            KLifeTimerDataFieldLength, QChar('0'));
+    }
+    
+    return lifeTimerText;
+}
+
+
+/*!
+  LifeTimerKeySequenceHandler::openEtelConnectionL.
+ */
+void LifeTimerKeySequenceHandler::openEtelConnectionL(
+    RTelServer &telephonyServer,
+    RMobilePhone &mobilePhone,
+    RMmCustomAPI &mmCustomApi)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    User::LeaveIfError(telephonyServer.Connect());
+    User::LeaveIfError(mobilePhone.Open(telephonyServer, KMmTsyPhoneName()));
+    User::LeaveIfError(mmCustomApi.Open(mobilePhone));
+}
+
+
+/*!
+  LifeTimerKeySequenceHandler::closeEtelConnection.
+ */
+void LifeTimerKeySequenceHandler::closeEtelConnection(
+    RTelServer &telephonyServer,
+    RMobilePhone &mobilePhone,
+    RMmCustomAPI &mmCustomApi)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    mmCustomApi.Close();
+    mobilePhone.Close();
+    telephonyServer.Close();
+}
+
+
+/*!
+  LifeTimerKeySequenceHandler::lifeTimerFeatureEnabled.
+ */
+bool LifeTimerKeySequenceHandler::lifeTimerFeatureEnabled()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    TInt telephoneVariant = 0;
+    TInt result = m_repository->Get(KTelSrvVariationFlags, telephoneVariant);
+    return (KErrNone == result) 
+        ? static_cast<bool>(telephoneVariant & KTelSrvLVFlagLifeTimer)
+        : false;
+}
+
+
+/*!
+  LifeTimerKeySequenceHandler::destroyMessageBox.
+ */
+void LifeTimerKeySequenceHandler::destroyMessageBox()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    if (m_messageBox) {
+        m_messageBox->deleteLater();
+        m_messageBox = 0;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/src/main.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* 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 <hbapplication.h>
+#include "keysequencerecognitionprovider.h"
+
+int main(int argc, char **argv)
+{
+    HbApplication app(argc, argv, Hb::NoSplash);
+    KeySequenceRecognitionProvider provider;
+    
+    int result = app.exec();
+    return result;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/src/manufacturerkeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,162 @@
+/*!
+* 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: Implements manufacturer key sequence handling.
+*
+*/
+
+#include <QDebug>
+#include <xqserviceutil.h>
+#include <xqservicerequest.h>
+#include <hbapplication.h>
+#include "manufacturerkeysequencehandler.h"
+#include "keysequencerecognitionservicedefs.h"
+#include "keysequencerecognitionservicelog.h"
+
+/*!
+  ManufacturerKeySequenceHandler::ManufacturerKeySequenceHandler.
+ */
+ManufacturerKeySequenceHandler::ManufacturerKeySequenceHandler(
+    QObject* parent)
+    : 
+    KeySequenceHandler(parent),
+    m_currentRequest(0)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    setKeySequenceValidator(
+        QRegExp::escape(KCodeSwVersion) + "|" +
+        QRegExp::escape(KCodeActivateRfsNormal)  + "|" +
+        QRegExp::escape(KCodeActivateRfsDeep) + "|" +
+        QRegExp::escape(KCodeBtAddress) + "|" +
+        QRegExp::escape(KCodeRFLoopback));
+    
+    m_codeToInterfaceMappings[KCodeSwVersion] = InterfaceDescription(
+        "com.nokia.services", "devicemanager", "showVersionNumber()");
+    
+    m_codeToInterfaceMappings[KCodeActivateRfsNormal] = InterfaceDescription(
+        "com.nokia.symbian", "IFactoryReset", "showResetUi()");
+    m_codeToInterfaceMappings[KCodeActivateRfsDeep] = InterfaceDescription(
+        "com.nokia.symbian", "IFactoryReset", "showResetUi()");
+    
+    m_codeToInterfaceMappings[KCodeBtAddress] = InterfaceDescription(
+        "com.nokia.services", "bluetooth", "showBluetoothDeviceAddress()");
+    m_codeToInterfaceMappings[KCodeRFLoopback] = InterfaceDescription(
+        "com.nokia.services", "bluetooth", "showBluetoothLoopback()");
+}
+
+
+/*!
+  ManufacturerKeySequenceHandler::~ManufacturerKeySequenceHandler.
+ */
+ManufacturerKeySequenceHandler::~ManufacturerKeySequenceHandler()
+{
+    DPRINT_METHODENTRYEXIT;
+}
+
+
+/*!
+  ManufacturerKeySequenceHandler::executeKeySequence.
+ */
+bool ManufacturerKeySequenceHandler::executeKeySequence(
+    const QString &keySequence)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    bool handled = true;
+    
+    if (m_codeToInterfaceMappings.contains(keySequence)) {
+        handled = issueServiceRequest(m_codeToInterfaceMappings[keySequence]);
+    } else {
+        handled = false;
+    }
+    
+    return handled;
+}
+
+
+/*!
+  ManufacturerKeySequenceHandler::issueServiceRequest.
+ */
+bool ManufacturerKeySequenceHandler::issueServiceRequest(
+    const InterfaceDescription &description)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    bool serviceRequestOk = false;
+    if (m_currentRequest.isNull()) {
+        const bool isEmbedded = false;
+        QScopedPointer<XQAiwRequest> request(m_aiwManager.create(
+            description.m_service, 
+            description.m_interface, 
+            description.m_method, 
+            isEmbedded));
+        
+        if (!request.isNull()) {
+            m_currentRequest = request.data();
+            
+            // Due to a Qt Highway bug in assignment operator implementation we
+            // need to set request as asynchronous with a setter function.
+            request->setSynchronous(false);
+            
+            connect(
+                request.data(), SIGNAL(requestOk(const QVariant &)), 
+                this, SLOT(requestOk(const QVariant &)));
+            connect(
+                request.data(), SIGNAL(requestError(int, const QString&)), 
+                this, SLOT(requestError(int, const QString&)));
+            
+            serviceRequestOk = request->send();
+            if (serviceRequestOk) {
+                m_currentRequest = request.take();
+            } else {
+                // On a controlled error Qt Highway should call requestError,
+                // so clean scoped pointer here.
+                request.take();
+            }
+        }
+    }
+    
+    return serviceRequestOk;
+}
+
+
+/*!
+  ManufacturerKeySequenceHandler::requestOk.
+ */
+void ManufacturerKeySequenceHandler::requestOk(
+    const QVariant &returnValue)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    Q_UNUSED(returnValue)
+    
+    delete m_currentRequest;
+    m_currentRequest = 0;
+}
+
+
+/*!
+  ManufacturerKeySequenceHandler::requestError.
+ */
+void ManufacturerKeySequenceHandler::requestError(
+    int error, const QString& errorMessage)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    Q_UNUSED(error)
+    Q_UNUSED(errorMessage)
+    
+    delete m_currentRequest;
+    m_currentRequest = 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/src/simcontrolkeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,202 @@
+/*!
+* 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: Implements simcontrol key sequence handling.
+*
+*/
+
+#include <qsysteminfo.h>
+#include <qmobilityglobal.h>
+#include <secui.h>
+#include <secuimanualsecuritysettings.h>
+#include "keysequencerecognitionservicedefs.h"
+#include "keysequencerecognitionservicelog.h"
+#include "simcontrolkeysequencehandler.h"
+
+
+//QTM_USE_NAMESPACE
+
+/*!
+  SimControlKeySequenceHandler::SimControlKeySequenceHandler.
+ */
+SimControlKeySequenceHandler::SimControlKeySequenceHandler(
+    QObject* parent)
+    :
+    KeySequenceHandler(parent),
+    m_securityModel(0)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    setKeySequenceValidator(KCodeChangePin1 + "|" +
+              KCodeChangePin2 + "|" +
+              KCodeUnblockPin1 + "|" +
+              KCodeUnblockPin2);
+                                    
+    QT_TRAP_THROWING(TSecUi::InitializeLibL());
+    QT_TRAP_THROWING( m_securityModel = CManualSecuritySettings::NewL() );
+}
+
+
+/*!
+  SimControlKeySequenceHandler::~SimControlKeySequenceHandler.
+ */
+SimControlKeySequenceHandler::~SimControlKeySequenceHandler()
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    delete m_securityModel;    
+    TSecUi::UnInitializeLib();
+}
+
+
+/*!
+  SimControlKeySequenceHandler::executeKeySequence.
+ */
+bool SimControlKeySequenceHandler::executeKeySequence(
+    const QString &keySequence)
+{
+    DPRINT_METHODENTRYEXIT;
+   
+    bool handled = parseString( keySequence );
+
+    return handled;
+}
+
+
+/*!
+  SimControlKeySequenceHandler::parseString.
+ */
+bool SimControlKeySequenceHandler::parseString(const QString &keySequence)
+{
+    DPRINT_METHODENTRYEXIT;
+    
+    const QString KChangePin1("**04*");
+    const QString KChangePin2("**042");
+    const QString KUnblockPin1("**05*");
+    const QString KUnblockPin2("**052");
+    
+    QString oldPin;
+    QString newPin;
+    QString verifyNewPin;
+    QString puk;
+    
+    SimOperation operation = None;
+    bool handled = false;
+   
+    QString keySequencePrefix (keySequence);
+    
+    //Get first 5 chars from keysequence string
+    keySequencePrefix.chop(keySequencePrefix.length()-5);
+    QRegExp expression(QRegExp::escape(keySequencePrefix));
+    
+    QString parsedKeySequence(keySequence);
+ 
+    //remove '#' from end 
+    parsedKeySequence.chop(1);
+
+    QStringList pins;
+    
+    if (expression.exactMatch(KChangePin1) || expression.exactMatch(KChangePin2))
+            {
+            if (expression.exactMatch(KChangePin1))
+                  {
+                  parsedKeySequence.remove(0, 5);
+                  operation = Pin1;
+                  }
+            
+            if (expression.exactMatch(KChangePin2))
+                  { 
+                  parsedKeySequence.remove(0, 6);
+                  operation = Pin2;
+                 }
+            pins = parsedKeySequence.split("*");
+            oldPin= pins.value(0);
+            newPin = pins.value(1);
+            verifyNewPin = pins.value(2);
+            handled = true;
+            processChangePin(operation, oldPin, newPin, verifyNewPin);
+            }
+    
+    if (expression.exactMatch(KUnblockPin1) || expression.exactMatch(KUnblockPin2))
+            {
+            if ( expression.exactMatch(KUnblockPin1))
+                  {
+                  parsedKeySequence.remove(0, 5);
+                  operation = Pin1;
+                  }
+            
+            if (expression.exactMatch(KUnblockPin2))
+                  { 
+                  parsedKeySequence.remove(0, 6);
+                  operation = Pin2;
+                 }
+            
+            pins = parsedKeySequence.split("*");
+            puk = pins.value(0);
+            newPin = pins.value(1);
+            verifyNewPin = pins.value(2);
+            handled = true;
+            processUnblockPin(operation, puk, newPin, verifyNewPin);
+            }  
+    
+    return handled;
+}
+
+/*!
+  SimControlKeySequenceHandler::processChangePin.
+ */
+void SimControlKeySequenceHandler::processChangePin(SimOperation operation, const QString &oldPin,
+                                                   const QString &newPin, const QString &verifyNew)
+    {
+    CManualSecuritySettings::TPin pin;
+    
+        if(operation == Pin1)
+            {
+            pin = CManualSecuritySettings::EPin1;
+            }
+        else
+            {
+            pin = CManualSecuritySettings::EPin2;
+            }
+       
+       TBuf<200> oldPinBuf(oldPin.utf16());
+       TBuf<200> newPinBuf(newPin.utf16());                
+       TBuf<200> verifyNewBuf(verifyNew.utf16()); 
+          
+       QT_TRAP_THROWING(m_securityModel->ChangePinL(pin, oldPinBuf, newPinBuf, verifyNewBuf));
+    }
+
+/*!
+  SimControlKeySequenceHandler::processUnblockPin.
+ */
+void SimControlKeySequenceHandler::processUnblockPin(SimOperation operation, const QString &puk, 
+                                                   const QString &newPin, const QString &verifyNew)
+    {
+    CManualSecuritySettings::TPin pin;
+    
+    if(operation == Pin1)
+         {
+          pin = CManualSecuritySettings::EPin1;
+         }
+     else
+         {
+         pin= CManualSecuritySettings::EPin2;
+         }
+    
+    TBuf<200> pukBuf(puk.utf16());
+    TBuf<200> newPinBuf(newPin.utf16());                
+    TBuf<200> verifyNewBuf(verifyNew.utf16()); 
+          
+    
+    QT_TRAP_THROWING(m_securityModel->UnblockPinL(pin, pukBuf, newPinBuf, verifyNewBuf));
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/run_auto_tests_qt.bat	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,194 @@
+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 SBS_CALL=sbs --config winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+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 sbs --config winscw_udeb --keepgoing CLEAN
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -2comp -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
+) else (
+call %SBS_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function 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 --
+    move \epoc32\winscw\c\data\%%a.log %PATH_TO_RESULT%\%%a.log
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | 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/telutils/keysequencerecognitionservice/tsrc/shared/mock_centralrepository.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,628 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <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 )
+    {
+    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 )
+    {
+    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 )
+    {
+    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 )
+    {
+    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 )
+    {
+    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 )
+    {
+    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 )
+    {
+    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 )
+    {
+    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 )
+    {
+    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(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FailTransaction
+// -----------------------------------------------------------------------------
+//
+void CRepository::FailTransaction(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::CleanupFailTransactionPushL
+// -----------------------------------------------------------------------------
+//
+void CRepository::CleanupFailTransactionPushL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_etel.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,1927 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <f32file.h>
+#include "etel.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// RPhone::RPhone
+// -----------------------------------------------------------------------------
+//
+RPhone::RPhone(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::ConstructL
+// -----------------------------------------------------------------------------
+//
+void RPhone::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::Open
+// -----------------------------------------------------------------------------
+//
+TInt RPhone::Open( 
+        RTelServer & aSession,
+        const TDesC & aName )
+    {
+    SMC_MOCK_METHOD2( TInt, RTelServer &, aSession, 
+        const TDesC &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::Close
+// -----------------------------------------------------------------------------
+//
+void RPhone::Close(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::Initialise
+// -----------------------------------------------------------------------------
+//
+TInt RPhone::Initialise(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::Initialise
+// -----------------------------------------------------------------------------
+//
+void RPhone::Initialise( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::InitialiseCancel
+// -----------------------------------------------------------------------------
+//
+void RPhone::InitialiseCancel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::GetCaps
+// -----------------------------------------------------------------------------
+//
+TInt RPhone::GetCaps( 
+        TCaps & aCaps ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TCaps &, aCaps )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::NotifyCapsChange
+// -----------------------------------------------------------------------------
+//
+void RPhone::NotifyCapsChange( 
+        TRequestStatus & aStatus,
+        TCaps & aCaps )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TCaps &, aCaps )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::NotifyCapsChangeCancel
+// -----------------------------------------------------------------------------
+//
+void RPhone::NotifyCapsChangeCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::GetStatus
+// -----------------------------------------------------------------------------
+//
+TInt RPhone::GetStatus( 
+        TStatus & aStatus ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::EnumerateLines
+// -----------------------------------------------------------------------------
+//
+TInt RPhone::EnumerateLines( 
+        TInt & aCount ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TInt &, aCount )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::GetLineInfo
+// -----------------------------------------------------------------------------
+//
+TInt RPhone::GetLineInfo( 
+        const TInt aIndex,
+        TLineInfo & aLineInfo ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TInt, aIndex, 
+        TLineInfo &, aLineInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::GetInfo
+// -----------------------------------------------------------------------------
+//
+TInt RPhone::GetInfo( 
+        TPhoneInfo & aPhoneInfo ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TPhoneInfo &, aPhoneInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::NotifyModemDetected
+// -----------------------------------------------------------------------------
+//
+void RPhone::NotifyModemDetected( 
+        TRequestStatus & aStatus,
+        TModemDetection & aDetection )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TModemDetection &, aDetection )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::NotifyModemDetectedCancel
+// -----------------------------------------------------------------------------
+//
+void RPhone::NotifyModemDetectedCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::SetEmergencyClient
+// -----------------------------------------------------------------------------
+//
+TInt RPhone::SetEmergencyClient( 
+        const TUint32 aEmergencyRequest ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const TUint32, aEmergencyRequest )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RPhone::Destruct
+// -----------------------------------------------------------------------------
+//
+void RPhone::Destruct(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::RCall
+// -----------------------------------------------------------------------------
+//
+RCall::RCall(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::ConstructL
+// -----------------------------------------------------------------------------
+//
+void RCall::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::OpenNewCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::OpenNewCall( 
+        RTelServer & aServer,
+        const TDesC & aName,
+        TDes & aNewName )
+    {
+    SMC_MOCK_METHOD3( TInt, RTelServer &, aServer, 
+        const TDesC &, aName, 
+        TDes &, aNewName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::OpenNewCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::OpenNewCall( 
+        RTelServer & aServer,
+        const TDesC & aName )
+    {
+    SMC_MOCK_METHOD2( TInt, RTelServer &, aServer, 
+        const TDesC &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::OpenNewCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::OpenNewCall( 
+        RPhone & aPhone,
+        const TDesC & aName,
+        TDes & aNewName )
+    {
+    SMC_MOCK_METHOD3( TInt, RPhone &, aPhone, 
+        const TDesC &, aName, 
+        TDes &, aNewName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::OpenNewCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::OpenNewCall( 
+        RPhone & aPhone,
+        const TDesC & aName )
+    {
+    SMC_MOCK_METHOD2( TInt, RPhone &, aPhone, 
+        const TDesC &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::OpenNewCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::OpenNewCall( 
+        RLine & aLine,
+        TDes & aNewName )
+    {
+    SMC_MOCK_METHOD2( TInt, RLine &, aLine, 
+        TDes &, aNewName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::OpenNewCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::OpenNewCall( 
+        RLine & aLine )
+    {
+    SMC_MOCK_METHOD1( TInt, RLine &, aLine )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::OpenExistingCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::OpenExistingCall( 
+        RTelServer & aServer,
+        const TDesC & aName )
+    {
+    SMC_MOCK_METHOD2( TInt, RTelServer &, aServer, 
+        const TDesC &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::OpenExistingCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::OpenExistingCall( 
+        RPhone & aPhone,
+        const TDesC & aName )
+    {
+    SMC_MOCK_METHOD2( TInt, RPhone &, aPhone, 
+        const TDesC &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::OpenExistingCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::OpenExistingCall( 
+        RLine & aLine,
+        const TDesC & aName )
+    {
+    SMC_MOCK_METHOD2( TInt, RLine &, aLine, 
+        const TDesC &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Close
+// -----------------------------------------------------------------------------
+//
+void RCall::Close(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::GetStatus
+// -----------------------------------------------------------------------------
+//
+TInt RCall::GetStatus( 
+        TStatus & aStatus ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::GetCaps
+// -----------------------------------------------------------------------------
+//
+TInt RCall::GetCaps( 
+        TCaps & aCaps ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TCaps &, aCaps )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::NotifyCapsChange
+// -----------------------------------------------------------------------------
+//
+void RCall::NotifyCapsChange( 
+        TRequestStatus & aStatus,
+        TCaps & aCaps )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TCaps &, aCaps )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::NotifyCapsChangeCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::NotifyCapsChangeCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::GetBearerServiceInfo
+// -----------------------------------------------------------------------------
+//
+TInt RCall::GetBearerServiceInfo( 
+        TBearerService & aBearerService ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TBearerService &, aBearerService )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::GetInfo
+// -----------------------------------------------------------------------------
+//
+TInt RCall::GetInfo( 
+        TCallInfo & aCallInfo ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TCallInfo &, aCallInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::NotifyHookChange
+// -----------------------------------------------------------------------------
+//
+void RCall::NotifyHookChange( 
+        TRequestStatus & aStatus,
+        THookStatus & aHookStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        THookStatus &, aHookStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::NotifyHookChangeCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::NotifyHookChangeCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::NotifyStatusChange
+// -----------------------------------------------------------------------------
+//
+void RCall::NotifyStatusChange( 
+        TRequestStatus & aStatus,
+        TStatus & aCallStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TStatus &, aCallStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::NotifyStatusChangeCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::NotifyStatusChangeCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::NotifyCallDurationChange
+// -----------------------------------------------------------------------------
+//
+void RCall::NotifyCallDurationChange( 
+        TRequestStatus & aStatus,
+        TTimeIntervalSeconds & aTime )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TTimeIntervalSeconds &, aTime )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::NotifyCallDurationChangeCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::NotifyCallDurationChangeCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::GetCallDuration
+// -----------------------------------------------------------------------------
+//
+TInt RCall::GetCallDuration( 
+        TTimeIntervalSeconds & aTime ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TTimeIntervalSeconds &, aTime )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Dial
+// -----------------------------------------------------------------------------
+//
+TInt RCall::Dial( 
+        const TTelNumberC & aTelNumber ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const TTelNumberC &, aTelNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Dial
+// -----------------------------------------------------------------------------
+//
+TInt RCall::Dial( 
+        const TDesC8 & aCallParams,
+        const TTelNumberC & aTelNumber ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TDesC8 &, aCallParams, 
+        const TTelNumberC &, aTelNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Dial
+// -----------------------------------------------------------------------------
+//
+void RCall::Dial( 
+        TRequestStatus & aStatus,
+        const TTelNumberC & aTelNumber )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TTelNumberC &, aTelNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Dial
+// -----------------------------------------------------------------------------
+//
+void RCall::Dial( 
+        TRequestStatus & aStatus,
+        const TDesC8 & aCallParams,
+        const TTelNumberC & aTelNumber )
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        const TDesC8 &, aCallParams, 
+        const TTelNumberC &, aTelNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::DialCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::DialCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Connect
+// -----------------------------------------------------------------------------
+//
+TInt RCall::Connect(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Connect
+// -----------------------------------------------------------------------------
+//
+TInt RCall::Connect( 
+        const TDesC8 & aCallParams ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const TDesC8 &, aCallParams )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Connect
+// -----------------------------------------------------------------------------
+//
+void RCall::Connect( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Connect
+// -----------------------------------------------------------------------------
+//
+void RCall::Connect( 
+        TRequestStatus & aStatus,
+        const TDesC8 & aCallParams )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TDesC8 &, aCallParams )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::ConnectCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::ConnectCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::AnswerIncomingCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::AnswerIncomingCall(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::AnswerIncomingCall
+// -----------------------------------------------------------------------------
+//
+TInt RCall::AnswerIncomingCall( 
+        const TDesC8 & aCallParams ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const TDesC8 &, aCallParams )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::AnswerIncomingCall
+// -----------------------------------------------------------------------------
+//
+void RCall::AnswerIncomingCall( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::AnswerIncomingCall
+// -----------------------------------------------------------------------------
+//
+void RCall::AnswerIncomingCall( 
+        TRequestStatus & aStatus,
+        const TDesC8 & aCallParams )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TDesC8 &, aCallParams )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::AnswerIncomingCallCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::AnswerIncomingCallCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::HangUp
+// -----------------------------------------------------------------------------
+//
+TInt RCall::HangUp(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::HangUp
+// -----------------------------------------------------------------------------
+//
+void RCall::HangUp( 
+        TRequestStatus & aStatus ) const
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::HangUpCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::HangUpCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::LoanDataPort
+// -----------------------------------------------------------------------------
+//
+TInt RCall::LoanDataPort( 
+        TCommPort & aDataPort ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TCommPort &, aDataPort )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::LoanDataPort
+// -----------------------------------------------------------------------------
+//
+void RCall::LoanDataPort( 
+        TRequestStatus & aStatus,
+        TCommPort & aDataPort )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TCommPort &, aDataPort )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::LoanDataPortCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::LoanDataPortCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::RecoverDataPort
+// -----------------------------------------------------------------------------
+//
+TInt RCall::RecoverDataPort(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::TransferOwnership
+// -----------------------------------------------------------------------------
+//
+TInt RCall::TransferOwnership(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::AcquireOwnership
+// -----------------------------------------------------------------------------
+//
+void RCall::AcquireOwnership( 
+        TRequestStatus & aStatus ) const
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::AcquireOwnershipCancel
+// -----------------------------------------------------------------------------
+//
+void RCall::AcquireOwnershipCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::GetOwnershipStatus
+// -----------------------------------------------------------------------------
+//
+TInt RCall::GetOwnershipStatus( 
+        TOwnershipStatus & aOwnershipStatus ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TOwnershipStatus &, aOwnershipStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::GetCallParams
+// -----------------------------------------------------------------------------
+//
+TInt RCall::GetCallParams( 
+        TDes8 & aParams ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TDes8 &, aParams )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::GetFaxSettings
+// -----------------------------------------------------------------------------
+//
+TInt RCall::GetFaxSettings( 
+        TFaxSessionSettings & aSettings ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TFaxSessionSettings &, aSettings )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::SetFaxSettings
+// -----------------------------------------------------------------------------
+//
+TInt RCall::SetFaxSettings( 
+        const TFaxSessionSettings & aSettings ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const TFaxSessionSettings &, aSettings )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::AdoptFaxSharedHeaderFile
+// -----------------------------------------------------------------------------
+//
+TInt RCall::AdoptFaxSharedHeaderFile( 
+        const RFile & aSharedFile ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const RFile &, aSharedFile )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::ReferenceCount
+// -----------------------------------------------------------------------------
+//
+TInt RCall::ReferenceCount(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RCall::Destruct
+// -----------------------------------------------------------------------------
+//
+void RCall::Destruct(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::RFax
+// -----------------------------------------------------------------------------
+//
+RFax::RFax(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::ConstructL
+// -----------------------------------------------------------------------------
+//
+void RFax::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::Open
+// -----------------------------------------------------------------------------
+//
+TInt RFax::Open( 
+        RCall & aCall )
+    {
+    SMC_MOCK_METHOD1( TInt, RCall &, aCall )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::Close
+// -----------------------------------------------------------------------------
+//
+void RFax::Close(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::Read
+// -----------------------------------------------------------------------------
+//
+void RFax::Read( 
+        TRequestStatus & aStatus,
+        TDes8 & aDes )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TDes8 &, aDes )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::Write
+// -----------------------------------------------------------------------------
+//
+void RFax::Write( 
+        TRequestStatus & aStatus,
+        const TDesC8 & aDes )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TDesC8 &, aDes )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::WaitForEndOfPage
+// -----------------------------------------------------------------------------
+//
+void RFax::WaitForEndOfPage( 
+        TRequestStatus & aStatus ) const
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::TerminateFaxSession
+// -----------------------------------------------------------------------------
+//
+TInt RFax::TerminateFaxSession(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::GetProgress
+// -----------------------------------------------------------------------------
+//
+TInt RFax::GetProgress( 
+        TProgress & aProgress )
+    {
+    SMC_MOCK_METHOD1( TInt, TProgress &, aProgress )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RFax::Destruct
+// -----------------------------------------------------------------------------
+//
+void RFax::Destruct(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::RLine
+// -----------------------------------------------------------------------------
+//
+RLine::RLine(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::ConstructL
+// -----------------------------------------------------------------------------
+//
+void RLine::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::Open
+// -----------------------------------------------------------------------------
+//
+TInt RLine::Open( 
+        RPhone & aPhone,
+        const TDesC & aName )
+    {
+    SMC_MOCK_METHOD2( TInt, RPhone &, aPhone, 
+        const TDesC &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::Open
+// -----------------------------------------------------------------------------
+//
+TInt RLine::Open( 
+        RTelServer & aServer,
+        const TDesC & aName )
+    {
+    SMC_MOCK_METHOD2( TInt, RTelServer &, aServer, 
+        const TDesC &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::Close
+// -----------------------------------------------------------------------------
+//
+void RLine::Close(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::GetCaps
+// -----------------------------------------------------------------------------
+//
+TInt RLine::GetCaps( 
+        TCaps & aCaps ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TCaps &, aCaps )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyCapsChange
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyCapsChange( 
+        TRequestStatus & aStatus,
+        TCaps & aCaps )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TCaps &, aCaps )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyCapsChangeCancel
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyCapsChangeCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::GetStatus
+// -----------------------------------------------------------------------------
+//
+TInt RLine::GetStatus( 
+        RCall::TStatus & aStatus ) const
+    {
+    SMC_MOCK_METHOD1( TInt, RCall::TStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::GetHookStatus
+// -----------------------------------------------------------------------------
+//
+TInt RLine::GetHookStatus( 
+        RCall::THookStatus & aHookStatus ) const
+    {
+    SMC_MOCK_METHOD1( TInt, RCall::THookStatus &, aHookStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::EnumerateCall
+// -----------------------------------------------------------------------------
+//
+TInt RLine::EnumerateCall( 
+        TInt & aCount ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TInt &, aCount )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::GetCallInfo
+// -----------------------------------------------------------------------------
+//
+TInt RLine::GetCallInfo( 
+        TInt aIndex,
+        TCallInfo & aCallInfo ) const
+    {
+    SMC_MOCK_METHOD2( TInt, TInt, aIndex, 
+        TCallInfo &, aCallInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::GetInfo
+// -----------------------------------------------------------------------------
+//
+TInt RLine::GetInfo( 
+        TLineInfo & aLineInfo ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TLineInfo &, aLineInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyIncomingCall
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyIncomingCall( 
+        TRequestStatus & aStatus,
+        TName & aName )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TName &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyIncomingCallCancel
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyIncomingCallCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyHookChange
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyHookChange( 
+        TRequestStatus & aStatus,
+        RCall::THookStatus & aHookStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        RCall::THookStatus &, aHookStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyHookChangeCancel
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyHookChangeCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyStatusChange
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyStatusChange( 
+        TRequestStatus & aStatus,
+        RCall::TStatus & aLineStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        RCall::TStatus &, aLineStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyStatusChangeCancel
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyStatusChangeCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyCallAdded
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyCallAdded( 
+        TRequestStatus & aStatus,
+        TName & aName )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TName &, aName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::NotifyCallAddedCancel
+// -----------------------------------------------------------------------------
+//
+void RLine::NotifyCallAddedCancel(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RLine::Destruct
+// -----------------------------------------------------------------------------
+//
+void RLine::Destruct(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::RTelSubSessionBase
+// -----------------------------------------------------------------------------
+//
+RTelSubSessionBase::RTelSubSessionBase(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::CancelAsyncRequest
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::CancelAsyncRequest( 
+        TInt aReqToCancel ) const
+    {
+    SMC_MOCK_METHOD1( void, TInt, aReqToCancel )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Blank
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Blank( 
+        const TInt aIpc,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TInt, aIpc, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Blank
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Blank( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD3( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        const TDesC8 & aDes,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD3( TInt, const TInt, aIpc, 
+        const TDesC8 &, aDes, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        const TDesC8 & aDes,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        const TDesC8 &, aDes, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TDes8 & aDes,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD3( TInt, const TInt, aIpc, 
+        TDes8 &, aDes, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        TDes8 & aDes,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        TDes8 &, aDes, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        const TDesC8 & aDes1,
+        const TDesC8 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( TInt, const TInt, aIpc, 
+        const TDesC8 &, aDes1, 
+        const TDesC8 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        const TDesC8 & aDes1,
+        const TDesC8 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        const TDesC8 &, aDes1, 
+        const TDesC8 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TDes8 & aDes1,
+        TDes8 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( TInt, const TInt, aIpc, 
+        TDes8 &, aDes1, 
+        TDes8 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        TDes8 & aDes1,
+        TDes8 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        TDes8 &, aDes1, 
+        TDes8 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        const TDesC16 & aDes,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD3( TInt, const TInt, aIpc, 
+        const TDesC16 &, aDes, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        const TDesC16 & aDes,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        const TDesC16 &, aDes, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TDes16 & aDes,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD3( TInt, const TInt, aIpc, 
+        TDes16 &, aDes, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        TDes16 & aDes,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        TDes16 &, aDes, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        const TDesC16 & aDes1,
+        const TDesC16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( TInt, const TInt, aIpc, 
+        const TDesC16 &, aDes1, 
+        const TDesC16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        const TDesC16 & aDes1,
+        const TDesC16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        const TDesC16 &, aDes1, 
+        const TDesC16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        const TDesC8 & aDes1,
+        const TDesC16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( TInt, const TInt, aIpc, 
+        const TDesC8 &, aDes1, 
+        const TDesC16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        const TDesC8 & aDes1,
+        const TDesC16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        const TDesC8 &, aDes1, 
+        const TDesC16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TDes16 & aDes1,
+        TDes16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( TInt, const TInt, aIpc, 
+        TDes16 &, aDes1, 
+        TDes16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        TDes16 & aDes1,
+        TDes16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        TDes16 &, aDes1, 
+        TDes16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TDes8 & aDes1,
+        TDes16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD4( TInt, const TInt, aIpc, 
+        TDes8 &, aDes1, 
+        TDes16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Get
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::Get( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        TDes8 & aDes1,
+        TDes16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        TDes8 &, aDes1, 
+        TDes16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::SetAndGet
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::SetAndGet( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        const TDesC8 & aDes1,
+        TDes8 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        const TDesC8 &, aDes1, 
+        TDes8 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::SetAndGet
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::SetAndGet( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        TDes8 & aDes1,
+        const TDesC16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        TDes8 &, aDes1, 
+        const TDesC16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::SetAndGet
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::SetAndGet( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        const TDesC8 & aDummyValue,
+        TDes16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        const TDesC8&, aDummyValue, 
+        TDes16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::SetAndGet
+// -----------------------------------------------------------------------------
+//
+void RTelSubSessionBase::SetAndGet( 
+        const TInt aIpc,
+        TRequestStatus & aStatus,
+        const TDesC16 & aDes1,
+        TDes16 & aDes2,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD5( void, const TInt, aIpc, 
+        TRequestStatus &, aStatus, 
+        const TDesC16 &, aDes1, 
+        TDes16 &, aDes2, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::Set
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::Set( 
+        const TInt aIpc,
+        const RFile & aFile,
+        TReqPriorityType aType ) const
+    {
+    SMC_MOCK_METHOD3( TInt, const TInt, aIpc, 
+        const RFile &, aFile, 
+        TReqPriorityType, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::CancelReq
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::CancelReq( 
+        const TInt aIpc,
+        const TInt aIpcToCancel ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TInt, aIpc, 
+        const TInt, aIpcToCancel )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelSubSessionBase::CancelSubSession
+// -----------------------------------------------------------------------------
+//
+TInt RTelSubSessionBase::CancelSubSession(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::RTelServer
+// -----------------------------------------------------------------------------
+//
+RTelServer::RTelServer(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::Connect
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::Connect( 
+        TInt aMessageSlots )
+    {
+    SMC_MOCK_METHOD1( TInt, TInt, aMessageSlots )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::EnumeratePhones
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::EnumeratePhones( 
+        TInt & aNoOfPhones ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TInt &, aNoOfPhones )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::GetPhoneInfo
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::GetPhoneInfo( 
+        const TInt aIndex,
+        TPhoneInfo & aInfo ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TInt, aIndex, 
+        TPhoneInfo &, aInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::GetTsyName
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::GetTsyName( 
+        const TInt aIndexOfPhone,
+        TDes & aTsyName ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TInt, aIndexOfPhone, 
+        TDes &, aTsyName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::LoadPhoneModule
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::LoadPhoneModule( 
+        const TDesC & aFileName ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const TDesC &, aFileName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::UnloadPhoneModule
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::UnloadPhoneModule( 
+        const TDesC & aFileName ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const TDesC &, aFileName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::IsSupportedByModule
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::IsSupportedByModule( 
+        const TDesC & aTsyName,
+        const TInt aMixin,
+        TBool & aResult ) const
+    {
+    SMC_MOCK_METHOD3( TInt, const TDesC &, aTsyName, 
+        const TInt, aMixin, 
+        TBool &, aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::GetTsyVersionNumber
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::GetTsyVersionNumber( 
+        const TDesC & aTsyName,
+        TVersion & aVersion ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TDesC &, aTsyName, 
+        TVersion &, aVersion )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::SetPriorityClient
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::SetPriorityClient(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::SetExtendedErrorGranularity
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::SetExtendedErrorGranularity( 
+        const TErrorGranularity aGranularity ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const TErrorGranularity, aGranularity )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::__DbgMarkHeap
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::__DbgMarkHeap(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::__DbgCheckHeap
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::__DbgCheckHeap( 
+        TInt aCount )
+    {
+    SMC_MOCK_METHOD1( TInt, TInt, aCount )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::__DbgMarkEnd
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::__DbgMarkEnd( 
+        TInt aCount )
+    {
+    SMC_MOCK_METHOD1( TInt, TInt, aCount )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::__DbgFailNext
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::__DbgFailNext( 
+        TInt aCount )
+    {
+    SMC_MOCK_METHOD1( TInt, TInt, aCount )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::__DbgFailNextAvailable
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::__DbgFailNextAvailable( 
+        TBool & aResult )
+    {
+    SMC_MOCK_METHOD1( TInt, TBool &, aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RTelServer::SetPriorityClientV2
+// -----------------------------------------------------------------------------
+//
+TInt RTelServer::SetPriorityClientV2(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_etelmm.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 "etelmm.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+
+
+// -----------------------------------------------------------------------------
+// RMobilePhone::GetMultimodeCaps
+// -----------------------------------------------------------------------------
+//
+TInt RMobilePhone::GetMultimodeCaps( 
+        TUint32 & aCaps ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TUint32 &, aCaps )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMobilePhone::GetCurrentMode
+// -----------------------------------------------------------------------------
+//
+TInt RMobilePhone::GetCurrentMode( 
+        TMobilePhoneNetworkMode & aNetworkMode ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TMobilePhoneNetworkMode &, aNetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMobilePhone::GetSignalStrength
+// -----------------------------------------------------------------------------
+//
+void RMobilePhone::GetSignalStrength( 
+        TRequestStatus & aReqStatus,
+        TInt32 & aSignalStrength,
+        TInt8 & aBar ) const
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aReqStatus, 
+        TInt32 &, aSignalStrength, 
+        TInt8 &, aBar )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMobilePhone::NotifySignalStrengthChange
+// -----------------------------------------------------------------------------
+//
+void RMobilePhone::NotifySignalStrengthChange( 
+        TRequestStatus & aReqStatus,
+        TInt32 & aSignalStrength,
+        TInt8 & aBar ) const
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aReqStatus, 
+        TInt32 &, aSignalStrength, 
+        TInt8 &, aBar )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_hbdevicemessagebox.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,252 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <hbdevicemessagebox.h>
+#include <hbaction.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::HbDeviceMessageBox
+// -----------------------------------------------------------------------------
+//
+HbDeviceMessageBox::HbDeviceMessageBox( 
+        const QString & text,
+        HbMessageBox::MessageBoxType type,
+        QObject * parent )
+    :
+    QObject(parent)
+    {
+    Q_UNUSED(text)
+    Q_UNUSED(type)
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::~HbDeviceMessageBox
+// -----------------------------------------------------------------------------
+//
+HbDeviceMessageBox::~HbDeviceMessageBox(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::question
+// -----------------------------------------------------------------------------
+//
+bool HbDeviceMessageBox::question( 
+        const QString & text,
+        const QString & primaryButtonText,
+        const QString & secondaryButtonText )
+    {
+    SMC_MOCK_METHOD3( bool, const QString &, text, 
+        const QString &, primaryButtonText, 
+        const QString &, secondaryButtonText )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::information
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::information( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::warning
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::warning( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::show
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::show(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::close
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::close(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::exec
+// -----------------------------------------------------------------------------
+//
+const QAction * HbDeviceMessageBox::exec(  )
+    {
+    SMC_MOCK_METHOD0( QAction * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::setText
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::setText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::text
+// -----------------------------------------------------------------------------
+//
+QString HbDeviceMessageBox::text(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::setIconName
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::setIconName( 
+        const QString & iconName )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, iconName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::setIconVisible
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::setIconVisible( bool visible )
+    {
+    SMC_MOCK_METHOD1( void, bool, visible )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::iconVisible
+// -----------------------------------------------------------------------------
+//
+bool HbDeviceMessageBox::iconVisible( ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::setAnimationDefinition
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::setAnimationDefinition( 
+        QString & animationDefinition )
+    {
+    SMC_MOCK_METHOD1( void, QString &, animationDefinition )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::animationDefinition
+// -----------------------------------------------------------------------------
+//
+QString HbDeviceMessageBox::animationDefinition(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::setTimeout
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::setTimeout( 
+        int timeout )
+    {
+    SMC_MOCK_METHOD1( void, int, timeout )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::setTimeout
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::setTimeout( 
+        HbPopup::DefaultTimeout timeout )
+    {
+    SMC_MOCK_METHOD1( void, HbPopup::DefaultTimeout, timeout )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::timeout
+// -----------------------------------------------------------------------------
+//
+int HbDeviceMessageBox::timeout(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::setDismissPolicy
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::setDismissPolicy( 
+        HbPopup::DismissPolicy dismissPolicy )
+    {
+    SMC_MOCK_METHOD1( void, HbPopup::DismissPolicy, dismissPolicy )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::dismissPolicy
+// -----------------------------------------------------------------------------
+//
+HbPopup::DismissPolicy HbDeviceMessageBox::dismissPolicy(  ) const
+    {
+    SMC_MOCK_METHOD0( HbPopup::DismissPolicy )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::aboutToClose
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::aboutToClose(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_imeikeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "imeikeysequencehandler.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// ImeiKeySequenceHandler::ImeiKeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+ImeiKeySequenceHandler::ImeiKeySequenceHandler( 
+        QObject * parent )
+    :
+    KeySequenceHandler(parent),
+    m_messageBox(0)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// ImeiKeySequenceHandler::~ImeiKeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+ImeiKeySequenceHandler::~ImeiKeySequenceHandler(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// ImeiKeySequenceHandler::executeKeySequence
+// -----------------------------------------------------------------------------
+//
+bool ImeiKeySequenceHandler::executeKeySequence( 
+        const QString & keySequence )
+    {
+    SMC_MOCK_METHOD1( bool, const QString &, keySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// ImeiKeySequenceHandler::destroyMessageBox
+// -----------------------------------------------------------------------------
+//
+void ImeiKeySequenceHandler::destroyMessageBox()
+{
+    
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_keysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 "keysequencehandler.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// KeySequenceHandler::KeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+KeySequenceHandler::KeySequenceHandler( 
+        QObject * parent )
+    :
+    QObject(parent),
+    m_keySequenceValidator("")
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// KeySequenceHandler::~KeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+KeySequenceHandler::~KeySequenceHandler(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// KeySequenceHandler::keySequenceValidator
+// -----------------------------------------------------------------------------
+//
+QString KeySequenceHandler::keySequenceValidator(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// KeySequenceHandler::setKeySequenceValidator
+// -----------------------------------------------------------------------------
+//
+void KeySequenceHandler::setKeySequenceValidator( 
+        const QString & validator )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, validator )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_lifetimerkeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "lifetimerkeysequencehandler.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// LifeTimerKeySequenceHandler::LifeTimerKeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+LifeTimerKeySequenceHandler::LifeTimerKeySequenceHandler( 
+        QObject * parent )
+    :
+    KeySequenceHandler(parent),
+    m_messageBox(0), 
+    m_repository(0)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// LifeTimerKeySequenceHandler::~LifeTimerKeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+LifeTimerKeySequenceHandler::~LifeTimerKeySequenceHandler(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// LifeTimerKeySequenceHandler::executeKeySequence
+// -----------------------------------------------------------------------------
+//
+bool LifeTimerKeySequenceHandler::executeKeySequence( 
+        const QString & keySequence )
+    {
+    SMC_MOCK_METHOD1( bool, const QString &, keySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// LifeTimerKeySequenceHandler::destroyMessageBox
+// -----------------------------------------------------------------------------
+//
+void LifeTimerKeySequenceHandler::destroyMessageBox()
+{
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_manufacturerkeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "manufacturerkeysequencehandler.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// ManufacturerKeySequenceHandler::ManufacturerKeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+ManufacturerKeySequenceHandler::ManufacturerKeySequenceHandler( 
+        QObject * parent )
+    :
+    KeySequenceHandler(parent),
+    m_currentRequest(0)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// ManufacturerKeySequenceHandler::~ManufacturerKeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+ManufacturerKeySequenceHandler::~ManufacturerKeySequenceHandler(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// ManufacturerKeySequenceHandler::executeKeySequence
+// -----------------------------------------------------------------------------
+//
+bool ManufacturerKeySequenceHandler::executeKeySequence( 
+        const QString & keySequence )
+    {
+    SMC_MOCK_METHOD1( bool, const QString &, keySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// ManufacturerKeySequenceHandler::requestOk
+// -----------------------------------------------------------------------------
+//
+void ManufacturerKeySequenceHandler::requestOk(
+        const QVariant &/*returnValue*/)
+    {
+        
+    }
+
+
+// -----------------------------------------------------------------------------
+// ManufacturerKeySequenceHandler::requestError
+// -----------------------------------------------------------------------------
+//
+void ManufacturerKeySequenceHandler::requestError(
+        int /*error*/, const QString& /*errorMessage*/)
+    {
+        
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_qsysteminfo.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,614 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <qsysteminfo.h>
+#include <QStringList>
+#include <QSize>
+#include <QFile>
+#include <QTextStream>
+#include <QLocale>
+#include <QLibraryInfo>
+#include <QApplication>
+#include <QDesktopWidget>
+#include <QDebug>
+
+QTM_BEGIN_NAMESPACE
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::QSystemStorageInfo
+// -----------------------------------------------------------------------------
+//
+QSystemStorageInfo::QSystemStorageInfo( QObject * parent )
+    :
+    QObject(parent)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::~QSystemStorageInfo
+// -----------------------------------------------------------------------------
+//
+QSystemStorageInfo::~QSystemStorageInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::totalDiskSpace
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE qlonglong QSystemStorageInfo::totalDiskSpace( 
+        const QString & driveVolume )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE qlonglong, const QString &, driveVolume )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::availableDiskSpace
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE qlonglong QSystemStorageInfo::availableDiskSpace( 
+        const QString & driveVolume )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE qlonglong, const QString &, driveVolume )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::logicalDrives
+// -----------------------------------------------------------------------------
+//
+QStringList QSystemStorageInfo::logicalDrives(  )
+    {
+    SMC_MOCK_METHOD0( QStringList )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::typeForDrive
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE QSystemStorageInfo::DriveType QSystemStorageInfo::typeForDrive( 
+        const QString & driveVolume )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE QSystemStorageInfo::DriveType, const QString &, driveVolume )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::QSystemDeviceInfo
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::QSystemDeviceInfo ( QObject * parent )
+    : 
+    QObject(parent)
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::~QSystemDeviceInfo
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::~QSystemDeviceInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::inputMethodType
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::InputMethodFlags QSystemDeviceInfo::inputMethodType(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::InputMethodFlags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::imei
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::imei(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::imsi
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::imsi(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::manufacturer
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::manufacturer(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::model
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::model(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::productName
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::productName(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::batteryLevel
+// -----------------------------------------------------------------------------
+//
+int QSystemDeviceInfo::batteryLevel(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::batteryStatus
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::BatteryStatus QSystemDeviceInfo::batteryStatus(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::BatteryStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::isDeviceLocked
+// -----------------------------------------------------------------------------
+//
+bool QSystemDeviceInfo::isDeviceLocked(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::simStatus
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::SimStatus QSystemDeviceInfo::simStatus(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::SimStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::currentProfile
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::Profile QSystemDeviceInfo::currentProfile(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::Profile )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::currentPowerState
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::PowerState QSystemDeviceInfo::currentPowerState(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::PowerState )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::connectNotify
+// -----------------------------------------------------------------------------
+//
+void QSystemDeviceInfo::connectNotify(const char *signal)
+{
+    SMC_MOCK_METHOD1( void, const char *, signal )
+}
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::disconnectNotify
+// -----------------------------------------------------------------------------
+//
+void QSystemDeviceInfo::disconnectNotify(const char *signal)
+{
+    SMC_MOCK_METHOD1( void, const char *, signal )
+}
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::QSystemInfo
+// -----------------------------------------------------------------------------
+//
+QSystemInfo::QSystemInfo( QObject * parent )
+    : 
+    QObject(parent)
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::~QSystemInfo
+// -----------------------------------------------------------------------------
+//
+QSystemInfo::~QSystemInfo()
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::currentLanguage
+// -----------------------------------------------------------------------------
+//
+QString QSystemInfo::currentLanguage()
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::availableLanguages
+// -----------------------------------------------------------------------------
+//
+QStringList QSystemInfo::availableLanguages(  )
+    {
+    SMC_MOCK_METHOD0( QStringList )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::currentCountryCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemInfo::currentCountryCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::version
+// -----------------------------------------------------------------------------
+//
+QString QSystemInfo::version( 
+        QSystemInfo::Version type,
+        const QString & parameter )
+    {
+    SMC_MOCK_METHOD2( QString, QSystemInfo::Version, type, 
+        const QString &, parameter )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::hasFeatureSupported
+// -----------------------------------------------------------------------------
+//
+bool QSystemInfo::hasFeatureSupported( 
+        QSystemInfo::Feature feature )
+    {
+    SMC_MOCK_METHOD1( bool, QSystemInfo::Feature, feature )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::connectNotify
+// -----------------------------------------------------------------------------
+//
+void QSystemInfo::connectNotify(const char *signal)
+{
+    SMC_MOCK_METHOD1( void, const char *, signal )
+}
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::disconnectNotify
+// -----------------------------------------------------------------------------
+//
+void QSystemInfo::disconnectNotify(const char *signal)
+{
+    SMC_MOCK_METHOD1( void, const char *, signal )
+}
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::QSystemNetworkInfo
+// -----------------------------------------------------------------------------
+//
+QSystemNetworkInfo::QSystemNetworkInfo( QObject * parent )
+    : 
+    QObject(parent)
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::~QSystemNetworkInfo
+// -----------------------------------------------------------------------------
+//
+QSystemNetworkInfo::~QSystemNetworkInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::networkStatus
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE QSystemNetworkInfo::NetworkStatus QSystemNetworkInfo::networkStatus( 
+        QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE QSystemNetworkInfo::NetworkStatus, 
+        QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::networkSignalStrength
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE int QSystemNetworkInfo::networkSignalStrength( 
+    QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE int, 
+        QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::macAddress
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::macAddress( 
+    QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( QString, QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::currentMode
+// -----------------------------------------------------------------------------
+//
+QSystemNetworkInfo::NetworkMode QSystemNetworkInfo::currentMode(  )
+    {
+    SMC_MOCK_METHOD0( QSystemNetworkInfo::NetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::cellId
+// -----------------------------------------------------------------------------
+//
+int QSystemNetworkInfo::cellId(  )
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::locationAreaCode
+// -----------------------------------------------------------------------------
+//
+int QSystemNetworkInfo::locationAreaCode(  )
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::currentMobileCountryCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::currentMobileCountryCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::currentMobileNetworkCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::currentMobileNetworkCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::homeMobileCountryCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::homeMobileCountryCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::homeMobileNetworkCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::homeMobileNetworkCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::networkName
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE QString QSystemNetworkInfo::networkName( 
+    QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE QString, QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::interfaceForMode
+// -----------------------------------------------------------------------------
+//
+QNetworkInterface QSystemNetworkInfo::interfaceForMode( 
+    QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( QNetworkInterface, QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::connectNotify
+// -----------------------------------------------------------------------------
+//
+void QSystemNetworkInfo::connectNotify( 
+        const char * signal )
+    {
+    SMC_MOCK_METHOD1( void, const char *, signal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::disconnectNotify
+// -----------------------------------------------------------------------------
+//
+void QSystemNetworkInfo::disconnectNotify( 
+        const char * signal )
+    {
+    SMC_MOCK_METHOD1( void, const char *, signal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemScreenSaver::QSystemScreenSaver
+// -----------------------------------------------------------------------------
+//
+QSystemScreenSaver::QSystemScreenSaver ( QObject * parent )
+    :
+    QObject(parent)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemScreenSaver::~QSystemScreenSaver
+// -----------------------------------------------------------------------------
+//
+QSystemScreenSaver::~QSystemScreenSaver(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemScreenSaver::screenSaverInhibited
+// -----------------------------------------------------------------------------
+//
+bool QSystemScreenSaver::screenSaverInhibited(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemScreenSaver::setScreenSaverInhibit
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE bool QSystemScreenSaver::setScreenSaverInhibit(  )
+    {
+    SMC_MOCK_METHOD0( Q_INVOKABLE bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDisplayInfo::QSystemDisplayInfo
+// -----------------------------------------------------------------------------
+//
+QSystemDisplayInfo::QSystemDisplayInfo( 
+        QObject * parent )
+    :
+    QObject( parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDisplayInfo::~QSystemDisplayInfo
+// -----------------------------------------------------------------------------
+//
+QSystemDisplayInfo::~QSystemDisplayInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDisplayInfo::displayBrightness
+// -----------------------------------------------------------------------------
+//
+int QSystemDisplayInfo::displayBrightness( 
+        int screen )
+    {
+    SMC_MOCK_METHOD1( int, int, screen )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDisplayInfo::colorDepth
+// -----------------------------------------------------------------------------
+//
+int QSystemDisplayInfo::colorDepth( 
+        int screen )
+    {
+    SMC_MOCK_METHOD1( int, int, screen )
+    }
+
+#include "moc_qsysteminfo.cpp"
+
+QTM_END_NAMESPACE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_qtranslator.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+#include <QDebug>
+#include <qcoreapplication.h>
+#include <smcmockclassincludes.h>
+#include "qtranslator.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QTranslator::QTranslator
+// -----------------------------------------------------------------------------
+//
+QTranslator::QTranslator( 
+        QObject * parent )
+    :
+    QObject( parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::~QTranslator
+// -----------------------------------------------------------------------------
+//
+QTranslator::~QTranslator(  )
+    {
+    if (QCoreApplication::instance()) 
+        {
+        QCoreApplication::removeTranslator(this);
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::translate
+// -----------------------------------------------------------------------------
+//
+QString QTranslator::translate( 
+        const char * aContext,
+        const char * sourceText,
+        const char * disambiguation ) const
+    {
+    SMC_MOCK_METHOD3( QString, const char *, aContext, 
+        const char *, sourceText, 
+        const char *, disambiguation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::translate
+// -----------------------------------------------------------------------------
+//
+QString QTranslator::translate( 
+        const char * aContext,
+        const char * sourceText,
+        const char * disambiguation,
+        int n ) const
+    {
+    SMC_MOCK_METHOD4( QString, const char *, aContext, 
+        const char *, sourceText, 
+        const char *, disambiguation, 
+        int, n )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::isEmpty
+// -----------------------------------------------------------------------------
+//
+bool QTranslator::isEmpty(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::load
+// -----------------------------------------------------------------------------
+//
+bool QTranslator::load( 
+        const QString & filename,
+        const QString & directory,
+        const QString & search_delimiters,
+        const QString & suffix )
+    {
+    SMC_MOCK_METHOD4( bool, const QString &, filename, 
+        const QString &, directory, 
+        const QString &, search_delimiters, 
+        const QString &, suffix )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QTranslator::load
+// -----------------------------------------------------------------------------
+//
+bool QTranslator::load( 
+        const uchar * data,
+        int len )
+    {
+    SMC_MOCK_METHOD2( bool, const uchar *, data, 
+        int, len )
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_rmmcustomapi.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,1432 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <etelext.h>
+#include <etelmm.h>
+#include <ctsy/rmmcustomapi.h>
+#include "rmmcustomapi.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMmCustomPtrHolder::CMmCustomPtrHolder
+// -----------------------------------------------------------------------------
+//
+CMmCustomPtrHolder::CMmCustomPtrHolder(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMmCustomPtrHolder::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CMmCustomPtrHolder::ConstructL( 
+        const TInt /*aSizeOfPtrArray*/,
+        const TInt /*aSizeOfPtrCArray*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMmCustomPtrHolder::NewL
+// -----------------------------------------------------------------------------
+//
+CMmCustomPtrHolder * CMmCustomPtrHolder::NewL( 
+        const TInt aSizeOfPtrArray,
+        const TInt aSizeOfPtrCArray )
+    {
+    SMC_MOCK_NEWL2( CMmCustomPtrHolder *, const TInt, aSizeOfPtrArray, 
+        const TInt, aSizeOfPtrCArray )
+
+    CMmCustomPtrHolder* self = new( ELeave ) CMmCustomPtrHolder;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CMmCustomPtrHolder::~CMmCustomPtrHolder
+// -----------------------------------------------------------------------------
+//
+CMmCustomPtrHolder::~CMmCustomPtrHolder(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::RMmCustomAPI
+// -----------------------------------------------------------------------------
+//
+RMmCustomAPI::RMmCustomAPI(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ConstructL
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::Open
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::Open( 
+        RMobilePhone & aPhone )
+    {
+    SMC_MOCK_METHOD1( TInt, RMobilePhone &, aPhone )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::Close
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::Close(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SetDriveMode
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SetDriveMode( 
+        TRequestStatus & aStatus,
+        const TSetDriveMode aModeStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TSetDriveMode, aModeStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ActivateSimLock
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::ActivateSimLock( 
+        const TSimLockPassword & aPassWord,
+        const TLockNumber aNumber ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TSimLockPassword &, aPassWord, 
+        const TLockNumber, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ActivateSimLock
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ActivateSimLock( 
+        TRequestStatus & aStatus,
+        const TSimLockPassword & aPassWord,
+        const TLockNumber aNumber ) const
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        const TSimLockPassword &, aPassWord, 
+        const TLockNumber, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::DeActivateSimLock
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::DeActivateSimLock( 
+        const TSimLockPassword & aPassWord,
+        const TLockNumber aNumber ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TSimLockPassword &, aPassWord, 
+        const TLockNumber, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::DeActivateSimLock
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::DeActivateSimLock( 
+        TRequestStatus & aStatus,
+        const TSimLockPassword & aPassWord,
+        const TLockNumber aNumber ) const
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        const TSimLockPassword &, aPassWord, 
+        const TLockNumber, aNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ReadViagHomeZoneParams
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::ReadViagHomeZoneParams( 
+        TViagParams & aParam,
+        TViagElements & aElems ) const
+    {
+    SMC_MOCK_METHOD2( TInt, TViagParams &, aParam, 
+        TViagElements &, aElems )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ReadViagHomeZoneParams
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ReadViagHomeZoneParams( 
+        TRequestStatus & aStatus,
+        TViagParams & aParam,
+        TViagElements & aElems )
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        TViagParams &, aParam, 
+        TViagElements &, aElems )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ReadViagHomeZoneCache
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::ReadViagHomeZoneCache( 
+        TViagCacheRecordId & aId,
+        TViagCacheRecordContent & aRecord ) const
+    {
+    SMC_MOCK_METHOD2( TInt, TViagCacheRecordId &, aId, 
+        TViagCacheRecordContent &, aRecord )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ReadViagHomeZoneCache
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ReadViagHomeZoneCache( 
+        TRequestStatus & aStatus,
+        TViagCacheRecordId & aId,
+        TViagCacheRecordContent & aRecord )
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        TViagCacheRecordId &, aId, 
+        TViagCacheRecordContent &, aRecord )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::WriteViagHomeZoneCache
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::WriteViagHomeZoneCache( 
+        const TViagCacheRecordId & aId,
+        const TViagCacheRecordContent & aRecord ) const
+    {
+    SMC_MOCK_METHOD2( TInt, const TViagCacheRecordId &, aId, 
+        const TViagCacheRecordContent &, aRecord )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SetAlwaysOn
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SetAlwaysOn( 
+        TRequestStatus & aStatus,
+        TSetAlwaysOnMode & aMode ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TSetAlwaysOnMode &, aMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyRauEvent
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyRauEvent( 
+        TRequestStatus & aStatus,
+        TRauEventStatus & aEventStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TRauEventStatus &, aEventStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::WriteViagHomeZoneCache
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::WriteViagHomeZoneCache( 
+        TRequestStatus & aStatus,
+        const TViagCacheRecordId & aId,
+        const TViagCacheRecordContent & aRecord )
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        const TViagCacheRecordId &, aId, 
+        const TViagCacheRecordContent &, aRecord )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyDtmfEvent
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyDtmfEvent( 
+        TRequestStatus & aStatus,
+        TDtmfInfo & aInfo )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TDtmfInfo &, aInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetDiagnosticInfo
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetDiagnosticInfo( 
+        TName & aCallName ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TName &, aCallName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SetAlsBlocked
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::SetAlsBlocked( 
+        const TSetAlsBlock aBlockStatus ) const
+    {
+    SMC_MOCK_METHOD1( TInt, const TSetAlsBlock, aBlockStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SetAlsBlocked
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SetAlsBlocked( 
+        TRequestStatus & aStatus,
+        const TSetAlsBlock aBlockStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TSetAlsBlock, aBlockStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetAlsBlocked
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetAlsBlocked( 
+        TGetAlsBlockStatus & aBlockStatus ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TGetAlsBlockStatus &, aBlockStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetAlsBlocked
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetAlsBlocked( 
+        TRequestStatus & aStatus,
+        TGetAlsBlockStatus & aBlockStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TGetAlsBlockStatus &, aBlockStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetRemoteAlertingToneStatus
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetRemoteAlertingToneStatus( 
+        TRemoteAlertingToneStatus & aToneStatus ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TRemoteAlertingToneStatus &, aToneStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CallOrigin
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::CallOrigin( 
+        TName & aCallName,
+        TCallOrigin & aOrigin ) const
+    {
+    SMC_MOCK_METHOD2( TInt, TName &, aCallName, 
+        TCallOrigin &, aOrigin )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::TerminateCall
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::TerminateCall( 
+        TName & aCallName ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TName &, aCallName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::TerminateCall
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::TerminateCall( 
+        TRequestStatus & aStatus,
+        TName & aCallName )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TName &, aCallName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyAlsBlockedChanged
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyAlsBlockedChanged( 
+        TRequestStatus & aStatus,
+        TGetAlsBlockStatus & aBlockStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TGetAlsBlockStatus &, aBlockStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetCipheringInfo
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetCipheringInfo( 
+        TCipheringInfo & aInfo )
+    {
+    SMC_MOCK_METHOD1( TInt, TCipheringInfo &, aInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetCipheringInfo
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetCipheringInfo( 
+        TRequestStatus & aStatus,
+        TCipheringInfo & aInfo )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TCipheringInfo &, aInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyCipheringInfoChange
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyCipheringInfoChange( 
+        TRequestStatus & aStatus,
+        TCipheringInfo & aInfo )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TCipheringInfo &, aInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyNSPSStatus
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyNSPSStatus( 
+        TRequestStatus & aStatus,
+        TNspsStatus & aNspsStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TNspsStatus &, aNspsStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NetWakeup
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NetWakeup( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CheckAlsPpSupport
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::CheckAlsPpSupport( 
+        TAlsSupport & aSupport ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TAlsSupport &, aSupport )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CheckAlsPpSupport
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::CheckAlsPpSupport( 
+        TRequestStatus & aStatus,
+        TAlsSupport & aSupport )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TAlsSupport &, aSupport )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetNetworkProviderName
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetNetworkProviderName( 
+        TDes & aNetworkProviderName ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TDes &, aNetworkProviderName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetNetworkProviderName
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetNetworkProviderName( 
+        TRequestStatus & aStatus,
+        TDes & aNetworkProviderName )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TDes &, aNetworkProviderName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::IsBlocked
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::IsBlocked( 
+        TSecurityCodeType & aType,
+        TBool & aIsBlocked )
+    {
+    SMC_MOCK_METHOD2( TInt, TSecurityCodeType &, aType, 
+        TBool &, aIsBlocked )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CheckSecurityCode
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::CheckSecurityCode( 
+        const TSecurityCodeType aCode )
+    {
+    SMC_MOCK_METHOD1( TInt, const TSecurityCodeType, aCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CheckSecurityCode
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::CheckSecurityCode( 
+        TRequestStatus & aStatus,
+        const TSecurityCodeType aCode )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TSecurityCodeType, aCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetActivePin
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetActivePin( 
+        RMobilePhone::TMobilePhoneSecurityCode & aActivePin )
+    {
+    SMC_MOCK_METHOD1( void, RMobilePhone::TMobilePhoneSecurityCode &, aActivePin )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetAirTimeDuration
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetAirTimeDuration( 
+        TTimeIntervalSeconds & aTime ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TTimeIntervalSeconds &, aTime )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CheckEmergencyNumber
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::CheckEmergencyNumber( 
+        TEmerNumberCheckMode & aNumMode,
+        TBool & aResult ) const
+    {
+    SMC_MOCK_METHOD2( TInt, TEmerNumberCheckMode &, aNumMode, 
+        TBool &, aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CheckEmergencyNumber
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::CheckEmergencyNumber( 
+        TRequestStatus & aStatus,
+        TEmerNumberCheckMode & aNumMode,
+        TBool & aResult )
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        TEmerNumberCheckMode &, aNumMode, 
+        TBool &, aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ClearCallBlackList
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ClearCallBlackList( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ClearCallBlackList
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::ClearCallBlackList(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SsAdditionalInfoNotification
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SsAdditionalInfoNotification( 
+        TRequestStatus & aStatus,
+        TSsAdditionalInfo & aSsAdditionalInfo )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TSsAdditionalInfo &, aSsAdditionalInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SsRequestCompleteNotification
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SsRequestCompleteNotification( 
+        TRequestStatus & aStatus,
+        TInt & aSsStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TInt &, aSsStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyPndCacheReady
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyPndCacheReady( 
+        TRequestStatus & aStatus,
+        TName & aPndName )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TName &, aPndName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetPndCacheStatus
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetPndCacheStatus( 
+        TRequestStatus & aStatus,
+        RMmCustomAPI::TPndCacheStatus & aPndStatus,
+        const TName & aPndName ) const
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        RMmCustomAPI::TPndCacheStatus &, aPndStatus, 
+        const TName &, aPndName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetOperatorName
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetOperatorName( 
+        TRequestStatus & aStatus,
+        TOperatorNameInfo & aOperatorNameInfo )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TOperatorNameInfo &, aOperatorNameInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetProgrammableOperatorLogo
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetProgrammableOperatorLogo( 
+        TRequestStatus & aStatus,
+        TOperatorId & aOperatorId,
+        TOperatorLogo & aLogo )
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        TOperatorId &, aOperatorId, 
+        TOperatorLogo &, aLogo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyProgrammableOperatorLogoChange
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyProgrammableOperatorLogoChange( 
+        TRequestStatus & aStatus,
+        TOperatorId & aOperatorId )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TOperatorId &, aOperatorId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SatRefreshCompleteNotification
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SatRefreshCompleteNotification( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifySsNetworkEvent
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifySsNetworkEvent( 
+        TRequestStatus & aStatus,
+        TSsTypeAndMode & aSsTypeAndMode,
+        TSsInfo & aSsInfo )
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        TSsTypeAndMode &, aSsTypeAndMode, 
+        TSsInfo &, aSsInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CancelUssdSession
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::CancelUssdSession(  ) const
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CancelUssdSession
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::CancelUssdSession( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CheckTwoDigitDialSupport
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::CheckTwoDigitDialSupport( 
+        TTwoDigitDialSupport & aSupport ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TTwoDigitDialSupport &, aSupport )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::CheckTwoDigitDialSupport
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::CheckTwoDigitDialSupport( 
+        TRequestStatus & aStatus,
+        TTwoDigitDialSupport & aSupport )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TTwoDigitDialSupport &, aSupport )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ResetNetServer
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ResetNetServer(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ResetNetServer
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ResetNetServer( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ReleaseFile
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ReleaseFile( 
+        TRequestStatus & aStatus,
+        const TDesC & aFileName )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TDesC &, aFileName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::RestartFile
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::RestartFile( 
+        TRequestStatus & aStatus,
+        const TDesC & aFileName )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TDesC &, aFileName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::StartSimCbTopicBrowsing
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::StartSimCbTopicBrowsing(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetNextSimCbTopic
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetNextSimCbTopic( 
+        TSimCbTopic & aSimCbTopic )
+    {
+    SMC_MOCK_METHOD1( TInt, TSimCbTopic &, aSimCbTopic )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetNextSimCbTopic
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetNextSimCbTopic( 
+        TRequestStatus & aStatus,
+        TSimCbTopic & aSimCbTopic )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TSimCbTopic &, aSimCbTopic )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::DeleteSimCbTopic
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::DeleteSimCbTopic( 
+        const TUint & aSimCbTopicNumber )
+    {
+    SMC_MOCK_METHOD1( TInt, const TUint &, aSimCbTopicNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::DeleteSimCbTopic
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::DeleteSimCbTopic( 
+        TRequestStatus & aStatus,
+        const TUint & aSimCbTopicNumber )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TUint &, aSimCbTopicNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyNetworkConnectionFailure
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyNetworkConnectionFailure( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SendAPDUReq
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::SendAPDUReq( 
+        TApdu & anAPDUReq )
+    {
+    SMC_MOCK_METHOD1( TInt, TApdu &, anAPDUReq )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SendAPDUReq
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SendAPDUReq( 
+        TRequestStatus & aStatus,
+        TApdu & anAPDUReq )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TApdu &, anAPDUReq )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::DisablePhoneLock
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::DisablePhoneLock( 
+        TRequestStatus & aStatus,
+        RMobilePhone::TMobilePassword & aVerifyCode ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        RMobilePhone::TMobilePassword &, aVerifyCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyEGprsInfoChange
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyEGprsInfoChange( 
+        TRequestStatus & aStatus,
+        TDes8 & aGprsInfo ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TDes8 &, aGprsInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetEGprsInfo
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetEGprsInfo( 
+        TRequestStatus & aStatus,
+        TDes8 & aGprsInfo ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TDes8 &, aGprsInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ReadSimFile
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ReadSimFile( 
+        TRequestStatus & aStatus,
+        TDes8 & aSimFileInfo,
+        TDes8 & aResponseBytes ) const
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        TDes8 &, aSimFileInfo, 
+        TDes8 &, aResponseBytes )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetLifeTime
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetLifeTime( 
+        TDes8 & aLifeTimeInfo ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TDes8 &, aLifeTimeInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetLifeTime
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetLifeTime( 
+        TRequestStatus & aStatus,
+        TDes8 & aLifeTimeInfo ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TDes8 &, aLifeTimeInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::Get3GPBInfo
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::Get3GPBInfo( 
+        TRequestStatus & aStatus,
+        T3GPBInfo & aInfo ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        T3GPBInfo &, aInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetSystemNetworkModes
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetSystemNetworkModes( 
+        TUint32 & aSupportedNetworkModes ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TUint32 &, aSupportedNetworkModes )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetSystemNetworkModes
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetSystemNetworkModes( 
+        TRequestStatus & aStatus,
+        TUint32 & aSupportedNetworkModes ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TUint32 &, aSupportedNetworkModes )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SetSystemNetworkMode
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::SetSystemNetworkMode( 
+        const TNetworkModeCaps aNetworkMode )
+    {
+    SMC_MOCK_METHOD1( TInt, const TNetworkModeCaps, aNetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SetSystemNetworkMode
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SetSystemNetworkMode( 
+        TRequestStatus & aStatus,
+        const TNetworkModeCaps aNetworkMode )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        const TNetworkModeCaps, aNetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetCurrentSystemNetworkModes
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetCurrentSystemNetworkModes( 
+        TUint32 & aCurrentNetworkModes ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TUint32 &, aCurrentNetworkModes )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetCurrentSystemNetworkModes
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetCurrentSystemNetworkModes( 
+        TRequestStatus & aStatus,
+        TUint32 & aCurrentNetworkModes ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TUint32 &, aCurrentNetworkModes )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetSystemNetworkBand
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::GetSystemNetworkBand( 
+        TBandSelection & aSupportedNetworkBand,
+        TNetworkModeCaps & aNetworkMode ) const
+    {
+    SMC_MOCK_METHOD2( TInt, TBandSelection &, aSupportedNetworkBand, 
+        TNetworkModeCaps &, aNetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetSystemNetworkBand
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetSystemNetworkBand( 
+        TRequestStatus & aStatus,
+        TBandSelection & aSupportedNetworkBand,
+        TNetworkModeCaps & aNetworkMode ) const
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        TBandSelection &, aSupportedNetworkBand, 
+        TNetworkModeCaps &, aNetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SetSystemNetworkBand
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::SetSystemNetworkBand( 
+        const TBandSelection aNetworkBand,
+        const TNetworkModeCaps aNetworkMode )
+    {
+    SMC_MOCK_METHOD2( TInt, const TBandSelection, aNetworkBand, 
+        const TNetworkModeCaps, aNetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SetSystemNetworkBand
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SetSystemNetworkBand( 
+        TRequestStatus & aStatus,
+        const TBandSelection aNetworkBand,
+        const TNetworkModeCaps aNetworkMode )
+    {
+    SMC_MOCK_METHOD3( void, TRequestStatus &, aStatus, 
+        const TBandSelection, aNetworkBand, 
+        const TNetworkModeCaps, aNetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::PowerSimOn
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::PowerSimOn( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::PowerSimOff
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::PowerSimOff( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SimWarmReset
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SimWarmReset( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SendAPDUReq
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SendAPDUReq( 
+        TRequestStatus & aStatus,
+        TApduParameters & aParams )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TApduParameters &, aParams )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetATR
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetATR( 
+        TRequestStatus & aStatus,
+        TDes8 & aATR )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TDes8 &, aATR )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetSimCardReaderStatus
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetSimCardReaderStatus( 
+        TRequestStatus & aStatus,
+        TSimCardReaderStatus & aCardReaderStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TSimCardReaderStatus &, aCardReaderStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifySimCardStatus
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifySimCardStatus( 
+        TRequestStatus & aStatus,
+        TSIMCardStatus & aCardStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TSIMCardStatus &, aCardStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetWlanSimAuthenticationData
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetWlanSimAuthenticationData( 
+        TRequestStatus & aReqStatus,
+        TDes8 & aAuthenticationData ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aReqStatus, 
+        TDes8 &, aAuthenticationData )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::SetSimMessageStatusRead
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::SetSimMessageStatusRead( 
+        TTime & aTime,
+        TInt & aTimezoneDiff ) const
+    {
+    SMC_MOCK_METHOD2( void, TTime &, aTime, 
+        TInt &, aTimezoneDiff )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::WriteViagHomeZoneUHZIUESettings
+// -----------------------------------------------------------------------------
+//
+TInt RMmCustomAPI::WriteViagHomeZoneUHZIUESettings( 
+        TViagUHZIUESettings & aSettings ) const
+    {
+    SMC_MOCK_METHOD1( TInt, TViagUHZIUESettings &, aSettings )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::WriteViagHomeZoneUHZIUESettings
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::WriteViagHomeZoneUHZIUESettings( 
+        TRequestStatus & aStatus,
+        TViagUHZIUESettings & aSettings ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TViagUHZIUESettings &, aSettings )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::ReadHSxPAStatus
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::ReadHSxPAStatus( 
+        TRequestStatus & aStatus,
+        THSxPAStatus & aHSxPAStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        THSxPAStatus &, aHSxPAStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::WriteHSxPAStatus
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::WriteHSxPAStatus( 
+        TRequestStatus & aStatus,
+        THSxPAStatus & aHSxPAStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        THSxPAStatus &, aHSxPAStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyHSxPAStatus
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyHSxPAStatus( 
+        TRequestStatus & aStatus,
+        THSxPAStatus & aHSxPAStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        THSxPAStatus &, aHSxPAStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetIccCallForwardingIndicatorStatus
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetIccCallForwardingIndicatorStatus( 
+        TRequestStatus & aReqStatus,
+        TDes8 & aCFIndicators ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aReqStatus, 
+        TDes8 &, aCFIndicators )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyIccCallForwardingStatusChange
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyIccCallForwardingStatusChange( 
+        TRequestStatus & aReqStatus,
+        TDes8 & aCFIndicators )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aReqStatus, 
+        TDes8 &, aCFIndicators )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetCellInfo
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetCellInfo( 
+        TRequestStatus & aStatus,
+        TDes8 & aCellInfo ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TDes8 &, aCellInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyCellInfoChange
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyCellInfoChange( 
+        TRequestStatus & aStatus,
+        TDes8 & aCellInfo ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TDes8 &, aCellInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::GetUSIMServiceSupport
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::GetUSIMServiceSupport( 
+        TRequestStatus & aStatus,
+        TAppSupport & aParams ) const
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TAppSupport &, aParams )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::NotifyRemoteAlertingToneStatusChange
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::NotifyRemoteAlertingToneStatusChange( 
+        TRequestStatus & aStatus,
+        TRemoteAlertingToneStatus & aToneStatus )
+    {
+    SMC_MOCK_METHOD2( void, TRequestStatus &, aStatus, 
+        TRemoteAlertingToneStatus &, aToneStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RMmCustomAPI::Destruct
+// -----------------------------------------------------------------------------
+//
+void RMmCustomAPI::Destruct(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_secui.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <e32std.h>
+#include <eikenv.h>
+#include <bautils.h>
+#include 	<data_caging_path_literals.hrh>
+#include <secui.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// TSecUi::TSecUi
+// -----------------------------------------------------------------------------
+//
+TSecUi::TSecUi(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// TSecUi::ConstructL
+// -----------------------------------------------------------------------------
+//
+void TSecUi::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// TSecUi::InitializeLibL
+// -----------------------------------------------------------------------------
+//
+void TSecUi::InitializeLibL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// TSecUi::UnInitializeLib
+// -----------------------------------------------------------------------------
+//
+void TSecUi::UnInitializeLib(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// TSecUi::CanBeFreed
+// -----------------------------------------------------------------------------
+//
+TBool TSecUi::CanBeFreed(  )
+    {
+    SMC_MOCK_METHOD0( TBool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// TSecUi::IncreaseClientCount
+// -----------------------------------------------------------------------------
+//
+void TSecUi::IncreaseClientCount(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// TSecUi::DecreaseClientCount
+// -----------------------------------------------------------------------------
+//
+void TSecUi::DecreaseClientCount(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_secuimanualsecuritysettings.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "secuimanualsecuritysettings.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::CManualSecuritySettings
+// -----------------------------------------------------------------------------
+//
+CManualSecuritySettings::CManualSecuritySettings(  )
+    //:
+    //CBase( /**/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CManualSecuritySettings::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::NewL
+// -----------------------------------------------------------------------------
+//
+CManualSecuritySettings * CManualSecuritySettings::NewL(  )
+    {
+    SMC_MOCK_NEWL0( CManualSecuritySettings * )
+
+    CManualSecuritySettings* self = new( ELeave ) CManualSecuritySettings;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::~CManualSecuritySettings
+// -----------------------------------------------------------------------------
+//
+CManualSecuritySettings::~CManualSecuritySettings(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::ChangePinL
+// -----------------------------------------------------------------------------
+//
+TBool CManualSecuritySettings::ChangePinL( 
+        TPin aPin,
+        const TDesC & aOld,
+        const TDesC & aNew,
+        const TDesC & aVerifyNew )
+    {
+    SMC_MOCK_METHOD4( TBool, TPin, aPin, 
+        const TDesC &, aOld, 
+        const TDesC &, aNew, 
+        const TDesC &, aVerifyNew )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::CancelChangePin
+// -----------------------------------------------------------------------------
+//
+void CManualSecuritySettings::CancelChangePin(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::UnblockPinL
+// -----------------------------------------------------------------------------
+//
+TBool CManualSecuritySettings::UnblockPinL( 
+        TPin aPin,
+        const TDesC & aPuk,
+        const TDesC & aNew,
+        const TDesC & aVerifyNew )
+    {
+    SMC_MOCK_METHOD4( TBool, TPin, aPin, 
+        const TDesC &, aPuk, 
+        const TDesC &, aNew, 
+        const TDesC &, aVerifyNew )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::CancelUnblockPin
+// -----------------------------------------------------------------------------
+//
+void CManualSecuritySettings::CancelUnblockPin(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::LockSimL
+// -----------------------------------------------------------------------------
+//
+TBool CManualSecuritySettings::LockSimL( 
+        const TDesC & aLockCode,
+        const TDesC & aType )
+    {
+    SMC_MOCK_METHOD2( TBool, const TDesC &, aLockCode, 
+        const TDesC &, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::CancelLockSim
+// -----------------------------------------------------------------------------
+//
+void CManualSecuritySettings::CancelLockSim(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::UnlockSimL
+// -----------------------------------------------------------------------------
+//
+TBool CManualSecuritySettings::UnlockSimL( 
+        const TDesC & aUnlockCode,
+        const TDesC & aType )
+    {
+    SMC_MOCK_METHOD2( TBool, const TDesC &, aUnlockCode, 
+        const TDesC &, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::CancelUnlockSim
+// -----------------------------------------------------------------------------
+//
+void CManualSecuritySettings::CancelUnlockSim(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CManualSecuritySettings::ShowResultNoteL
+// -----------------------------------------------------------------------------
+//
+void CManualSecuritySettings::ShowResultNoteL( 
+        CAknNoteDialog::TTone aTone,
+        TInt aResourceID )
+    {
+    SMC_MOCK_METHOD2( void, CAknNoteDialog::TTone, aTone, 
+        TInt, aResourceID )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_simcontrolkeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 "simcontrolkeysequencehandler.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// SimControlKeySequenceHandler::SimControlKeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+SimControlKeySequenceHandler::SimControlKeySequenceHandler( 
+        QObject * parent )
+    :
+    KeySequenceHandler( parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// SimControlKeySequenceHandler::~SimControlKeySequenceHandler
+// -----------------------------------------------------------------------------
+//
+SimControlKeySequenceHandler::~SimControlKeySequenceHandler(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// SimControlKeySequenceHandler::executeKeySequence
+// -----------------------------------------------------------------------------
+//
+bool SimControlKeySequenceHandler::executeKeySequence( 
+        const QString & keySequence )
+    {
+    SMC_MOCK_METHOD1( bool, const QString &, keySequence )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_tstasksettings.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,72 @@
+/** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include <tstasksettings.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// TsTaskSettings::TsTaskSettings
+// -----------------------------------------------------------------------------
+//
+TsTaskSettings::TsTaskSettings(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// TsTaskSettings::~TsTaskSettings
+// -----------------------------------------------------------------------------
+//
+TsTaskSettings::~TsTaskSettings(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// TsTaskSettings::registerScreenshot
+// -----------------------------------------------------------------------------
+//
+bool TsTaskSettings::registerScreenshot( 
+        const QPixmap & screenshot )
+    {
+    SMC_MOCK_METHOD1( bool, const QPixmap &, screenshot )
+    }
+
+
+// -----------------------------------------------------------------------------
+// TsTaskSettings::unregisterScreenshot
+// -----------------------------------------------------------------------------
+//
+bool TsTaskSettings::unregisterScreenshot(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// TsTaskSettings::setVisibility
+// -----------------------------------------------------------------------------
+//
+bool TsTaskSettings::setVisibility( bool Visibility )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_xqaiwrequest.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,326 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this 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 <qglobal.h>
+#include <smcmockclassincludes.h>
+#include "xqaiwrequest.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::XQAiwRequest( 
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & operation,
+        bool embedded )
+    :
+    QObject()
+    {
+    Q_UNUSED(descriptor)
+    Q_UNUSED(operation)
+    Q_UNUSED(embedded)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::XQAiwRequest( 
+        const QUrl & uri,
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & operation )
+    :
+    QObject( )
+    {
+    Q_UNUSED(uri)
+    Q_UNUSED(descriptor)
+    Q_UNUSED(operation)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::XQAiwRequest( 
+        const QFile & file,
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & operation )
+    :
+    QObject()
+    {
+    Q_UNUSED(file)
+    Q_UNUSED(descriptor)
+    Q_UNUSED(operation)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::XQAiwRequest( 
+        const XQSharableFile & file,
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & operation )
+    :
+    QObject()
+    {
+    Q_UNUSED(file)
+    Q_UNUSED(descriptor)
+    Q_UNUSED(operation)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::~XQAiwRequest
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest::~XQAiwRequest(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::createAction
+// -----------------------------------------------------------------------------
+//
+QAction * XQAiwRequest::createAction(  )
+    {
+    SMC_MOCK_METHOD0( QAction * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setArguments
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setArguments( 
+        const QList<QVariant> & arguments )
+    {
+    SMC_MOCK_METHOD1( void, const QList<QVariant> &, arguments )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::lastError
+// -----------------------------------------------------------------------------
+//
+int XQAiwRequest::lastError(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::lastErrorMessage
+// -----------------------------------------------------------------------------
+//
+const QString & XQAiwRequest::lastErrorMessage(  ) const
+    {
+    SMC_MOCK_METHOD0( const QString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::descriptor
+// -----------------------------------------------------------------------------
+//
+const XQAiwInterfaceDescriptor & XQAiwRequest::descriptor(  ) const
+    {
+    SMC_MOCK_METHOD0( const XQAiwInterfaceDescriptor & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::send
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::send(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::send
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::send( 
+        QVariant & returnValue )
+    {
+    SMC_MOCK_METHOD1( bool, QVariant &, returnValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setEmbedded
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setEmbedded( 
+        bool embedded )
+    {
+    SMC_MOCK_METHOD1( void, bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::isEmbedded
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::isEmbedded(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setOperation
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setOperation( 
+        const QString & operation )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, operation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::operation
+// -----------------------------------------------------------------------------
+//
+const QString & XQAiwRequest::operation(  ) const
+    {
+    SMC_MOCK_METHOD0( const QString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setSynchronous
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setSynchronous( 
+        bool synchronous )
+    {
+    SMC_MOCK_METHOD1( void, bool, synchronous )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::isSynchronous
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::isSynchronous(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setBackground
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setBackground( 
+        bool background )
+    {
+    SMC_MOCK_METHOD1( void, bool, background )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::isBackground
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::isBackground(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::setInfo
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::setInfo( 
+        const XQRequestInfo & requestInfo )
+    {
+    SMC_MOCK_METHOD1( void, const XQRequestInfo &, requestInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::info
+// -----------------------------------------------------------------------------
+//
+XQRequestInfo XQAiwRequest::info(  ) const
+    {
+    SMC_MOCK_METHOD0( XQRequestInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::results
+// -----------------------------------------------------------------------------
+//
+const QVariant & XQAiwRequest::results(  ) const
+    {
+    SMC_MOCK_METHOD0( const QVariant & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::sendExecute
+// -----------------------------------------------------------------------------
+//
+bool XQAiwRequest::sendExecute(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::handleAsyncResponse
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::handleAsyncResponse(const QVariant& value)
+{
+    Q_UNUSED(value);
+}
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::sendFromAction
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::sendFromAction(bool checked)
+{
+    Q_UNUSED(checked);
+}
+
+
+// -----------------------------------------------------------------------------
+// XQAiwRequest::handleAsyncError
+// -----------------------------------------------------------------------------
+//
+void XQAiwRequest::handleAsyncError(int err)
+{
+    Q_UNUSED(err);    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_xqappmgr.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <xqaiwrequest.h>
+#include <xqaiwinterfacedescriptor.h>
+#include <QList>
+#include "xqappmgr.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::XQApplicationManager
+// -----------------------------------------------------------------------------
+//
+XQApplicationManager::XQApplicationManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::~XQApplicationManager
+// -----------------------------------------------------------------------------
+//
+XQApplicationManager::~XQApplicationManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QString & interface,
+        const QString & operation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const QString &, interface, 
+        const QString &, operation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const XQAiwInterfaceDescriptor & implementation,
+        const QString & operation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const XQAiwInterfaceDescriptor &, implementation, 
+        const QString &, operation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QString & service,
+        const QString & interface,
+        const QString & operation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD4( XQAiwRequest *, const QString &, service, 
+        const QString &, interface, 
+        const QString &, operation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const QString & interface,
+        const QString & operation )
+    {
+    SMC_MOCK_METHOD2( QList <XQAiwInterfaceDescriptor >, const QString &, interface, 
+        const QString &, operation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const QString & service,
+        const QString & interface,
+        const QString & operation )
+    {
+    SMC_MOCK_METHOD3( QList <XQAiwInterfaceDescriptor >, const QString &, service, 
+        const QString &, interface, 
+        const QString &, operation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QUrl & url,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD2( XQAiwRequest *, const QUrl &, url, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QUrl & url,
+        const XQAiwInterfaceDescriptor & implementation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const QUrl &, url, 
+        const XQAiwInterfaceDescriptor &, implementation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QFile & file,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD2( XQAiwRequest *, const QFile &, file, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const QFile & file,
+        const XQAiwInterfaceDescriptor & implementation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const QFile &, file, 
+        const XQAiwInterfaceDescriptor &, implementation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const QUrl & uri )
+    {
+    SMC_MOCK_METHOD1( QList <XQAiwInterfaceDescriptor >, const QUrl &, uri )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const QFile & file )
+    {
+    SMC_MOCK_METHOD1( QList <XQAiwInterfaceDescriptor >, const QFile &, file )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::list
+// -----------------------------------------------------------------------------
+//
+QList <XQAiwInterfaceDescriptor > XQApplicationManager::list( 
+        const XQSharableFile & file )
+    {
+    SMC_MOCK_METHOD1( QList <XQAiwInterfaceDescriptor >, const XQSharableFile &, file )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const XQSharableFile & file,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD2( XQAiwRequest *, const XQSharableFile &, file, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::create
+// -----------------------------------------------------------------------------
+//
+XQAiwRequest * XQApplicationManager::create( 
+        const XQSharableFile & file,
+        const XQAiwInterfaceDescriptor & implementation,
+        bool embedded )
+    {
+    SMC_MOCK_METHOD3( XQAiwRequest *, const XQSharableFile &, file, 
+        const XQAiwInterfaceDescriptor &, implementation, 
+        bool, embedded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::lastError
+// -----------------------------------------------------------------------------
+//
+int XQApplicationManager::lastError(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::isRunning
+// -----------------------------------------------------------------------------
+//
+bool XQApplicationManager::isRunning( 
+        const XQAiwInterfaceDescriptor & implementation ) const
+    {
+    SMC_MOCK_METHOD1( bool, const XQAiwInterfaceDescriptor &, implementation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::getDrmAttributes
+// -----------------------------------------------------------------------------
+//
+bool XQApplicationManager::getDrmAttributes( 
+        const QFile & file,
+        const QList<int> & attributeNames,
+        QVariantList & attributeValues )
+    {
+    SMC_MOCK_METHOD3( bool, const QFile &, file, 
+        const QList<int> &, attributeNames, 
+        QVariantList &, attributeValues )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::getDrmAttributes
+// -----------------------------------------------------------------------------
+//
+bool XQApplicationManager::getDrmAttributes( 
+        const XQSharableFile & file,
+        const QList<int> & attributeNames,
+        QVariantList & attributeValues )
+    {
+    SMC_MOCK_METHOD3( bool, const XQSharableFile &, file, 
+        const QList<int> &, attributeNames, 
+        QVariantList &, attributeValues )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQApplicationManager::status
+// -----------------------------------------------------------------------------
+//
+XQApplicationManager::ServiceStatus XQApplicationManager::status( 
+        const XQAiwInterfaceDescriptor & implementation )
+    {
+    SMC_MOCK_METHOD1( ServiceStatus, const XQAiwInterfaceDescriptor &, implementation )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/mock_xqservicerequest.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,284 @@
+/*
+* 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 <QDebug>
+#include <QVariant>
+#include <smcmockclassincludes.h>
+#include <xqservicerequest.h>
+#include <xqrequestinfo.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::XQServiceRequest(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::XQServiceRequest( 
+        const QString & service,
+        const QString & message,
+        const bool & synchronous )
+    {
+    Q_UNUSED(service)
+    Q_UNUSED(message)
+    Q_UNUSED(synchronous)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::XQServiceRequest( 
+        const XQServiceRequest & orig )
+    {
+    Q_UNUSED(orig)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::XQServiceRequest( 
+        const XQAiwInterfaceDescriptor & descriptor,
+        const QString & message,
+        const bool & synchronous )
+    {
+    Q_UNUSED(descriptor)
+    Q_UNUSED(message)
+    Q_UNUSED(synchronous)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::~XQServiceRequest
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest::~XQServiceRequest(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::send
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::send(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::send
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::send( 
+        QVariant & retValue )
+    {
+    SMC_MOCK_METHOD1( bool, QVariant &, retValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::isNull
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::isNull(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setSynchronous
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setSynchronous( 
+        const bool & synchronous )
+    {
+    SMC_MOCK_METHOD1( void, const bool &, synchronous )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::isSynchronous
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::isSynchronous(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setService
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setService( 
+        const QString & service )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, service )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::service
+// -----------------------------------------------------------------------------
+//
+QString XQServiceRequest::service(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setMessage
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setMessage( 
+        const QString & message )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, message )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::message
+// -----------------------------------------------------------------------------
+//
+QString XQServiceRequest::message(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::arguments
+// -----------------------------------------------------------------------------
+//
+const QList <QVariant > & XQServiceRequest::arguments(  ) const
+    {
+    SMC_MOCK_METHOD0( const QList <QVariant > & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setArguments
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setArguments( 
+        const QList<QVariant> & arguments )
+    {
+    SMC_MOCK_METHOD1( void, const QList<QVariant> &, arguments )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::latestError
+// -----------------------------------------------------------------------------
+//
+int XQServiceRequest::latestError(  )
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::setInfo
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::setInfo( 
+        const XQRequestInfo & requestInfo )
+    {
+    SMC_MOCK_METHOD1( void, const XQRequestInfo &, requestInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::info
+// -----------------------------------------------------------------------------
+//
+XQRequestInfo XQServiceRequest::info(  ) const
+    {
+    SMC_MOCK_METHOD0( XQRequestInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::=
+// -----------------------------------------------------------------------------
+//
+XQServiceRequest & XQServiceRequest::operator=( 
+        const XQServiceRequest & orig )
+    {
+    SMC_MOCK_METHOD1( XQServiceRequest &, const XQServiceRequest &, orig )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::serializeArguments
+// -----------------------------------------------------------------------------
+//
+QByteArray XQServiceRequest::serializeArguments( 
+        const XQServiceRequest & request )
+    {
+    SMC_MOCK_METHOD1( QByteArray, const XQServiceRequest &, request )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::deserializeArguments
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::deserializeArguments( 
+        XQServiceRequest & request,
+        const QByteArray & data )
+    {
+    SMC_MOCK_METHOD2( void, XQServiceRequest &, request, 
+        const QByteArray &, data )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::addArg
+// -----------------------------------------------------------------------------
+//
+void XQServiceRequest::addArg(const QVariant& v)
+{
+    Q_UNUSED(v)
+}
+
+
+// -----------------------------------------------------------------------------
+// XQServiceRequest::handleSharableFileArgs
+// -----------------------------------------------------------------------------
+//
+bool XQServiceRequest::handleSharableFileArgs()
+{
+    SMC_MOCK_METHOD0( bool )
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/shared/qtestmains60.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_imeikeysequencehandler/ut_imeikeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,91 @@
+/*!
+* 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 <QtGui>
+#include <QtTest/QtTest>
+#include <qsysteminfo.h>
+#include <hbdevicemessagebox.h>
+#include "ut_imeikeysequencehandler.h"
+#include "imeikeysequencehandler.h"
+#include "keysequencerecognitionservicedefs.h"
+#include "qtestmains60.h"
+
+QTM_USE_NAMESPACE
+
+UT_ImeiKeySequenceHandler::UT_ImeiKeySequenceHandler()
+    : 
+    m_handler(0)
+{
+    
+}
+
+
+UT_ImeiKeySequenceHandler::~UT_ImeiKeySequenceHandler()
+{
+    delete m_handler;
+}
+
+
+void UT_ImeiKeySequenceHandler::init()
+{
+    initialize();
+    
+    m_handler = new ImeiKeySequenceHandler();
+}
+
+
+void UT_ImeiKeySequenceHandler::cleanup()
+{
+    reset();
+    
+    delete m_handler;
+    m_handler = 0;
+}
+
+
+void UT_ImeiKeySequenceHandler::t_keySequenceValidator()
+{
+    expect("KeySequenceHandler::setKeySequenceValidator")
+        .with(QRegExp::escape(KCodeImei));
+    
+    QScopedPointer<ImeiKeySequenceHandler> handler(
+        new ImeiKeySequenceHandler());
+    
+    QVERIFY(verify());
+}
+
+
+void UT_ImeiKeySequenceHandler::t_executeValidKeySequence()
+{
+    const QString KSerialNumber = "1234567890";
+    EXPECT(QtMobility::QSystemDeviceInfo, imei).returns(KSerialNumber);
+    EXPECT(HbDeviceMessageBox, setTimeout).with(HbPopup::NoTimeout);
+    EXPECT(HbDeviceMessageBox, show);
+    bool handled = m_handler->executeKeySequence(KCodeImei);
+    QCOMPARE(handled, true);
+    QVERIFY(verify());
+}
+
+
+void UT_ImeiKeySequenceHandler::t_executeInvalidKeySequence()
+{
+    const QString KUnknownSequence("123");
+    bool handled = m_handler->executeKeySequence(KUnknownSequence);
+    QCOMPARE(handled, false);
+}
+
+QTEST_MAIN_S60(UT_ImeiKeySequenceHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_imeikeysequencehandler/ut_imeikeysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_IMEIKEYSEQUENCEHANDLER_H
+#define UT_IMEIKEYSEQUENCEHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class ImeiKeySequenceHandler;
+
+class UT_ImeiKeySequenceHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_ImeiKeySequenceHandler();
+    ~UT_ImeiKeySequenceHandler();
+    
+private slots:
+
+    void init();
+    void cleanup();
+
+    void t_keySequenceValidator();
+    void t_executeValidKeySequence();
+    void t_executeInvalidKeySequence();
+    
+private:
+    ImeiKeySequenceHandler *m_handler;
+};
+
+#endif  // UT_IMEIKEYSEQUENCEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_imeikeysequencehandler/ut_imeikeysequencehandler.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,47 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET =
+MOC_DIR = moc
+CONFIG += hb qtestlib
+DEFINES += QT_NO_DEBUG_STREAM
+DEFINES += QT_BUILD_SYSINFO_LIB QT_MAKEDLL
+
+QT -= gui
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += . ../shared ../../inc
+    
+    HEADERS += ../../inc/imeikeysequencehandler.h
+    SOURCES += ../../src/imeikeysequencehandler.cpp
+
+    HEADERS += ut_imeikeysequencehandler.h
+    SOURCES += ut_imeikeysequencehandler.cpp
+    
+    #MOCKED DEPENDENCIES
+    HEADERS +=                                  \
+        ../../inc/keysequencehandler.h          \
+        /epoc32/include/mw/qsysteminfo.h
+    SOURCES +=                                  \ 
+        ../shared/mock_keysequencehandler.cpp   \
+        ../shared/mock_qsysteminfo.cpp          \
+        ../shared/mock_hbdevicemessagebox.cpp
+    
+    LIBS += -lmocklib -lsymbianmock -lxqserviceutil
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_keysequencehandler/ut_keysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,77 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+#include "ut_keysequencehandler.h"
+#include "keysequencehandler.h"
+#include "qtestmains60.h"
+
+bool TestClassDriver::executeKeySequence(const QString &keySequence)
+{
+    Q_UNUSED(keySequence)
+    return true;
+}
+
+void TestClassDriver::setKeySequenceValidator(const QString &validator)
+{
+    KeySequenceHandler::setKeySequenceValidator(validator);
+}
+
+UT_KeySequenceHandler::UT_KeySequenceHandler()
+    :
+    m_handler(0)
+{
+    
+}
+
+UT_KeySequenceHandler::~UT_KeySequenceHandler()
+{
+    
+}
+
+void UT_KeySequenceHandler::init()
+{
+    initialize();
+    
+    m_handler = new TestClassDriver();
+}
+
+void UT_KeySequenceHandler::cleanup()
+{
+    reset();
+    
+    delete m_handler;
+    m_handler = 0;
+}
+
+
+void UT_KeySequenceHandler::t_keySequenceValidator()
+{
+    QString validator = m_handler->keySequenceValidator();
+    QCOMPARE(validator, QString(""));
+}
+
+
+void UT_KeySequenceHandler::t_setKeySequenceValidator()
+{
+    const QString KValidatorString = "123";
+    m_handler->setKeySequenceValidator(KValidatorString);
+    QCOMPARE(m_handler->keySequenceValidator(), KValidatorString);
+}
+
+QTEST_MAIN_S60(UT_KeySequenceHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_keysequencehandler/ut_keysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_KEYSEQUENCEHANDLER_H
+#define UT_KEYSEQUENCEHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+#include "keysequencehandler.h"
+
+class TestClassDriver;
+
+class TestClassDriver : public KeySequenceHandler
+{
+public:
+    bool executeKeySequence(const QString &keySequence);
+    void setKeySequenceValidator(const QString &validator);  
+};
+
+class UT_KeySequenceHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_KeySequenceHandler();
+    ~UT_KeySequenceHandler();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_keySequenceValidator();
+    void t_setKeySequenceValidator();
+    
+private:
+    TestClassDriver *m_handler;
+};
+
+#endif  // UT_KEYSEQUENCEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_keysequencehandler/ut_keysequencehandler.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,37 @@
+#
+# 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:
+#
+#
+
+TEMPLATE = app
+TARGET =
+MOC_DIR = moc
+CONFIG += hb qtestlib
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += . ../shared ../../inc
+    
+    HEADERS += ../../inc/keysequencehandler.h
+    SOURCES += ../../src/keysequencehandler.cpp
+
+    HEADERS += ut_keysequencehandler.h
+    SOURCES += ut_keysequencehandler.cpp
+    
+    LIBS += -lmocklib -lsymbianmock -lxqserviceutil
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_keysequencerecognitionprovider/ut_keysequencerecognitionprov.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = ut_keysequencerecognitionprovider
+CONFIG += hb qtestlib
+MOC_DIR = moc
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += . ../shared ../../inc
+    
+    HEADERS += ../../inc/keysequencerecognitionprovider.h
+    SOURCES += ../../src/keysequencerecognitionprovider.cpp
+
+    HEADERS += ut_keysequencerecognitionprovider.h
+    SOURCES += ut_keysequencerecognitionprovider.cpp
+    
+    #MOCKED DEPENDENCIES
+    HEADERS +=                                            \
+        ../../inc/keysequencehandler.h                    \
+        ../../inc/imeikeysequencehandler.h                \
+        ../../inc/lifetimerkeysequencehandler.h           \
+        ../../inc/manufacturerkeysequencehandler.h        \
+        ../../inc/simcontrolkeysequencehandler.h
+    
+    SOURCES +=                                            \
+        ../shared/mock_qtranslator.cpp                    \
+        ../shared/mock_keysequencehandler.cpp             \
+        ../shared/mock_imeikeysequencehandler.cpp         \
+        ../shared/mock_lifetimerkeysequencehandler.cpp    \
+        ../shared/mock_manufacturerkeysequencehandler.cpp \
+        ../shared/mock_simcontrolkeysequencehandler.cpp   \
+        ../shared/mock_centralrepository.cpp              \
+        ../shared/mock_tstasksettings.cpp
+
+    LIBS += -lmocklib -lsymbianmock -lxqservice -lxqserviceutil
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_keysequencerecognitionprovider/ut_keysequencerecognitionprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,147 @@
+/*!
+* 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 <QtGui>
+#include <QtTest/QtTest>
+#include <QTranslator>
+#include <smcmockclassincludes.h>
+#include "ut_keysequencerecognitionprovider.h"
+#include "keysequencerecognitionprovider.h"
+#include "keysequencehandler.h"
+#include "qtestmains60.h"
+
+void QCoreApplication::installTranslator(QTranslator * messageFile)
+{
+    SMC_MOCK_METHOD1( void, QTranslator *, messageFile)
+}
+
+
+UT_KeySequenceRecognitionProvider::UT_KeySequenceRecognitionProvider()
+    :
+    m_provider(0)
+{
+    
+}
+
+
+UT_KeySequenceRecognitionProvider::~UT_KeySequenceRecognitionProvider()
+{
+    delete m_provider;
+}
+
+
+void UT_KeySequenceRecognitionProvider::init()
+{
+    initialize();
+    QT_TRAP_THROWING(SmcDefaultValue<QString>::SetL(QString("")))
+    
+    m_provider = new KeySequenceRecognitionProvider();
+}
+
+
+void UT_KeySequenceRecognitionProvider::cleanup()
+{
+    reset();
+    SmcDefaultValue<QString>::Reset();
+    
+    delete m_provider;
+    m_provider = 0;
+}
+
+
+void UT_KeySequenceRecognitionProvider::t_setupLocalization()
+{
+    // localization setup ok
+    EXPECT(QTranslator, load).returns(true);
+    EXPECT(QCoreApplication, installTranslator).times(1);
+    
+    QScopedPointer<KeySequenceRecognitionProvider> provider1(
+        new KeySequenceRecognitionProvider());
+    
+    QVERIFY(verify());
+    
+    // localization setup fails
+    EXPECT(QTranslator, load).returns(false);
+    EXPECT(QCoreApplication, installTranslator).times(0);
+    
+    QScopedPointer<KeySequenceRecognitionProvider> provider2(
+        new KeySequenceRecognitionProvider());
+    
+    QVERIFY(verify());
+}
+
+
+void UT_KeySequenceRecognitionProvider::t_keySequenceValidator()
+{
+    QString KExpectedValidator = "1|2|3";
+    EXPECT(KeySequenceHandler, keySequenceValidator)
+        .returns(QString("1"));
+    EXPECT(KeySequenceHandler, keySequenceValidator)
+        .returns(QString("2"));
+    EXPECT(KeySequenceHandler, keySequenceValidator)
+        .returns(QString("3"));
+    
+    QString actualValidator = m_provider->keySequenceValidator();
+    
+    QCOMPARE(actualValidator, KExpectedValidator);
+    QVERIFY(verify());
+    
+    // second query should not require validator string construction again
+    EXPECT(KeySequenceHandler, keySequenceValidator).times(0);
+    actualValidator = m_provider->keySequenceValidator();
+    QCOMPARE(actualValidator, KExpectedValidator);
+    QVERIFY(verify());
+}
+
+
+void UT_KeySequenceRecognitionProvider::t_keySequenceValidatorEmptyString()
+{
+    QString KExpectedValidator = "";
+    EXPECT(KeySequenceHandler, keySequenceValidator)
+        .returns(QString(""));
+    EXPECT(KeySequenceHandler, keySequenceValidator)
+        .returns(QString(""));
+    EXPECT(KeySequenceHandler, keySequenceValidator)
+        .returns(QString(""));
+    
+    QString actualValidator = m_provider->keySequenceValidator();
+    
+    QCOMPARE(actualValidator, KExpectedValidator);
+    QVERIFY(verify());
+}
+
+
+void UT_KeySequenceRecognitionProvider::t_executeValidKeySequence()
+{
+    QT_TRAP_THROWING(SmcDefaultValue<bool>::SetL(true))
+    
+    bool handled = m_provider->executeKeySequence("123");
+    
+    SmcDefaultValue<bool>::Reset();
+    QCOMPARE(handled, true);
+    QVERIFY(verify());
+}
+
+
+void UT_KeySequenceRecognitionProvider::t_executeInvalidKeySequence()
+{
+    bool handled = m_provider->executeKeySequence("123");
+    
+    QCOMPARE(handled, false);
+}
+
+QTEST_MAIN_S60(UT_KeySequenceRecognitionProvider)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_keysequencerecognitionprovider/ut_keysequencerecognitionprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_KEYSEQUENCERECOGNITIONPROVIDER_H
+#define UT_KEYSEQUENCERECOGNITIONPROVIDER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class KeySequenceRecognitionProvider;
+
+class UT_KeySequenceRecognitionProvider : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_KeySequenceRecognitionProvider();
+    ~UT_KeySequenceRecognitionProvider();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_setupLocalization();
+    void t_keySequenceValidator();
+    void t_keySequenceValidatorEmptyString();
+    void t_executeValidKeySequence();
+    void t_executeInvalidKeySequence();
+    
+private:
+    KeySequenceRecognitionProvider *m_provider;
+};
+
+#endif  // UT_KEYSEQUENCERECOGNITIONPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_lifetimerkeysequencehandler/ut_lifetimerkeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,181 @@
+/*!
+* 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 <QtGui>
+#include <QtTest/QtTest>
+#include <hbdevicemessagebox.h>
+#include <centralrepository.h>
+#include <etel.h>
+#include <etelmm.h>
+#include <rmmcustomapi.h>
+#include <mmtsy_names.h>
+#include "ut_lifetimerkeysequencehandler.h"
+#include "lifetimerkeysequencehandler.h"
+#include "keysequencerecognitionservicedefs.h"
+#include "telservicesinternalcrkeys.h"
+#include "telservicesvariant.hrh"
+#include "qtestmains60.h"
+
+void generateLeaveL()
+{
+    User::Leave(KErrUnknown);
+}
+
+UT_LifeTimerKeySequenceHandler::UT_LifeTimerKeySequenceHandler()
+    :
+    m_handler(0)
+{
+    
+}
+
+
+UT_LifeTimerKeySequenceHandler::~UT_LifeTimerKeySequenceHandler()
+{
+    delete m_handler;
+}
+
+
+void UT_LifeTimerKeySequenceHandler::setLifeTimerData(
+    TUint32 aKey,
+    TInt & aValue )
+{
+    if (KTelSrvVariationFlags == aKey) {
+        aValue = KTelSrvLVFlagLifeTimer;
+    }
+}
+
+
+void UT_LifeTimerKeySequenceHandler::setLifeTimeData(
+    TDes8& aLifeTimeInfo)
+{
+    RMmCustomAPI::TLifeTimeDataPckg &pckg = 
+        reinterpret_cast<RMmCustomAPI::TLifeTimeDataPckg&>(aLifeTimeInfo);
+    pckg.Copy(aLifeTimeInfo);
+    pckg().iHours = 999;
+    pckg().iMinutes = 59;
+}
+
+
+void UT_LifeTimerKeySequenceHandler::init()
+{
+    initialize();
+    
+    m_handler = new LifeTimerKeySequenceHandler();
+}
+
+
+void UT_LifeTimerKeySequenceHandler::cleanup()
+{
+    reset();
+    
+    delete m_handler;
+    m_handler = 0;
+}
+
+
+void UT_LifeTimerKeySequenceHandler::t_constructionFails()
+{
+    EXPECT(CRepository, NewL).willOnce(invoke(generateLeaveL));
+    
+    int result = 0;
+    QT_TRYCATCH_ERROR(result, 
+        QScopedPointer<LifeTimerKeySequenceHandler> handler(
+            new LifeTimerKeySequenceHandler())
+    )
+    QVERIFY(0 != result);
+}
+
+
+void UT_LifeTimerKeySequenceHandler::t_keySequenceValidator()
+{
+    // life timer feature enabled scenario
+    EXPECT(CRepository, Get)
+        .willOnce(invoke(this, setLifeTimerData))
+        .returns(KErrNone);
+    expect("KeySequenceHandler::setKeySequenceValidator")
+        .with(QRegExp::escape(KCodeLifeTimer));
+    
+    QScopedPointer<LifeTimerKeySequenceHandler> handler1(
+        new LifeTimerKeySequenceHandler());
+    
+    QVERIFY(verify());
+    
+    // life timer feature not enabled scenario
+    EXPECT(CRepository, Get).returns(KErrNotFound);
+    expect("KeySequenceHandler::setKeySequenceValidator").times(0);
+    
+    QScopedPointer<LifeTimerKeySequenceHandler> handler2(
+        new LifeTimerKeySequenceHandler());
+    
+    QVERIFY(verify());
+}
+
+
+void UT_LifeTimerKeySequenceHandler::t_executeValidKeySequence()
+{
+    EXPECT(CRepository, Get)
+        .willOnce(invoke(this, setLifeTimerData))
+        .returns(KErrNone);
+    EXPECT(RMmCustomAPI, GetLifeTime)
+        .willOnce(invoke(this, setLifeTimeData));
+    
+    EXPECT(HbDeviceMessageBox, setTimeout).with(HbPopup::NoTimeout);
+    EXPECT(HbDeviceMessageBox, show);
+    bool handled = m_handler->executeKeySequence(KCodeLifeTimer);
+    QCOMPARE(handled, true);
+    
+    QVERIFY(verify());
+}
+
+
+void UT_LifeTimerKeySequenceHandler::t_executeInvalidKeySequence()
+{
+    const QString KUnknownSequence("123");
+    bool handled = m_handler->executeKeySequence(KUnknownSequence);
+    QCOMPARE(handled, false);
+}
+
+
+void UT_LifeTimerKeySequenceHandler::t_executeKeySequenceEtelConnectionCreationFails()
+{
+    EXPECT(CRepository, Get)
+        .willOnce(invoke(this, setLifeTimerData))
+        .returns(KErrNone);
+    EXPECT(RTelServer, Connect).willOnce(invoke(generateLeaveL));
+    
+    int result = 0;
+    QT_TRYCATCH_ERROR(result, m_handler->executeKeySequence(KCodeLifeTimer));
+    
+    QVERIFY(0 != result);
+    QVERIFY(verify());
+}
+
+
+void UT_LifeTimerKeySequenceHandler::t_executeKeySequenceLifeTimeDataQueryFails()
+{
+    EXPECT(CRepository, Get)
+        .willOnce(invoke(this, setLifeTimerData))
+        .returns(KErrNone);
+    EXPECT(RMmCustomAPI, GetLifeTime).returns(KErrArgument);
+    
+    bool handled = m_handler->executeKeySequence(KCodeLifeTimer);
+    
+    QCOMPARE(handled, true);
+    QVERIFY(verify());
+}
+
+QTEST_MAIN_S60(UT_LifeTimerKeySequenceHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_lifetimerkeysequencehandler/ut_lifetimerkeysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_LIFETIMERKEYSEQUENCEHANDLER_H
+#define UT_LIFETIMERKEYSEQUENCEHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+#include <etel.h>
+
+class LifeTimerKeySequenceHandler;
+
+class UT_LifeTimerKeySequenceHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_LifeTimerKeySequenceHandler();
+    ~UT_LifeTimerKeySequenceHandler();
+
+private:
+    void setLifeTimerData(
+        TUint32 aKey,
+        TInt & aValue );
+    void setMobilePhoneCount(
+        TInt & aNoOfPhones);
+    void setMobilePhoneInfo(
+        const TInt aIndex,
+        RTelServer::TPhoneInfo & aInfo );
+    void setLifeTimeData(
+        TDes8& aLifeTimeInfo);
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_constructionFails();
+    void t_keySequenceValidator();
+    void t_executeValidKeySequence();
+    void t_executeInvalidKeySequence();
+    void t_executeKeySequenceEtelConnectionCreationFails();
+    void t_executeKeySequenceLifeTimeDataQueryFails();
+    
+private:
+    LifeTimerKeySequenceHandler *m_handler;
+};
+
+#endif  // UT_LIFETIMERKEYSEQUENCEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_lifetimerkeysequencehandler/ut_lifetimerkeysequencehandler.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,49 @@
+#
+# 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:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += ../../../../inc
+
+MOC_DIR = moc
+CONFIG += hb qtestlib
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += . ../shared ../../inc
+
+    HEADERS += ../../inc/lifetimerkeysequencehandler.h
+    SOURCES += ../../src/lifetimerkeysequencehandler.cpp
+
+    HEADERS += ut_lifetimerkeysequencehandler.h
+    SOURCES += ut_lifetimerkeysequencehandler.cpp
+
+    #MOCKED DEPENDENCIES
+    HEADERS += ../../inc/keysequencehandler.h
+    SOURCES +=                                    \
+        ../shared/mock_keysequencehandler.cpp     \
+        ../shared/mock_centralrepository.cpp      \
+        ../shared/mock_hbdevicemessagebox.cpp     \
+        ../shared/mock_etel.cpp                   \
+        ../shared/mock_rmmcustomapi.cpp
+
+    LIBS += -lmocklib -lsymbianmock -lxqserviceutil
+    LIBS += -letel -letelmm -lcustomapi
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_manufacturerkeysequencehandler/ut_manufacturerkeysequencehandle.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,49 @@
+#
+# 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:
+#
+#
+
+TEMPLATE = app
+TARGET = ut_manufacturerkeysequencehandler
+MOC_DIR = moc
+CONFIG += hb qtestlib
+DEFINES += QT_NO_DEBUG_STREAM
+DEFINES += XQ_BUILD_XQSERVICE_LIB
+
+QT -= gui
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += . ../shared ../../inc
+    HEADERS += ../../inc/manufacturerkeysequencehandler.h
+    SOURCES += ../../src/manufacturerkeysequencehandler.cpp
+
+    HEADERS += ut_manufacturerkeysequencehandler.h
+    SOURCES += ut_manufacturerkeysequencehandler.cpp
+    
+    #MOCKED DEPENDENCIES
+    HEADERS +=                                  \ 
+        ../../inc/keysequencehandler.h          \
+        /epoc32/include/mw/xqappmgr.h           \
+        /epoc32/include/mw/xqservicerequest.h   \
+        /epoc32/include/mw/xqaiwrequest.h
+  SOURCES +=                                    \ 
+      ../shared/mock_keysequencehandler.cpp     \
+      ../shared/mock_xqappmgr.cpp               \
+      ../shared/mock_xqservicerequest.cpp       \
+      ../shared/mock_xqaiwrequest.cpp
+    
+    LIBS += -lmocklib -lsymbianmock -lxqserviceutil
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_manufacturerkeysequencehandler/ut_manufacturerkeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,270 @@
+/*!
+* 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 <QtGui>
+#include <QtTest/QtTest>
+#include "ut_manufacturerkeysequencehandler.h"
+#define private friend class UT_ManufacturerKeySequenceHandler;private
+#include "manufacturerkeysequencehandler.h"
+#include "keysequencerecognitionservicedefs.h"
+#include "qtestmains60.h"
+
+const bool KIsEmbedded = false;
+
+void generateException()
+{
+    qBadAlloc();
+}
+
+UT_ManufacturerKeySequenceHandler::UT_ManufacturerKeySequenceHandler()
+    :
+    m_handler(0)
+{
+    
+}
+
+
+UT_ManufacturerKeySequenceHandler::~UT_ManufacturerKeySequenceHandler()
+{
+    delete m_handler;
+}
+
+
+void UT_ManufacturerKeySequenceHandler::init()
+{
+    initialize();
+    
+    m_handler = new ManufacturerKeySequenceHandler();
+}
+
+
+void UT_ManufacturerKeySequenceHandler::cleanup()
+{
+    reset();
+    
+    delete m_handler;
+    m_handler = 0;
+}
+
+
+void UT_ManufacturerKeySequenceHandler::t_keySequenceValidator()
+{
+    QString expectedValidator =
+        QRegExp::escape(KCodeSwVersion) + "|" +
+        QRegExp::escape(KCodeActivateRfsNormal)  + "|" +
+        QRegExp::escape(KCodeActivateRfsDeep) + "|" +
+        QRegExp::escape(KCodeBtAddress) + "|" +
+        QRegExp::escape(KCodeRFLoopback);
+    
+    expect("KeySequenceHandler::setKeySequenceValidator")
+        .with(expectedValidator);
+    
+    QScopedPointer<ManufacturerKeySequenceHandler> handler(
+        new ManufacturerKeySequenceHandler());
+    
+    QVERIFY(verify());
+}
+
+
+void UT_ManufacturerKeySequenceHandler::t_executeKeySequenceDeviceManagerCodes()
+{
+    XQAiwInterfaceDescriptor dummyDescriptor;
+    QPointer<XQAiwRequest> request =
+        new XQAiwRequest(dummyDescriptor, QString(""), KIsEmbedded);
+    EXPECT(XQApplicationManager, create)
+        .with(
+            QString("com.nokia.services"), QString("devicemanager"), 
+            QString("showVersionNumber()"), KIsEmbedded)
+        .returns(request.data());
+    EXPECT(XQAiwRequest, send).returns(true);
+    
+    bool handled = m_handler->executeKeySequence(KCodeSwVersion);
+    
+    QVERIFY(verify());
+    emit request->requestOk(QVariant(true));
+    QVERIFY(request.isNull());
+    QCOMPARE(handled, true);
+}
+
+
+void UT_ManufacturerKeySequenceHandler::t_executeKeySequenceFactoryResetCodes()
+{
+    XQAiwInterfaceDescriptor dummyDescriptor;
+    QPointer<XQAiwRequest> request =
+        new XQAiwRequest(dummyDescriptor, QString(""), KIsEmbedded);
+    EXPECT(XQApplicationManager, create)
+        .with(
+            QString("com.nokia.symbian"), QString("IFactoryReset"), 
+            QString("showResetUi()"), KIsEmbedded)
+        .returns(request.data());
+    EXPECT(XQAiwRequest, send).returns(true);
+    
+    bool handled = m_handler->executeKeySequence(KCodeActivateRfsNormal);
+    
+    QVERIFY(verify());
+    emit request->requestOk(QVariant(true));
+    QVERIFY(request.isNull());
+    QCOMPARE(handled, true);
+    
+    request = new XQAiwRequest(dummyDescriptor, QString(""), KIsEmbedded);
+    EXPECT(XQApplicationManager, create)
+        .with(
+            QString("com.nokia.symbian"), QString("IFactoryReset"), 
+            QString("showResetUi()"), KIsEmbedded)
+        .returns(request.data());
+    EXPECT(XQAiwRequest, send).returns(true);
+    
+    handled = m_handler->executeKeySequence(KCodeActivateRfsDeep);
+    
+    QVERIFY(verify());
+    emit request->requestOk(QVariant(true));
+    QVERIFY(request.isNull());
+    QCOMPARE(handled, true);
+}
+
+
+void UT_ManufacturerKeySequenceHandler::t_executeKeySequenceBluetoothCodes()
+{
+    XQAiwInterfaceDescriptor dummyDescriptor;
+    QPointer<XQAiwRequest> request =
+        new XQAiwRequest(dummyDescriptor, QString(""), KIsEmbedded);
+    EXPECT(XQApplicationManager, create)
+        .with(
+            QString("com.nokia.services"), QString("bluetooth"), 
+            QString("showBluetoothDeviceAddress()"), KIsEmbedded)
+        .returns(request.data());
+    EXPECT(XQAiwRequest, send).returns(true);
+    
+    bool handled = m_handler->executeKeySequence(KCodeBtAddress);
+    
+    QVERIFY(verify());
+    emit request->requestOk(QVariant(true));
+    QVERIFY(request.isNull());
+    QCOMPARE(handled, true);
+    
+    request = new XQAiwRequest(dummyDescriptor, QString(""), KIsEmbedded);
+    EXPECT(XQApplicationManager, create)
+        .with(
+            QString("com.nokia.services"), QString("bluetooth"), 
+            QString("showBluetoothLoopback()"), KIsEmbedded)
+        .returns(request.data());
+    EXPECT(XQAiwRequest, send).returns(true);
+    
+    handled = m_handler->executeKeySequence(KCodeRFLoopback);
+    
+    QVERIFY(verify());
+    emit request->requestOk(QVariant(true));
+    QVERIFY(request.isNull());
+    QCOMPARE(handled, true);
+}
+
+
+void UT_ManufacturerKeySequenceHandler::t_executeInvalidKeySequence()
+{
+    const QString KUnknownSequence = "123";
+    bool handled = m_handler->executeKeySequence(KUnknownSequence);
+    QCOMPARE(handled, false);
+}
+
+
+void UT_ManufacturerKeySequenceHandler::t_executeKeySequenceRequestDispatchingFails()
+{
+    // controlled synchronous Qt Highway error during request processing
+    XQAiwInterfaceDescriptor dummyDescriptor;
+    QPointer<XQAiwRequest> request =
+        new XQAiwRequest(dummyDescriptor, QString(""), KIsEmbedded);
+    EXPECT(XQApplicationManager, create)
+        .with(
+            QString("com.nokia.services"), QString("devicemanager"), 
+            QString("showVersionNumber()"), KIsEmbedded)
+        .returns(request.data());
+    EXPECT(XQAiwRequest, send).returns(false);
+    
+    bool handled = m_handler->executeKeySequence(KCodeSwVersion);
+    m_handler->requestError(0, QString(""));
+    
+    QVERIFY(verify());
+    QVERIFY(request.isNull());
+    QCOMPARE(handled, false);
+    
+    // controlled asynchronous Qt Highway error during request processing
+    request = new XQAiwRequest(dummyDescriptor, QString(""), KIsEmbedded);
+    EXPECT(XQApplicationManager, create)
+        .with(
+            QString("com.nokia.services"), QString("devicemanager"), 
+            QString("showVersionNumber()"), KIsEmbedded)
+        .returns(request.data());
+    EXPECT(XQAiwRequest, send).returns(true);
+    
+    handled = m_handler->executeKeySequence(KCodeSwVersion);
+    
+    QVERIFY(verify());
+    emit request->requestError(0, QString(""));
+    QVERIFY(request.isNull());
+    // asynchronous errors have to be silently discarded
+    QCOMPARE(handled, true);
+    
+    // exception during service request dispatching/send
+    request = new XQAiwRequest(dummyDescriptor, QString(""), KIsEmbedded);
+    EXPECT(XQApplicationManager, create)
+        .with(
+            QString("com.nokia.services"), QString("devicemanager"), 
+            QString("showVersionNumber()"), KIsEmbedded)
+        .returns(request.data());
+    EXPECT(XQAiwRequest, send)
+        .willOnce(invokeWithoutArguments(generateException));
+    
+    int result = 0;
+    QT_TRYCATCH_ERROR(
+        result, handled = m_handler->executeKeySequence(KCodeSwVersion));
+    
+    QVERIFY(verify());
+    QVERIFY(request.isNull());
+    QVERIFY(0 != result);
+    
+    // request object creation fails
+    handled = m_handler->executeKeySequence(KCodeSwVersion);
+    QCOMPARE(handled, false);
+}
+
+
+void UT_ManufacturerKeySequenceHandler::t_executeKeySequenceSimultaneousRequest()
+{
+    XQAiwInterfaceDescriptor dummyDescriptor;
+    QPointer<XQAiwRequest> request =
+        new XQAiwRequest(dummyDescriptor, QString(""), KIsEmbedded);
+    EXPECT(XQApplicationManager, create)
+        .with(
+            QString("com.nokia.services"), QString("devicemanager"), 
+            QString("showVersionNumber()"), KIsEmbedded)
+        .returns(request.data());
+    EXPECT(XQAiwRequest, send).returns(true);
+    
+    bool handled = m_handler->executeKeySequence(KCodeSwVersion);
+    
+    QVERIFY(verify());
+    QVERIFY(!request.isNull());
+    QCOMPARE(handled, true);
+    
+    // simultaneous request attempt
+    EXPECT(XQApplicationManager, create).times(0);
+    EXPECT(XQAiwRequest, send).times(0);
+    handled = m_handler->executeKeySequence(KCodeSwVersion);
+    QCOMPARE(handled, false);
+}
+
+QTEST_MAIN_S60(UT_ManufacturerKeySequenceHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_manufacturerkeysequencehandler/ut_manufacturerkeysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_MANUFACTURERKEYSEQUENCEHANDLER_H
+#define UT_MANUFACTURERKEYSEQUENCEHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class ManufacturerKeySequenceHandler;
+
+class UT_ManufacturerKeySequenceHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_ManufacturerKeySequenceHandler();
+    ~UT_ManufacturerKeySequenceHandler();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_keySequenceValidator();
+    void t_executeKeySequenceDeviceManagerCodes();
+    void t_executeKeySequenceFactoryResetCodes();
+    void t_executeKeySequenceBluetoothCodes();
+    void t_executeInvalidKeySequence();
+    void t_executeKeySequenceRequestDispatchingFails();
+    void t_executeKeySequenceSimultaneousRequest();
+    
+private:
+    ManufacturerKeySequenceHandler *m_handler;
+};
+
+#endif  // UT_MANUFACTURERKEYSEQUENCEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_simcontrolkeysecuencehandler/ut_simcontrolkeysecuencehandler.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,59 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+MOC_DIR = moc
+CONFIG += hb qtestlib
+
+
+TEMPLATE = app
+TARGET = ut_simcontrolkeysecuencehandler 
+
+QT        += core
+QT        -= gui 
+
+
+SOURCES   +=  ut_simcontrolkeysecuencehandler_reg.rss
+
+
+
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += . ../shared ../../inc
+    HEADERS += ../../inc/simcontrolkeysequencehandler.h
+    SOURCES += ../../src/simcontrolkeysequencehandler.cpp
+
+    HEADERS += ut_simcontrolkeysequencehandler.h
+    SOURCES += ut_simcontrolkeysequencehandler.cpp 
+    
+    #MOCKED DEPENDENCIES
+    HEADERS +=                                  \ 
+        ../../inc/keysequencehandler.h          
+    
+  SOURCES +=                                    \ 
+      ../shared/mock_keysequencehandler.cpp     \
+      ../shared/mock_secuimanualsecuritysettings.cpp  \
+      ../shared/mock_secui.cpp					\
+      ../shared/mock_etel.cpp                   \
+      ../shared/mock_rmmcustomapi.cpp           \
+      ../shared/mock_etelmm.cpp
+
+    
+    LIBS += -lmocklib -lsymbianmock 
+    LIBS += -letel -letelmm -lcustomapi 
+    TARGET.UID3 = 0xED019EF7
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_simcontrolkeysecuencehandler/ut_simcontrolkeysequencehandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,191 @@
+/*!
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+#include <secuimanualsecuritysettings.h>
+#include "ut_simcontrolkeysequencehandler.h"
+#include "simcontrolkeysequencehandler.h"
+#include "keysequencerecognitionservicedefs.h"
+#include "qtestmains60.h"
+
+_LIT(KOldPinCode, "1234");
+_LIT(KPukCode, "11111111");
+_LIT(KNewPinCode, "4321");
+_LIT(KVerifyNewPinCode, "4321");
+
+
+void generateLeaveL()
+{
+    User::Leave(KErrUnknown);
+}
+
+
+UT_SimControlKeySequenceHandler::UT_SimControlKeySequenceHandler()
+    :
+    m_handler(0)
+{
+    
+}
+
+
+UT_SimControlKeySequenceHandler::~UT_SimControlKeySequenceHandler()
+{
+    delete m_handler;
+}
+
+
+void UT_SimControlKeySequenceHandler::init()
+{
+    initialize();
+    
+    m_handler = new SimControlKeySequenceHandler();
+}
+
+
+void UT_SimControlKeySequenceHandler::cleanup()
+{
+    reset();
+    
+    delete m_handler;
+    m_handler = 0;
+}
+
+void UT_SimControlKeySequenceHandler::t_constructionFails()
+{
+    EXPECT( CManualSecuritySettings, NewL ).willOnce(invokeWithoutArguments(generateLeaveL));
+    
+    int result = 0;
+    QT_TRYCATCH_ERROR(result, 
+        QScopedPointer<SimControlKeySequenceHandler> handler(
+            new SimControlKeySequenceHandler())
+    )
+    QVERIFY(0 != result);
+}
+
+
+void UT_SimControlKeySequenceHandler::t_changePin1()
+    {
+    const QString KChangePin1KeySequence( "**04*1234*4321*4321*" );
+    
+    EXPECT(CManualSecuritySettings, ChangePinL)
+        .with(CManualSecuritySettings::EPin1, KOldPinCode(), KNewPinCode(), KVerifyNewPinCode());
+    
+    m_handler->executeKeySequence( KChangePin1KeySequence );
+    
+    QVERIFY(verify());
+    
+    
+    // leave handling
+    EXPECT( CManualSecuritySettings, ChangePinL ).willOnce(invokeWithoutArguments(generateLeaveL))
+        .with(CManualSecuritySettings::EPin1, KOldPinCode(), KNewPinCode(), KVerifyNewPinCode());
+    int result = 0;
+    QT_TRYCATCH_ERROR(result, 
+            m_handler->executeKeySequence(KChangePin1KeySequence) )
+    
+    QVERIFY(0 != result);
+    }
+
+void UT_SimControlKeySequenceHandler::t_changePin2()
+    {
+    const QString KChangePin2KeySequence( "**042*1234*4321*4321*" );
+    
+    EXPECT(CManualSecuritySettings, ChangePinL)
+        .with(CManualSecuritySettings::EPin2, KOldPinCode(), KNewPinCode(), KVerifyNewPinCode());
+    
+    m_handler->executeKeySequence(KChangePin2KeySequence);
+    
+    QVERIFY(verify());
+    
+    
+    //leave handling
+    EXPECT( CManualSecuritySettings, ChangePinL ).willOnce(invokeWithoutArguments(generateLeaveL))
+            .with(CManualSecuritySettings::EPin2, KOldPinCode(), KNewPinCode(), KVerifyNewPinCode());
+    
+    int result = 0;
+    QT_TRYCATCH_ERROR(result, 
+            m_handler->executeKeySequence(KChangePin2KeySequence) )
+    
+    QVERIFY(0 != result);
+    }
+
+void UT_SimControlKeySequenceHandler::t_unblockPin1()
+    {
+    const QString KUnblockPin1KeySequence( "**05*11111111*4321*4321*" );
+    
+    EXPECT(CManualSecuritySettings, UnblockPinL)
+        .with(CManualSecuritySettings::EPin1, KPukCode(), KNewPinCode(), KVerifyNewPinCode());
+    
+    m_handler->executeKeySequence(KUnblockPin1KeySequence);
+    
+    QVERIFY(verify());
+    
+    
+    //leave handling
+    EXPECT( CManualSecuritySettings, UnblockPinL ).willOnce(invokeWithoutArguments(generateLeaveL))
+        .with(CManualSecuritySettings::EPin1, KPukCode(), KNewPinCode(), KVerifyNewPinCode());
+    
+    int result = 0;
+    QT_TRYCATCH_ERROR(result, 
+            m_handler->executeKeySequence(KUnblockPin1KeySequence) )
+    
+    QVERIFY(0 != result);
+    }
+
+
+void UT_SimControlKeySequenceHandler::t_unblockPin2()
+    {
+     const QString KUnblockPin2KeySequence( "**052*11111111*4321*4321*" );
+    
+     EXPECT(CManualSecuritySettings, UnblockPinL)
+         .with(CManualSecuritySettings::EPin2, KPukCode(), KNewPinCode(), KVerifyNewPinCode());
+     
+     m_handler->executeKeySequence(KUnblockPin2KeySequence);
+     
+     QVERIFY(verify());
+     
+     
+     //leave handling
+     EXPECT( CManualSecuritySettings, UnblockPinL ).willOnce(invokeWithoutArguments(generateLeaveL))
+         .with(CManualSecuritySettings::EPin2, KPukCode(), KNewPinCode(), KVerifyNewPinCode());
+     
+     int result = 0;
+     QT_TRYCATCH_ERROR(result, 
+             m_handler->executeKeySequence(KUnblockPin2KeySequence) )
+     
+     QVERIFY(0 != result);
+    }
+
+
+void UT_SimControlKeySequenceHandler::t_keySequenceValidator()
+    {
+    QString expectedValidator =
+        KCodeChangePin1 + "|" +
+        KCodeChangePin2 + "|" +
+        KCodeUnblockPin1 + "|" +
+        KCodeUnblockPin2;
+    
+    expect("KeySequenceHandler::setKeySequenceValidator")
+        .with(expectedValidator);
+    
+    QScopedPointer<SimControlKeySequenceHandler> handler(
+        new SimControlKeySequenceHandler());
+    
+    QVERIFY(verify());
+    }
+
+QTEST_MAIN_S60(UT_SimControlKeySequenceHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/keysequencerecognitionservice/tsrc/ut_simcontrolkeysecuencehandler/ut_simcontrolkeysequencehandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_SIMCONTROLKEYSEQUENCEHANDLER_H
+#define UT_SIMCONTROLKEYSEQUENCEHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class SimControlKeySequenceHandler;
+
+class UT_SimControlKeySequenceHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_SimControlKeySequenceHandler();
+    ~UT_SimControlKeySequenceHandler();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    void t_constructionFails();
+    void t_changePin1();
+    void t_changePin2();
+    void t_unblockPin1();
+    void t_unblockPin2();
+    void t_keySequenceValidator();
+    
+    
+private:
+    SimControlKeySequenceHandler *m_handler;
+};
+
+#endif  // UT_SIMCONTROLKEYSEQUENCEHANDLER_H
--- a/telutils/phoneparser/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -23,11 +23,11 @@
 PRJ_EXPORTS
 
 
-../group/phoneparser_stub.SIS\
-    /epoc32/data/z/system/install/phoneparser_stub.SIS
+../group/phoneparser_stub.sis\
+    /epoc32/data/z/system/install/phoneparser_stub.sis
     
 // IBY file exports
-../rom/Phoneparser.iby                  CORE_MW_LAYER_IBY_EXPORT_PATH(Phoneparser.iby)
+../rom/phoneparser.iby                  CORE_MW_LAYER_IBY_EXPORT_PATH(phoneparser.iby)
 
 PRJ_MMPFILES
 ../group/phoneparser.mmp
--- a/telutils/phoneparser/group/phoneparser.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/group/phoneparser.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -25,39 +25,40 @@
 CAPABILITY CAP_GENERAL_DLL
 
 SOURCEPATH      ../src
-SOURCE          PhoneGsmParser.cpp
-SOURCE          CPhoneGsmParser.cpp
-SOURCE          CPhoneGsmParserBase.cpp
-SOURCE          CPhoneGsmParserResult.cpp
-SOURCE          CPhoneGsmSsParser.cpp
-SOURCE          CPhoneGsmSsHandler.cpp
-SOURCE          CPhoneGsmSimControlParser.cpp
-SOURCE          CPhoneGsmSimControlHandler.cpp
-SOURCE          CPhoneGsmPhoneNumberParser.cpp
-SOURCE          CPhoneGsmPhoneNumberHandler.cpp
-SOURCE          CPhoneGsmOptionContainer.cpp
-SOURCE          CPhoneGsmHandlerContainer.cpp
-SOURCE          CPhoneGsmDummyParser.cpp
-SOURCE          CPhoneGsmMiscHandler.cpp
-SOURCE          CPhoneGsmParserContainer.cpp
-SOURCE          CPhoneGsmSsCallParser.cpp
-SOURCE          CPhoneGsmSsCallHandler.cpp
-SOURCE          CPhoneGsmManufacturerParser.cpp
-SOURCE          CPhoneGsmManufacturerHandler.cpp
-SOURCE          CPhoneGsmPcnProcedureParser.cpp
-SOURCE          CPhoneGsmPcnProcedureHandler.cpp
-SOURCE          CPhoneGsmEmergencyNumberParser.cpp
-SOURCE          CPhoneGsmEmergencyNumberHandler.cpp
-SOURCE          CPhoneParserFeatures.cpp
-SOURCE          CPhoneVoipNumberParser.cpp
-SOURCE          CPhoneVoipNumberHandler.cpp
-SOURCE          CPhoneGsmImeiParser.cpp
+SOURCE          phonegsmparser.cpp 
+SOURCE          cphonegsmparser.cpp 
+SOURCE          cphonegsmparserbase.cpp 
+SOURCE          cphonegsmparserresult.cpp 
+SOURCE          cphonegsmssparser.cpp 
+SOURCE          cphonegsmsshandler.cpp 
+SOURCE          cphonegsmsimcontrolparser.cpp 
+SOURCE          cphonegsmsimcontrolhandler.cpp 
+SOURCE          cphonegsmphonenumberparser.cpp 
+SOURCE          cphonegsmphonenumberhandler.cpp 
+SOURCE          cphonegsmoptioncontainer.cpp 
+SOURCE          cphonegsmhandlercontainer.cpp 
+SOURCE          cphonegsmdummyparser.cpp 
+SOURCE          cphonegsmmischandler.cpp 
+SOURCE          cphonegsmparsercontainer.cpp 
+SOURCE          cphonegsmsscallparser.cpp 
+SOURCE          cphonegsmsscallhandler.cpp 
+SOURCE          cphonegsmmanufacturerparser.cpp 
+SOURCE          cphonegsmmanufacturerhandler.cpp 
+SOURCE          cphonegsmpcnprocedureparser.cpp 
+SOURCE          cphonegsmpcnprocedurehandler.cpp 
+SOURCE          cphonegsmemergencynumberparser.cpp 
+SOURCE          cphonegsmemergencynumberhandler.cpp 
+SOURCE          cphoneparserfeatures.cpp 
+SOURCE          cphonevoipnumberparser.cpp 
+SOURCE          cphonevoipnumberhandler.cpp 
 
 USERINCLUDE     ../inc 
 
+// <-- QT PHONE START-->
 // Default system include paths for MW layer modules.
-APP_LAYER_SYSTEMINCLUDE	//for Phone Settings domain API headers
-SYSTEMINCLUDE   ../../../inc    // Telephonyservices internal headers
+MW_LAYER_SYSTEMINCLUDE  
+// <-- QT PHONE END-->
+SYSTEMINCLUDE   ../../../inc // telephonyservices internal headers 
 
 LIBRARY         euser.lib
 
--- a/telutils/phoneparser/inc/CPhoneGsmDummyParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmDummyParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMDUMMYPARSER_H
 
 // INCLUDES
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // CLASS DECLARATION
 
--- a/telutils/phoneparser/inc/CPhoneGsmEmergencyNumberParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmEmergencyNumberParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define CPHONEGSMEMERGENCYNUMBERPARSER_H
 
 // INCLUDES
-#include    "CPhoneGsmParserBase.h"
-#include    <PhCltTypes.h>
+#include    "cphonegsmparserbase.h" 
+#include    <phclttypes.h> 
 
 // FORWARD DECLARATIONS
 class CPhoneGsmOptionContainer;
--- a/telutils/phoneparser/inc/CPhoneGsmImeiParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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:  It is parser for Imei string.
-*
-*/
-
-
-#ifndef CPHONEGSMIMEIPARSER_H_
-#define CPHONEGSMIMEIPARSER_H_
-
-// INCLUDES
-#include    "CPhoneGsmParserBase.h"
-
-// CONSTANTS
-
-
-// CLASS DECLARATION
-
-/**
-* It is parser for IMEI string.
-*
-* @since 1.0
-* @lib phoneparser.lib
-*/
-NONSHARABLE_CLASS( CPhoneGsmImeiParser )
-    : public CPhoneGsmParserBase
-    {
-    public:  // Constructors and destructor      
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneGsmImeiParser* NewLC();
-        
-    public: // Functions from base classes
-
-        /**
-        * From CPhoneGsmParserBase, parses string.
-        *
-        * @param aString string to be parsed.
-        * @param aResult It will contain result.
-        * @param aOptions It contains all options related to parsing.
-        * @return It returns boolean value indicating success of parsing.
-        */
-        TBool ParseL( 
-            const TDesC& aString,
-            CPhoneGsmParserResult& aResult,
-            CPhoneGsmOptionContainerBase& aOptions );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneGsmImeiParser();
-
-    };
-
-#endif /*CPHONEGSMIMEIPARSER_H_*/
-
-// End of File
--- a/telutils/phoneparser/inc/CPhoneGsmManufacturerParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmManufacturerParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMMANUFACTURERPARSER_H
 
 // INCLUDES
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // FORWARD DECLARATIONS
 class CPhoneGsmOptionContainer;
--- a/telutils/phoneparser/inc/CPhoneGsmOptionContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmOptionContainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 #define CPHONEGSMOPTIONCONTAINER_H
 
 // INCLUDES
-#include    "CPhoneGsmOptionContainerBase.h"
+#include    "cphonegsmoptioncontainerbase.h" 
 
 // FORWARD DECLARATIONS
 
--- a/telutils/phoneparser/inc/CPhoneGsmParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -21,7 +21,7 @@
 
 // INCLUDES
 #include    <e32base.h>
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // FORWARD DECLARATIONS
 class CPhoneGsmParserResult;
@@ -52,8 +52,7 @@
             CPhoneGsmParserBase* aPhoneNumber,
             CPhoneGsmParserBase* aManufacturerSpecific,
             CPhoneGsmParserBase* aEmergencyNumberParser,
-            CPhoneGsmParserBase* iVoipNumber,
-            CPhoneGsmParserBase* iImeiParser );
+            CPhoneGsmParserBase* iVoipNumber);
         
         /**
         * Destructor.
@@ -86,8 +85,7 @@
             CPhoneGsmParserBase* aPhoneNumber,
             CPhoneGsmParserBase* aManufacturerSpecific,
             CPhoneGsmParserBase* aEmergencyNumberParser,
-            CPhoneGsmParserBase* iVoipNumber,
-            CPhoneGsmParserBase* iImeiParser );
+            CPhoneGsmParserBase* iVoipNumber);
 
         /**
         * By default Symbian OS constructor is private.
@@ -129,10 +127,6 @@
         
         // Owned voip number parser.
         CPhoneGsmParserBase* iVoipNumber;
-
-        // Owned IMEI parser.
-        CPhoneGsmParserBase* iImeiParser;
-
     };
 
 #endif      // CPHONEGSMPARSER_H
--- a/telutils/phoneparser/inc/CPhoneGsmParserContainer.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmParserContainer.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include    <e32base.h>
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // CLASS DECLARATION
 
--- a/telutils/phoneparser/inc/CPhoneGsmPcnProcedureParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmPcnProcedureParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMPCNPROCEDUREPARSER_H
 
 // INCLUDES
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // CONSTANTS
 
--- a/telutils/phoneparser/inc/CPhoneGsmPhoneNumberParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmPhoneNumberParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMPHONENUMBERPARSER_H
 
 // INCLUDES
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // FORWARD DECLARATIONS
 class CPhoneGsmOptionContainer;
--- a/telutils/phoneparser/inc/CPhoneGsmSimControlParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmSimControlParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,7 +20,7 @@
 #define CPHONEGSMSIMCONTROLPARSER_H
 
 // INCLUDES
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // CONSTANTS
 
--- a/telutils/phoneparser/inc/CPhoneGsmSsCallParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmSsCallParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include    <e32base.h>
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // CONSTANTS
 
--- a/telutils/phoneparser/inc/CPhoneGsmSsParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneGsmSsParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include    <e32base.h>
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // CONSTANTS
 
--- a/telutils/phoneparser/inc/CPhoneParserFeatures.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneParserFeatures.h	Tue Aug 31 15:45:17 2010 +0300
@@ -25,7 +25,7 @@
 class CRepository;
 
 // INCLUDES
-#include    <MPhCltEmergencyCallObserver.h>
+#include    <mphcltemergencycallobserver.h> 
 
 // FORWARD DECLARATIONS
 
@@ -64,13 +64,6 @@
     public: // New functions
         
         /**
-        * Checks if life timer is enabled.
-        *
-        * @return ETrue if supported.
-        */
-        static TBool LifeTimerEnabled();
-            
-        /**
         * Checks if two digit calling is enabled.
         *
         * @return ETrue if supported.
--- a/telutils/phoneparser/inc/CPhoneVoipNumberParser.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/inc/CPhoneVoipNumberParser.h	Tue Aug 31 15:45:17 2010 +0300
@@ -20,8 +20,8 @@
 #define CPHONEVOIPNUMBERPARSER_H
 
 // INCLUDES
-#include    "CPhoneGsmParserBase.h"
-#include    <PhCltTypes.h>
+#include    "cphonegsmparserbase.h" 
+#include    <phclttypes.h> 
 
 // FORWARD DECLARATIONS
 class CPhoneGsmOptionContainer;
--- a/telutils/phoneparser/rom/Phoneparser.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/rom/Phoneparser.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 #ifndef __PhoneParser_IBY__
 #define __PhoneParser_IBY__
 
-file=ABI_DIR\BUILD_DIR\PhoneParser.dll	     System\libs\PhoneParser.dll
-data=ZSYSTEM\install\phoneparser_stub.SIS    System\Install\phoneparser_stub.SIS
+file=ABI_DIR\BUILD_DIR\phoneparser.dll       System\libs\phoneparser.dll
+data=ZSYSTEM\install\phoneparser_stub.sis    System\Install\phoneparser_stub.sis
 
 #endif
 
--- a/telutils/phoneparser/src/CPhoneGsmDummyParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmDummyParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,8 +17,8 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmDummyParser.h"
-#include    "CPhoneGsmParserResult.h"
+#include    "cphonegsmdummyparser.h" 
+#include    "cphonegsmparserresult.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/telutils/phoneparser/src/CPhoneGsmEmergencyNumberHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmEmergencyNumberHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmEmergencyNumberHandler.h"
-#include    "CPhoneGsmEmergencyNumberParser.h"
-#include    "CPhoneGsmParserResult.h"
+#include    "cphonegsmemergencynumberhandler.h" 
+#include    "cphonegsmemergencynumberparser.h" 
+#include    "cphonegsmparserresult.h" 
 
 // CONSTANTS
 const TInt KPhoneEmergencyNumberDialParam = 0;
--- a/telutils/phoneparser/src/CPhoneGsmEmergencyNumberParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmEmergencyNumberParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,10 +17,10 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmEmergencyNumberParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmOptionContainer.h"
-#include    "CPhoneParserFeatures.h"
+#include    "cphonegsmemergencynumberparser.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmoptioncontainer.h" 
+#include    "cphoneparserfeatures.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/telutils/phoneparser/src/CPhoneGsmHandlerContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmHandlerContainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,8 +17,8 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmHandlerContainer.h"
-#include    "PhoneGsmParser.h"
+#include    "cphonegsmhandlercontainer.h" 
+#include    "phonegsmparser.h" 
 
 // CONSTANTS
 const TInt KPhoneHandlerArrayGranularity = 10;
--- a/telutils/phoneparser/src/CPhoneGsmImeiParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +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:  Parser for IMEI.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "CPhoneGsmImeiParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmOptionContainer.h"
-
-// CONSTANTS
-
-// IMEI code
-_LIT( KPhoneImeiCode, "*#06#" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneGsmImeiParser::CPhoneGsmImeiParser
-// -----------------------------------------------------------------------------
-//
-CPhoneGsmImeiParser::CPhoneGsmImeiParser()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneGsmImeiParser::NewLC
-// -----------------------------------------------------------------------------
-//
-CPhoneGsmImeiParser* CPhoneGsmImeiParser::NewLC()
-    {
-    CPhoneGsmImeiParser* self = 
-        new ( ELeave ) CPhoneGsmImeiParser;
-    
-    CleanupStack::PushL( self );
-        
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneGsmImeiParser::ParseL
-//
-// Parse IMEI string.
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneGsmImeiParser::ParseL( 
-        const TDesC& aString,
-        CPhoneGsmParserResult& aResult,
-        CPhoneGsmOptionContainerBase& aOptions )
-    {
-    aResult.ClearL();
-
-    if ( !aOptions.FindOptionStatus( KPhoneOptionSend ))
-        {
-        if ( aString == KPhoneImeiCode )
-            {
-            aResult.SetUid( KPhoneUidIMEI );
-            }
-        }
-   
-    return ( aResult.Uid() == KPhoneUidIMEI );
-    }
-
-//  End of File  
--- a/telutils/phoneparser/src/CPhoneGsmManufacturerHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmManufacturerHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmManufacturerHandler.h"
-#include    "CPhoneGsmManufacturerParser.h"
-#include    "CPhoneGsmParserResult.h"
+#include    "cphonegsmmanufacturerhandler.h" 
+#include    "cphonegsmmanufacturerparser.h" 
+#include    "cphonegsmparserresult.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/telutils/phoneparser/src/CPhoneGsmManufacturerParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmManufacturerParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,10 +17,10 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmManufacturerParser.h"
-#include    "CPhoneGsmOptionContainer.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneParserFeatures.h"
+#include    "cphonegsmmanufacturerparser.h" 
+#include    "cphonegsmoptioncontainer.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphoneparserfeatures.h" 
 
 // CONSTANTS
 const TInt KPhoneManufacturerCodeArrayGanularity = 5;
--- a/telutils/phoneparser/src/CPhoneGsmMiscHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmMiscHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -11,15 +11,15 @@
 *
 * Contributors:
 *
-* Description:  Implementation of handlers for USSD and IMEI.
+* Description:  Implementation of handler for USSD.
 *
 */
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmMiscHandler.h"
-#include    "CPhoneGsmParserBase.h"
-#include    "CPhoneGsmParserResult.h"
+#include    "cphonegsmmischandler.h" 
+#include    "cphonegsmparserbase.h" 
+#include    "cphonegsmparserresult.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -42,10 +42,6 @@
                 }
             break;
 
-        case KPhoneUidIMEI:
-            ProcessShowIMEIL();
-            break;
-
         default:
             break;
         }
--- a/telutils/phoneparser/src/CPhoneGsmOptionContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmOptionContainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmOptionContainer.h"
-#include    "PhoneGsmParser.h"
-#include    "CPhoneParserFeatures.h"
+#include    "cphonegsmoptioncontainer.h" 
+#include    "phonegsmparser.h" 
+#include    "cphoneparserfeatures.h" 
 
 // CONSTANTS
 const TInt KPhoneGsmOptionGranularity = 5;
--- a/telutils/phoneparser/src/CPhoneGsmParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -20,13 +20,13 @@
 // INCLUDE FILES
 #include    <bldvariant.hrh>
 
-#include    "CPhoneGsmParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmParserBase.h"
-#include    "CPhoneGsmDummyParser.h"
-#include    "CPhoneGsmOptionContainer.h"
-#include    "CPhoneParserFeatures.h"
-#include    "CPhoneGsmOptionContainerBase.h"
+#include    "cphonegsmparser.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmparserbase.h" 
+#include    "cphonegsmdummyparser.h" 
+#include    "cphonegsmoptioncontainer.h" 
+#include    "cphoneparserfeatures.h" 
+#include    "cphonegsmoptioncontainerbase.h" 
 
 // CONSTANTS
 
@@ -43,8 +43,7 @@
         CPhoneGsmParserBase* aPhoneNumber,
         CPhoneGsmParserBase* aManufacturerSpecific,
         CPhoneGsmParserBase* aEmergencyNumberParser,
-        CPhoneGsmParserBase* aVoipNumber,
-        CPhoneGsmParserBase* aImeiParser )
+        CPhoneGsmParserBase* aVoipNumber)
     {
     // Ownership of these instances is transferred, thus
     // creation of the instance must not leave. 
@@ -56,8 +55,7 @@
             aPhoneNumber,
             aManufacturerSpecific,
             aEmergencyNumberParser,
-            aVoipNumber,
-            aImeiParser );
+            aVoipNumber);
     
     if ( !self )
         {
@@ -67,7 +65,6 @@
         delete aManufacturerSpecific;
         delete aEmergencyNumberParser;
         delete aVoipNumber;
-        delete aImeiParser;
         
         User::Leave( KErrNoMemory );
         }
@@ -91,7 +88,6 @@
     delete iGsmManufacturerProcedure;
     delete iGsmEmergencyNumber;
     delete iVoipNumber;
-    delete iImeiParser;
     CPhoneParserFeatures::Free();
     }
 
@@ -105,15 +101,13 @@
         CPhoneGsmParserBase* aPhoneNumber,
         CPhoneGsmParserBase* aManufacturerSpecific,
         CPhoneGsmParserBase* aEmergencyNumberParser,
-        CPhoneGsmParserBase* aVoipNumber,
-        CPhoneGsmParserBase* aImeiParser )
+        CPhoneGsmParserBase* aVoipNumber)
     : iGsmSsProcedure( aSsProcedure ), 
       iGsmSimControlProcedure( aSimControlProcedure ),
       iGsmPhoneNumber( aPhoneNumber ),
       iGsmManufacturerProcedure( aManufacturerSpecific ),
       iGsmEmergencyNumber( aEmergencyNumberParser ),
-      iVoipNumber( aVoipNumber ),
-      iImeiParser( aImeiParser )
+      iVoipNumber( aVoipNumber )
     {
     }
 
@@ -149,10 +143,6 @@
         {
         iVoipNumber = CPhoneGsmDummyParser::NewL();
         }
-    if ( !iImeiParser )
-        {
-        iImeiParser = CPhoneGsmDummyParser::NewL();
-        }
     }
 
 // -----------------------------------------------------------------------------
@@ -198,15 +188,9 @@
         }
 
     TBool sendOperation = aOptions.FindOptionStatus( KPhoneOptionSend );
-
-    // Check if it is the only phone control string, show imei.
-    result = iImeiParser->ParseL( aString, aResult, aOptions );
     
     // Check if emergency number.
-    if ( !result )
-        {
-        result = iGsmEmergencyNumber->ParseL( aString, aResult, aOptions );
-        }
+    result = iGsmEmergencyNumber->ParseL( aString, aResult, aOptions );
     
     // First check if string is GSM ss procedure supported by MS.
     if ( !result )
--- a/telutils/phoneparser/src/CPhoneGsmParserBase.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmParserBase.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,7 +17,7 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmParserBase.h"
+#include    "cphonegsmparserbase.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/telutils/phoneparser/src/CPhoneGsmParserContainer.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmParserContainer.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,10 +19,10 @@
 // INCLUDE FILES
 #include    <featmgr.h>
 
-#include    "CPhoneGsmParserContainer.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmOptionContainer.h"
-#include    "PhoneGsmParser.h"
+#include    "cphonegsmparsercontainer.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmoptioncontainer.h" 
+#include    "phonegsmparser.h" 
 
 // CONSTANTS
 const TInt KPhoneParserArrayGranularity = 5;
--- a/telutils/phoneparser/src/CPhoneGsmParserResult.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmParserResult.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,9 +19,9 @@
 // INCLUDE FILES
 #include    <featmgr.h>
 
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmParserBase.h"
-#include    "PhoneGsmParser.h"
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmparserbase.h" 
+#include    "phonegsmparser.h" 
 
 // CONSTANTS
 const TInt KPhoneParserResultParameterGranularity = 10;
--- a/telutils/phoneparser/src/CPhoneGsmPcnProcedureHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmPcnProcedureHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmPcnProcedureHandler.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmPcnProcedureParser.h"
+#include    "cphonegsmpcnprocedurehandler.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmpcnprocedureparser.h" 
 
 // CONSTANTS
 
--- a/telutils/phoneparser/src/CPhoneGsmPcnProcedureParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmPcnProcedureParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmPcnProcedureParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmOptionContainer.h"
+#include    "cphonegsmpcnprocedureparser.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmoptioncontainer.h" 
 
 // CONSTANTS
 
--- a/telutils/phoneparser/src/CPhoneGsmPhoneNumberHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmPhoneNumberHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmPhoneNumberHandler.h"
-#include    "CPhoneGsmPhoneNumberParser.h"
-#include    "CPhoneGsmParserResult.h"
+#include    "cphonegsmphonenumberhandler.h" 
+#include    "cphonegsmphonenumberparser.h" 
+#include    "cphonegsmparserresult.h" 
 
 // CONSTANTS
 const TInt KPhonePhoneNumberDialParam = 0;
--- a/telutils/phoneparser/src/CPhoneGsmPhoneNumberParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmPhoneNumberParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,12 +17,12 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmPhoneNumberParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmOptionContainer.h"
-#include    "CPhoneVoipNumberParser.h"
-#include    "CPhoneParserFeatures.h"
-#include    "phoneParserCommon.h"
+#include    "cphonegsmphonenumberparser.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmoptioncontainer.h" 
+#include    "cphonevoipnumberparser.h" 
+#include    "cphoneparserfeatures.h" 
+#include    "phoneparsercommon.h" 
 // CONSTANTS
 _LIT( KPhoneClirSuppress, "*31#" );
 _LIT( KPhoneClirInvoke, "#31#" );
--- a/telutils/phoneparser/src/CPhoneGsmSimControlHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmSimControlHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,10 +17,10 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmSimControlHandler.h"
-#include    "CPhoneGsmSimControlParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "PhoneGsmParser.h"
+#include    "cphonegsmsimcontrolhandler.h" 
+#include    "cphonegsmsimcontrolparser.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "phonegsmparser.h" 
 
 // CONSTANTS
 const TInt KPhoneSimControlOldPinPukParam = 0;
--- a/telutils/phoneparser/src/CPhoneGsmSimControlParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmSimControlParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmSimControlParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmOptionContainer.h"
+#include    "cphonegsmsimcontrolparser.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmoptioncontainer.h" 
 
 // CONSTANTS
 _LIT( KPhoneSimControlPinChangeCode, "04" );
--- a/telutils/phoneparser/src/CPhoneGsmSsCallHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmSsCallHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmSsCallHandler.h"
-#include    "CPhoneGsmSsCallParser.h"
-#include    "CPhoneGsmParserResult.h"
+#include    "cphonegsmsscallhandler.h" 
+#include    "cphonegsmsscallparser.h" 
+#include    "cphonegsmparserresult.h" 
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/telutils/phoneparser/src/CPhoneGsmSsCallParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmSsCallParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneGsmSsCallParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmOptionContainer.h"
+#include    "cphonegsmsscallparser.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmoptioncontainer.h" 
 
 // CONSTANTS
 
--- a/telutils/phoneparser/src/CPhoneGsmSsHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmSsHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -19,9 +19,9 @@
 // INCLUDE FILES
 #include    <bldvariant.hrh>
 
-#include    "CPhoneGsmSsHandler.h"
-#include    "CPhoneGsmSsParser.h"
-#include    "CPhoneGsmParserResult.h"
+#include    "cphonegsmsshandler.h" 
+#include    "cphonegsmssparser.h" 
+#include    "cphonegsmparserresult.h" 
 
 // LOCAL FUNCTION PROTOTYPES
 
--- a/telutils/phoneparser/src/CPhoneGsmSsParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneGsmSsParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -21,11 +21,11 @@
 #include    <featmgr.h>
 #include    <nwdefs.h>
 
-#include    "CPhoneGsmSsParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "PhoneGsmParser.h"
-#include    "CPhoneGsmOptionContainer.h"
-#include    "CPhoneParserFeatures.h"
+#include    "cphonegsmssparser.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "phonegsmparser.h" 
+#include    "cphonegsmoptioncontainer.h" 
+#include    "cphoneparserfeatures.h" 
 
 // CONSTANTS
 
--- a/telutils/phoneparser/src/CPhoneParserFeatures.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneParserFeatures.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,12 +17,12 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneParserFeatures.h"
+#include    "cphoneparserfeatures.h" 
 #include    <featmgr.h>
 #include    <centralrepository.h>
 #include    <telservicesvariant.hrh>
 #include    <telservicesinternalcrkeys.h>
-#include    <CPhCltEmergencyCall.h>
+#include    <cphcltemergencycall.h> 
 
 // FORWARD DECLARATION
 
@@ -130,16 +130,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPhoneParserFeatures::LifeTimerEnabled
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneParserFeatures::LifeTimerEnabled()
-    {
-    return Instance() ? 
-        Instance()->GetTelephoneVariant() & KTelSrvLVFlagLifeTimer : EFalse;
-    }
-
-// -----------------------------------------------------------------------------
 // CPhoneParserFeatures::TwoDigitCallingEnabled
 // -----------------------------------------------------------------------------
 //
--- a/telutils/phoneparser/src/CPhoneVoipNumberHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneVoipNumberHandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,9 +17,9 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneVoipNumberHandler.h"
-#include    "CPhoneVoipNumberParser.h"
-#include    "CPhoneGsmParserResult.h"
+#include    "cphonevoipnumberhandler.h" 
+#include    "cphonevoipnumberparser.h" 
+#include    "cphonegsmparserresult.h" 
 
 // CONSTANTS
 const TInt KPhoneVoipNumberDialParam = 0;
--- a/telutils/phoneparser/src/CPhoneVoipNumberParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/CPhoneVoipNumberParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,10 +17,10 @@
 
 
 // INCLUDE FILES
-#include    "CPhoneVoipNumberParser.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmOptionContainer.h"
-#include    "phoneParserCommon.h"
+#include    "cphonevoipnumberparser.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmoptioncontainer.h" 
+#include    "phoneparsercommon.h" 
 
 // CONSTANTS
 
@@ -141,8 +141,7 @@
         
         if ( !dtmfFound )
             {
-            if ( !nextChar.IsDigit() &&
-                  nextChar != KPhonePlus )
+            if ( !nextChar.IsDigit() )
                 {
                 allDigits = EFalse;
                 }
--- a/telutils/phoneparser/src/PhoneGsmParser.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/phoneparser/src/PhoneGsmParser.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -17,32 +17,29 @@
 
 
 // INCLUDE FILES
-#include    "PhoneGsmParser.h"
-#include    "CPhoneGsmParser.h"
-#include    "CPhoneGsmParserBase.h"
-#include    "CPhoneGsmParserResult.h"
-#include    "CPhoneGsmOptionContainer.h"
+#include    "phonegsmparser.h" 
+#include    "cphonegsmparser.h" 
+#include    "cphonegsmparserbase.h" 
+#include    "cphonegsmparserresult.h" 
+#include    "cphonegsmoptioncontainer.h" 
 
-#include    "CPhoneGsmParserContainer.h"
-#include    "CPhoneGsmSsParser.h"
-#include    "CPhoneGsmSimControlParser.h"
-#include    "CPhoneGsmPhoneNumberParser.h"
-#include    "CPhoneGsmSsCallParser.h"
-#include    "CPhoneGsmManufacturerParser.h"
-#include    "CPhoneGsmPcnProcedureParser.h"
-#include    "CPhoneGsmManufacturerHandler.h"
-#include    "CPhoneGsmEmergencyNumberParser.h"
-#include    "CPhoneParserFeatures.h"
-#include    "CPhoneVoipNumberParser.h"
-#include    "CPhoneGsmImeiParser.h"
-
+#include    "cphonegsmparsercontainer.h" 
+#include    "cphonegsmssparser.h" 
+#include    "cphonegsmsimcontrolparser.h" 
+#include    "cphonegsmphonenumberparser.h" 
+#include    "cphonegsmsscallparser.h" 
+#include    "cphonegsmmanufacturerparser.h" 
+#include    "cphonegsmpcnprocedureparser.h" 
+#include    "cphonegsmmanufacturerhandler.h" 
+#include    "cphonegsmemergencynumberparser.h" 
+#include    "cphoneparserfeatures.h" 
+#include    "cphonevoipnumberparser.h" 
 
 // CONSTANTS
 const TInt KPhoneParserResultParameterReserver = 10;
 _LIT( KPhoneParserPanic, "PhoneParser" );
 
 // Software version display code
-_LIT( KPhoneCodeSwVersion, "*#0000#" );
 _LIT( KPhoneCodeBadPinChange, "**04*" );
 _LIT( KPhoneCodeBadPin2Change, "**042*" );
 _LIT( KPhoneCodeBadPinUnblock, "**05*" );
@@ -50,7 +47,6 @@
 _LIT( KPhoneCodeActivateRfsNormal, "*#7780#" );
 _LIT( KPhoneCodeActivateRfsDeep, "*#7370#" );
 _LIT( KPhoneCodeBtAddress, "*#2820#" );
-_LIT( KPhoneCodeLifeTimer, "*#92702689#" );
 _LIT( KPhoneCodeRFLoopback, "*#9990#" );
 _LIT( KPhoneCodeWLANMAC, "*#62209526#" );
 _LIT( KPhoneCodeBtDebugMode, "*#2873#" );
@@ -99,10 +95,6 @@
     CPhoneGsmParserBase* voipNumberParser =
         CPhoneVoipNumberParser::NewLC();
     
-    // 7. IMEI PARSER TO STACK
-    CPhoneGsmParserBase* imeiParser =
-        CPhoneGsmImeiParser::NewLC();
-    
     CPhoneGsmParser* parser = 
         CPhoneGsmParser::NewL(
             ssContainer, 
@@ -110,10 +102,9 @@
             phoneNumber,
             manufacturerSpecific,
             emergencyNumberParser,
-            voipNumberParser,
-            imeiParser );
+            voipNumberParser);
 
-    CleanupStack::Pop( 7, ssContainer );
+    CleanupStack::Pop( 6, ssContainer );
 
     return parser;
     }
@@ -233,13 +224,11 @@
     
     // Allowed:
     //      0 SEND
-    //      IMEI
-    //      All manufacturer codes (incl. SW version)
+    //      All manufacturer codes
     //      All sim control procedures
     //      All pcn procedures
     
     return ( uid == KPhoneUidCommand0 ||
-             uid == KPhoneUidIMEI ||
              uid == KPhoneUidManufacturerDebugCode ||
              uid == KPhoneUidManufacturerCode || 
              PHONE_EXTRACT_MAIN( uid ) == KPhoneGsmUidSimControlProcedure ||
@@ -258,18 +247,14 @@
 
     // Allowed:
     //      DialEmergency
-    //      IMEI
-    //      Some manufacturer codes (incl. SW version)
+    //      Some manufacturer codes
     //      All sim control procedures
     //      All pcn procedures
     
     return ( uid == KPhoneUidEmergencyNumber ||
-             uid == KPhoneUidIMEI ||
              uid == KPhoneUidManufacturerDebugCode ||
              ( uid == KPhoneUidManufacturerCode && 
-               ( aux == CPhoneGsmManufacturerHandler::EShowVersion ||
-                 aux == CPhoneGsmManufacturerHandler::ELifeTimer ||
-                 aux == CPhoneGsmManufacturerHandler::EBadPinChange ||
+               ( aux == CPhoneGsmManufacturerHandler::EBadPinChange ||
                  aux == CPhoneGsmManufacturerHandler::EBadPin2Change ||
                  aux == CPhoneGsmManufacturerHandler::EBadPinUnblock ||
                  aux == CPhoneGsmManufacturerHandler::EBadPin2Unblock ) ) ||
@@ -326,11 +311,6 @@
     manufacturer->AddL( *manuCodes );
     CleanupStack::Pop( manuCodes );
 
-    manuCodes->AddStringL(
-        KPhoneCodeSwVersion, 
-        CPhoneGsmManufacturerParser::EFlagCode,
-        CPhoneGsmManufacturerHandler::EShowVersion );
-
     manuCodes->AddStringL( 
         KPhoneCodeBadPinChange,
         CPhoneGsmManufacturerParser::EFlagCode + 
@@ -375,15 +355,7 @@
         KPhoneCodeWLANMAC, 
         CPhoneGsmManufacturerParser::EFlagCode,
         CPhoneGsmManufacturerHandler::EShowWlanMac,
-        KFeatureIdProtocolWlan );		
-
-    if ( CPhoneParserFeatures::LifeTimerEnabled())
-        {
-        manuCodes->AddStringL( 
-            KPhoneCodeLifeTimer,
-            CPhoneGsmManufacturerParser::EFlagCode,
-            CPhoneGsmManufacturerHandler::ELifeTimer );
-        }
+        KFeatureIdProtocolWlan );       
 
     manuCodes->AddStringL( 
         KPhoneCodeRFLoopback,
--- a/telutils/telephonyservice/group/bld.inf	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/telephonyservice/group/bld.inf	Tue Aug 31 15:45:17 2010 +0300
@@ -23,7 +23,7 @@
 PRJ_EXPORTS
 
 // IBY file exports
-../rom/telephonyservice.iby                  CORE_MW_LAYER_IBY_EXPORT_PATH(TelephonyService.iby)
+../rom/telephonyservice.iby                  CORE_MW_LAYER_IBY_EXPORT_PATH(telephonyservice.iby)
 
 // SIS stubs
 
--- a/telutils/telephonyservice/group/telephonyservice.mmp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/telephonyservice/group/telephonyservice.mmp	Tue Aug 31 15:45:17 2010 +0300
@@ -42,6 +42,6 @@
 
 MW_LAYER_SYSTEMINCLUDE
 
-LIBRARY    				euser.lib
-LIBRARY					mediatorclient.lib
-LIBRARY					estor.lib
+LIBRARY                 euser.lib
+LIBRARY                 mediatorclient.lib
+LIBRARY                 estor.lib
--- a/telutils/telephonyservice/inc/ccallremotepartyinformationimpl.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/telephonyservice/inc/ccallremotepartyinformationimpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -2,7 +2,7 @@
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/telutils/telephonyservice/inc/cmediatorservice.h	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/telephonyservice/inc/cmediatorservice.h	Tue Aug 31 15:45:17 2010 +0300
@@ -23,8 +23,8 @@
 #include <e32std.h>
 #include <e32base.h>
 
-#include <MediatorCommandInitiator.h>
-#include <MediatorEventConsumer.h>
+#include <MediatorCommandInitiator.h> 
+#include <MediatorEventConsumer.h> 
 
 // forward declarations 
 
--- a/telutils/telephonyservice/rom/telephonyservice.iby	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/telephonyservice/rom/telephonyservice.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -18,8 +18,8 @@
 #ifndef __TelephonyService_IBY__
 #define __TelephonyService_IBY__
 
-file=ABI_DIR\BUILD_DIR\telephonyservice.dll	   System\libs\telephonyservice.dll
-//data=ZSYSTEM\install\phoneparser_stub.SIS    System\Install\phoneparser_stub.SIS
+file=ABI_DIR\BUILD_DIR\telephonyservice.dll    System\libs\telephonyservice.dll
+//data=ZSYSTEM\install\phoneparser_stub.sis    System\Install\phoneparser_stub.sis
 
 #endif
 
--- a/telutils/telephonyservice/src/ccallinformation.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/telephonyservice/src/ccallinformation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -52,7 +52,7 @@
 //
 EXPORT_C CCallInformation* CCallInformation::NewL()
     {
-    	
+        
     CCallInformation* self = new (ELeave) CCallInformation( );    
         
     CleanupStack::PushL( self );
--- a/telutils/telephonyservice/src/ccallinformationimpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/telephonyservice/src/ccallinformationimpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -58,10 +58,11 @@
     CCallInformationImpl* self = new (ELeave) CCallInformationImpl( );     
     CleanupStack::PushL( self );
     
-    CMediatorService* mediatorService = CMediatorService::NewLC( CMediatorService::ECallInfo );    
-    self->ConstructL(mediatorService);    
-        
-    CleanupStack::Pop( 2,self );    
+    CMediatorService* mediatorService = 
+        CMediatorService::NewL( CMediatorService::ECallInfo );    
+    self->ConstructL(mediatorService);
+    
+    CleanupStack::Pop( self );
     TSLOGSTRING("CCallInformationImpl::NewL >>");
     return self;
     }
--- a/telutils/telephonyservice/src/ccallremotepartyinformationimpl.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/telephonyservice/src/ccallremotepartyinformationimpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -2,7 +2,7 @@
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
+* under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/telutils/telephonyservice/src/cmediatorservice.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ b/telutils/telephonyservice/src/cmediatorservice.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -15,8 +15,8 @@
 *
 */
 
-#include <MediatorCommandInitiator.h>
-#include <MediatorDomainUIDs.h>
+#include <MediatorCommandInitiator.h> 
+#include <MediatorDomainUIDs.h> 
 #include <callinformation.h>            //Call Information Mediator API
 #include <callremotepartyinformation.h> //Call Remote Party Information Mediator API
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/bwins/xqtelephonyserviceu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,17 @@
+EXPORTS
+	?staticMetaObject@XQCallInfo@@2UQMetaObject@@B @ 1 NONAME ; struct QMetaObject const XQCallInfo::staticMetaObject
+	?callInformationChanged@XQCallInfo@@IAEXXZ @ 2 NONAME ; void XQCallInfo::callInformationChanged(void)
+	??_EXQCallInfo@@UAE@I@Z @ 3 NONAME ; XQCallInfo::~XQCallInfo(unsigned int)
+	?metaObject@XQCallInfo@@UBEPBUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const * XQCallInfo::metaObject(void) const
+	??0XQCallInfo@@IAE@XZ @ 5 NONAME ; XQCallInfo::XQCallInfo(void)
+	?tr@XQCallInfo@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString XQCallInfo::tr(char const *, char const *, int)
+	?trUtf8@XQCallInfo@@SA?AVQString@@PBD0H@Z @ 7 NONAME ; class QString XQCallInfo::trUtf8(char const *, char const *, int)
+	?trUtf8@XQCallInfo@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString XQCallInfo::trUtf8(char const *, char const *)
+	?sendCallInfoChangedSignal@XQCallInfo@@IAEXXZ @ 9 NONAME ; void XQCallInfo::sendCallInfoChangedSignal(void)
+	?tr@XQCallInfo@@SA?AVQString@@PBD0@Z @ 10 NONAME ; class QString XQCallInfo::tr(char const *, char const *)
+	?qt_metacall@XQCallInfo@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11 NONAME ; int XQCallInfo::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?getStaticMetaObject@XQCallInfo@@SAABUQMetaObject@@XZ @ 12 NONAME ; struct QMetaObject const & XQCallInfo::getStaticMetaObject(void)
+	??1XQCallInfo@@UAE@XZ @ 13 NONAME ; XQCallInfo::~XQCallInfo(void)
+	?create@XQCallInfo@@SAPAV1@XZ @ 14 NONAME ; class XQCallInfo * XQCallInfo::create(void)
+	?qt_metacast@XQCallInfo@@UAEPAXPBD@Z @ 15 NONAME ; void * XQCallInfo::qt_metacast(char const *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/eabi/xqtelephonyserviceu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,13 @@
+EXPORTS
+	_ZN10XQCallInfo11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN10XQCallInfo11qt_metacastEPKc @ 2 NONAME
+	_ZN10XQCallInfo16staticMetaObjectE @ 3 NONAME DATA 16
+	_ZN10XQCallInfo19getStaticMetaObjectEv @ 4 NONAME
+	_ZN10XQCallInfo22callInformationChangedEv @ 5 NONAME
+	_ZN10XQCallInfo25sendCallInfoChangedSignalEv @ 6 NONAME
+	_ZN10XQCallInfo6createEv @ 7 NONAME
+	_ZNK10XQCallInfo10metaObjectEv @ 8 NONAME
+	_ZTI10XQCallInfo @ 9 NONAME
+	_ZTV10XQCallInfo @ 10 NONAME
+	_ZN10XQCallInfoC2Ev @ 11 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/inc/qtphonesrvlog.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Provides macros for logging
+*
+*/
+
+
+
+#ifndef __QTPHONESRVLOG_H__
+#define __QTPHONESRVLOG_H__
+
+//  INCLUDES
+#include <QDebug>
+
+// Q_FUNC_INFO does not print function signature in Symbian..
+
+#ifdef _DEBUG
+#define PHONE_DEBUG(A)                   qDebug() <<A;
+#define PHONE_DEBUG2(A, B)               qDebug() <<A <<B
+#define PHONE_DEBUG3(A, B, C)            qDebug() <<A <<B <<C
+#define PHONE_DEBUG4(A, B, C, D)         qDebug() <<A <<B <<C <<D
+
+#define PHONE_TRACE                      qDebug() <<__PRETTY_FUNCTION__;
+#define PHONE_TRACE1(A)                  qDebug() <<__PRETTY_FUNCTION__ <<A;
+#define PHONE_TRACE2(A, B)               qDebug() <<__PRETTY_FUNCTION__ <<A <<B
+#define PHONE_TRACE3(A, B, C)            qDebug() <<__PRETTY_FUNCTION__ <<A <<B <<C
+#define PHONE_TRACE4(A, B, C, D)         qDebug() <<__PRETTY_FUNCTION__ <<A <<B <<C <<D
+#else
+#define PHONE_DEBUG(A)
+#define PHONE_DEBUG2(A, B)
+#define PHONE_DEBUG3(A, B, C)
+#define PHONE_DEBUG4(A, B, C, D)
+
+#define PHONE_TRACE
+#define PHONE_TRACE1(A)
+#define PHONE_TRACE2(A, B)
+#define PHONE_TRACE3(A, B, C)
+#define PHONE_TRACE4(A, B, C, D)
+#endif
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/inc/xqcallinfoimpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  Provides implementation class for XQCallInfo -class.
+*
+*/
+
+#ifndef XQCALLINFOIMPL_H
+#define XQCALLINFOIMPL_H
+
+#include <QObject>
+#include <QString>
+#include <mcallinformationobserver.h>
+
+#include "xqcallinfo.h"
+
+// forward declarations
+class CCallInformation;
+class CCallInfoIter;
+
+/*!
+    XQCallInfoImpl
+    This class provides implementation for XQCallInfo -class.
+*/
+class XQCallInfoImpl : 
+    public XQCallInfo, 
+    public MCallInformationObserver
+    {
+    Q_OBJECT
+public:
+    
+    /*!
+       Constructor
+    */
+    explicit XQCallInfoImpl();
+
+    /*!
+       Destructor
+    */
+    virtual ~XQCallInfoImpl();
+    
+    /*!
+        \fn void getCalls( QList<CallInfo> &calls )
+        
+       Gets the snapshot of ongoing calls.
+    */
+    void getCalls(QList<CallInfo> &calls);
+    
+    /*!
+        \fn bool isCallInState( CCPCall::TCallState state ) const
+        
+        Returns information whether call in given state exist.
+    */
+    bool isCallInState(CCPCall::TCallState state) const;
+    
+public: // from MCallInformationObserver.    
+    
+    /*!
+        \fn void CallInformationChanged()
+        
+        Informs XQCallinfo that there are changes in ongoing calls.
+    */
+    void CallInformationChanged();
+    
+private:
+    
+    /*!
+        \fn void setCallInformationObserver()
+        
+        Sets the observer for changes in current calls
+    */
+    void setCallInformationObserver();
+    
+private:
+    
+    CCallInformation *m_CallInformation;
+    
+    CCallInfoIter *m_Iter;
+    };
+
+
+#endif // XQCALLINFOIMPL_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/rom/xqtelephonyservice.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:s
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  XQTelephonyService's iby definitions.
+ *
+*/
+
+#ifndef __XQTELEPHONYSERVICE_IBY__
+#define __XQTELEPHONYSERVICE_IBY__
+
+file=ABI_DIR\BUILD_DIR\xqtelephonyservice.dll      System\libs\xqtelephonyservice.dll
+
+#endif // __XQTELEPHONYSERVICE_IBY__
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/src/xqcallinfo.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Provides information about ongoing calls.
+*
+*/
+
+#include "xqcallinfoimpl.h"
+#include <xqcallinfo.h>
+#include "qtphonesrvlog.h"
+
+
+XQCallInfo *XQCallInfo::create()
+{
+    PHONE_TRACE;
+    return new XQCallInfoImpl();
+}
+
+void XQCallInfo::sendCallInfoChangedSignal()
+{
+    PHONE_TRACE;
+    emit callInformationChanged ();
+}
+
+XQCallInfo::XQCallInfo()
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/src/xqcallinfoimpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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:  Provides implementation for XQCallInfo -class.
+*
+*/
+
+#include "xqcallinfoimpl.h"
+#include <ccallinformation.h>
+#include <ccallinfoiter.h>
+#include <mcall.h>
+
+XQCallInfoImpl::XQCallInfoImpl(): XQCallInfo(), m_CallInformation(0)
+{
+    TRAPD( error, m_CallInformation = CCallInformation::NewL());
+    qt_symbian_throwIfError(error);
+    setCallInformationObserver();
+}
+
+XQCallInfoImpl::~XQCallInfoImpl()
+{
+    delete m_CallInformation;
+}
+
+void XQCallInfoImpl::setCallInformationObserver()
+{
+    m_CallInformation->NotifyCallInformationChanges(*this);
+}
+
+void XQCallInfoImpl::getCalls(QList<CallInfo> &calls)
+{
+    TRAPD( error, m_Iter = &m_CallInformation->GetCallsL() );
+    qt_symbian_throwIfError(error);
+    
+    for (m_Iter->First(); !m_Iter->IsDone(); m_Iter->Next()) {
+        const MCall& call = m_Iter->Current();
+        CallInfo callInfo;
+        callInfo.m_Direction = call.CallDirection();
+        callInfo.m_Index = call.CallIndex();
+        callInfo.m_ServiceId = call.ServiceId();
+        callInfo.m_Type = call.CallType();
+        callInfo.m_State = call.CallState();
+        calls.append(callInfo);
+     }
+}
+
+bool XQCallInfoImpl::isCallInState(CCPCall::TCallState state) const
+{
+    return m_CallInformation->IsCallInState(state);
+}
+
+void XQCallInfoImpl::CallInformationChanged()
+{
+    XQCallInfo::sendCallInfoChangedSignal();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/tsrc/unit/runall.cmd	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,38 @@
+@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_xqcallinfo
+)
+
+@echo off
+if "%1"=="win32" (
+call runtest_w32.cmd ut_xqcallinfo
+)
+
+@echo off
+if "%2"=="ctc" (
+call ctcpost^
+ ut_xqcallinfo\mon.sym ut_xqcallinfo\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/telutils/xqtelephonyservice/tsrc/unit/runtest.cmd	Tue Aug 31 15:45:17 2010 +0300
@@ -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/telutils/xqtelephonyservice/tsrc/unit/runtest_w32.cmd	Tue Aug 31 15:45:17 2010 +0300
@@ -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/telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/stubs/ccallinformation.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* 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:  Provides information about ongoing calls.
+*
+*/
+
+
+#include <e32base.h>
+
+#include "ccallinformation.h"
+#include "MCallInformationObserver.h"
+#include "ccallinformationimpl.h"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+
+// ---------------------------------------------------------------------------
+// C++ constructor.
+// ---------------------------------------------------------------------------
+//
+CCallInformation::CCallInformation()
+    {
+        
+    }
+
+
+// ---------------------------------------------------------------------------
+// Symbian second-phase constructor.
+// ---------------------------------------------------------------------------
+//
+void CCallInformation::ConstructL()
+    {
+    
+    iImpl = CCallInformationImpl::NewL();    
+    }
+
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+ CCallInformation* CCallInformation::NewL()
+    {
+    CCallInformation* self = new (ELeave) CCallInformation( );    
+        
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    
+    return self;
+    }
+
+
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CCallInformation::~CCallInformation()
+    {
+    delete iImpl;
+    }
+
+// ---------------------------------------------------------------------------
+// Sets observer for call information changes.
+// ---------------------------------------------------------------------------
+//
+ void CCallInformation::NotifyCallInformationChanges(
+    MCallInformationObserver& aObserver )
+    {
+    iImpl->NotifyCallInformationChanges( aObserver );    
+    }
+    
+// ---------------------------------------------------------------------------
+// Cancels previously placed NotifyCallInformationChangesL call.
+// ---------------------------------------------------------------------------
+//
+ void CCallInformation::CancelNotification( )
+    {
+    }
+    
+// ---------------------------------------------------------------------------
+// Gets the snapshot of ongoing calls.
+// ---------------------------------------------------------------------------
+//
+ CCallInfoIter& CCallInformation::GetCallsL( ) 
+    {
+    return iImpl->GetCallsL( );
+    }
+    
+// ---------------------------------------------------------------------------
+// Returns information whether call in given state exist. 
+// ---------------------------------------------------------------------------
+//
+TBool CCallInformation::IsCallInState( CCPCall::TCallState aState ) const
+     {
+     return iImpl->IsCallInState( aState );
+     }    
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/stubs/ccallinformation.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,111 @@
+/*
+* 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:  Provides information about ongoing calls.
+*
+*/
+
+
+#ifndef MOCK_C_CALLINFORMATION_H
+#define MOCK_C_CALLINFORMATION_H
+
+#include <e32base.h>
+
+#include "mcall.h"
+
+
+// forward declarations 
+class MCallInformationObserver;
+class CCallInformationImpl;
+class CCallInfoIter;
+
+
+/**
+ *  Class to be used for receiving information about ongoing calls. 
+ *
+ *  @code
+ *  // create the CCallInformation instance e.g. when the client component is created
+ *  iCallInfo = CCallInformation::NewL(); 
+ *  iCallInfo->NotifyCallInformationChanges(*iObserver);
+ *  
+ *  // and use it when needed
+ *  CCallInfoIter& iter = iCallInfo->GetCallsL();    
+ *  @endcode
+ *
+ *  @lib telephonyservice.lib
+ *  @since S60 v5.1 
+ */
+NONSHARABLE_CLASS( CCallInformation ) : public CBase
+    {
+
+public:
+
+    /**
+     * Two-phased constructor.          
+     */
+     static CCallInformation* NewL();
+    
+
+    /**
+    * Destructor.
+    */
+    virtual ~CCallInformation();
+
+    /**
+     * Allows a client to be notified when there are changes in current calls.
+     * There can be only one observer per CCallInformation instance.
+     *
+     * @since S60 v5.1 
+     * @param aObserver Observer for notifications.
+     */
+      void NotifyCallInformationChanges( MCallInformationObserver& aObserver );
+    
+    /**
+     * Used to cancel previously placed NotifyCallInformationChanges call.
+     *
+     * @since S60 v5.1      
+     */
+      void CancelNotification();
+     
+     /**
+     * Gets the snapshot of ongoing calls.
+     *
+     * @since S60 v5.1      
+     * @return Ongoing calls.
+     */
+      CCallInfoIter& GetCallsL( );      
+      
+      /**
+       * Returns information whether call in given state exist.
+       * 
+       * @since S60 v5.2
+       * @param aState Specifies a call state that is used as a search key.
+       * @return ETrue if call in given state exist.
+       */
+      TBool IsCallInState( CCPCall::TCallState aState ) const;
+ 
+     
+private:
+
+    CCallInformation();
+
+    void ConstructL();
+
+
+private: // data    
+    
+	CCallInformationImpl* iImpl;	
+    };
+
+
+#endif // MOCK_C_CALLINFORMATION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/stubs/ccallinformationimpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,142 @@
+/*
+* 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:  Provides implementation for CCallInformation -class.
+*
+*/
+
+
+#include <e32base.h>
+#include <callinformation.h>    //Call Information Mediator API
+
+#include "CCallInformationImpl.h"
+#include "ccallinfoiter.h"
+#include "mcallinformationobserver.h"
+
+bool GlobalEmptyCallList;
+bool GlobalTriggerSignal;
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// C++ constructor.
+// ---------------------------------------------------------------------------
+//
+CCallInformationImpl::CCallInformationImpl()
+    {
+        
+    }
+
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CCallInformationImpl* CCallInformationImpl::NewL()
+    {
+    CCallInformationImpl* self = new (ELeave) CCallInformationImpl( );  
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CCallInformationImpl::~CCallInformationImpl()
+    {
+    delete iInfos;
+    delete iCallIter;   
+    
+    delete iInfosInState;    
+    delete iCallStateIter;   
+    }
+
+
+// ---------------------------------------------------------------------------
+// Saves the observer call information changes.
+// ---------------------------------------------------------------------------
+//
+void CCallInformationImpl::NotifyCallInformationChanges(
+    MCallInformationObserver& aObserver )
+    {
+    iObserver = &aObserver;
+    return;
+    }
+    
+// ---------------------------------------------------------------------------
+// Removes the observer.
+// ---------------------------------------------------------------------------
+//
+void CCallInformationImpl::CancelNotification( )
+    {
+    iObserver = NULL;
+    return;
+    }
+
+
+// ---------------------------------------------------------------------------
+// Returns info about all calls. 
+// ---------------------------------------------------------------------------
+//
+CCallInfoIter& CCallInformationImpl::GetCallsL( )
+    {    
+    iInfos = CCallInfos::NewL();  
+    
+    if (!GlobalEmptyCallList)
+        {
+        TCallInfo callInfo;
+            int index = 0;
+            unsigned int serviceId = 1;
+            callInfo.iIndex = index;
+            callInfo.iServiceId = serviceId;
+            callInfo.iDirection= CCPCall::EMobileOriginated;
+            callInfo.iType = CCPCall::ECallTypeCSVoice;
+            callInfo.iState = CCPCall::EStateDialling;
+            iInfos->AddL(callInfo);
+            
+            index++;
+            serviceId++;
+            callInfo.iIndex = index;
+            callInfo.iServiceId = serviceId;
+            callInfo.iDirection= CCPCall::EMobileTerminated;
+            callInfo.iType = CCPCall::ECallTypeCSVoice;
+            callInfo.iState = CCPCall::EStateConnected;
+            iInfos->AddL(callInfo);
+        }
+    
+    iCallIter = CCallInfoIter::NewL( *iInfos );
+                      
+    return *iCallIter;            
+    }
+
+// ---------------------------------------------------------------------------
+// Returns information whether call in given state exist. 
+// ---------------------------------------------------------------------------
+//
+TBool CCallInformationImpl::IsCallInState( CCPCall::TCallState aState ) const
+    {
+    bool value(false);
+    if (aState == CCPCall::EStateConnected)
+        {
+        value = true;
+        }
+    
+    if( GlobalTriggerSignal )
+        {
+        iObserver->CallInformationChanged();
+        GlobalTriggerSignal=false;
+        }
+    
+    return value;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/stubs/ccallinformationimpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* 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:  Provides implementation class for CCallInformation -class.
+*
+*/
+
+
+#ifndef CCALLINFORMATIONIMPL_H_
+#define CCALLINFORMATIONIMPL_H_
+
+#include <e32base.h>
+#include "mcall.h"
+
+// forward declarations 
+class MCallInformationObserver;
+class CCallInfoIter;
+class CCallInfos;
+
+
+/**
+ *  This class provides implementation for CCallInformation -class.  
+ * 
+ *  @lib telephonyservice.lib
+ *  @since S60 v5.1
+ */
+NONSHARABLE_CLASS( CCallInformationImpl ) : public CBase                                      
+    {
+public:
+    
+    /**
+    * Two-phased constructor.         
+    */
+    static CCallInformationImpl* NewL();
+        
+
+    /**
+    * Destructor.
+    */
+    virtual ~CCallInformationImpl();
+
+    /**
+    * Sets the observer for changes in current calls.
+    *
+    * @since S60 v5.1 
+    * @param aObserver Observer for notifications.
+    */
+    void NotifyCallInformationChanges( MCallInformationObserver& aObserver );
+    
+    /**
+    * Used to cancel previously placed NotifyCallInformationChanges call.
+    *
+    * @since S60 v5.1      
+    */
+    void CancelNotification();
+     
+    /**
+    * Gets the snapshot of ongoing calls.
+    *
+    * @since S60 v5.1      
+    * @return Ongoing calls.
+    */
+    CCallInfoIter& GetCallsL(); 
+    
+            
+    /**
+     * Returns information whether call in given state exist.
+     * 
+     * @since S60 v5.2
+     * @param aState Specifies a call state that is used as a search key.
+     * @return ETrue if call in given state exist.
+     */
+    TBool IsCallInState( CCPCall::TCallState aState ) const;
+                             
+protected:
+    
+    CCallInformationImpl();
+    
+protected: //data 
+    /**
+     * Observer to be notified when call information changes
+     * Not own.  
+     */
+    MCallInformationObserver* iObserver;   
+    
+private: // data    
+      
+    CCallInfos*       iInfos;    
+    CCallInfos*       iInfosInState;
+    CCallInfoIter*    iCallIter;    
+    CCallInfoIter*    iCallStateIter;
+    };
+
+
+#endif /*CCALLINFORMATIONIMPL_H_*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/unit_tests.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,111 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Unit tests for DialService.
+*
+*/
+
+#include <QtTest/QtTest>
+
+#include "xqcallinfo.h"
+#include <ccpdefs.h>
+
+extern bool GlobalEmptyCallList;
+extern bool GlobalTriggerSignal;
+
+class TestXQCallInfo : public QObject
+{
+    Q_OBJECT
+public:
+    TestXQCallInfo();
+    virtual ~TestXQCallInfo();
+    
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    
+private slots:
+    void testGetCallInfo ();
+    void testGetCallInfoEmptyCallInfo();
+    void testIsCallInState();
+
+private:
+    
+    XQCallInfo *m_XQCallInfo;
+};
+
+TestXQCallInfo::TestXQCallInfo():
+    m_XQCallInfo(0)
+    {
+    }
+
+TestXQCallInfo::~TestXQCallInfo ()
+    {
+    }
+
+void TestXQCallInfo::initTestCase ()
+    {
+    GlobalEmptyCallList=false;
+    m_XQCallInfo = XQCallInfo::create();
+    }
+
+void TestXQCallInfo::cleanupTestCase ()
+    {
+    delete m_XQCallInfo;
+    }
+
+
+void TestXQCallInfo::testGetCallInfo()
+    {
+    QList<CallInfo> calls;
+    CallInfo callInfo;
+    m_XQCallInfo->getCalls(calls);
+    callInfo = calls.first();
+    CallInfo callInfo2;
+    callInfo2 = calls.last();
+    
+    QCOMPARE(callInfo.callType(), CCPCall::ECallTypeCSVoice );
+    QCOMPARE(callInfo.callDirection(), CCPCall::EMobileOriginated);
+    QCOMPARE(callInfo.callState(), CCPCall::EStateDialling);
+    
+    QCOMPARE(callInfo2.callType(), CCPCall::ECallTypeCSVoice );
+    QCOMPARE(callInfo2.callDirection(), CCPCall::EMobileTerminated);
+    QCOMPARE(callInfo2.callState(), CCPCall::EStateConnected);
+    }
+
+void TestXQCallInfo::testGetCallInfoEmptyCallInfo()
+    {
+    GlobalEmptyCallList=true;
+    QList<CallInfo> calls;
+    m_XQCallInfo->getCalls(calls);
+    
+    QCOMPARE(calls.count(), 0 );
+    }
+
+void TestXQCallInfo::testIsCallInState()
+    {
+    GlobalTriggerSignal=true;
+    QSignalSpy spy( m_XQCallInfo, SIGNAL( callInformationChanged() ) );
+    
+    GlobalEmptyCallList=false;
+    bool value(false);
+    const CCPCall::TCallState state(CCPCall::EStateConnected );
+    value = m_XQCallInfo->isCallInState(CCPCall::EStateConnected);
+    
+    QCOMPARE(value, true );
+    QCOMPARE( spy.count(), 1 );
+    }
+
+
+QTEST_MAIN(TestXQCallInfo)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/tsrc/unit/ut_xqcallinfo/ut_xqcallinfo.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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 = app
+TARGET = 
+TARGET.UID3 = 0xE31F4ECE
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+
+symbian {
+
+    INCLUDEPATH += \epoc32\include\platform \
+                   \epoc32\include\platform\mw \
+                   \epoc32\include\mw \
+                   ../../../../../inc
+
+    LIBS += -lxqservice \
+            -lxqserviceutil \
+            -lxqtelephonyservice
+
+    TARGET.CAPABILITY = ALL -TCB
+    DEFINES += BUILD_XQCALLINFO
+}
+
+# Input
+HEADERS += ../../../../../phonesrv_plat/call_information_api/inc/xqcallinfo.h \
+           ../../../inc/xqcallinfoimpl.h \
+           stubs/ccallinformation.h \
+           stubs/ccallinformationimpl.h 
+SOURCES += unit_tests.cpp
+SOURCES += ../../../src/xqcallinfo.cpp \
+           ../../../src/xqcallinfoimpl.cpp\
+           stubs/ccallinformation.cpp \
+           stubs/ccallinformationimpl.cpp \
+           ../../../..\telephonyservice\src\ccallinfoiter.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/xqtelephonyservice.pri	Tue Aug 31 15:45:17 2010 +0300
@@ -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: 
+#
+
+SOURCES += ./src/xqcallinfo.cpp \
+           ./src/xqcallinfoimpl.cpp
+HEADERS += ../../phonesrv_plat/call_information_api/inc/xqcallinfo.h \
+		   ./inc/xqcallinfoimpl.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telutils/xqtelephonyservice/xqtelephonyservice.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+#
+#
+
+TEMPLATE = lib
+TARGET = xqtelephonyservice
+
+symbian {
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.UID3 = 0x20029F04
+    DEFINES += BUILD_XQCALLINFO
+    
+    INCLUDEPATH += ../../inc
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    
+    defFiles = \
+    "$${LITERAL_HASH}ifdef WINSCW" \
+    "DEFFILE bwins/xqtelephonyservice.def" \
+    "$${LITERAL_HASH}else" \
+    "DEFFILE eabi/xqtelephonyservice.def" \
+    "$${LITERAL_HASH}endif"
+
+    MMP_RULES += defFiles
+    
+    LIBS += -ltelephonyservice
+            
+    BLD_INF_RULES.prj_exports +=  \
+     "$${LITERAL_HASH}include <platform_paths.hrh>" \
+     "./rom/xqtelephonyservice.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(xqtelephonyservice.iby)"
+     
+    # tracing macros
+    headers.sources = inc/qtphonesrvlog.h
+    headers.path = |../../inc
+    for(header, headers.sources):BLD_INF_RULES.prj_exports += "$$header $$headers.path/$$basename(header)"       
+}
+
+# Input
+include(xqtelephonyservice.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/inc/actioncustomitem.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#ifndef ACTIONCUSTOMITEM_H
+#define ACTIONCUSTOMITEM_H
+
+
+// System includes
+#include <qobject.h>
+#include <hbdataformviewitem.h>
+#include <hbdataformmodelitem.h>
+
+// Forward declarations
+class CpItemDataHelper;
+
+// Class declaration
+class ActionCustomItem :  public HbDataFormViewItem
+{
+    Q_OBJECT
+public:
+    /*!
+        Constructor
+    */
+    ActionCustomItem(QGraphicsItem *parent = 0);
+    
+    /*!
+        Destructor
+    */
+
+    ~ActionCustomItem();
+    /*!
+        From base class CpPluginInterface
+        Form more information please check the base class.
+    */
+     virtual HbAbstractViewItem* createItem();
+
+     virtual bool canSetModelIndex(const QModelIndex &index) const;
+
+     enum { VmbxEditItem = HbDataFormModelItem::CustomItemBase + 1  };
+    
+protected:
+
+    virtual HbWidget* createCustomWidget();
+        
+};
+
+#endif // ACTIONCUSTOMITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/inc/customedit.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#ifndef CUSTOMEDIT_H
+#define CUSTOMEDIT_H
+
+#include <hblineedit.h>
+#include <QTimer>
+
+
+class CustomEdit : public HbLineEdit
+{
+    Q_OBJECT
+public:
+
+    /*!
+        Constructor
+    */
+    explicit CustomEdit(QGraphicsItem *parent = 0);
+
+    /*!
+        Distructor
+    */
+    virtual ~CustomEdit();
+
+    /*!
+        Rewriten,from base class HbLineEdit
+    */    
+    void focusInEvent ( QFocusEvent * event );
+
+signals:
+
+    /*!
+        Click line edit
+    */
+    void editItemClicked();
+
+private slots:
+
+    // emits the editItemClicked signal
+    void emitEditItemClicked();
+
+private:
+
+    // timer for item clicked emission
+    QTimer mItemClickedTimer;
+
+};
+
+#endif //CUSTOMEDIT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/inc/loggerutil.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2009 -2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef __LOGGERUTIL_H
+#define __LOGGERUTIL_H
+
+//  INCLUDES
+#include <QDebug>
+#include <QFile>
+#include <QDateTime>
+
+/***************************
+ * LOGGER SETTINGS
+ ***************************/ 
+
+#ifndef _DEBUG
+
+/**
+ * Logging method setting:
+ * 0 = No logging
+ * 1 = File logging, see additional comments later in this file!
+ * 2 = Debug output
+ */ 
+#define _LOGGERUTIL_LOGGING_METHOD      0   // UREL BUILD
+
+#else
+    #ifdef __WINS__
+        #define _LOGGERUTIL_LOGGING_METHOD      1   // UDEB BUILD, WINS
+    #else
+        #define _LOGGERUTIL_LOGGING_METHOD      2   // HW UDEB
+    #endif // __WINS__
+#endif // _DEBUG
+
+// Update this prefix for your component-specific string
+#define KDBGLOGPRE "VMBXUI: "   
+
+#if _LOGGERUTIL_LOGGING_METHOD == 1
+    #define KLOGGERUTILNEWLINE "\n"   
+    // Log file location, file created if path exists
+    const QString KLOGGERUTILLOGFILE("c:\\logs\\vmbx\\vmbxui.txt");
+#elif _LOGGERUTIL_LOGGING_METHOD == 2
+#endif //_LOGGERUTIL_LOGGING_METHOD
+
+/***************************
+ * FILE LOGGING IMPLEMENTATION
+ ***************************/
+#if _LOGGERUTIL_LOGGING_METHOD == 1
+    class DbgLoggerUtil
+    {
+    public:    
+        
+        // Constructor opens a file and prints newline+timestamp
+        //
+        // NOTICE the file is not closed if only constructor is run,
+        // other method(s) close the file later explicitly.
+        //
+        // NOTICE that file logging mode uses "append" so the file will grow 
+        // indefinitely unless manually deleted. Reason for this is that each 
+        // trace line opens&closes the file separately, so overwriting "truncate" 
+        // mode would result in the file containing only the latest trace line 
+        // and nothing more.
+        DbgLoggerUtil() : mFile( KLOGGERUTILLOGFILE ), mDbg( &mFile )
+        {
+            if ( mFile.open(QFile::WriteOnly | QFile::Append/*Truncate*/) )
+            {
+                mDbg << KLOGGERUTILNEWLINE << KDBGLOGPRE 
+                << QTime::currentTime().toString();
+            }           
+        }
+        /* Debugging method, remove from production code.
+        ~DbgLoggerUtil()
+            {
+            qDebug() << "~DbgLoggerUtil()";
+            }
+        */
+        // This operator writes the argument to file.
+        template<typename T>
+        DbgLoggerUtil &operator << (const T &aParam1)         
+        {
+            // File may be already open so check first
+            if ( QIODevice::NotOpen == mFile.openMode() )
+            {
+                /* result = */ mFile.open(
+                    QFile::WriteOnly | QFile::Append/*Truncate*/);        
+            }
+            if ( QIODevice::NotOpen != mFile.openMode() )
+            {
+                mDbg << aParam1;
+            }
+            // In order to optimize the file is left open.
+            // Close it after logging args is finished.
+            return *this;
+        }
+        
+        // This closes the file, dummy parameter not used.
+        template<typename T>
+        DbgLoggerUtil& operator ^ (const T &/*aParam1*/) 
+        {             
+            mFile.close(); // Also flushes the write buffer
+            return *this;
+        }
+       
+    private:
+        Q_DISABLE_COPY(DbgLoggerUtil)
+        QFile mFile;
+        QDebug mDbg;
+    };  
+      
+// ^ operator used just for closing the file, 0 is a dummy parameter  
+#define _DBGLOG(AAA)            DbgLoggerUtil() << AAA ^ 0;
+#define _DBGLOG2(AAA,BBB)       DbgLoggerUtil() << AAA << BBB ^ 0;
+#define _DBGLOG3(AAA,BBB,CCC)   DbgLoggerUtil() << AAA << BBB << CCC ^ 0;
+
+/***************************
+ * DEBUG PORT LOGGING IMPLEMENTATION
+ ***************************/
+#elif _LOGGERUTIL_LOGGING_METHOD == 2
+
+#define _DBGLOG(AAA)            qDebug() << KDBGLOGPRE << AAA;
+#define _DBGLOG2(AAA,BBB)       qDebug() << KDBGLOGPRE << AAA << BBB;
+#define _DBGLOG3(AAA,BBB,CCC)   qDebug() << KDBGLOGPRE << AAA << BBB << CCC;
+
+#else    // _LOGGERUTIL_LOGGING_METHOD == 0 or invalid
+
+/***************************
+ * EMPTY MACROS LOGGING IS DISABLED
+ ***************************/
+#define _DBGLOG(AAA)
+#define _DBGLOG2(AAA,BBB)
+#define _DBGLOG3(AAA,BBB,CCC)
+
+#endif  // _LOGGERUTIL_LOGGING_METHOD
+
+#endif    // __LOGGERUTIL_H
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/inc/vmbxcpgroup.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef VMBXCPGROUP_H
+#define VMBXCPGROUP_H
+
+// System includes
+#include <cpsettingformitemdata.h>
+#include <voicemailboxdefs.h>
+#include <QModelIndex>
+
+
+// Forward declarations
+class VmbxUiEngine;
+class CpItemDataHelper;
+class HbDataFormModelItem;
+
+
+// Class declaration
+class VmbxCpGroup : public CpSettingFormItemData
+{
+    Q_OBJECT
+
+public:
+    
+    /*!
+        Constructor
+    */
+    VmbxCpGroup( 
+        CpItemDataHelper &itemDataHelper);
+
+    /*!
+        Destructor
+    */
+    ~VmbxCpGroup();
+
+private slots:
+
+    /*!
+        Query cs voice number when user click line edit
+    */
+    void queryCsVoiceNumber();
+
+    /*!
+        Query cs video number when user click line edit
+    */
+    void queryCsVideoNumber();
+
+    /*!
+        Update number when vmbx number changed by OTA,OMA etc.
+    */
+    void updateVmbxNumber(const TVmbxType vmbxType);
+
+    /*!
+         Slot which handles item updating when it is needed.
+     */
+    void itemShown(const QModelIndex &item);    
+    
+private:
+    
+    /*!
+        Preparation before loading
+    */
+    void loadingPreparation();    
+    
+    /*!
+         Create the data form item by type
+     */
+    HbDataFormModelItem* createDataFormModelItem(const TVmbxType vmbxType);
+        
+    /*!
+      Update the vmbx number to the UI
+     */
+    void UpdateWidgetContent(const QModelIndex &item, const QString &string);
+
+
+private:
+    
+    // Own.
+    VmbxUiEngine *mUiEngine;
+
+    // Not own.
+    CpSettingFormItemData *mDefaultMailboxEditor;    
+
+    // Not own.
+    HbDataFormModelItem *mCsVoice1Editor;
+
+    // Not own.
+    HbDataFormModelItem *mCsVideo1Editor;
+    
+    // Index
+    QModelIndex mCsVoice1Index;
+
+    // Index
+    QModelIndex mCsVideo1Index;
+    
+    // Not own
+    CpItemDataHelper &mItemHelper;
+};
+
+#endif // VMBXCPGROUP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/inc/vmbxcpplugin.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#ifndef VMBXCPPLUGIN_H
+#define VMBXCPPLUGIN_H
+
+// System includes
+#include <qobject.h>
+#include <cpplugininterface.h>
+
+// Forward declarations
+class CpItemDataHelper;
+
+// Class declaration
+class VmbxCpPlugin : public QObject, public CpPluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(CpPluginInterface)
+    
+public:
+    /*!
+        Constructor
+    */
+    VmbxCpPlugin();
+    
+    /*!
+        Destructor
+    */
+    ~VmbxCpPlugin();
+
+    /*!
+        From base class CpPluginInterface
+        Form more information please check the base class.
+    */
+    virtual QList<CpSettingFormItemData *> createSettingFormItemData(
+        CpItemDataHelper &itemDataHelper) const;
+};
+
+#endif // VMBXCPPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/inc/vmbxuiengine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,188 @@
+/*
+ * Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#ifndef VMBXUIENGINE_H
+#define VMBXUIENGINE_H
+
+// System includes
+#include <QObject>
+#include <mvoicemailboxobserver.h>
+#include <voicemailboxdefs.h>
+
+// Forward declarations
+class CVoiceMailbox;
+class TVoiceMailboxParams;
+
+// Class declaration
+class VmbxUiEngine : public QObject, public MVoiceMailboxObserver
+{
+    Q_OBJECT
+            
+public:
+    
+    /*!
+        Constructor.
+    */
+    VmbxUiEngine();
+
+    /*!
+        Destructor
+    */
+    ~VmbxUiEngine();
+
+public:
+
+    /*!
+        Getter method for primary voice number of Voice Mailbox.
+        @param aValue Retrieved number.
+    */
+    void getCsVoiceNumber(QString &aValue);
+    
+    /*!
+        Getter method for primary video number of Voice Mailbox.
+        @param aValue Retrieved number.
+    */
+    void getCsVideoNumber(QString &aValue);
+    
+    /*!
+        Set number when cs voice number has been edited on UI.
+        @param aValue New value.
+    */
+    void setCsVoiceNumber( const QString &aValue );
+    
+    /*!
+        Set number when cs voice number has been edited on UI.
+        @param aValue New value.
+    */
+    void setCsVideoNumber( const QString &aValue );
+    
+    /*!
+        If video mailbox supported.
+    */    
+    bool isVideoSupport();
+
+    /*!
+        If voice mailbox is writable.
+    */
+    bool isVoiceWritable();
+
+    /*!
+        If video mailbox is writable.
+    */
+    bool isVideoWritable();
+
+      
+    // Add new Getter methods for other voice mailbox types
+
+    /*!
+        From MVoiceMailboxObserver
+        Observer callback for number/address change notification
+        from voice mailbox engine.
+        The UI should be notified to update the number.
+        @param aVmbxEntry New voicemailbox entry.
+    */
+    void HandleNotifyL(const CVoiceMailboxEntry &aVmbxEntry);
+
+    /*!
+        Query number when cs voice number has been edited on UI.
+        @param aValue New value.
+    */
+    int queryVoiceNumber(QString &aValue);
+
+    /*!
+        Query number when cs video number has been edited on UI.
+        @param aValue New value.
+    */
+    int queryVideoNumber(QString &aValue);
+    
+    /*!
+        Request notify when VMBX number changed
+        @param  aNotifyOnActiveLineOnly  Only active line or NOT
+     */
+    void notifyVmbxNumberChange(bool aNotifyOnActiveLineOnly);
+
+signals:
+
+    /*!
+        Signal emitted when voice mailbox data has been updated.
+    */
+    void voiceMailboxEngineEntriesUpdated(const TVmbxType vmbxType); 
+
+
+private: // New Method
+
+    /*!
+        Initialize vmbx ui engine.
+    */
+    void init();
+ 
+    /*!
+        Getter method for primary voice number of Voice Mailbox.
+        @param aValue Retrieved number.
+    */
+    void getCsVoicePrimaryNumber(QString &aValue);
+    
+    /*!
+        Getter method for primary video number of Voice Mailbox.
+        @param aValue Retrieved number.
+    */
+    void getCsVideoPrimaryNumber(QString &aValue);
+ 
+    /*!
+        Getter method for voice mailbox number.
+        @param aParam Identify voice mailbox type
+        @param aValue Retrieved number.
+    */    
+    void getNumber(const TVoiceMailboxParams &aParam, 
+                   QString &aValue);
+    
+    /*!
+        Setter method for voice mailbox number.
+        @param aParam Identify voice mailbox type
+        @param aValue Retrieved number.
+    */
+    void setNumber(const TVoiceMailboxParams &aParam, 
+                   const QString &aValue);
+
+    /*!
+        Query method for voice mailbox number.
+        @param aParam Identify voice mailbox type
+        @param aValue Retrieved number.
+    */
+    int queryNumber(const TVoiceMailboxParams &aParam, QString &aValue);
+    
+
+private:
+
+    /*!
+        Symbian voice mailbox engine which offers basic entry retrieval,
+        saving, querying etc. services.
+        Own.
+    */
+    CVoiceMailbox *mVmbxEngine;
+    /*!
+        Cs voice number
+     */
+    QString mCsVoiceNumber;
+
+    /*!
+        Cs video number
+     */
+    QString mCsVideoNumber;
+    
+};
+
+#endif // VMBXUIENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/rom/rom.pri	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,22 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+symbian: {
+  BLD_INF_RULES.prj_exports += \
+  "$${LITERAL_HASH}include<platform_paths.hrh>" \
+  "rom/vmbxcpplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(vmbxcpplugin.iby)" \
+   "rom/vmbxcpplugin_stub.sis /epoc32/data/z/system/install/vmbxcpplugin_stub.sis"
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/rom/vmbxcpplugin.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,25 @@
+
+/*
+* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+file=ABI_DIR\BUILD_DIR\vmbxcpplugin.dll   SHARED_LIB_DIR\vmbxcpplugin.dll
+
+
+data=\epoc32\data\c\resource\qt\plugins\controlpanel\vmbxcpplugin.qtplugin    resource\qt\plugins\controlpanel\vmbxcpplugin.qtplugin
+
+// sis stub file
+data=ZSYSTEM\install\vmbxcpplugin_stub.sis            System\Install\vmbxcpplugin_stub.sis
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/rom/vmbxcpplugin.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,25 @@
+;
+; 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".
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"vmbxcpplugin"},(0x20029F5D),10, 1, 0, TYPE=PU
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; DEPLOYMENT
+"\epoc32\release\armv5\urel\vmbxcpplugin.dll"    - "!:\sys\bin\vmbxcpplugin.dll"
+"\sf\mw\phonesrv\vmbx\vmbxcpplugin\qmakepluginstubs\vmbxcpplugin.qtplugin"    - "!:\resource\qt\plugins\controlpanel\vmbxcpplugin.qtplugin"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/rom/vmbxcpplugin_stub.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,30 @@
+;
+; Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:  For packing vmbxcpplugin stub.
+;
+; Languages
+&EN
+
+; Header
+#{"vmbxcpplugin"},(0x20029F5D),1,0,0,TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+""-"!:\sys\bin\vmbxcpplugin.dll"
+""-"!:\resource\qt\plugins\controlpanel\vmbxcpplugin.qtplugin"
Binary file vmbx/vmbxcpplugin/rom/vmbxcpplugin_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/src/actioncustomitem.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,83 @@
+/*
+ * 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:
+ *
+ */
+
+// System includes
+#include <QDebug>
+#include <QVariant>
+
+#include <hbdataformmodelitem.h>
+#include <cpitemdatahelper.h>
+#include "customedit.h"
+
+// User includes
+#include "actioncustomitem.h"
+#include "loggerutil.h"
+
+/*!
+    Constructor
+*/
+ActionCustomItem::ActionCustomItem(QGraphicsItem *parent)
+    : HbDataFormViewItem(parent)
+{
+    _DBGLOG("ActionCustomItem::ActionCustomItem()")
+}
+
+/*!
+    Destructor
+*/
+ActionCustomItem::~ActionCustomItem()
+{
+    _DBGLOG("VmbxCpPlugin::~ActionCustomItem()")
+}
+
+/*!
+    From base class HbDataFormViewItem
+*/
+HbAbstractViewItem* ActionCustomItem::createItem()
+{
+    _DBGLOG("ActionCustomItem::createItem <>")
+    return new ActionCustomItem(*this);
+}
+
+/*!
+    From base class HbDataFormViewItem
+*/
+HbWidget* ActionCustomItem::createCustomWidget()
+{
+    _DBGLOG("ActionCustomItem::createCustomWidget >")
+    int type = modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt();
+
+    CustomEdit *edit = 0;
+    if (type == VmbxEditItem) {
+        edit = new CustomEdit(this);
+        edit->setEchoMode(HbLineEdit::Normal );
+        edit->setReadOnly(true);        
+        _DBGLOG("ActionCustomItem::createCustomWidget customItem editor")
+    }
+    _DBGLOG("ActionCustomItem::createCustomWidget default<")
+    return edit;
+}
+
+bool ActionCustomItem::canSetModelIndex(const QModelIndex &index) const
+{
+    _DBGLOG("ActionCustomItem::canSetModelIndex >")
+    int type = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
+    return type == VmbxEditItem;
+}
+
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/src/customedit.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* 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 "customedit.h"
+#include "loggerutil.h"
+
+/*!
+    Constructor
+*/
+CustomEdit::CustomEdit(QGraphicsItem *parent)
+    : HbLineEdit(parent)
+{
+    _DBGLOG("CustomEdit::CustomEdit() >")
+    const bool ret = connect(&mItemClickedTimer, SIGNAL(timeout()),
+        this, SLOT(emitEditItemClicked()));
+    _DBGLOG2("CustomEdit::CustomEdit() <", ret)
+}
+
+/*!
+    Distructor
+*/
+CustomEdit::~CustomEdit()
+{
+    _DBGLOG("CustomEdit::CustomEdit()")
+    disconnect(&mItemClickedTimer, SIGNAL(timeout()),
+        this, SLOT(emitEditItemClicked()));
+}
+
+/*!
+    focusInEvent
+*/
+void CustomEdit::focusInEvent(QFocusEvent *event)
+{
+    _DBGLOG("CustomEdit::focusInEvent() >")
+    if (!event->gotFocus()) {
+        _DBGLOG("CustomEdit::focusInEvent() ignore")
+        event->ignore();
+    } else {
+        _DBGLOG("CustomEdit::focusInEvent() emit clicked")
+        // When focus comes to the controller, a 100 ms timer is started.
+        // a signal is emitted after this 100 ms, and focus transfer to other controller,
+        // after the other controller finished,to avoid focus gained again.
+        mItemClickedTimer.start(100);
+        event->accept();
+    }
+    _DBGLOG("CustomEdit::focusInEvent() <")
+}
+
+/*!
+    emitEditItemClicked
+*/
+void CustomEdit::emitEditItemClicked()
+{
+    _DBGLOG("CustomEdit::emitEditItemClicked() >")
+    emit editItemClicked();
+    mItemClickedTimer.stop();
+    _DBGLOG("CustomEdit::emitEditItemClicked() <")
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/src/vmbxcpgroup.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,260 @@
+/*
+ * Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+// System includes
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include <QStringList>
+#include <cpitemdatahelper.h>
+#include <hblineedit.h>
+#include <hbdataformmodel.h>
+#include "actioncustomitem.h"
+
+// User includes
+#include "vmbxuiengine.h"
+#include "vmbxcpgroup.h"
+#include "loggerutil.h"
+
+/*!
+    Constructor
+*/
+VmbxCpGroup::VmbxCpGroup(
+    CpItemDataHelper &itemDataHelper) :
+        CpSettingFormItemData(HbDataFormModelItem::GroupItem,
+        hbTrId("txt_phone_subhead_call_mbx"), NULL),
+        mUiEngine(NULL),
+        mDefaultMailboxEditor(NULL),
+        mCsVoice1Editor(NULL),
+        mCsVideo1Editor(NULL),
+        mItemHelper(itemDataHelper)
+{ 
+    _DBGLOG("VmbxCpGroup::VmbxCpGroup >")
+    // Localization file loading
+    QTranslator translator; 
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+
+    bool translatorLoaded = translator.load(path + "telephone_cp_" + lang);
+    _DBGLOG("VmbxCpGroup::VmbxCpGroup translator loaded")
+    if (translatorLoaded && qApp) {
+        qApp->installTranslator(&translator);
+        _DBGLOG("VmbxCpGroup::VmbxCpGroup translator installed")
+    }
+
+    mUiEngine = new VmbxUiEngine();
+
+    loadingPreparation();
+    
+    // Request notify when VMBX number changed
+    mUiEngine->notifyVmbxNumberChange(true);
+    bool ret = connect(mUiEngine,
+            SIGNAL(voiceMailboxEngineEntriesUpdated(const TVmbxType)), 
+            this, SLOT(updateVmbxNumber(const TVmbxType)));
+    _DBGLOG2("VmbxCpGroup::VmbxCpGroup connect ret=", ret)
+    _DBGLOG("VmbxCpGroup::VmbxCpGroup <")
+}
+
+/*!
+    Destructor
+*/
+VmbxCpGroup::~VmbxCpGroup()
+{
+    _DBGLOG("VmbxCpGroup::~VmbxCpGroup")
+    if (mUiEngine) {
+        delete mUiEngine;
+        mUiEngine = NULL;
+    }
+}
+
+/*!
+    Preparation before loading
+*/
+void VmbxCpGroup::loadingPreparation()
+{
+    _DBGLOG("VmbxCpGroup::loadingPreparation >")
+    
+    ActionCustomItem *viewItem = new ActionCustomItem();
+    mItemHelper.addItemPrototype(viewItem);
+    mItemHelper.connectToForm(
+        SIGNAL(itemShown(QModelIndex)), this, SLOT(itemShown(QModelIndex)));
+  
+    // Create cs voice primary editor
+    mCsVoice1Editor= createDataFormModelItem(EVmbxVoice);       
+    if (mUiEngine->isVideoSupport()){
+        _DBGLOG("VmbxCpGroup::loadingPreparation create video1 mailbox")
+        mCsVideo1Editor= createDataFormModelItem(EVmbxVideo);
+    }
+    _DBGLOG("VmbxCpGroup::loadingPreparation <")
+}
+
+HbDataFormModelItem* VmbxCpGroup::createDataFormModelItem(
+    const TVmbxType vmbxType)
+{
+    _DBGLOG("VmbxCpGroup::createDataFormModelItem >")
+    QString number("");
+    HbDataFormModelItem *item = 0;
+    QString name("");
+    bool create(false);
+    if (EVmbxVoice == vmbxType) {
+        _DBGLOG("VmbxCpGroup::createDataFormModelItem voice")
+        name = hbTrId("txt_phone_setlabel_default_mbx_val_voice");
+        create = true;
+    } else if (EVmbxVideo == vmbxType) {
+        _DBGLOG("VmbxCpGroup::createDataFormModelItem video")
+        name = hbTrId("txt_phone_setlabel_default_mbx_val_video");
+        create = true;
+    }
+    if (create) {
+        item = new HbDataFormModelItem(
+            static_cast<HbDataFormModelItem::DataItemType>(
+            ActionCustomItem::VmbxEditItem),name);
+
+        appendChild(item);
+        
+        if (EVmbxVoice == vmbxType) {
+            if (mUiEngine->isVoiceWritable()) {
+                _DBGLOG("VmbxCpGroup::createDataFormModelItem add voice")
+                mItemHelper.addConnection(item, SIGNAL(editItemClicked()),
+                this, SLOT(queryCsVoiceNumber()));
+            }else {
+                _DBGLOG("VmbxCpGroup::createDataFormModelItem voice no read")
+                item->setEnabled(false);   
+            }                
+        } else if (EVmbxVideo == vmbxType) {
+            if (mUiEngine->isVideoWritable()) {
+                _DBGLOG("VmbxCpGroup::createDataFormModelItem add video")
+                mItemHelper.addConnection(item, SIGNAL(editItemClicked()),
+                    this, SLOT(queryCsVideoNumber()));
+            }else {
+                _DBGLOG("VmbxCpGroup::createDataFormModelItem video no read")
+                item->setEnabled(false);   
+            }                
+        }
+    }
+    _DBGLOG("VmbxCpGroup::createDataFormModelItem <")
+    return item;
+}
+
+/*!
+    Query voice number
+*/
+void VmbxCpGroup::queryCsVoiceNumber()
+{
+    _DBGLOG("VmbxCpGroup::queryCsVoiceNumber >")
+    mCsVoice1Editor->setEnabled(false);
+    QString number;
+    int result = mUiEngine->queryVoiceNumber(number);
+    _DBGLOG2("VmbxCpGroup::queryCsVoiceNumber result=", result)
+    if (KErrNone == result) {
+        _DBGLOG2("VmbxCpGroup::queryCsVoiceNumber >, number=", number) 
+        mUiEngine->setCsVoiceNumber(number);
+        UpdateWidgetContent(mCsVoice1Index, number);
+    }
+    mCsVoice1Editor->setEnabled(true);
+    _DBGLOG("VmbxCpGroup::queryCsVoiceNumber <")
+}
+
+/*!
+    Query video number
+*/
+void VmbxCpGroup::queryCsVideoNumber()
+{
+    _DBGLOG("VmbxCpGroup::queryCsVideoNumber >")
+    mCsVideo1Editor->setEnabled(false);
+    QString number;
+    int result = mUiEngine->queryVideoNumber(number);
+    _DBGLOG2("VmbxCpGroup::queryCsVideoNumber  result=", result)
+    if (KErrNone == result) {
+        _DBGLOG2("VmbxCpGroup::queryCsVideoNumber >, number=", number)
+        mUiEngine->setCsVideoNumber(number);
+        UpdateWidgetContent(mCsVideo1Index, number);
+    }
+    mCsVideo1Editor->setEnabled(true);
+    _DBGLOG("VmbxCpGroup::queryCsVideoNumber <")
+}
+
+/*!
+    Update number when vmbx number changed by OTA,OMA etc.
+*/
+void VmbxCpGroup::updateVmbxNumber(const TVmbxType vmbxType)
+{
+    _DBGLOG("VmbxCpGroup::updateVmbxNumber >")
+
+    QString number("");
+    if (EVmbxVoice == vmbxType) {
+        if (mCsVoice1Editor && mUiEngine){
+            mUiEngine->getCsVoiceNumber(number);
+            _DBGLOG2("VmbxCpGroup::updateVmbxNumber\
+                 number=", number)
+            UpdateWidgetContent(mCsVoice1Index, number); 
+        }
+    } else if (EVmbxVideo == vmbxType) {
+        if (mCsVideo1Editor && mUiEngine){
+            mUiEngine->getCsVideoNumber(number);
+            _DBGLOG2("VmbxCpGroup::updateVmbxNumber\
+                 newUiValue=", number)
+            UpdateWidgetContent(mCsVideo1Index, number);  
+        }
+    }  
+    _DBGLOG("VmbxCpGroup::updateVmbxNumber <")
+}
+
+/*!
+  slot for item has been shown on the UI
+ */
+void VmbxCpGroup::itemShown(const QModelIndex &item)
+{
+    _DBGLOG("VmbxCpGroup::itemShown >")
+
+    HbDataFormModelItem* modelItem = mItemHelper.modelItemFromModelIndex(item);
+
+    if (modelItem == mCsVoice1Editor ) {
+        _DBGLOG("VmbxCpGroup::itemShown voice")
+        mCsVoice1Index = item;
+        updateVmbxNumber(EVmbxVoice);
+    }else if (modelItem == mCsVideo1Editor ) {
+        _DBGLOG("VmbxCpGroup::itemShown video")
+        mCsVideo1Index = item;
+        updateVmbxNumber(EVmbxVideo);
+    }
+    _DBGLOG("VmbxCpGroup::itemShown <")
+}
+
+/*!
+  Update the vmbx number to the UI
+ */
+void VmbxCpGroup::UpdateWidgetContent(const QModelIndex &item,
+        const QString &string)
+{
+    _DBGLOG("VmbxCpGroup::UpdateWidgetContent >")
+    HbLineEdit* widget = static_cast<HbLineEdit *>(
+            mItemHelper.widgetFromModelIndex(item));
+    if (widget) {
+        _DBGLOG("VmbxCpGroup::UpdateWidgetContent widegt found")
+        widget->setText(string);
+    }
+    if (item == mCsVoice1Index) {
+        mCsVoice1Editor->setContentWidgetData("setText", string);
+    } else if (item == mCsVideo1Index) {
+        mCsVideo1Editor->setContentWidgetData("setText", string);
+    }
+    _DBGLOG("VmbxCpGroup::UpdateWidgetContent <")
+
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/src/vmbxcpplugin.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+// System includes
+#include <QDebug>
+#include <cpitemdatahelper.h>
+
+// User includes
+#include "vmbxcpplugin.h"
+#include "vmbxcpgroup.h"
+#include "loggerutil.h"
+
+/*!
+    Constructor
+*/
+VmbxCpPlugin::VmbxCpPlugin()
+{
+    _DBGLOG("VmbxCpPlugin::VmbxCpPlugin()")
+}
+
+/*!
+    Destructor
+*/
+VmbxCpPlugin::~VmbxCpPlugin()
+{
+    _DBGLOG("VmbxCpPlugin::~VmbxCpPlugin()")
+}
+
+/*!
+    From base class CpPluginInterface
+*/
+QList<CpSettingFormItemData *> VmbxCpPlugin::createSettingFormItemData(
+    CpItemDataHelper &itemDataHelper) const
+{
+    _DBGLOG("VmbxCpPlugin::createSettingFormItemData")
+    QList<CpSettingFormItemData *> ret;
+    ret.append(new VmbxCpGroup(itemDataHelper));
+    _DBGLOG("VmbxCpPlugin::createSettingFormItemData created")
+    return ret;
+}
+Q_EXPORT_PLUGIN2(VmbxCpPlugin, VmbxCpPlugin);
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/src/vmbxuiengine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,337 @@
+/*
+ * Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+// System includes
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+
+// User includes
+#include "vmbxuiengine.h"
+#include "loggerutil.h"
+
+/*!
+    Constructor
+*/
+VmbxUiEngine::VmbxUiEngine() : mVmbxEngine(NULL),
+    mCsVoiceNumber(""),mCsVideoNumber("")
+{ 
+    _DBGLOG("VmbxUiEngine::VmbxUiEngine >")
+    QT_TRAP_THROWING(mVmbxEngine = CVoiceMailbox::NewL());
+    init();
+    _DBGLOG("VmbxUiEngine::VmbxUiEngine <")
+}
+
+/*!
+    Destructor
+*/
+VmbxUiEngine::~VmbxUiEngine()
+{
+    _DBGLOG( "VmbxUiEngine::~VmbxUiEngine >")
+    mVmbxEngine->NotifyVmbxNumberChangeCancel();
+    delete mVmbxEngine;
+    mVmbxEngine = NULL;
+    _DBGLOG( "VmbxUiEngine::~VmbxUiEngine <")
+}
+
+/*!
+    Initialize vmbx ui engine.
+*/
+void VmbxUiEngine::init()
+{
+    _DBGLOG("VmbxUiEngine::init >")
+    // Init voice primary line number
+    getCsVoicePrimaryNumber(mCsVoiceNumber);
+    // Init video primary line nubmer
+    if (isVideoSupport()) {
+        getCsVideoPrimaryNumber(mCsVideoNumber);
+    }
+    _DBGLOG("VmbxUiEngine::init <")
+}
+
+/*!
+    Getter method for primary voice number of Voice Mailbox.
+*/
+void VmbxUiEngine::getCsVoiceNumber(QString &aValue)
+{
+    _DBGLOG("VmbxUiEngine::getCsVoiceNumber >")
+    aValue = mCsVoiceNumber;
+    _DBGLOG2("VmbxUiEngine::getCsVoiceNumber < , string=", aValue)
+}
+
+/*!
+    Getter method for primary video number of Voice Mailbox.
+*/
+void VmbxUiEngine::getCsVideoNumber(QString &aValue)
+{
+    _DBGLOG("VmbxUiEngine::getCsVideoNumber >")
+    aValue = mCsVideoNumber;
+    _DBGLOG2("VmbxUiEngine::getCsVideoNumber < , string=", aValue)
+}
+
+/*!
+    Set number when cs voice number has been edited on UI.
+    @param aValue New value.
+*/
+void VmbxUiEngine::setCsVoiceNumber(const QString &aValue)
+{
+    _DBGLOG2("VmbxUiEngine::setCsVoiceNumber >, value=",aValue)
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVoice;
+    vmbxParams.iLineType = EVmbxAlsLine1;
+    vmbxParams.iServiceId = KVmbxServiceVoice;
+    setNumber(vmbxParams, aValue);
+    mCsVoiceNumber = aValue;
+    _DBGLOG("VmbxUiEngine::setCsVoiceNumber <");
+}
+
+/*!
+    Set number when cs video number has been edited on UI.
+    @param aValue New value.
+*/
+void VmbxUiEngine::setCsVideoNumber(const QString &aValue)
+{
+    _DBGLOG2("VmbxUiEngine::setCsVideoNumber >, value=",aValue)
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVideo;
+    vmbxParams.iLineType = EVmbxAlsLine1;
+    vmbxParams.iServiceId = KVmbxServiceVideo;
+    setNumber(vmbxParams, aValue);
+    mCsVideoNumber = aValue;
+    _DBGLOG("VmbxUiEngine::setCsVideoNumber <");
+}
+
+/*!
+    If video mailbox supported.
+*/
+bool VmbxUiEngine::isVideoSupport()
+{
+    _DBGLOG("VmbxUiEngine::isVideoSupport >")
+    // video support
+    bool isVideoSupport(false);
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVideo;
+    vmbxParams.iLineType = EVmbxAlsLine1;
+    vmbxParams.iServiceId = KVmbxServiceVideo;
+    isVideoSupport = mVmbxEngine->CheckConfiguration(vmbxParams,
+        EVmbxVideoMailboxSupported);
+    _DBGLOG2("VmbxUiEngine::isVideoSupport ", isVideoSupport);
+    return isVideoSupport;
+}
+
+/*!
+    If voice mailbox allow to write.
+*/
+bool VmbxUiEngine::isVoiceWritable()
+{
+    _DBGLOG("VmbxUiEngine::isVoiceWritable >")
+    bool isVoiceWritable(false);
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVoice;
+    vmbxParams.iLineType = EVmbxAlsLine1;
+    vmbxParams.iServiceId = KVmbxServiceVoice;
+    isVoiceWritable = mVmbxEngine->CheckConfiguration(vmbxParams,
+        EVmbxChangeNbrAllowedOnUi);
+    _DBGLOG2("VmbxUiEngine::isVoiceWritable <", isVoiceWritable);
+    return isVoiceWritable;
+}
+
+/*!
+    If video mailbox allow to write.
+*/
+bool VmbxUiEngine::isVideoWritable()
+{
+    _DBGLOG( "VmbxUiEngine::isVideoWritable >")
+    bool isVideoWritable(false);
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVideo;
+    vmbxParams.iLineType = EVmbxAlsLine1;
+    vmbxParams.iServiceId = KVmbxServiceVideo;
+    isVideoWritable = mVmbxEngine->CheckConfiguration(vmbxParams,
+        EVmbxChangeNbrAllowedOnUi);
+    _DBGLOG2("VmbxUiEngine::isVoiceWritable >", isVideoWritable);
+    return isVideoWritable;
+}
+
+/*!
+    queryVoiceNumber
+*/
+int VmbxUiEngine::queryVoiceNumber(QString &aValue)
+{
+    _DBGLOG2("VmbxUiEngine::queryVoiceNumber >, value=",aValue)
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVoice;
+    vmbxParams.iServiceId = KVmbxServiceVoice;
+    int result = queryNumber(vmbxParams, aValue);
+    _DBGLOG2("VmbxUiEngine::queryVoiceNumber <, value=", aValue)
+    return result;
+}
+
+/*!
+    queryVideoNumber
+*/
+int VmbxUiEngine::queryVideoNumber(QString &aValue)
+{
+    _DBGLOG2("VmbxUiEngine::queryVideoNumber >, value=", aValue)
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVideo;
+    vmbxParams.iServiceId = KVmbxServiceVideo;
+    int result = queryNumber(vmbxParams, aValue);
+    _DBGLOG2("VmbxUiEngine::queryVideoNumber <, value=", aValue)
+    return result;
+}
+
+/*!
+    Request notify when VMBX number changed
+ */
+void VmbxUiEngine::notifyVmbxNumberChange(bool aNotifyOnActiveLineOnly)
+{
+    _DBGLOG2("VmbxUiEngine::notifyVmbxNumberChange >, OnActiveLineOnly=", 
+             aNotifyOnActiveLineOnly)
+    QT_TRAP_THROWING(mVmbxEngine->NotifyVmbxNumberChangeL
+                                 (*this, aNotifyOnActiveLineOnly));
+    _DBGLOG2("VmbxUiEngine::notifyVmbxNumberChange <, OnActiveLineOnly=", 
+             aNotifyOnActiveLineOnly)
+}
+
+/*!
+    Callback from voice mailbox engine when number has been updated
+    This method notifies the UI to refresh its data.
+*/
+void VmbxUiEngine::HandleNotifyL(const CVoiceMailboxEntry &aVmbxEntry)
+{
+    _DBGLOG( "VmbxUiEngine::HandleNotifyL >")
+    TVmbxType type = aVmbxEntry.VoiceMailboxType();
+    TPtrC number(KNullDesC);
+    aVmbxEntry.GetVmbxNumber(number);
+    if (EVmbxVoice == type) {
+        mCsVoiceNumber = QString::fromUtf16(number.Ptr(), number.Length());
+    } else if (EVmbxVideo == type) {
+        mCsVideoNumber = QString::fromUtf16(number.Ptr(), number.Length());
+    }
+    emit voiceMailboxEngineEntriesUpdated(type);
+    _DBGLOG( "VmbxUiEngine::HandleNotifyL <")
+}
+
+/*!
+    Getter method for primary voice number of Voice Mailbox.
+*/
+void VmbxUiEngine::getCsVoicePrimaryNumber(QString &aValue)
+{
+    _DBGLOG("VmbxUiEngine::getCsVoicePrimaryNumber >")
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVoice;
+    vmbxParams.iLineType = EVmbxAlsLine1;
+    vmbxParams.iServiceId = KVmbxServiceVoice;
+    getNumber(vmbxParams, aValue);
+    _DBGLOG2("VmbxUiEngine::getCsVoicePrimaryNumber < , string=", aValue)
+}
+
+/*!
+    Getter method for primary video number of Voice Mailbox.
+*/
+void VmbxUiEngine::getCsVideoPrimaryNumber(QString &aValue)
+{
+    _DBGLOG("VmbxUiEngine::getCsVideoPrimaryNumber >")
+    TVoiceMailboxParams vmbxParams;
+    vmbxParams.iType = EVmbxVideo;
+    vmbxParams.iLineType = EVmbxAlsLine1;
+    vmbxParams.iServiceId = KVmbxServiceVideo;
+    getNumber(vmbxParams, aValue);
+    _DBGLOG2("VmbxUiEngine::getCsVideoPrimaryNumber < , string=", aValue)
+}
+
+/*!
+    Private getter method for voice mailbox number.
+*/  
+void VmbxUiEngine::getNumber(const TVoiceMailboxParams &aParam, 
+                             QString &aValue)
+{
+    _DBGLOG("VmbxUiEngine::getNumber >")
+    CVoiceMailboxEntry* vmbxEntry = NULL;
+    TInt result = mVmbxEngine->GetStoredEntry( aParam, vmbxEntry );
+    _DBGLOG2("VmbxUiEngine::getNumber, GetStoredEntry result=", result);
+    if ( KErrNone == result && vmbxEntry ){ 
+        TPtrC entryNumber( KNullDesC );
+        result = vmbxEntry->GetVmbxNumber( entryNumber );
+        _DBGLOG3("VmbxUiEngine::getNumber, GetVmbxNumber result=", 
+            result,
+            " but ignore code and allow returning of an empty string to UI");
+        aValue = QString::fromUtf16(entryNumber.Ptr(), entryNumber.Length());
+    }
+    delete vmbxEntry;
+    vmbxEntry = NULL;
+    _DBGLOG2("VmbxUiEngine::getNumber < , string=", aValue)    
+}
+
+/*!
+    Setter method for voice mailbox number.
+*/
+void VmbxUiEngine::setNumber(const TVoiceMailboxParams &aParam, 
+                             const QString &aValue)
+{
+    _DBGLOG("VmbxUiEngine::setNumber >")
+        
+    CVoiceMailboxEntry* vmbxEntry = NULL;
+    QT_TRAP_THROWING(vmbxEntry = CVoiceMailboxEntry::NewL());
+    vmbxEntry->SetServiceId(aParam.iServiceId);
+    vmbxEntry->SetVoiceMailboxType(aParam.iType);
+    vmbxEntry->SetVmbxAlsLineType(aParam.iLineType);
+    _DBGLOG2("VmbxUiEngine::setNumber, SetVmbxNumber aValue=", aValue);
+    _DBGLOG( "VmbxUiEngine::setNumber: cast to TPtrC")
+    TPtrC newNumber( 
+        reinterpret_cast<const TUint16*>( aValue.utf16() ),
+        aValue.length() );
+    int result = vmbxEntry->SetVmbxNumber( newNumber );
+    if ( KErrNone == result ) {
+        result = mVmbxEngine->SaveEntry( *vmbxEntry );
+        _DBGLOG2("VmbxUiEngine::setNumber, SaveEntry result=", result);
+    } 
+    delete vmbxEntry;
+    vmbxEntry = 0;
+    _DBGLOG("VmbxUiEngine::setNumber <");
+}
+
+/*!
+    Query method for voice mailbox number.
+*/
+int VmbxUiEngine::queryNumber(const TVoiceMailboxParams &aParam, 
+    QString &aValue)
+{
+    _DBGLOG2("VmbxUiEngine::queryNumber >, value=", aValue)
+    getNumber(aParam, aValue);
+    CVoiceMailboxEntry *vmbxEntry = NULL;
+    int result(0);
+    if (aValue.length() > 0) {
+        result = mVmbxEngine->QueryChangeEntry(aParam, vmbxEntry);
+    } else {
+        result = mVmbxEngine->QueryNewEntry(aParam, vmbxEntry);
+    }
+    if (KErrNone == result && vmbxEntry) {
+        TPtrC entryNumber(KNullDesC);
+        result = vmbxEntry->GetVmbxNumber(entryNumber);
+        _DBGLOG3("VmbxUiEngine::queryNumber, GetVmbxNumber result=", 
+            result,
+            " but ignore code and allow returing of an empty string to UI");
+        aValue = QString::fromUtf16(entryNumber.Ptr(), entryNumber.Length());
+    } 
+    delete vmbxEntry;
+    vmbxEntry = NULL;
+    _DBGLOG2("VmbxUiEngine::queryNumber <, value=", aValue)
+    return result;
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/inc/ut_actioncustomitem.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Ut_vmbxCpPlugin class
+*
+*/
+
+
+#ifndef UT_ACTIONCUSTOMIEM_H
+#define UT_CUSTOMCONTROLS_H
+
+#include <QObject>
+#include <QtTest/QtTest>
+
+class Ut_ActionCustomItem : public QObject
+{
+    Q_OBJECT
+    
+private slots:
+    void testNewAndDelete();
+    void testCreateItem();
+    void testCanSetModelIndex();    
+};
+
+#endif // UT_CUSTOMCONTROLS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/inc/ut_customedit.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Ut_vmbxCpPlugin class
+*
+*/
+
+
+#ifndef UT_CUSTOMEDIT_H
+#define UT_CUSTOMEDIT_H
+
+#include <QObject>
+#include <QtTest/QtTest>
+
+class Ut_CustomEdit : public QObject
+{
+    Q_OBJECT
+    
+private slots:
+    void testFocusInEvent();
+    
+};
+
+#endif // UT_CUSTOMEDIT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/inc/ut_vmbxcpplugin.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Ut_vmbxCpPlugin class
+*
+*/
+
+
+#ifndef UT_VMBXCPPLUGIN_H
+#define UT_VMBXCPPLUGIN_H
+
+// System includes
+#include <QtTest/QtTest>
+#include <QObject>
+
+/*!
+    Ut_vmbxCpPlugin module test class.
+
+    Tests Ut_vmbxCpPlugin interface.
+    See cpp file for more information.
+
+    @lib Ut_vmbxCpPlugin.lib
+*/
+
+// Class declaration
+class Ut_vmbxCpPlugin : public QObject
+{
+    Q_OBJECT
+
+private slots: 
+
+    /*!
+        Test method in VmbxCpPlugin
+    */
+    void testCreateSettingFormItemData();
+    
+    /*!
+        Test method in VmbxCpGroup
+    */    
+    void testCreateVmbxCpGroup();
+};
+
+#endif // _UT_VMBXCPPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/inc/ut_vmbxuiengine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Ut_VmbxUiEngine class
+*
+*/
+
+
+#ifndef UT_VMBXUIENGINE_H
+#define UT_VMBXUIENGINE_H
+
+#include <QObject>
+
+// Class forwards
+class VmbxUiEngine;
+
+static TInt globalExpRet;
+static QString globalNumber;
+
+/*!
+    Ut_VmbxUiEngine module test class.
+
+    Tests Ut_VmbxUiEngine interface.
+    See cpp file for more information.
+
+    @lib Ut_VmbxUiEngine.lib
+*/
+class Ut_VmbxUiEngine : public QObject
+{
+    Q_OBJECT
+
+private slots: 
+
+    void initTestCase();
+    void cleanupTestCase();
+    
+    void testCsVoice1Number();
+    void testCsVideo1Number();      
+    void testIsVideoSupport();
+    void testHandleNotifyL();
+    
+private:  //data
+
+    /*!
+        Own.
+    */
+    VmbxUiEngine *mUiEngine;
+};
+
+#endif // _UT_VMBXUIENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/src/main.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,49 @@
+#include <QtTest/QtTest>
+#include "ut_vmbxcpplugin.h"
+#include "ut_vmbxuiengine.h"
+#include "ut_actioncustomitem.h"
+#include "ut_customedit.h"
+
+// -----------------------------------------------------------------------------
+// main()
+// Main method implemented for directing test output to a file.
+// -----------------------------------------------------------------------------
+int main(int argc, char *argv[])
+    {
+    qDebug("main() >");
+    
+    QApplication app(argc, argv);
+
+    qDebug("ut_vmbxuiengine");
+    Ut_VmbxUiEngine tcUiEngine; 
+    char *pass[3];
+    pass[0] = argv[0];
+    pass[1] = "-o"; 
+    pass[2] = "c:\\logs\\vmbx\\ut_vmbxuiengine.txt";
+    int result = -1;
+    result = QTest::qExec(&tcUiEngine, 3, pass);
+    qDebug("ut_vmbxuiengine result %d", result);
+
+    qDebug("ut_vmbxcpplugin");
+    Ut_vmbxCpPlugin tcCpPlugin;
+    pass[2] = "c:\\logs\\vmbx\\ut_vmbxcpplugin.txt";
+    result = QTest::qExec(&tcCpPlugin, 3, pass);
+    qDebug("ut_vmbxcpplugin result=%d", result);
+    
+    qDebug("ut_actioncustomitem");
+    Ut_ActionCustomItem tcCustom;
+    pass[2] = "c:\\logs\\vmbx\\ut_acttioncustomitem.txt";
+    result = QTest::qExec(&tcCustom, 3, pass);
+    qDebug("ut_actioncustomitem result=%d", result);    
+
+    qDebug("ut_customedit");
+    Ut_CustomEdit tcEdit;
+    pass[2] = "c:\\logs\\vmbx\\ut_customedit.txt";
+    result = QTest::qExec(&tcEdit, 3, pass);
+    qDebug("Ut_CustomEdit result=%d", result);    
+    
+    
+    qDebug("main() <");
+    return result;
+    }
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/src/ut_actioncustomitem.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Ut_vmbxCpPlugin class
+*
+*/
+
+#include <HbDataFormModelItem>
+#include <QFocusEvent>
+#include <HbMainWindow>
+#include <QEvent>
+#include "ut_actioncustomitem.h"
+#include "actioncustomitem.h"
+#include "customedit.h"
+
+void Ut_ActionCustomItem::testNewAndDelete()
+{
+    QGraphicsWidget *qGraphicsWidget = new QGraphicsWidget();
+    QVERIFY(qGraphicsWidget != 0);
+
+    ActionCustomItem *item = new ActionCustomItem(qGraphicsWidget);
+
+    qDebug("item=0x%x", item);
+    QVERIFY(item);    
+    delete item;
+    item = NULL;   
+    qDebug("delete item=0x%x", item);
+   
+    QVERIFY(!item);
+    
+    delete qGraphicsWidget;
+    qGraphicsWidget = NULL;
+}
+
+void Ut_ActionCustomItem::testCreateItem()
+{
+    QGraphicsWidget *qGraphicsWidget = new QGraphicsWidget();
+    QVERIFY(qGraphicsWidget != 0);
+
+    ActionCustomItem *item = new ActionCustomItem(qGraphicsWidget);
+    qDebug("item=0x%x", item);
+    QVERIFY(item);    
+    
+    HbAbstractViewItem *viewItem = item->createItem();
+
+    qDebug("viewItem=0x%x", viewItem);
+    QVERIFY(viewItem);
+    
+    delete viewItem;
+    viewItem = NULL;
+
+    delete item;
+    item = NULL;   
+    qDebug("delete item=0x%x", item);
+   
+    QVERIFY(!item);
+    
+    delete qGraphicsWidget;
+    qGraphicsWidget = NULL;
+}
+
+void Ut_ActionCustomItem::testCanSetModelIndex()
+{
+    QGraphicsWidget *qGraphicsWidget = new QGraphicsWidget();
+    QVERIFY(qGraphicsWidget != 0);
+
+    ActionCustomItem *item = new ActionCustomItem(qGraphicsWidget);
+    qDebug("item=0x%x", item);
+    QVERIFY(item);    
+    
+    QModelIndex index;
+    item->canSetModelIndex(index);
+    
+    delete item;
+    item = NULL;   
+    qDebug("delete item=0x%x", item);
+   
+    QVERIFY(!item);
+    
+    delete qGraphicsWidget;
+    qGraphicsWidget = NULL;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/src/ut_customedit.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QFocusEvent>
+#include <HbMainWindow>
+#include <QEvent>
+#include <QEventLoop>
+#include "ut_customedit.h"
+#include "customedit.h"
+
+
+
+void Ut_CustomEdit::testFocusInEvent()
+{
+    HbMainWindow *window = new HbMainWindow;
+    QVERIFY(window);
+    
+    QGraphicsWidget *qGraphicsWidget = new QGraphicsWidget();
+    QVERIFY(qGraphicsWidget != 0);
+    CustomEdit *edit = new CustomEdit(qGraphicsWidget);
+    QVERIFY(edit);
+    
+    QFocusEvent *event = new QFocusEvent(QEvent::FocusIn, 
+        Qt::MouseFocusReason);  
+    QVERIFY(event);
+    edit->focusInEvent(event);
+    delete event;
+    event  = NULL;
+    
+    event = new QFocusEvent(QEvent::FocusOut, 
+        Qt::MouseFocusReason);
+    QVERIFY(event);
+    edit->focusInEvent(event);
+    // test for emitEditItemClicked    
+    QEventLoop loop;
+    QTimer timer;
+    timer.start(150);
+    connect( &timer,SIGNAL(timeout()),
+        &loop,SLOT(quit()));
+    loop.exec();
+    delete event;
+    event = NULL;
+    delete edit;
+    edit = NULL;
+    QVERIFY(!edit);
+    
+    delete qGraphicsWidget;
+    qGraphicsWidget = NULL;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/src/ut_dummyvoicemailbox.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,247 @@
+/*
+* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the CVoiceMailbox class
+*
+*/
+
+// System includes
+#include <QtTest/QtTest>
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+// For global export return value
+#include "ut_vmbxuiengine.h"
+
+// ============================ MEMBER FUNCTIONS =============================
+
+ TInt TVoiceMailboxParams::Version()
+    {
+    qDebug("TVoiceMailboxParams::Version <>");
+    return iVersion;
+    }
+    
+
+ TVoiceMailboxParams::TVoiceMailboxParams():
+                                        iType( EVmbxNone ),
+                                        iServiceId( KVmbxServiceIdNone ),
+                                        iLineType( EVmbxAlsLineDefault )
+    {
+    qDebug("TVoiceMailboxParams default constructor <>");
+    }
+    
+ TVoiceMailboxParams::TVoiceMailboxParams( 
+                        const CVoiceMailboxEntry& aEntry )
+    {
+    qDebug("TVoiceMailboxParams Entry cnstructor >");
+    iType = aEntry.VoiceMailboxType();
+    iServiceId = aEntry.ServiceId();
+    iLineType = aEntry.VmbxAlsLineType();
+    qDebug("TVoiceMailboxParams Entry cnstructor <");
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::CVoiceMailboxImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVoiceMailbox::CVoiceMailbox()
+    {
+    qDebug("DummyVoiceMailbox::CVoiceMailbox <>");
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailbox::ConstructL()
+    {
+    qDebug("DummyVoiceMailbox::ConstructL <>");
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVoiceMailbox* CVoiceMailbox::NewL()
+{
+    qDebug("DummyVoiceMailbox::NewL" );
+
+    CVoiceMailbox * self = NULL;
+    self = CVoiceMailbox::NewLC();
+    CleanupStack::Pop( self );
+    qDebug("DummyVoiceMailbox::NewL <");
+    return self;   
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVoiceMailbox* CVoiceMailbox::NewLC()
+    {
+    qDebug("DummyVoiceMailbox::NewLC >");
+    CVoiceMailbox* self = new( ELeave ) CVoiceMailbox;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    qDebug("DummyVoiceMailbox::NewLC <");
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::~CVoiceMailbox
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVoiceMailbox::~CVoiceMailbox()
+    {
+    qDebug("DummyVoiceMailbox::~CVoiceMailbox > <");
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::GetStoredEntry
+//
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::GetStoredEntry( 
+    const TVoiceMailboxParams& aParams, CVoiceMailboxEntry*& aEntry) const
+    {
+    qDebug("DummyVoiceMailbox::GetStoredEntry >");
+    Q_UNUSED(aParams);
+    TRAPD (err, aEntry = CVoiceMailboxEntry::NewL());    
+    qDebug("DummyVoiceMailbox::GetStoredEntry err %d<", err);
+    return globalExpRet;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::SaveEntry
+// Destructor
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::SaveEntry(const CVoiceMailboxEntry& aEntry)
+    {
+    qDebug("DummyVoiceMailbox::SaveEntry <>");
+    Q_UNUSED(aEntry);
+    return globalExpRet;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::QueryNewEntry
+//
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::QueryNewEntry(
+        const TVoiceMailboxParams& aParams, CVoiceMailboxEntry*& aEntry)
+    {
+    qDebug("DummyVoiceMailbox::QueryNewEntry <>");
+    Q_UNUSED(aParams);
+    TRAPD (err, aEntry = CVoiceMailboxEntry::NewL());
+    return globalExpRet;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::QueryChangeEntry
+//
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::QueryChangeEntry( 
+        const TVoiceMailboxParams& aParams, CVoiceMailboxEntry*& aEntry)
+    {
+    qDebug("DummyVoiceMailbox::QueryChangeEntry <>");
+    Q_UNUSED(aParams);
+    TRAPD (err, aEntry = CVoiceMailboxEntry::NewL());
+    return globalExpRet;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::QueryVmbxType
+//
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::QueryVmbxType(
+                            TVoiceMailboxParams& aParams )
+    {
+    qDebug("DummyVoiceMailbox::QueryVmbxType <>");
+    aParams.iType = EVmbxVoice;
+    aParams.iServiceId = KVmbxServiceVoice;
+    aParams.iLineType = EVmbxAlsLine1;
+    return globalExpRet;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::NotifyVmbxNumberChangeL
+//
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailbox::NotifyVmbxNumberChangeL(
+    MVoiceMailboxObserver& aObserver, const TBool aNotifyOnActiveLineOnly )
+    {
+    qDebug("DummyVoiceMailbox::NotifyVmbxNumberChangeL <>");
+    Q_UNUSED(aObserver);
+    Q_UNUSED(aNotifyOnActiveLineOnly);
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::NotifyVmbxNumberChangeCancel
+//
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailbox::NotifyVmbxNumberChangeCancel()
+    {
+    qDebug("DummyVoiceMailbox::NotifyVmbxNumberChangeCancel <>");
+    }
+
+// ---------------------------------------------------------------------------
+//  CVoiceMailbox::CheckConfiguration
+//
+// ---------------------------------------------------------------------------
+//
+TBool CVoiceMailbox::CheckConfiguration(
+    const TVoiceMailboxParams& aParams, const TInt aFlags )
+    {
+    qDebug("DummyVoiceMailbox::CheckConfiguration <>");
+    Q_UNUSED(aParams);
+    Q_UNUSED(aFlags);
+    return globalExpRet;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::GetServiceIds
+//
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::GetServiceIds( RIdArray& aProfileIds ) const
+    {
+    qDebug("DummyVoiceMailbox::GetServiceIds <>");
+    Q_UNUSED(aProfileIds);
+    return 0;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::SaveProvisionedEntry
+//
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailbox::SaveProvisionedEntry( 
+                                const CVoiceMailboxEntry& aEntry)
+    {
+    qDebug("DummyVoiceMailbox::SaveProvisionedEntry <>");
+    Q_UNUSED(aEntry);
+    return globalExpRet;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/src/ut_dummyvoicemailboxentry.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,331 @@
+/*
+* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the CVoiceMailboxEntry class
+*
+*/
+
+// System includes
+#include <QtTest/QtTest>
+#include <cvoicemailboxentry.h>
+// For global value
+#include "ut_vmbxuiengine.h"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::NewL
+// 
+// ---------------------------------------------------------------------------
+//
+
+EXPORT_C CVoiceMailboxEntry* CVoiceMailboxEntry::NewL()
+    {
+    qDebug( "DummyVoiceMailboxEntry::NewL >" );
+    CVoiceMailboxEntry* self = CVoiceMailboxEntry::NewLC();
+    CleanupStack::Pop( self );
+    qDebug( "DummyVoiceMailboxEntry::NewL <" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::NewLC
+// 
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CVoiceMailboxEntry* CVoiceMailboxEntry::NewLC()
+    {
+    qDebug( "DummyVoiceMailboxEntry::NewLC >" );
+    CVoiceMailboxEntry* self = new( ELeave ) CVoiceMailboxEntry;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    qDebug( "DummyVoiceMailboxEntry::NewLC <" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::~CVoiceMailboxEntry
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVoiceMailboxEntry::~CVoiceMailboxEntry()
+    {
+    qDebug( "DummyVoiceMailboxEntry::~CVoiceMailboxEntry >" );
+    delete ivmbxNumber;
+    delete iVmbxBrandId;
+    delete ivmbxName;
+    qDebug( "DummyVoiceMailboxEntry::~CVoiceMailboxEntry <" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::ServiceId
+// Get ServiceId
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TServiceId CVoiceMailboxEntry::ServiceId() const
+    {
+    qDebug( "DummyVoiceMailboxEntry::ServiceId %d", iVmbxServiceId );
+    return iVmbxServiceId;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetServiceId
+// Set entry's service id
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetServiceId( 
+                        const TServiceId& aVmbxServiceId )
+    {
+    qDebug( "DummyVoiceMailboxEntry::SetServiceId %d", aVmbxServiceId);
+    iVmbxServiceId = aVmbxServiceId;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::VoiceMailboxType
+// Returns type of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVmbxType CVoiceMailboxEntry::VoiceMailboxType( ) const
+    {
+    qDebug( "DummyVoiceMailboxEntry::VoiceMailboxType %d", iVmbxType );
+    return iVmbxType;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVoiceMailboxType
+// Set Type of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CVoiceMailboxEntry::SetVoiceMailboxType( const TVmbxType& aType )
+    {
+    qDebug( "DummyVoiceMailboxEntry::SetVoiceMailboxType %d", aType );
+    iVmbxType = aType;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::VmbxAlsLineType
+// Get ALS line Type of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVmbxAlsLineType CVoiceMailboxEntry::VmbxAlsLineType() const
+    {
+    qDebug( "DummyVoiceMailboxEntry::VmbxAlsLineType >" );
+    return iVmbxLineType;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVmbxAlsLineType
+// Set ALS line Type of the entry instance
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetVmbxAlsLineType( 
+                                const TVmbxAlsLineType& aLine )
+    {
+    qDebug( "DummyVoiceMailboxEntry::SetVmbxAlsLineType %d >", aLine );
+    if ( EVmbxAlsLineDefault == aLine  )
+        {
+        iVmbxLineType = EVmbxAlsLine1;
+        }
+    else
+        {
+        iVmbxLineType = aLine;
+        }
+    qDebug( "DummyVoiceMailboxEntry::SetVmbxAlsLineType %d <", iVmbxLineType );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::GetVmbxNumber
+// Get number or address of the entry instance
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::GetVmbxNumber( TPtrC& aVmbxNumber ) const
+    {
+    qDebug("DummyVoiceMailboxEntry::GetVmbxNumber >");
+    aVmbxNumber.Set(globalNumber.utf16());
+    qDebug("DummyVoiceMailboxEntry::GetVmbxNumber %d", globalExpRet);
+    return globalExpRet;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVmbxNumber
+// Set number or address of the entry instance
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::SetVmbxNumber( const TDesC& aVmbxNumber )
+    {
+    qDebug("DummyVoiceMailboxEntry::SetVmbxNumber >");
+    globalNumber = QString::fromUtf16(aVmbxNumber.Ptr(), aVmbxNumber.Length());
+    qDebug("DummyVoiceMailboxEntry::SetVmbxNumber %d", globalExpRet);
+    return globalExpRet;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::GetVmbxAlsLineType
+// Get Brand Id of the entry instance
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::GetBrandId( TPtrC8& aBrandId ) const
+    {
+    qDebug("DummyVoiceMailboxEntry::GetBrandId >");
+    TInt result( KErrNotFound ); 
+    if ( iVmbxBrandId )
+        {
+        aBrandId.Set( iVmbxBrandId->Des() );
+        result = KErrNone;
+        }
+    else
+        {
+        aBrandId.Set( KNullDesC8 );
+        }
+    qDebug("DummyVoiceMailboxEntry::GetBrandId <");
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetBrandId
+// Set Brand Id of the entry instance
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::SetBrandId( const TDesC8& aBrandId )
+{
+    qDebug("DummyVoiceMailboxEntry::SetBrandId >");
+    TInt result( KErrNoMemory );
+    if ( KVmbxMaxNumberLength < aBrandId.Length() ){
+        result = KErrArgument;
+    }else{
+        delete iVmbxBrandId;
+        iVmbxBrandId = aBrandId.Alloc();
+        if ( iVmbxBrandId ){
+            result = KErrNone;
+        }
+    }
+    qDebug("DummyVoiceMailboxEntry::SetBrandId <");
+    return result;
+}
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::GetVmbxName
+// Get Name of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailboxEntry::GetVmbxName( TPtrC& aVmbxName ) const
+{
+    qDebug("DummyVoiceMailboxEntry::GetVmbxName >");
+    TInt result( KErrNotFound );
+    if ( ivmbxName ){
+        aVmbxName.Set( ivmbxName->Des() );
+        result = KErrNone;
+    }else{
+        qDebug( "DummyVoiceMailboxEntry::GetVmbxName:KNullDesC" );
+        aVmbxName.Set( KNullDesC );
+    }      
+    qDebug("DummyVoiceMailboxEntry::GetVmbxName <");
+    return result;
+}
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVmbxName
+// Set Name of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailboxEntry::SetVmbxName( const TDesC& aVmbxName )
+{
+    qDebug("DummyVoiceMailboxEntry::SetVmbxName >");
+    TInt result( KErrNoMemory );
+    if (KVmbxMaxNumberLength < aVmbxName.Length()){
+        result = KErrArgument;
+    }else{
+        delete ivmbxName;
+        ivmbxName = aVmbxName.Alloc(); // Returns NULL if fails.
+        if ( ivmbxName ){
+            result = KErrNone;
+        }       
+    }
+    qDebug("DummyVoiceMailboxEntry::SetVmbxName <");
+    return result;
+}
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::UsingMemoryLocation
+// Returns memory location of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVmbxMemoryLocation CVoiceMailboxEntry::UsingMemoryLocation( ) const
+    {
+    qDebug("DummyVoiceMailboxEntry::UsingMemoryLocation <>");
+    return iUsingMemory;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::Reset
+// Reset the data members of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CVoiceMailboxEntry::Reset()
+{
+    qDebug("DummyVoiceMailboxEntry::Reset >");
+    iVmbxServiceId = KVmbxServiceIdNone;
+    iVmbxType = EVmbxNone;
+    iVmbxLineType = EVmbxAlsLineDefault;
+    if (ivmbxNumber){
+    	ivmbxNumber->Des().Zero();
+    	qDebug("DummyVoiceMailboxEntry::Reset vmbx number");
+    }
+    if (ivmbxName){
+    	ivmbxName->Des().Zero();
+    	qDebug("DummyVoiceMailboxEntry::Reset vmbx name");
+    }
+    if (iVmbxBrandId){
+    	iVmbxBrandId->Des().Zero();
+    	qDebug("DummyVoiceMailboxEntry::Reset vmbx brandId");
+    }
+    iUsingMemory = EVmbxSimMemory;
+    qDebug("DummyVoiceMailboxEntry::Reset <");
+}
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetUsingMemoryLocation
+// Set using memory of the entry instance
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetUsingMemoryLocation( 
+                                        const TVmbxMemoryLocation& aType  )
+    {
+    qDebug("DummyVoiceMailboxEntry::SetUsingMemoryLocation %d", aType);
+    iUsingMemory = aType;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::CVoiceMailboxEntry
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVoiceMailboxEntry::CVoiceMailboxEntry()
+    {
+    qDebug("DummyVoiceMailboxEntry::CVoiceMailboxEntry <>");
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::ConstructL()
+    {
+    qDebug("DummyVoiceMailboxEntry::ConstructL <>");
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/src/ut_vmbxcpplugin.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Ut_vmbxCpPlugin class
+*
+*/
+
+// System includes
+#include <e32base.h>
+#include <cpitemdatahelper.h>
+
+// User includes
+#include "vmbxcpplugin.h"
+#include "vmbxcpgroup.h"
+#include "ut_vmbxcpplugin.h"
+
+/*!
+    Ut_vmbxCpPlugin::createSettingFormItemData
+*/
+void Ut_vmbxCpPlugin::testCreateSettingFormItemData()
+{
+    CpItemDataHelper itemDataHelper;
+    VmbxCpPlugin *plugin = new VmbxCpPlugin();
+    QVERIFY(plugin);
+    QList<CpSettingFormItemData *> list;
+    list = plugin->createSettingFormItemData(itemDataHelper);
+    QVERIFY2(0 != list[0], "createSettingFormItemData failed");
+    delete plugin;
+    plugin = NULL;
+}
+
+/*!
+    VmbxCpGroup construtor and destroctor
+*/
+void Ut_vmbxCpPlugin::testCreateVmbxCpGroup()
+{
+    CpItemDataHelper itemDataHelper;
+    VmbxCpGroup *group = new VmbxCpGroup(itemDataHelper);
+    QVERIFY(group);
+    delete group;
+    group = NULL;
+}
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/src/ut_vmbxuiengine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Ut_VmbxUiEngine class
+*
+*/
+
+// System includes
+#include <QtTest/QtTest>
+#include <cvoicemailboxentry.h>
+
+// User includes
+#include "vmbxuiengine.h"
+#include "ut_vmbxuiengine.h"
+
+void setTestEnv(TInt aExpRet)
+{
+    globalExpRet = aExpRet;
+    qDebug("setTestEnv %d", globalExpRet);
+}
+
+
+/*!
+    Ut_VmbxUiEngine::initTestCase
+    QTestLib initialization method, called for each test case.
+*/
+void Ut_VmbxUiEngine::initTestCase()
+{
+    mUiEngine = new VmbxUiEngine();
+    QVERIFY(mUiEngine);
+}
+
+/*!
+    Ut_VmbxUiEngine::cleanupTestCase
+    QTestLib cleanup method, called for each test case.
+*/
+void Ut_VmbxUiEngine::cleanupTestCase()
+{
+    if ( mUiEngine ) {
+        delete mUiEngine;
+        mUiEngine = NULL;
+    }
+}
+
+/*!
+    Ut_VmbxUiEngine::testGetCsVoice1Number
+    testCreateVmbxEntry test case
+    Connects to test object signal and verifies received data.
+*/
+void Ut_VmbxUiEngine::testCsVoice1Number()
+{
+    QVERIFY(mUiEngine);
+    QString in("123456");
+    QString out("");
+    setTestEnv(KErrNone);
+    mUiEngine->setCsVoiceNumber(in);
+    mUiEngine->getCsVoiceNumber(out);
+    QCOMPARE(in, out);
+    
+    setTestEnv(KErrNotFound);
+    mUiEngine->setCsVoiceNumber(in);
+    mUiEngine->getCsVoiceNumber(out);
+    QCOMPARE(in, out);
+}
+
+/*!
+    Ut_VmbxUiEngine::testGetCsVideo1Number
+    testVmbxType test case
+    Connects to test object signal and verifies received data.
+*/
+void Ut_VmbxUiEngine::testCsVideo1Number()
+{
+    QVERIFY(mUiEngine);
+    
+    QString in("123456");
+    QString out("");
+
+    setTestEnv(KErrNone);
+    mUiEngine->setCsVideoNumber(in);
+    mUiEngine->getCsVideoNumber(out);
+    QCOMPARE(in, out);
+    
+    setTestEnv(KErrNotFound);
+    mUiEngine->setCsVideoNumber(in);
+    mUiEngine->getCsVideoNumber(out);
+    QCOMPARE(in, out);
+}
+
+void Ut_VmbxUiEngine::testIsVideoSupport()
+{
+    QVERIFY(mUiEngine);
+    mUiEngine->isVideoSupport();
+}
+
+void Ut_VmbxUiEngine::testHandleNotifyL()
+{
+    QVERIFY(mUiEngine);
+    CVoiceMailboxEntry *entry = CVoiceMailboxEntry::NewL();
+    QVERIFY(entry);
+    mUiEngine->HandleNotifyL(*entry);
+}
+
+
+//End file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/tsrc/ut_vmbxcpplugin.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,63 @@
+#
+# Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: ut_vmbxcpplugin.exe
+#
+
+TEMPLATE = app
+TARGET = ut_vmbxcpplugin
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+MOC_DIR = moc
+
+symbian: { 
+    TARGET.CAPABILITY = CAP_GENERAL_DLL 
+}
+
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+                   $$MOC_DIR \
+                   /epoc32/include/mw/QtTest \
+                   ../../inc\
+                   ./inc
+                   TARGET.EPOCALLOWDLLDATA = 1
+LIBS += -lcpframework
+}
+
+# Input
+HEADERS += inc\ut_vmbxuiengine.h\
+           inc\ut_vmbxcpplugin.h \
+           inc\ut_actioncustomitem.h\
+           inc\ut_customedit.h \
+           ..\inc\vmbxuiengine.h \
+           ..\inc\vmbxcpplugin.h \
+           ..\inc\vmbxcpgroup.h \
+           ..\inc\actioncustomitem.h \
+           ..\inc\customedit.h
+
+
+SOURCES += src\main.cpp\
+           src\ut_vmbxuiengine.cpp\
+           src\ut_vmbxcpplugin.cpp \
+           src\ut_actioncustomitem.cpp \
+           src\ut_customedit.cpp \
+           src\ut_dummyvoicemailbox.cpp\
+           src\ut_dummyvoicemailboxentry.cpp\
+           ..\src\vmbxuiengine.cpp \
+           ..\src\vmbxcpplugin.cpp \
+           ..\src\vmbxcpgroup.cpp  \
+           ..\src\actioncustomitem.cpp \
+           ..\src\customedit.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/vmbxcpplugin.pri	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,74 @@
+#
+# Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: vmbxcpplugin source files
+#
+
+
+CONFIG += debug_and_release 
+
+
+CONFIG(debug, debug|release) {
+    SUBDIRPART = debug
+} else {
+    SUBDIRPART = release
+}
+
+
+# Add the output dirs to the link path too
+LIBS += -L$$DESTDIR
+
+MOC_DIR = moc
+OBJECT_DIR = obj
+RCC_DIR = rcc
+
+#For some reason the default include path doesn't include MOC_DIR on symbian
+symbian {
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += $$MOC_DIR
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.EPOCALLOWDLLDATA = 1
+}
+
+
+CONFIG += hb plugin
+LIBS += -lcpframework\
+        -lvmbxengine
+
+symbian: plugin { # copy qtstub and manifest
+    PLUGIN_STUB_PATH = /resource/qt/plugins/controlpanel
+
+    deploy.path = C:
+    pluginstub.sources = $${TARGET}.dll
+    pluginstub.path = $$PLUGIN_STUB_PATH
+    DEPLOYMENT += pluginstub
+
+    qtplugins.path = $$PLUGIN_STUB_PATH
+    qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
+
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin  $$deploy.path$$qtplugins.path/$$basename(qtplugin)" \
+    "rom/vmbxcpplugin_stub.sis ZSYSTEM/install/vmbxcpplugin_stub.sis"
+}
+
+HEADERS += inc/vmbxcpplugin.h \
+           inc/vmbxcpgroup.h \
+           inc/vmbxuiengine.h \
+           inc/loggerutil.h \
+           inc/actioncustomitem.h \
+           inc/customedit.h
+
+SOURCES += src/vmbxcpplugin.cpp \
+           src/vmbxcpgroup.cpp \
+           src/vmbxuiengine.cpp \
+           src/actioncustomitem.cpp \
+           src/customedit.cpp
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/vmbxcpplugin.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,28 @@
+#
+# Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = vmbxcpplugin
+
+
+include (vmbxcpplugin.pri)
+
+# Input
+symbian: { 
+    TARGET.UID3 = 0x20029F5D
+}
+
+include (rom/rom.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin_version_history.txt	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,62 @@
+
+22-Oct-2009 Tommi Kenakkala
+
+HOW TO INTEGRATE:
+- This version uses MCLwk32+QtOrbitDeltawk37+QtControlPanelwk38
+- To get this working you have use the refactored vmbxengine.
+Copy cvoicemailbox.h, cvoicemailboxentry.h, voicemailboxdefs.h to the phonesrv_plat api folder (Same as old)
+(I'll also remove vmbxengine app layer api dependencies from mercurial)
+- Copy Qt control panel to root 
+- Edit \qtcontrolpanel\qtcontrolpanel\controlpanelplugins\communicationplugin\data\cpcommunicationplugin.cpcfg
+by adding:
+  <plugin displayname = "displayname" id = "0X20029F5D"  dll = "vmbxcpplugin.dll">
+    <desc>I'm a description</desc>
+  </plugin>
+(remember to check that uid matches to implementation)
+- To get signals from ui control in QtControlPanelwk38 package you have to fix the mistyped connect
+in qtcontrolpanel\qtcontrolpanel\cpframework\src\cpsettingformitemdata.cpp:
+"lineEditTextChanged" is mistyped as "lineEditTextChangge"
+Signal is emitted on every character change so we or control panel have to fix that.
+- After above is done compile qtcontrolpanel:
+           qmake -spec symbian-abld
+           bldmake bldfiles
+           abld build winscw udeb
+- Copy vmbxcpplugin to root and compile similarly
+
+- If you want to avoid carbide:
+ - Install DebugView (debug traces are printed there)
+ - launch epoc.exe from shell, launch DebugView PC app
+ - In emulator open eshell and launch the application there by typing the exe name
+
+- If vmbxcpplugin is not loaded enable QtControlPanel tracing and check the control 
+panel fw traces, there should be a trace for every plugin load attemp. 
+After "desc" tag there's a "loading failed" string if e.g. vmbxcpplugin.dll 
+loading failed because linking to vmbxengine.dll had problems.
+Here is an ok trace from qtcontrolpanel:  
+    "[1876]  diplayname =  "displayname"  
+    [1876]  dll =  "vmbxcpplugin.dll"  
+    [1876]  desc =  "I'm a description"  " 
+
+HOW TO USE QT CONTROL PANEL ON UI: 
+- launch by selecting applications > qtcontrolpanel 
+or applications > eshell and type qtcontrolpanel
+- Click the "+" to open communications group
+- Click the "+" to open vmbx group
+- when you start editing the number, it will be save every time you change even a single character
+
+ABOUT DESIGN & FEATURES:
+
+- TODO: update VmbxCpGroup to class VmbxCpGroup : public CpSettingFormItemData 
+when DataForm bug is fixed (QTControlPanel wk39-41?), now append/addchild() panics.
+After the base class switch API will change but it should be just a few minutes of work to do that.
+
+- Ps Services to be implemented later when we know if they will be in vmbx control panel group or in service settings group.
+- UI editing permit checking must be implemented
+- Video ALS support not to be implemented on UI, do it later if there really is someone using it.
+- Default mailbox setting to be implemented later to CVoiceMailbox API and to UI, if future UI concepts still specify it.
+- Use QT_TRAP_THROWING when qt 4.6 available, but do test then that qt throws and symbian leaves work ok together.
+- Triple-check cleanup everywhere
+- .pro file include paths are hard-coded, fix those for phonesrv_plat api folders.
+
+test
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/bwins/vmbxengineu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,30 @@
+EXPORTS
+	?NewL@CVoiceMailbox@@SAPAV1@XZ @ 1 NONAME ; class CVoiceMailbox * CVoiceMailbox::NewL(void)
+	?QueryChangeEntry@CVoiceMailbox@@UAEHABVTVoiceMailboxParams@@AAPAVCVoiceMailboxEntry@@@Z @ 2 NONAME ; int CVoiceMailbox::QueryChangeEntry(class TVoiceMailboxParams const &, class CVoiceMailboxEntry * &)
+	?GetBrandId@CVoiceMailboxEntry@@UBEHAAVTPtrC8@@@Z @ 3 NONAME ; int CVoiceMailboxEntry::GetBrandId(class TPtrC8 &) const
+	?Reset@CVoiceMailboxEntry@@UAEXXZ @ 4 NONAME ; void CVoiceMailboxEntry::Reset(void)
+	?NewL@CVoiceMailboxEntry@@SAPAV1@XZ @ 5 NONAME ; class CVoiceMailboxEntry * CVoiceMailboxEntry::NewL(void)
+	?GetStoredEntry@CVoiceMailbox@@UBEHABVTVoiceMailboxParams@@AAPAVCVoiceMailboxEntry@@@Z @ 6 NONAME ; int CVoiceMailbox::GetStoredEntry(class TVoiceMailboxParams const &, class CVoiceMailboxEntry * &) const
+	??0TVoiceMailboxParams@@QAE@ABVCVoiceMailboxEntry@@@Z @ 7 NONAME ; TVoiceMailboxParams::TVoiceMailboxParams(class CVoiceMailboxEntry const &)
+	?NewLC@CVoiceMailbox@@SAPAV1@XZ @ 8 NONAME ; class CVoiceMailbox * CVoiceMailbox::NewLC(void)
+	?SaveProvisionedEntry@CVoiceMailbox@@QAEHABVCVoiceMailboxEntry@@@Z @ 9 NONAME ; int CVoiceMailbox::SaveProvisionedEntry(class CVoiceMailboxEntry const &)
+	?SetVmbxName@CVoiceMailboxEntry@@UAEHABVTDesC16@@@Z @ 10 NONAME ; int CVoiceMailboxEntry::SetVmbxName(class TDesC16 const &)
+	?ServiceId@CVoiceMailboxEntry@@UBEIXZ @ 11 NONAME ; unsigned int CVoiceMailboxEntry::ServiceId(void) const
+	?SaveEntry@CVoiceMailbox@@UAEHABVCVoiceMailboxEntry@@@Z @ 12 NONAME ; int CVoiceMailbox::SaveEntry(class CVoiceMailboxEntry const &)
+	?GetVmbxName@CVoiceMailboxEntry@@UBEHAAVTPtrC16@@@Z @ 13 NONAME ; int CVoiceMailboxEntry::GetVmbxName(class TPtrC16 &) const
+	?Version@TVoiceMailboxParams@@QAEHXZ @ 14 NONAME ; int TVoiceMailboxParams::Version(void)
+	?CheckConfiguration@CVoiceMailbox@@UAEHABVTVoiceMailboxParams@@H@Z @ 15 NONAME ; int CVoiceMailbox::CheckConfiguration(class TVoiceMailboxParams const &, int)
+	?UsingMemoryLocation@CVoiceMailboxEntry@@UBE?AW4TVmbxMemoryLocation@@XZ @ 16 NONAME ; enum TVmbxMemoryLocation CVoiceMailboxEntry::UsingMemoryLocation(void) const
+	?SetVmbxNumber@CVoiceMailboxEntry@@UAEHABVTDesC16@@@Z @ 17 NONAME ; int CVoiceMailboxEntry::SetVmbxNumber(class TDesC16 const &)
+	?VoiceMailboxType@CVoiceMailboxEntry@@UBE?AW4TVmbxType@@XZ @ 18 NONAME ; enum TVmbxType CVoiceMailboxEntry::VoiceMailboxType(void) const
+	?VmbxAlsLineType@CVoiceMailboxEntry@@UBE?AW4TVmbxAlsLineType@@XZ @ 19 NONAME ; enum TVmbxAlsLineType CVoiceMailboxEntry::VmbxAlsLineType(void) const
+	?NewLC@CVoiceMailboxEntry@@SAPAV1@XZ @ 20 NONAME ; class CVoiceMailboxEntry * CVoiceMailboxEntry::NewLC(void)
+	?NotifyVmbxNumberChangeCancel@CVoiceMailbox@@UAEXXZ @ 21 NONAME ; void CVoiceMailbox::NotifyVmbxNumberChangeCancel(void)
+	?QueryNewEntry@CVoiceMailbox@@UAEHABVTVoiceMailboxParams@@AAPAVCVoiceMailboxEntry@@@Z @ 22 NONAME ; int CVoiceMailbox::QueryNewEntry(class TVoiceMailboxParams const &, class CVoiceMailboxEntry * &)
+	?GetServiceIds@CVoiceMailbox@@UBEHAAV?$RArray@I@@@Z @ 23 NONAME ; int CVoiceMailbox::GetServiceIds(class RArray<unsigned int> &) const
+	??0TVoiceMailboxParams@@QAE@XZ @ 24 NONAME ; TVoiceMailboxParams::TVoiceMailboxParams(void)
+	?GetVmbxNumber@CVoiceMailboxEntry@@UBEHAAVTPtrC16@@@Z @ 25 NONAME ; int CVoiceMailboxEntry::GetVmbxNumber(class TPtrC16 &) const
+	?QueryVmbxType@CVoiceMailbox@@UAEHAAVTVoiceMailboxParams@@@Z @ 26 NONAME ; int CVoiceMailbox::QueryVmbxType(class TVoiceMailboxParams &)
+	?SetVoiceMailboxType@CVoiceMailboxEntry@@UAEXABW4TVmbxType@@@Z @ 27 NONAME ; void CVoiceMailboxEntry::SetVoiceMailboxType(enum TVmbxType const &)
+	?NotifyVmbxNumberChangeL@CVoiceMailbox@@UAEXAAVMVoiceMailboxObserver@@H@Z @ 28 NONAME ; void CVoiceMailbox::NotifyVmbxNumberChangeL(class MVoiceMailboxObserver &, int)
+
Binary file vmbx/vmbxengine/cenrep/101f874f.txt has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/cenrep/backup_registration.xml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,5 @@
+<?xml version="1.0" standalone="yes"?>
+<backup_registration version="1.0">
+    <proxy_data_manager sid = "0x10202BE9" />
+    <restore requires_reboot = "no"/>
+</backup_registration>
Binary file vmbx/vmbxengine/conf/CI_voicemailbox.confml has changed
Binary file vmbx/vmbxengine/conf/voicemailbox.confml has changed
Binary file vmbx/vmbxengine/conf/voicemailbox_101F874F.crml has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/eabi/vmbxengineu.def	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,32 @@
+EXPORTS
+	_ZN13CVoiceMailbox13QueryNewEntryERK19TVoiceMailboxParamsRP18CVoiceMailboxEntry @ 1 NONAME
+	_ZN13CVoiceMailbox13QueryVmbxTypeER19TVoiceMailboxParams @ 2 NONAME
+	_ZN13CVoiceMailbox16QueryChangeEntryERK19TVoiceMailboxParamsRP18CVoiceMailboxEntry @ 3 NONAME
+	_ZN13CVoiceMailbox18CheckConfigurationERK19TVoiceMailboxParamsi @ 4 NONAME
+	_ZN13CVoiceMailbox20SaveProvisionedEntryERK18CVoiceMailboxEntry @ 5 NONAME
+	_ZN13CVoiceMailbox23NotifyVmbxNumberChangeLER21MVoiceMailboxObserveri @ 6 NONAME
+	_ZN13CVoiceMailbox28NotifyVmbxNumberChangeCancelEv @ 7 NONAME
+	_ZN13CVoiceMailbox4NewLEv @ 8 NONAME
+	_ZN13CVoiceMailbox5NewLCEv @ 9 NONAME
+	_ZN13CVoiceMailbox9SaveEntryERK18CVoiceMailboxEntry @ 10 NONAME
+	_ZN18CVoiceMailboxEntry11SetVmbxNameERK7TDesC16 @ 11 NONAME
+	_ZN18CVoiceMailboxEntry13SetVmbxNumberERK7TDesC16 @ 12 NONAME
+	_ZN18CVoiceMailboxEntry19SetVoiceMailboxTypeERK9TVmbxType @ 13 NONAME
+	_ZN18CVoiceMailboxEntry4NewLEv @ 14 NONAME
+	_ZN18CVoiceMailboxEntry5NewLCEv @ 15 NONAME
+	_ZN18CVoiceMailboxEntry5ResetEv @ 16 NONAME
+	_ZN19TVoiceMailboxParams7VersionEv @ 17 NONAME
+	_ZN19TVoiceMailboxParamsC1ERK18CVoiceMailboxEntry @ 18 NONAME
+	_ZN19TVoiceMailboxParamsC1Ev @ 19 NONAME
+	_ZN19TVoiceMailboxParamsC2ERK18CVoiceMailboxEntry @ 20 NONAME
+	_ZN19TVoiceMailboxParamsC2Ev @ 21 NONAME
+	_ZNK13CVoiceMailbox13GetServiceIdsER6RArrayIjE @ 22 NONAME
+	_ZNK13CVoiceMailbox14GetStoredEntryERK19TVoiceMailboxParamsRP18CVoiceMailboxEntry @ 23 NONAME
+	_ZNK18CVoiceMailboxEntry10GetBrandIdER6TPtrC8 @ 24 NONAME
+	_ZNK18CVoiceMailboxEntry11GetVmbxNameER7TPtrC16 @ 25 NONAME
+	_ZNK18CVoiceMailboxEntry13GetVmbxNumberER7TPtrC16 @ 26 NONAME
+	_ZNK18CVoiceMailboxEntry15VmbxAlsLineTypeEv @ 27 NONAME
+	_ZNK18CVoiceMailboxEntry16VoiceMailboxTypeEv @ 28 NONAME
+	_ZNK18CVoiceMailboxEntry19UsingMemoryLocationEv @ 29 NONAME
+	_ZNK18CVoiceMailboxEntry9ServiceIdEv @ 30 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/dialogwaiter.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: dialog waiter
+*
+*
+*/
+
+#ifndef DIALOGWAITER_H
+#define DIALOGWAITER_H
+
+// INCLUDES
+#include <QObject>
+#include <QEventLoop>
+
+// FORWARD DECLARATION
+class HbAction;
+
+/**
+ * This utility synchronises access to dialogs, popups, menus and
+ * other ORBIT resources. How to use:
+ * <code>
+ * HbDialog* dialog = new HbDialog();
+ * DialogWaiter waiter();
+ * dialog->open(&waiter, SLOT(done(HbAction*)));
+ * HbAction* result = waiter.wait();
+ * delete dialog;
+ * if (result==...) ...
+ * </code>
+ */
+class DialogWaiter : public QObject
+{
+    Q_OBJECT
+
+    public:
+    
+        /**
+         * waits until dialog exits
+         * returns dialog exit action
+         */
+        HbAction* wait();
+
+    private slots:
+        void done(HbAction* result);
+
+    private:
+        QEventLoop mLoop;
+        HbAction* mResult;
+
+};
+
+#endif  // DIALOGWAITER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/mvmbxcenrephandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  public VmbxCenrepHandler APIs for internal class
+*  Interface   : Internal, MVmbxCenrepHandler
+*
+*/
+
+
+#ifndef M_VMBXCENREPHANDLER_H
+#define M_VMBXCENREPHANDLER_H
+
+// INCLUDES
+
+// FORWARD DECLARATION
+class CVoiceMailboxEntry;
+
+// CLASS DECLARATION
+
+/**
+ *  MVmbxCenrepHandler
+ *
+ *  @since S60 v5.2
+ *  @lib vmbxengine.lib
+ *
+ */
+NONSHARABLE_CLASS ( MVmbxCenrepHandler )
+    {
+    
+public:
+
+    /**
+     * Get mailbox number from CenRep
+     *
+     * @param in&out aEntry the voice mailbox information data type
+     * @return Symbian OS error code (KErrNone if successful)
+     */
+    virtual TInt GetVmbxNumber( CVoiceMailboxEntry& aEntry ) = 0;
+
+    /**
+     * Saves the mailbox number
+     *
+     * @param in aEntry vmbx number data to save
+     * @return Symbian OS error code (KErrNone if successful)
+     */
+    virtual TInt Save( const CVoiceMailboxEntry& aEntry ) = 0;
+
+    /**
+     * Fetches active store type
+     *
+     * @return aStoreType Active store in use
+     */
+    virtual TVmbxMemoryLocation StoreType() = 0;
+
+    /**
+     * Returns state of the video support
+     *
+     * @return ETrue if supported
+     */
+    virtual TBool VideoSupported() = 0;
+
+    /**
+     * Returns ETrue if CenRep setting Sim read only
+     *
+     * @return ETrue if Sim read only
+     */
+    virtual TBool IsSimReadOnly() = 0;
+
+     /**
+     * Returns ETrue if number allowed to user change
+     *
+     * @return ETrue if from Sim
+     */
+    virtual TBool IsAllowedUserEdit() = 0;
+
+    };
+
+#endif // M_VMBXCENREPHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/mvmbxcenrepobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Notifies when CenRep is changed
+*  Interface   : Internal, MVmbxCenRepObserver
+*
+*/
+
+
+#ifndef M_VMBXCENREPOBSERVER_H
+#define M_VMBXCENREPOBSERVER_H
+
+// INCLUDES
+#include "voicemailboxdefsinternal.h"
+
+// CLASS DECLARATION
+
+/**
+ *  MVmbxCenRepObserver
+ *
+ *  @lib vmbxengine.lib
+ *
+ */
+NONSHARABLE_CLASS ( MVmbxCenRepObserver )
+    {
+public:
+
+    /**
+    * Does the action user wants when the CenRep value has been changed.
+    * 
+    * @param aId id related with the key of CenRep
+    **/
+    virtual void HandleCenRepChange( TVmbxCenRepKey aId ) = 0;
+
+    };
+
+#endif // M_VMBXCENREPOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/mvmbxchangeobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Notifies when vmbx interrelated modules are changed
+*  Interface   : Internal, MVmbxChangeObserver
+*
+*/
+
+
+#ifndef M_VMBXCHANGEOBSERVER_H
+#define M_VMBXCHANGEOBSERVER_H
+
+// INCLUDE
+#include "voicemailboxdefsinternal.h"
+
+// FORWORD
+
+// CLASS DECLARATION
+
+/**
+*  Notifier for vmbx number/address changes
+*
+*  @lib vmbxengine.lib
+*
+*
+**/
+NONSHARABLE_CLASS ( MVmbxChangeObserver )
+    {
+
+public:
+
+   /**
+    * Observer callback function which is called when
+    *sat refresh
+    *
+    **/
+    virtual void SatRefreshL() = 0;
+
+   /**
+    * Observer callback function which is called when
+    *CenRep Key value changed
+    *
+    * @param aId id related with the key of CenRep
+    **/
+    virtual void CenRepChangedL( TVmbxCenRepKey aId ) = 0;
+
+   /**
+    * Observer callback function which is called when
+    *sim store changed
+    *
+    **/
+    virtual void SimStoreChangedL() = 0;
+    };
+
+#endif // M_VMBXCHANGEOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/mvmbxresourceprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Notifies when ALS line is changed
+*  Interface   : Internal, MResourceProvider
+*
+*/
+
+
+#ifndef M_VMBXRESOURCEPROVIDER_H
+#define M_VMBXRESOURCEPROVIDER_H
+
+// INCLUDES
+#include "mvmbxuiutilities.h"
+#include "mvmbxcenrephandler.h"
+
+// CLASS DECLARATION
+
+/**
+ *  Resource provider
+ *
+ *  @lib vmbxengine.lib
+ *
+ */
+NONSHARABLE_CLASS ( MVmbxResourceProvider )
+    {
+public:
+
+   /**
+    * Gets handler of MVmbxUiUtilities
+    * 
+    * @return handler of MVmbxUiUtilities
+    **/
+    virtual MVmbxUiUtilities& VmbxUiUtilities() = 0;
+
+   /**
+    * Gets handler of MVmbxCenrepHandler
+    * 
+    * @return handler of MVmbxCenrepHandler
+    **/
+    virtual MVmbxCenrepHandler& VmbxCenRepHandler() = 0;
+
+    };
+
+#endif // M_VMBXRESOURCEPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/mvmbxsatrefreshobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Notifies when MBDN file is refreshed
+*  Interface   : Internal, MVmbxSatRefreshObserver
+*
+*/
+
+
+#ifndef M_VMBXSATREFRESHOBSERVER_H
+#define M_VMBXSATREFRESHOBSERVER_H
+
+// INCLUDES
+
+// CLASS DECLARATION
+
+/**
+ *  Notifier for sim file refreshed
+ *
+ *  @since S60 v5.2
+ *  @lib vmbxengine.lib
+ *
+ */
+NONSHARABLE_CLASS ( MVmbxSatRefreshObserver )
+    {
+public:
+
+    /**
+    * Does the action user wants when the sim file is refreshed.
+    * 
+    * @param 
+    **/
+    virtual void HandleSatRefresh() = 0;
+
+    };
+
+#endif // M_VMBXSATREFRESHOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/mvmbxservicenotify.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  public Service profile changed
+*  Interface   : Internal, MServiceNotifyHandler
+*
+*/
+
+
+#ifndef M_VMBXSERVICENOTIFY_H
+#define M_VMBXSERVICENOTIFY_H
+
+// INCLUDES
+
+// FORWARD DECLARATION
+
+
+// CLASS DECLARATION
+
+/**
+ *  MServiceNotifyHandler
+ *
+ *  @lib vmbxengine.lib
+ *
+ */
+NONSHARABLE_CLASS ( MServiceNotifyHandler )
+    {
+public:
+      /**
+      * Called when a Service profile has been changed.
+      */
+      virtual void HandleServiceNotifyL() = 0;
+    };
+
+#endif // M_VMBXSERVICENOTIFY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/mvmbxsimstoreobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Notifies when Sim store is changed
+*  Interface   : Internal, MVmbxSimStoreObserver
+*
+*/
+
+
+#ifndef M_VMBXSIMSTOREOBSERVER_H
+#define M_VMBXSIMSTOREOBSERVER_H
+
+// INCLUDES
+
+// CLASS DECLARATION
+
+/**
+ *  Notifier for sim store file entry changes
+ *
+ *  @lib vmbxengine.lib
+ *
+ */
+NONSHARABLE_CLASS ( MVmbxSimStoreObserver )
+    {
+public:
+
+    /**
+    * Does the user wants when the sim store file entry has been changed.
+    * 
+    **/
+    virtual void HandleSimStoreChanged() = 0;
+
+    };
+
+#endif // M_VMBXSIMSTOREOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/mvmbxuihandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*  Interface   : Internal, MVmbxUiHandler
+*
+*/
+
+
+#ifndef M_MVMBXUIHANDLER_H
+#define M_MVMBXUIHANDLER_H
+
+// INCLUDES
+
+// FORWARD DECLARATION
+
+
+// CLASS DECLARATION
+
+/**
+ *  MVmbxUiHandler
+ *
+ *  @lib vmbxengine.lib
+ *
+ */
+NONSHARABLE_CLASS ( MVmbxUiHandler )
+    {
+
+public:
+
+    /**
+     * Show mailbox query dialog
+     *
+     * @param aType in TVmbxType type
+     * @param aNumber the voice mailbox number
+     * @param aResult out the result of dialog
+     */
+    virtual void ShowVmbxQueryDialogL( const TVmbxType& aType,
+        TDes& aNumber, TInt& aResult )= 0;
+
+
+    /**
+     * Show define number in selection dialog
+     *
+     * @param in aType vmbx type
+     * @param out aResult the result of dialog
+     */
+    virtual void ShowDefineSelectionDialogL( 
+        TVmbxType& aType, TInt& aResult ) = 0;
+
+    /**
+     * Show call number in selection dialog
+     * Leave if aArray < 1
+     *
+     * @param in aArray array of the defined voice mailbox entry
+     * @param out aParams the type TVoiceMailboxParams which should include
+     *          the service id and the type of seclected TVmbxType
+     * @param out aResult the result user seclected
+     */
+    virtual void ShowCallSelectionDialogL(
+                const RPointerArray<CVoiceMailboxEntry>& aArray,
+                TVoiceMailboxParams& aParams, TInt& aResult ) = 0;
+
+    /**
+     * show an error dialog for invalid number
+     *
+     */
+    virtual void ShowInvalidWarningNoteL() = 0;
+
+    };
+
+#endif // M_MVMBXUIHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/mvmbxuiutilities.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Public APIs of VmbxUiUtilities to internal class
+*  Interface   : Internal, MVmbxUiutilities
+*
+*/
+
+
+#ifndef M_VMBXUIUTILITIES_H
+#define M_VMBXUIUTILITIES_H
+
+// INCLUDES
+#include <cvoicemailbox.h>
+#include "voicemailboxdefsinternal.h"
+
+// CLASS DECLARATION
+
+/**
+ *  MVmbxUiUtilities
+ *
+ *  @lib vmbxengine.lib
+ *
+ */
+NONSHARABLE_CLASS ( MVmbxUiUtilities )
+    {
+
+public:
+    /**
+     * Show mailbox query
+     *
+     * @param in aType TVmbxType type
+     * @param in aMode TVmbxQueryMode mode
+     * @param out aNumber the voice mailbox number
+     */
+    virtual void ShowQueryL( const TVmbxType& aType,
+                    const TVmbxQueryMode& aMode,
+                    TDes& aNumber ) = 0;
+
+    /**
+     * Show mailbox query dialog
+     * Leaves if user cancel selected.
+     *
+     * @param aType in TVmbxType type
+     * @param aMode Tin VmbxQueryMode mode
+     * @param aNumber the voice mailbox number
+     * @param aResult out the result of dialog
+     */
+    virtual void ShowQueryDialogL( const TVmbxType& aType,
+        const TVmbxQueryMode & aMode, TDes& aNumber, TInt& aResult ) = 0;
+
+    /**
+     * Show informationd note
+     *
+     * @param aType in TVmbxNoteType type
+     */
+    virtual void ShowInformationdNoteL(const TVmbxNoteType aType) = 0;
+
+
+    /**
+     * Show define number in selection dialog
+     *
+     * @param in aType vmbx type
+     * @param out aResult the result of dialog
+     */
+    virtual void ShowDefineSelectionDialogL( TVmbxType& aType, TInt& aResult ) = 0;
+
+    /**
+     * Show call number in selection dialog
+     * Leaves if user cancel selected.
+     *
+     * @param in aArray array of the defined voice mailbox entry
+     * @param in aIcons icons of the defined voice mailbox
+     * @param out aParams the type TVoiceMailboxParams which should include
+     *          the service id and the type of seclected TVmbxType
+     * @param out aResult the result user seclected
+     */
+    virtual void ShowCallSelectionDialogL( 
+                const RPointerArray<CVoiceMailboxEntry>& aArray, 
+                    TVoiceMailboxParams& aParams, TInt& aResult ) = 0;
+
+    /**
+     * Tries to close all open dialogs
+     *
+     */
+    virtual void DismissDialogL() = 0;
+
+
+    /**
+     * Get Mailbox type default image.
+     * If get unseccessful, Leaves with Symbian OS error code
+     * 
+     * @param aParams Mailbox type for which image is needed.
+     * @return aImage New image. Ownership is transferred.
+     */
+    //virtual CGulIcon* GetVmbxImageL( const TVoiceMailboxParams& aParams ) = 0;
+
+    /**
+     * Show not allowed editing dialog
+     *
+     */
+    virtual void ShowNotAllowedEditingDialogL() = 0;
+
+    /**
+     * Show Invalid Warning dialog.
+     *
+     */
+    virtual void ShowInvalidWarningDialogL() = 0;
+    };
+
+#endif // M_VMBXUIUTILITIES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbshandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 for voice mailbox
+ *
+*/
+
+#ifndef C_VMBSHANDLER_H
+#define C_VMBSHANDLER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DECLARATION
+
+/**
+ *  CVmBSHandler declaration.
+ *
+ */
+NONSHARABLE_CLASS( CVmBSHandler ) : public CBase
+    {
+
+public: // Constructors and destructor
+
+    /**
+    * Two-phased constructor.
+    */
+    static CVmBSHandler* NewL();
+
+    /**
+     * Two-phased constructor.
+     */
+    static CVmBSHandler* NewLC();
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmBSHandler();
+
+public: // New functions
+
+    /**
+     * Get branded icon
+     * @param aBrandingId Brandind Id
+     * @param aBrandedBitmap Bitmap for branded icon
+     * @param aBrandedBitmapMask Mask to branded icon
+     */
+//     void GetBrandedIconL( const TDesC8& aBrandingId,
+//                           CFbsBitmap*& aBrandedBitmap,
+//                           CFbsBitmap*& aBrandedBitmapMask ) const;
+
+private:
+
+    /**
+     * C++ default constructor.
+     */
+    CVmBSHandler();
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+    };
+
+#endif // C_VMBSHANDLER_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxcenrephandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Access class to central repository
+*  Interface   : Private, CVmbxCenRepHandler
+*
+*/
+
+
+#ifndef C_VMBXCENREPHANDLER_H
+#define C_VMBXCENREPHANDLER_H
+
+//  INCLUDES
+#include <e32base.h>
+
+#include <voicemailboxdefs.h>
+#include "mvmbxcenrephandler.h"
+
+
+// FORWARD DECLARATIONS
+class CRepository;
+class CVoiceMailboxEntry;
+
+// CLASS DECLARATION
+/**
+*  Creates connection to central repository and handles data flow from/to it
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxCenRepHandler ) : public CBase,
+                                          public MVmbxCenrepHandler
+    {
+public: // Constructors and destructor
+
+    /**
+     * Two-phased constructor.
+     */
+    static CVmbxCenRepHandler* NewL( );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxCenRepHandler();
+
+public: // New functions
+
+    /**
+     * Get saved mailbox number
+     *
+     * @param aEntry saved vmbx number data
+     * @return Symbian OS error code (KErrNone if successful)
+     */
+    TInt GetVmbxNumber( CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Saves the mailbox number
+     *
+     * @param aEntry vmbx number data to save
+     * @return Symbian OS error code (KErrNone if successful)
+     */
+    TInt Save( const CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Fetches active store type
+     *
+     * @return aStoreType Active store in use
+     */
+    TVmbxMemoryLocation StoreType();
+
+    /**
+     * Returns state of the video support
+     *
+     * @return ETrue if supported
+     */
+    TBool VideoSupported();
+
+    /**
+     * Returns ETrue if CenRep setting Sim read only
+     *
+     * @return ETrue if CenRep setting Sim read only
+     */
+    TBool IsSimReadOnly();
+
+     /**
+     * Returns ETrue if number allowed to user change
+     *
+     * @return ETrue if from Sim
+     */
+    TBool IsAllowedUserEdit();
+
+private: // New functions
+
+    /**
+     * C++ default constructor.
+     * @param aStoreHandler Reference to StoreHandler
+     */
+    CVmbxCenRepHandler();
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+    /**
+     * Resolves Voice CenRep key to be used
+     *
+     * @param in aLine current ALS lne
+     * @return CenRep key
+     */
+    TUint32 VoiceCenRepKey( const TVmbxAlsLineType& aLine );
+
+    /**
+     * Resolves Video CenRep key to be used
+     *
+     * @param in aLine current ALS lne
+     * @return CenRep key
+     */
+    TUint32 VideoCenRepKey( const TVmbxAlsLineType& aLine );
+
+   /**
+     * Resolves CenRep key to be used
+     *
+     * @param aEntry entry type
+     * @return CenRep key
+     */
+    TUint32 ResolveKeyByEntry( const CVoiceMailboxEntry& aEntry );
+
+private: //data
+
+    /**
+     * Central repository session
+     * Own.
+     */
+    CRepository* iCRSession;
+    };
+
+#endif // C_VMBXCENREPHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxcenrepobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Access class to Notify CenRep changed.
+*  Interface   : Private, CVmbxCenRepObserver
+ *
+*/
+
+#ifndef C_VMBXCENREPOBSERVER_H
+#define C_VMBXCENREPOBSERVER_H
+
+// INCLUDES
+#include <e32base.h>
+
+// for remote number change
+#include <cenrepnotifyhandler.h>
+#include "mvmbxcenrepobserver.h"
+
+
+// FORWARD DECLARATIONS
+class CRepository;
+
+// CLASS DECLARATION
+
+/**
+ *  CVmbxCenRepObserver declaration.
+ *
+ */
+NONSHARABLE_CLASS( CVmbxCenRepObserver ) : public CBase,
+                                           public MCenRepNotifyHandlerCallback
+    {
+
+public: // Constructors and destructor
+
+    /**
+    * Two-phased constructor.
+     * @param in aObserver observer notify the CenRep changed.
+     * @return New instance of the object. Ownership transferred.
+    */
+    static CVmbxCenRepObserver* NewL( MVmbxCenRepObserver& aObserver );
+
+    /**
+     * Two-phased constructor.
+     * @param in aObserver observer notify the CenRep changed.
+     * @return New instance of the object. Ownership transferred.
+     */
+    static CVmbxCenRepObserver* NewLC( MVmbxCenRepObserver& aObserver );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxCenRepObserver();
+
+
+private: // from base class MCenRepNotifyHandlerCallback
+
+    /**
+     * @see MCenRepNotifyHandlerCallback::HandleNotifyGeneric
+     */
+    void HandleNotifyGeneric( TUint32 aId );
+
+private:
+
+    /**
+     * C++ default constructor.
+     * @param in aObserver observer notify the CenRep changed.
+     */
+    CVmbxCenRepObserver( MVmbxCenRepObserver& aObserver );
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+private: // data
+    /**
+     * Central repository session
+     * Own.
+     */
+    CRepository* iCRSession;
+
+    /**
+     * Central repository observer
+     * Own.
+     */
+    CCenRepNotifyHandler* iNotifyHandler;
+
+    /**
+     * Reference to MVmbxCenRepObserver
+     * 
+     */
+    MVmbxCenRepObserver& iObserver;
+
+    };
+
+#endif // C_VMBXCENREPOBSERVER_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxcsvideoengine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Video mailbox engine implementation
+*  Interface   : Private, CVmbxCsVideoEngine
+*
+*/
+
+#ifndef C_VMBXCSVIDEOENGINE_H
+#define C_VMBXCSVIDEOENGINE_H
+
+// INCLUDES
+#include "mvmbxresourceprovider.h"
+
+// FORWARD DECLARATIONS
+class CVmbxEngineBase;
+
+
+// CLASS DECLARATION
+
+/**
+*  Implements functionality specifig to video mailbox implementation
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxCsVideoEngine ) : public CVmbxEngineBase
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor
+     * @param in aProvider Reference to Ui Utilities
+     * @return New instance of the object. Ownership transferred.
+     */
+    static CVmbxCsVideoEngine* NewL( MVmbxResourceProvider& aProvider );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxCsVideoEngine();
+
+// from base class CVmbxEntryBase
+
+    /**
+     * @see CVmbxEntryBase::GetL
+     *
+     * @param in aEntry a pointer reference of CVoiceMailboxEntry
+     */
+    void GetL( CVoiceMailboxEntry*& aEntry );
+
+    /**
+     * @see CVmbxEntryBase::SaveL
+     *
+     * @param aEntry Reference to CVoiceMailboxEntry
+     * @param aShowNotesAllowed Provision mode is used to decide whether show
+     *          saved notification UI dialog. If aShowNotesAllowed is EFalse, 
+     *          saved notification UI dialog will not show. 
+     */
+    void SaveL( const CVoiceMailboxEntry& aEntry,
+                TBool aShowNotesAllowed );
+
+    /**
+     * To save mailbox Provisioned entry value
+     *
+     * @param in aEntry Reference to CVoiceMailboxEntry
+     */
+    void SaveProvisionedEntryL( const CVoiceMailboxEntry& aEntry );
+    
+    /**
+     * @see CVoiceMailbox::CheckConfiguration
+     *
+     * @param aParams Specifies which mailbox capabilities,
+     *          the caller wants to check.
+     * @param aFlags Use TVmbxFeatureCapabilityFlag values for this parameter.
+     *          Specifies what features client wants to check.
+
+     * @return True if feature(s) enabled.
+     */
+    TBool CheckConfiguration( const TVoiceMailboxParams& aParams,
+                                 const TInt aFlags );
+
+private:
+
+    /**
+     * C++ default constructor.
+     *
+     * @param in aProvider Reference to Ui Utilities
+     */
+    CVmbxCsVideoEngine( MVmbxResourceProvider& aProvider );
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     *
+     */
+    void ConstructL();
+
+    };
+
+#endif  // C_VMBXCSVIDEOENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxcsvoiceengine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Voice mailbox engine implementation
+*  Interface   : Private, CVmbxCsVoiceEngine
+*
+*/
+
+#ifndef C_VMBXCSVOICEENGINE_H
+#define C_VMBXCSVOICEENGINE_H
+
+// INCLUDES
+#include "mvmbxresourceprovider.h"
+
+// FORWARD DECLARATIONS
+class CVmbxEngineBase;
+class CVmbxSimHandler;
+
+
+// CLASS DECLARATION
+/**
+*  Implements functionality specifig to voice mailbox entry
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxCsVoiceEngine ) : public CVmbxEngineBase
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor
+     * @param aProvider Reference to MVmbxResourceProvider.
+     * @return New instance of the object. Ownership transferred.
+     */
+    static CVmbxCsVoiceEngine* NewL( MVmbxResourceProvider& aProvider );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxCsVoiceEngine();
+
+// from base class CVmbxEntryBase
+
+    /**
+     * @see CVmbxEntryBase::GetL
+     *
+     * @param aEntry Reference to CVoiceMailboxEntry
+     */
+    void GetL( CVoiceMailboxEntry*& aEntry );
+
+    /**
+     * @see CVmbxEntryBase::SaveL
+     *
+     * @param aEntry 
+     * @param aShowNotesAllowed Provision mode is used to decide whether show
+     *          saved notification UI dialog. If aShowNotesAllowed is EFalse,
+     *          saved notification UI dialog will not show. 
+     */
+    void SaveL( const CVoiceMailboxEntry& aEntry, 
+                TBool aShowNotesAllowed );
+
+    /**
+     * To save mailbox Provisioned entry value
+     *
+     * @param aEntry Provisioned Entry data
+     */
+    void SaveProvisionedEntryL( const CVoiceMailboxEntry& aEntry );
+
+    /**
+     * @see CVoiceMailbox::CheckConfiguration
+     *
+     * @param aParams Specifies which mailbox capabilities,
+     *          the caller wants to check.
+     * @param aFlags Use TVmbxFeatureCapabilityFlag values for this parameter.
+     *          Specifies what features client wants to check.
+
+     * @return True if feature(s) enabled.
+     */
+    TBool CheckConfiguration( const TVoiceMailboxParams& aParams,
+                                 const TInt aFlags );
+
+    /**
+     * Check Entry writable
+     *
+     * @param aParams params of Entry data
+     * @return ETrue if entry is writable
+     */
+    TBool IsWritable( const TVoiceMailboxParams& aParams );
+ 
+private:
+
+    /**
+     * C++ default constructor.
+     *
+     * @param aProvider Reference to MVmbxResourceProvider
+     */
+    CVmbxCsVoiceEngine( MVmbxResourceProvider& aProvider );
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     *
+     */
+    void ConstructL();
+
+    /**
+     * Queries where to save and then saves
+     *
+     * @param in aEntry Entry data
+     * @param aShowNotesAllowed Provision mode is used to decide whether show
+     *          saved notification UI dialog. If aShowNotesAllowed is EFalse,
+     *          saved notification UI dialog will not show. 
+     */
+    void SaveEntryToPhoneL( const CVoiceMailboxEntry& aEntry,
+                            TBool aShowNotesAllowed );
+
+    /**
+     * For saving to place that user selects
+     *
+     * @param in aEntry Entry data
+     * @param aShowNotesAllowed Provision mode is used to decide whether show
+     *          saved notification UI dialog. If aShowNotesAllowed is EFalse,
+     *          saved notification UI dialog will not show. 
+     */
+    void SaveEntryToSimL( const CVoiceMailboxEntry& aEntry, 
+                          TBool aShowNotesAllowed );
+
+    /**
+     * Returns Sim writable or not
+     *
+     * @return ETrue if writable
+     */
+    TBool IsSimWritable();
+
+private: // data
+
+    /**
+     * CVmbxSimHandler
+     * Own.
+     */
+    CVmbxSimHandler* iSimHandler;
+    };
+
+#endif  // C_VMBXCSVOICEENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxemergencycall.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Class for dealing with Emergency Call
+*  Interface   : Private, CVmbxEmergencyCall
+*
+*/
+
+
+#ifndef C_VMBXEMERGENCYCALL_H
+#define C_VMBXEMERGENCYCALL_H
+
+// INCLUDES
+#include <e32base.h>
+#include <phclttypes.h>         // from PhoneClient
+#include <mphcltemergencycallobserver.h>
+
+// CLASS DECLARATION
+
+/**
+*  CVmbxEmergencyCall declaration
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxEmergencyCall ) : public CBase,
+                        public MPhCltEmergencyCallObserver
+    {
+ public:
+
+    /**
+     * Two-phased constructor
+     */
+    static CVmbxEmergencyCall* NewL();
+    
+    /**
+     * Destructor.
+     */
+    ~CVmbxEmergencyCall();
+
+    /**
+     * Verifies that the given number is not an emergency number.
+     *
+     * @param aNumber Mailbox number
+     * @return ETrue if emergency number
+     */
+    TBool IsEmergencyNumber( const TDesC& aNumber );
+    
+private:  // New Functions
+
+    /**
+     * C++ default constructor.
+     *
+     */
+    CVmbxEmergencyCall();
+
+    /**
+     * C++  Two-phased constructor.
+     */
+    void ConstructL();
+
+private: // Functions from base classes
+
+    /**
+     * Handle dial request completion.
+     *
+     * @see MPhCltExtPhoneObserver::HandleDialL().
+     *
+     * @param aEntry Reference to store handler
+     */
+    void HandleDialL( const TInt aStatus );
+
+    /**
+     * Handling of emergency dial result.
+     *
+     * @param aEntry Reference to store handler
+     */
+    void HandleEmergencyDialL( const TInt aStatus );
+ 
+    };
+
+#endif  // C_VMBXEMERGENCYCALL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxenginebase.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Base class for different mailbox entries
+*  Interface   : Private, CVmbxEngineBase
+*
+*/
+
+
+#ifndef C_VMBXENGINEBASE_H
+#define C_VMBXENGINEBASE_H
+
+// INCLUDES
+#include <e32base.h>
+#include <cvoicemailbox.h>
+
+#include "mvmbxresourceprovider.h"
+
+//FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+/**
+*  Implemets mailbox entry base class functionality
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxEngineBase ) : public CBase
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * C++ default constructor.
+     * @param aProvider Reference to CVmbxUiUtilities
+     */
+    CVmbxEngineBase( MVmbxResourceProvider& aProvider );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxEngineBase();
+
+public: // New functions
+    /**
+     * To get mailbox entry value
+     * Leave if no number got or Symbian OS error code
+     *
+     * @param aEntry Entry data
+     */
+    virtual void GetL( CVoiceMailboxEntry*& aEntry ) = 0;
+
+    /**
+     * To save mailbox entry value
+     * Leave with Symbian OS error code
+     *
+     * @param aEntry Entry data
+     * @param aShowNotesAllowed Provision mode is used to decide whether show
+     *          saved notification UI dialog. If aShowNotesAllowed is EFalse,
+     *          saved notification UI dialog will not show. 
+     */
+    virtual void SaveL( const CVoiceMailboxEntry& aEntry,
+                        TBool aShowNotesAllowed ) = 0;
+
+    /**
+     * To save mailbox Provisioned entry value
+     * Leave with Symbian OS error code
+     *
+     * @param aEntry Provisioned Entry data
+     */
+    virtual void SaveProvisionedEntryL( const CVoiceMailboxEntry& aEntry ) = 0;
+
+    /**
+     * Checks the Voice Mailbox how many VoIP service Ids
+     * Leave with Symbian OS error code
+     *
+     * @param aProfileIds id of voip profile
+     */
+    virtual void GetServiceIdsL( RIdArray& aProfileIds );
+
+    /**
+     * see CVoiceMailbox::GetVmbxImage
+     * 
+     */
+    //virtual CGulIcon* GetVmbxImageL( const TVoiceMailboxParams& aParams );
+
+    /**
+     * Sets the Voice Mailbox current service id.
+     *
+     * @param aVmbxServiceId Voice Mailbox service id.
+     */
+    virtual void SetCurrentServiceId( const TServiceId& aVmbxServiceId );
+
+    /**
+     * Checks the Voice Mailbox configuration to find out if a features
+     * are disabled or enabled.
+     *
+     * @param aParams Specifies which mailbox capabilities,
+     *          the caller wants to check.
+     * @param aFlags Use TVmbxFeatureCapability values for this parameter.
+     *          Specifies what features client wants to check.
+
+     * @return True if feature(s) enabled.
+     */
+    virtual TBool CheckConfiguration( const TVoiceMailboxParams& 
+            aParams, const TInt aFlags );
+    
+    /**
+     * Displays number query dialog
+     * Leave if user don't select or Symbian OS error code
+     *
+     * @param aEntry CVoiceMailboxEntry
+     */
+    virtual void QueryDefineNumberL( CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Displays number query dialog
+     * Leave if user don't select or Symbian OS error code
+     *
+     * @param aEntry Entry data
+     */
+    virtual void QueryChangeNumberL( CVoiceMailboxEntry& aEntry );
+
+
+protected: // data
+
+    /**
+     * Reference to CVmbxUiUtilities
+     */
+    MVmbxResourceProvider& iProvider;
+
+    /**
+     * Mailbox service id.
+     */
+    TServiceId iVmbxServiceId;
+    };
+
+#endif  // C_VMBXENGINEBASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxenginefactory.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Factory class for different mailbox engines
+*  Interface   : Private, CVmbxEngineFactory
+*
+*/
+
+#ifndef C_VMBXENGINEFACTORY_H
+#define C_VMBXENGINEFACTORY_H
+
+// INCLUDES
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class CVmbxEngineBase;
+
+
+// CLASS DECLARATION
+
+/**
+*  CVmbxEngineFactory declaration
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxEngineFactory ) : public CBase
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor
+     * @param aProvider Reference to MVmbxResourceProvider
+     */
+    static CVmbxEngineFactory* NewL( MVmbxResourceProvider& aProvider );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxEngineFactory();
+
+public:  // New functions
+
+    /**
+     * Creates instance of the mailbox entry
+     *
+     * @param aEngine ownership is transferred
+     * @param aType mailbox type
+     */
+    void CreateEngineL( CVmbxEngineBase*& aEngine, TVmbxType aType );
+
+private:
+
+    /**
+     * C++ default constructor.
+     * @param aProvider Reference to MVmbxResourceProvider
+     */
+    CVmbxEngineFactory( MVmbxResourceProvider& aProvider );
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+private: // data
+
+    /**
+     * Reference to MVmbxResourceProvider
+     */
+    MVmbxResourceProvider& iProvider;
+    };
+
+#endif  // C_VMBXENGINEFACTORY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxetelconnection.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Encapsulates RTelServer and RMobilePhone sessions
+*  Interface   : Private, CVmbxETelConnection
+*
+*/
+
+
+#ifndef C_VMBXETELCONNECTION_H
+#define C_VMBXETELCONNECTION_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <voicemailboxdefs.h>
+#include <etelmm.h>
+
+// FORWARD DECLARATION
+class RTelServer;
+class RMobilePhone;
+
+// CLASS DECLARATION
+
+/**
+*  Creates connection to RTelServer and opens RMobilePhone
+*
+*/
+NONSHARABLE_CLASS( CVmbxETelConnection ): public CBase
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor.
+     */
+    static CVmbxETelConnection* NewL();
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxETelConnection();
+
+
+public: // New functions
+
+    /**
+     * Returns a reference to the ETel RTelServer
+     *
+     * @return a reference to the ETel RTelServer
+     */
+    RTelServer& TelServer();
+
+    /**
+     * Returns a reference to the ETel RMobilePhone
+     *
+     * @return a reference to the ETel RMobilePhone
+     */
+    RMobilePhone& Phone();
+
+private:
+
+    /**
+     * C++ constructor.
+     */
+    CVmbxETelConnection();
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+private: // data
+
+    /**
+     * The ETel RTelServer
+     */
+    RTelServer iTelServer;
+
+    /**
+     * The ETel phone
+     */
+    RMobilePhone iPhone;
+    };
+
+#endif  // C_VMBXETELCONNECTION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxlogger.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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
+*  Interface   : Private
+*
+*/
+
+#ifndef __VMBXLOGGER_H__
+#define __VMBXLOGGER_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      2   // 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, "VMBX.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    // VMBXLOGGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Observer class to data refresh
+*  Interface   : Private, CVmbxObserver
+*
+*/
+
+#ifndef C_VMBXOBSERVER_H
+#define C_VMBXOBSERVER_H
+
+// INCLUDES
+#include <e32base.h>
+
+#include "mvmbxchangeobserver.h"
+#include "mvmbxsimstoreobserver.h"
+#include "mvmbxsatrefreshobserver.h"
+#include "mvmbxcenrepobserver.h"
+#include "mvmbxresourceprovider.h"
+#include "voicemailboxdefsinternal.h"
+
+
+// FORWARD DECLARATIONS
+class CVmbxSatRefreshObserver;
+class CVmbxSimStoreObserver;
+class CVmbxCenRepObserver;
+class CVmbxSimHandler;
+
+// CLASS DECLARATION
+
+/**
+ *  Mailbox observer
+ *
+ *  @lib vmbxengine.lib
+ */
+NONSHARABLE_CLASS( CVmbxObserver ) : public CBase,
+                                     public MVmbxSimStoreObserver,
+                                     public MVmbxSatRefreshObserver,
+                                     public MVmbxCenRepObserver
+    {
+
+public: // Constructors and destructor
+
+    /**
+     * Two-phased constructor.
+     * @param in aProvider Reference to MVmbxResourceProvider
+    */
+    static CVmbxObserver* NewL( MVmbxResourceProvider& aProvider );
+
+    /**
+     * Two-phased constructor.
+     * @param in aProvider Reference to MVmbxResourceProvider
+     */
+    static CVmbxObserver* NewLC( MVmbxResourceProvider& aProvider );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxObserver();
+
+public: // New functions
+
+    /**
+     * Observe vmbx change.
+     * @param in aObserver Reference to MVmbxChangeObserver
+     */
+    void SetVmbxObserver( MVmbxChangeObserver& aObserver );
+
+public: // From base class
+
+    /**
+     * From MVmbxSimStoreObserver::HandleSimStoreChanged
+     */
+    void HandleSimStoreChanged();
+
+    /**
+     * From MVmbxSatRefreshObserver::HandleSatRefresh
+     */
+    void HandleSatRefresh();
+
+    /**
+     * From MVmbxCenRepObserver::HandleCenRepChange
+     * @param in aId the changed key Id
+     */
+    void HandleCenRepChange( TVmbxCenRepKey aId );
+
+private:
+
+    /**
+     * C++ default constructor.
+     * @param in aProvider Reference to MVmbxResourceProvider
+     */
+    CVmbxObserver( MVmbxResourceProvider& aProvider );
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+private: // data
+
+    /**
+     * Pointer to MVmbxChangeObserver
+     * Own.
+     */
+    MVmbxChangeObserver* iObserver;
+
+    /**
+     * Reference to MVmbxResourceProvider
+     * 
+     */
+    MVmbxResourceProvider& iProvider;
+
+    /**
+     *Pointer to  CVmbxCenRepHandler
+     * Own.
+     */
+    CVmbxCenRepObserver* iCenRepObserver;
+
+    /**
+     * Pointer to CVmbxSimHandler
+     * Own.
+     */
+    CVmbxSimHandler* iSimHandler;
+
+    /**
+     * CVmbxSatRefreshObserver
+     * Own.
+     */
+    CVmbxSatRefreshObserver* iSatObserver;
+
+    /**
+     * CVmbxSimStoreObserver
+     * Own.
+     */
+    CVmbxSimStoreObserver* iSimObserver;
+    };
+
+#endif // C_VMBXOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxpbkstore.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,231 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Access class to SIM
+*  Interface   : Private, CVmbxPbkStore
+*
+*/
+
+
+#ifndef C_VMBXPHBSTORE_H
+#define C_VMBXPHBSTORE_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <etelmm.h>
+
+#include <voicemailboxdefs.h>
+#include "voicemailboxdefsinternal.h"
+
+// FORWARD DECLARATION
+class CVmbxETelConnection;
+class CPhoneBookBuffer;
+class CVoiceMailboxEntry;
+
+
+// CLASS DECLARATION
+/**
+*  Creates connection to Sim phonebook and handles data flow from/to it
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxPbkStore ) : public CActive
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * C++ 2 constructor.
+     */
+    static CVmbxPbkStore* NewL();
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxPbkStore();
+
+public: // New functions
+
+    /**
+     * Sim write support
+     *
+     * @return ETrue if writable
+     */
+    TBool IsWritable();
+
+    /**
+     * sim PhoneBook Type
+     * @return TVmbxSimPhonebookType
+     */
+    TVmbxSimPhonebookType PhoneBookType();
+
+    /**
+     * Writes an entry into ICC-based phonebook.
+     *
+     * @param in aEntry Reference of CVoiceMailboxEntry
+     * @return KErrNone if succesful,
+     *         Other system wide errors.
+     **/
+    TInt Write( const CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Retrieves hanlder of RMobilePhoneBookStore
+     *
+     * @retuns hanlder of RMobilePhoneBookStore
+     */
+    RMobilePhoneBookStore& PhonebookStore();
+
+    /**
+    * Retrieves mailbox number from Sim
+    * @param out aEntry a data type CVoiceMailboxEntry
+    */
+    void GetL( CVoiceMailboxEntry& aEntry );
+
+private: // from base class CActive
+
+     /**
+      * @see CActive::RunL
+      */
+     void RunL();
+
+     /**
+      * @see CActive::DoCancel
+      */
+     void DoCancel();
+
+    /**
+     * @see CActive::RunError
+     */
+    TInt RunError(TInt aError);
+
+private: // New functions
+
+    /**
+     * Reads an entry from the ICC-based phonebook.
+     *
+     * @param out aEntry Reference of CVoiceMailboxEntry
+     **/
+    void SimReadL( CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Opens VMBX phonebook
+     * @retuns KErrNone if succesful
+     **/
+    TInt OpenVmbxPhonebook();
+
+    /**
+     * Opens MBDN phonebook
+     * @retuns KErrNone if succesful
+     **/
+    TInt OpenMbdnPhonebook();
+
+    /**
+     * Get Phonebook Info
+     * @param out aInfo information from RPhonebookStore
+     *
+     **/
+    TInt GetVmbxInfo( RMobilePhoneBookStore::TMobilePhoneBookInfoV1& aInfo );
+
+    /**
+     * Retrieves the Mailbox numbers identifier information
+     * @param out aInfo information from RPhonebookStore
+     * @retuns KErrNone if succesful
+     **/
+    TInt GetMbdnInfo( RMobilePhone::TMobilePhoneVoicemailIdsV3& aInfo );
+
+
+    /**
+     * Reads "ParseDataL" from phonebook data from Sim
+     *
+     * @param out aEntry entry of CVoiceMailboxEntry
+     * @param in aPbData
+     */
+    void ParseDataL( CVoiceMailboxEntry& aEntry, TDes8& aPbData );
+
+    /**
+     * Reads "new-entry-tag" from phonebook data from Sim
+     *
+     * @param in aPbkBuffer Phonebook data buffer
+     * @retuns KErrNone if succesful
+     */
+    TInt ReadNewEntryTag( CPhoneBookBuffer* aPbkBuffer );
+
+    /**
+     * Reads tags from buffer retrieved from sim
+     *
+     * @param in aPbkBuffer Phonebook data buffer
+     * @param out aEntry Reference of CVoiceMailboxEntry
+     */
+    void ReadPbkDataL( CPhoneBookBuffer* aPbkBuffer, 
+                        CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Checks sim file existing
+     *
+     * @retuns ETrue if file exists
+     **/
+    TBool IsSimFileExisting( const TVmbxSimPhonebookType aType );
+
+    /**
+     * Sim write acces support
+     *
+     * @return ETrue if writable access
+     */
+    TBool IsWriteAccess();
+
+protected:
+
+    /**
+     * C++ constructor.
+     *
+     */
+    CVmbxPbkStore();
+
+    /**
+     * By default Symbian 2nd phase constructor is protected.
+     */
+    void ConstructL();
+
+protected: // data
+
+    /**
+     *Pointer to Telephony server and phone connection
+     *Own
+     */
+     CVmbxETelConnection* iETelConnection;
+
+    /**
+     * Phonebook store client
+     */
+    RMobilePhoneBookStore iPhoneBook;
+
+    /**
+     * Sim Phonebook type
+     */
+    TVmbxSimPhonebookType iPhoneBookType;
+
+    /**
+     * CActiveSchedulerWait
+     * Own.
+     */
+    CActiveSchedulerWait* iWait;
+
+
+    /**
+     * Asynchronous operation type of sim card
+     */
+    TVmbxSimAsynType iAsynType;
+
+    };
+
+#endif      // C_VMBXPHBSTORE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxqtuihandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Hanlder Ui which implement of qt.
+*  Interface   : Private, VmbxQtUiHandler
+*
+*/
+
+
+#ifndef VMBXQTUIHANDLER_H
+#define VMBXQTUIHANDLER_H
+
+// INCLUDES
+#include <QObject>
+#include <QTranslator>
+#include <voicemailboxdefs.h>
+
+#include "voicemailboxdefsinternal.h"
+
+// FORWARD DECLARATION
+class CVoiceMailboxEntry;
+class TVoiceMailboxParams;
+class HbInputDialog;
+
+// CLASS DECLARATION
+
+/**
+*  Dialog manager
+*
+*  @lib vmbxengine.lib
+*/
+class VmbxQtUiHandler : public QObject
+    {
+    Q_OBJECT
+    
+public: // Constructors and destructor
+
+    /**
+    * C++ default constructor.
+    *
+    */
+    VmbxQtUiHandler(QObject* parent = 0 );
+
+    /**
+    * Destructor.
+    */
+    virtual ~VmbxQtUiHandler();
+
+     /**
+     * Initialize, load qt translator.
+     */
+     void  init();
+
+    /**
+    * Show mailbox query dialog
+    *
+    * @param aType in TVmbxType type
+    * @param aNumber the voice mailbox number
+    * @param aResult out the result of dialog
+    */
+    void showVmbxQueryDialog(const TVmbxType& aType,
+                             QString& aNumber, int& aResult);
+
+    /**
+     * Show define number in selection dialog
+     * Leaves if user cancel selected.
+     *
+     * @param in aType vmbx type
+     * @param out aResult the result of dialog
+     */
+    void showDefineSelectionDialog(TVmbxType& aType, int& aResult);
+
+    /**
+     * Show call number in selection dialog
+     *
+     * @param in entryList array of the defined voice mailbox entry
+     * @param out params the type TVoiceMailboxParams which should include
+     *          the service id and the type of seclected TVmbxType
+     * @param out result the result user seclected
+     */
+    void showCallSelectionDialog(
+                const QList<CVoiceMailboxEntry *> entryList,
+                TVoiceMailboxParams &params, int &result );
+
+    /**
+    * Show voice mailbox information number
+    *
+    * @param aNoteType in TVmbxType type
+    */
+    void showInformationNote(const TVmbxNoteType aType);
+
+    /**
+    * Check qt environment supported or not.
+    *
+    * @return qt environment supported or not.
+    */
+    bool isQtEnvSupported();
+    
+private slots:
+    /**
+    * update Ok button status according to user input string
+    *
+    * @param aInput User input string
+    */
+    void updatePrimaryAction(const QString &aInput);
+
+private:
+
+    /**
+    * Translator vmbx localization
+    */
+    QTranslator iTranslator;
+
+    /**
+    * Translator common localization
+    */
+    QTranslator iCommonTranslator;
+    
+    /**
+    * Query and Define mailbox dialog. Own
+    */    
+    HbInputDialog *iQueryDialog;
+    };
+
+#endif  // VMBXQTUIHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxsatrefreshobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Observer to Sat refresh
+*  Interface   : Private, CVmbxSatRefreshObserver
+*
+*/
+
+
+#ifndef C_VMBXSATREFRESHOBSERVERR_H
+#define C_VMBXSATREFRESHOBSERVERR_H
+
+// INCLUDES
+#include <e32base.h>
+#include <rsatsession.h>
+#include <rsatrefresh.h>
+#include <msatrefreshobserver.h>
+#include "mvmbxsatrefreshobserver.h"
+
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DECLARATION
+
+/**
+*  Implements functionality specifig to voice mailbox entry
+*
+
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxSatRefreshObserver ) : public CBase,
+                              public MSatRefreshObserver
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor
+     * @param in aObserver observer which want to notify sat refresh
+     */
+    static CVmbxSatRefreshObserver* NewL( MVmbxSatRefreshObserver& aObserver );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxSatRefreshObserver();
+
+public: // from base class MSatRefreshObserver
+
+    /**
+     * @See MSatRefreshObserver::AllowRefresh
+     */
+    TBool AllowRefresh( TSatRefreshType aType,
+                        const TSatRefreshFiles& aFiles ) ;
+
+    /**
+     * @See MSatRefreshObserver::Refresh
+     */
+    void Refresh( TSatRefreshType aType, const TSatRefreshFiles& aFiles );
+
+private:
+
+    /**
+     * C++ default constructor.
+     * @param aObserver Reference to MVmbxSatRefreshObserver
+     */
+    CVmbxSatRefreshObserver( MVmbxSatRefreshObserver& aObserver);
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+private: // data
+
+    /**
+     * Sat server session
+     * Own
+     */
+    RSatSession iRSatSession;
+
+    /**
+     * Sat refresh connection
+     * Own
+     */
+    RSatRefresh iSatRefresh;
+
+    /**
+     * A package for the TRefreshFileList.
+     * list of files, waiting for notification.
+     */
+    RSat::TRefreshFileList iObservedFileList;
+
+    /**
+     * Reference to MVmbxSatRefreshObserver
+     */
+    MVmbxSatRefreshObserver& iObserver;
+    };
+
+#endif  // C_VMBXSATREFRESHOBSERVERR_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxsimhandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,116 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Access class to SIM
+*  Interface   : Private, CVmbxSimHandler
+*
+*/
+
+
+#ifndef C_VMBXSIMHANDLER_H
+#define C_VMBXSIMHANDLER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <voicemailboxdefs.h>
+#include "voicemailboxdefsinternal.h"
+
+
+// FORWARD DECLARATION
+class CVmbxPbkStore;
+class CVoiceMailboxEntry;
+
+
+// CLASS DECLARATION
+/**
+*  Creates connection to Sim phonebook and handles data flow from/to it
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxSimHandler ) : public CBase
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor.
+     */
+    static CVmbxSimHandler* NewL();
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxSimHandler();
+
+public: // New functions
+
+    /**
+     * Retrieves mailbox number from Sim
+     * @param in aEntry a data type of CVoiceMailboxEntry
+     */
+    void GetL( CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Saves vmbx number to Sim
+     * @param in aEntry a data type of CVoiceMailboxEntry
+     * @return Symbian OS error code (KErrNone if successful)
+     */
+    TInt Save( const CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Returns sim write access info
+     * @return ETrue if Sim is writable
+     **/
+    TBool IsWritable();
+
+    /**
+     * @see RMobilePhoneStore::NotifyStoreEvent
+     *
+     */
+    void NotifyStoreEvent( TRequestStatus& aStatus,
+                                             TUint32& aEvent,
+                                             TInt& aIndex ) const;
+    /**
+     * Retrieves Sim PhoneBook Type
+     * @return TVmbxSimPhonebookType
+     */
+    TVmbxSimPhonebookType PhoneBookType();
+
+    /**
+     * CancelAsyncRequest
+     * @param aReqToCancel Entry data
+     */
+    void CancelAsyncRequest( TInt aReqToCancel ) const;
+
+protected:
+
+    /**
+     * C++ constructor.
+     */
+    CVmbxSimHandler();
+
+   /**
+    * By default Symbian 2nd phase constructor is private.
+    */
+   void ConstructL();
+
+private: // data
+
+    /**
+     * pbk store
+     * Own.
+     */
+    CVmbxPbkStore* iPbkStore;
+    };
+
+#endif      // C_VMBXSIMHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxsimstoreobserver.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Observer to Sim Store changed
+*  Interface   : Private, CVmbxSimStoreObserver
+*
+*/
+
+
+#ifndef C_VMBXSIMSTOREOBSERVERR_H
+#define C_VMBXSIMSTOREOBSERVERR_H
+
+// INCLUDES
+#include <e32base.h>
+#include "mvmbxsimstoreobserver.h"
+
+// FORWARD DECLARATIONS
+class CVmbxSimHandler;
+
+// CLASS DECLARATION
+
+/**
+*  DECLARATION CVmbxSimStoreObserver
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxSimStoreObserver ) : public CActive
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor
+     * @param in aSimHandler Reference to Sim handler
+     * @param in aObserver observer of MVmbxSimStoreObserver
+     */
+    static CVmbxSimStoreObserver* NewL( CVmbxSimHandler& aSimHandler,
+                                    MVmbxSimStoreObserver& aObserver );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxSimStoreObserver();
+
+public: // New functions
+
+    /**
+    * Activates this notification. Call ETel NotifyStoreEvent.
+    */
+    void ActivateL();
+
+private:
+
+    /**
+     * C++ default constructor.
+     * @param in aSimHandler Reference to Sim handler
+     * @param in aObserver observer of MVmbxSimStoreObserver
+     */
+    CVmbxSimStoreObserver( CVmbxSimHandler& aSimHandler,
+                        MVmbxSimStoreObserver& aObserver );
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+    /**
+     * Informs SimHandler about changed number
+     */
+    void NotifySimHandler();
+
+// from base class CActive
+private: 
+    /**
+    * @see CActive::RunL
+    */
+    void RunL();
+
+    /**
+    * @see CActive::DoCancel
+    */
+    void DoCancel();
+
+
+private: // data
+
+    /**
+     * The index of the entry that has been changed
+     */
+    TInt iIndex;
+
+    /**
+     * The events that ETel sends
+     */
+    TUint32 iEvents;
+
+    /**
+     * CVmbxSimHandler reference
+     * 
+     */
+    CVmbxSimHandler& iSimHandler;
+
+    /**
+     * MVmbxSimStoreObserver reference
+     * 
+     */
+    MVmbxSimStoreObserver& iObserver;
+
+    };
+
+#endif  // C_VMBXSIMSTOREOBSERVERR_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxuihandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Handler ui related.
+*  Interface   : Private, CVmbxUiHandler
+*
+*/
+
+#ifndef VMBXENGINEQTUI_H
+#define VMBXENGINEQTUI_H
+
+
+#include <voicemailboxdefs.h>
+#include "mvmbxuihandler.h"
+
+// FORWARD DECLARATION
+class VmbxQtUiHandler;
+
+// CLASS DECLARATION
+
+/**
+*
+*  @lib qvmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxUiHandler ):public CBase,
+                     public MVmbxUiHandler
+    {
+
+public: // Constructors and destructor
+    /**
+     * Two-phased constructor
+     */
+    static CVmbxUiHandler* NewL();
+
+    /**
+    * Destructor.
+    */
+     ~CVmbxUiHandler();
+
+//From MVmbxUiHandler
+
+    /**
+     * Show mailbox query dialog
+     * Leaves if user cancel selected.
+     *
+     * @param aType in TVmbxType type
+     * @param aNumber the voice mailbox number
+     * @param aResult out the result of dialog
+     */
+    virtual void ShowVmbxQueryDialogL( const TVmbxType& aType,
+        TDes& aNumber, TInt& aResult );
+
+    /**
+     * Show define number in selection dialog
+     *
+     * @param in aType vmbx type
+     * @param out aResult the result of dialog
+     */
+    virtual void ShowDefineSelectionDialogL( TVmbxType& aType, TInt& aResult );
+
+    /**
+     * Show call number in selection dialog
+     * Leave if aArray < 1
+     *
+     * @param in aArray array of the defined voice mailbox entry
+     * @param in aIcons icons of the defined voice mailbox
+     * @param out aParams the type TVoiceMailboxParams which should include
+     *          the service id and the type of seclected TVmbxType
+     * @param out aResult the result user seclected
+     */
+    virtual void ShowCallSelectionDialogL(
+                const RPointerArray<CVoiceMailboxEntry>& aArray,
+                //CArrayPtr<CGulIcon>* aIcons,
+                TVoiceMailboxParams& aParams, TInt& aResult );
+
+    /**
+     * Show informationd note
+     *
+     * @param aType in TVmbxNoteType type
+     */
+    virtual void ShowInformationdNoteL(const TVmbxNoteType aType);
+
+    /**
+     * show an error dialog for invalid number
+     *
+     */
+    virtual void ShowInvalidWarningNoteL();
+
+private:
+
+    /** C++ default constructor.
+    *
+    */
+    CVmbxUiHandler();
+
+    /**
+     * C++  Two-phased constructor.
+     */
+    void ConstructL();
+
+private:  // data
+
+    /**
+     * Dialog manage
+     * Own
+     */
+    VmbxQtUiHandler* iHandler;
+    };
+
+#endif  // VMBXENGINEQTUI_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxuiutilities.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,162 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Utility methods for universal usage
+*  Interface   : Private, CVmbxUiUtilities
+*
+*/
+
+#ifndef C_VMBXUIUTILITIES_H
+#define C_VMBXUIUTILITIES_H
+
+// INCLUDES
+#include <e32base.h>
+#include <cvoicemailbox.h>
+
+#include "mvmbxuiutilities.h"
+#include "vmbxuihandler.h"
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DECLARATION
+/**
+*  Implementation of the auxiliary methods for the VMBX engine classes
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxUiUtilities ): public CBase,
+                                       public MVmbxUiUtilities
+    {
+
+public:
+
+    /**
+     * Two-phased constructor
+     */
+    static CVmbxUiUtilities* NewL();
+
+    /**
+     * Destructor.
+     */
+    ~CVmbxUiUtilities();
+
+    /**
+     * Show mailbox query
+     *
+     * @param in aType TVmbxType type
+     * @param in aMode TVmbxQueryMode mode
+     * @param out aNumber the voice mailbox number
+     */
+    void ShowQueryL( const TVmbxType& aType,
+                    const TVmbxQueryMode& aMode,
+                    TDes& aNumber );
+
+    /**
+     * Show informationd note
+     *
+     * @param aType in TVmbxNoteType type
+     */
+    void ShowInformationdNoteL(const TVmbxNoteType aType);
+ 
+    /**
+     * Show define number in selection dialog
+     * Leaves if user cancel selected.
+     *
+     * @param in aType vmbx type
+     * @param out aResult the result of dialog
+     */
+    void ShowDefineSelectionDialogL( TVmbxType& aType, TInt& aResult );
+
+    /**
+     * Show call number in selection dialog
+     * Leaves if user cancel selected.
+     *
+     * @param in aArray array of the defined voice mailbox entry
+     * @param in aIcons icons of the defined voice mailbox
+     * @param out aParams the type TVoiceMailboxParams which should include
+     *          the service id and the type of seclected TVmbxType
+     * @param out aResult the result user seclected
+     */
+    void ShowCallSelectionDialogL(
+                const RPointerArray<CVoiceMailboxEntry>& aArray,
+                //CArrayPtr<CGulIcon>* aIcons,
+                TVoiceMailboxParams& aParams, TInt& aResult );
+
+    /**
+     * Get Mailbox type default image.
+     * If get unseccessful, Leaves with Symbian OS error code
+     *
+     * @param aParams Mailbox type for which image is needed.
+     * @return aImage New image. Ownership is transferred.
+     */
+    //CGulIcon* GetVmbxImageL( const TVoiceMailboxParams& aParams );
+
+    /**
+     * Show not allowed editing dialog
+     *
+     */
+    void ShowNotAllowedEditingDialogL();
+
+    /**
+     * Show invalid or warning dialog
+     *
+     */
+    void ShowInvalidWarningDialogL();
+
+     /**
+     * Tries to close all open dialogs
+     *
+     */
+    void DismissDialogL();   
+
+private: // data
+
+    /**
+     * C++ default constructor.
+     */
+    CVmbxUiUtilities();
+
+    /**
+     * C++  Two-phased constructor.
+     */
+    void ConstructL();
+
+    /**
+     * Show mailbox query dialog
+     * Leaves if user cancel selected.
+     *
+     * @param aType in TVmbxType type
+     * @param aMode Tin VmbxQueryMode mode
+     * @param aNumber the voice mailbox number
+     * @param aResult out the result of dialog
+     */
+    void ShowQueryDialogL( const TVmbxType& aType,
+        const TVmbxQueryMode & aMode, TDes& aNumber, TInt& aResult );
+
+    /**
+    * Open phonebook's Single Fetch Dialog
+    * @param aPhoneNumber Phone number
+    */
+    void FetchNumberFromPhonebook2L( TDes& aPhoneNumber );
+
+private:
+
+    /**
+     * Ui handler
+     * Own.
+     */
+    CVmbxUiHandler* iUiHandler;
+    };
+
+#endif  // C_VMBXUIUTILITIES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxutilities.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Utility methods for universal usage
+*  Interface   : Private, VmbxUtilities
+*
+*/
+
+
+#ifndef VMBXUTILITIES_H
+#define VMBXUTILITIES_H
+
+// INCLUDES
+#include <voicemailboxdefs.h>
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DECLARATION
+
+/**
+*  Implementation of the auxiliary methods for the VMBX engine classes
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS(  VmbxUtilities )
+    {
+
+public:  // New functions
+
+    /**
+     * Verifies that the given string is a valid phone number.
+     * Rules:
+     * - '+' is only allowed as the first character
+     * - The phone number part must be between 3-40 digits
+     *
+     * @param in aNumber Vmbx number
+     * @return ETrue if valid number
+     */
+    static TBool IsValidPhoneNumber( const TDesC& aNumber );
+
+    /**
+    /**
+     * Returns active ALS
+     *
+     * @return Active ALS line
+     */
+    static TVmbxAlsLineType AlsLine();
+
+    /**
+     * Returns state of the video support
+     *
+     * @return ETrue if Video supported
+     */
+    static TBool VideoSupported();
+
+    /**
+     * Returns state of the VoIP Support
+     *
+     * @return ETrue if VoIP Supported
+     */
+    static TBool VoIPSupported();
+
+    /**
+     * Verifies that the given number is not an emergency number.
+     *
+     * @param in aNumber Mailbox number
+     * @return ETrue if emergency number
+     */
+    static TBool IsEmergencyNumber( const TDesC& aNumber );
+
+private:
+
+    /**
+     * Verifies that the given string is a valid Tel number.
+     *
+     * @param in aLexer string to be validate
+     * @return ETrue if tel number validate
+     */
+    static TBool ValidateTelNum( TLex& aLexer );
+
+    /**
+     * Verifies that the given string is a valid DTMF number.
+     *
+     * @param in aLexer string to be validate
+     * @return ETrue if DTMf validate
+     */
+    static TBool ValdateDtmfPart( TLex& aLexer );
+
+    };
+
+#endif    // VMBXUTILITIES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmbxvoipengine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Access class to VoIp engine implementation
+*  Interface   : Private, CVmbxVoIpEngine
+*
+*/
+
+
+#ifndef C_VMBXVOIPENGINE_H
+#define C_VMBXVOIPENGINE_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class CVmbxEngineBase;
+//class CGulIcon;
+class CVmSPSHandler;
+class CVmBSHandler;
+class TVmbxServiceInfo;
+//class CFbsBitmap;
+
+// CLASS DECLARATION
+
+/**
+*  Implements functionality specifig to voip mailbox entry
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVmbxVoIpEngine ) : public CVmbxEngineBase
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor
+     * @param aProvider Reference to Ui Utilities
+     */
+    static CVmbxVoIpEngine* NewL( MVmbxResourceProvider& aProvider );
+
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmbxVoIpEngine();
+
+public: // from base class CVmbxEntryBase
+
+    /**
+     *
+     * @see CVmbxEntryBase::GetL
+     * @param aEntry Reference to store handler
+     */
+    void GetL( CVoiceMailboxEntry*& aEntry );
+
+    /**
+     *
+     * @see CVmbxEntryBase::SaveL
+     * @param aEntry Reference to CVoiceMailboxEntry
+     * @param aShowNotesAllowed Provision mode is used to decide whether show
+     *          saved notification UI dialog. If aShowNotesAllowed is EFalse,
+     *          saved notification UI dialog will not show. 
+     */
+    void SaveL( const CVoiceMailboxEntry& aEntry,
+                TBool aShowNotesAllowed );
+
+    /**
+     * To save mailbox Provisioned entry value
+     *
+     * @param aEntry Provisioned Entry data
+     */
+    void SaveProvisionedEntryL( const CVoiceMailboxEntry& aEntry );
+
+    /**
+     * see CVmbxEntryBase::CheckConfiguration
+     *
+     */   
+    TBool CheckConfiguration( const TVoiceMailboxParams& aParams,
+                                 const TInt aFlags );
+
+    /**
+     * Displays number query dialog
+     *
+     * @param aEntry CVoiceMailboxEntry
+     */
+    void QueryDefineNumberL( CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Displays number query dialog
+     *
+     * @param aEntry Entry data
+     */
+    void QueryChangeNumberL( CVoiceMailboxEntry& aEntry );
+
+private: // New function
+
+    /**
+     * C++ default constructor.
+     *
+     * @param aProvider Reference to Ui Utilities
+     */
+    CVmbxVoIpEngine( MVmbxResourceProvider& aProvider );
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     *
+    */
+    void ConstructL();
+
+    /**
+     * Check from SPSettings if there are VoIP profiles
+     * @param None
+     * @return ETrue if VoIP profiles were found, otherwise EFalse
+     */
+    TBool IsVoIPProfilesFound();
+
+    /**
+     * Checks the Voice Mailbox how many VoIP service Ids
+     *
+     * @param aProfileIds
+     * @return KErrNone if get service Ids successfully.
+     */
+    void GetServiceIdsL( RIdArray& aProfileIds );
+
+    /**
+     * Get branded icon
+     * @param in aBrandingId Brandind Id
+     * @param out aBrandedBitmap Bitmap for branded icon
+     * @param out aBrandedBitmapMask Mask to branded icon
+     */
+    //void GetBrandedIconL( const TDesC8& aBrandingId,
+    //    CFbsBitmap*& aBrandedBitmap, CFbsBitmap*& aBrandedBitmapMask );
+
+    /**
+     * see CVoiceMailbox::GetVmbxImage
+     * 
+     */
+    //CGulIcon* GetVmbxImageL( const TVoiceMailboxParams& aParams );
+
+    /**
+     * Get brand id
+     * @param in aServiceId Used Service
+     * @param out aBrandId On completion, contains Brand Id
+     */
+    void BrandIdL( TInt aServiceId, TDes8& aBrandId );
+
+    /**
+     * Get service ids
+     * @param in&out aServiceInfo On completion contains service ids
+     */
+    TInt GetServiceInfo( TVmbxServiceInfo& aServiceInfo );
+
+private: // data
+
+    /**
+     * Handles Service proviver Settings, Own.
+     */
+    CVmSPSHandler* iVmSpsHandler;
+    
+    /**
+     * Handles Branding Server, Own.
+     */
+    CVmBSHandler* iVmBsHandler;
+    };
+
+#endif  // C_VMBXVOIPENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmsettingsuiiconfileprovider.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,76 @@
+/*
+* 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:
+ *
+*/
+
+#ifndef C_VMSETTINGSUIICONFILEPROVIDER
+#define C_VMSETTINGSUIICONFILEPROVIDER
+
+#include <e32base.h>
+#include <AknIconUtils.h>
+
+/**
+ *  CVmSettingsUiIconFileProvider class
+ *  Declarition of CVmSettingsUiIconFileProvider.
+ *
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS( CVmSettingsUiIconFileProvider ) : public CBase,
+                                                     public MAknIconFileProvider
+    {
+public:
+
+    /**
+     * Two-phased constructor.
+     * @param in aFile for handle to file
+     */
+    static CVmSettingsUiIconFileProvider* NewL( RFile& aFile );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmSettingsUiIconFileProvider();
+
+public: // from base class MAknIconFileProvider
+
+    /**
+     * from MAknIconFileProvider.
+     */
+    void RetrieveIconFileHandleL( RFile& aFile, const TIconFileType aType );
+
+    /**
+     * from MAknIconFileProvider.
+     */
+    void Finished();
+
+private:
+
+    /**
+     * C++ default constructor.
+     */
+    CVmSettingsUiIconFileProvider();
+
+     /**
+      * By default Symbian 2nd phase constructor is private.
+      */
+    void ConstructL( RFile& aFile );
+
+private: // data
+
+    // File handle. Own.
+    RFile iFile;
+    };
+
+#endif // C_VMSETTINGSUIICONFILEPROVIDER
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/vmspshandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,208 @@
+/*
+* Copyright (c) 2009-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 provider settings handler
+ *
+*/
+
+#ifndef C_VMSPSHANDLER_H
+#define C_VMSPSHANDLER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <mspnotifychangeobserver.h>
+#include <spsettingsvoiputils.h>
+#include "mvmbxservicenotify.h"
+
+
+// FORWARD DECLARATIONS
+class CSPSettings;
+class CSPNotifyChange;
+class TVmbxServiceInfo;
+
+// CLASS DECLARATION
+
+/**
+ *  CVmSPSHandler declaration.
+ *  Service provider settings handler is used to access service and
+ *  sub-service configuration data.
+ *
+ *  @since S60 3.2
+ */
+NONSHARABLE_CLASS( CVmSPSHandler ) : public CBase,
+                                     private MSPNotifyChangeObserver
+    {
+
+public: // Constructors and destructor
+
+    /**
+    * Two-phased constructor.
+    */
+    static CVmSPSHandler* NewL();
+
+    /**
+     * Two-phased constructor.
+     */
+    static CVmSPSHandler* NewLC();
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVmSPSHandler();
+
+public: // New functions
+
+    /**
+     * Get service ids which support Voice Mailbox
+     * @since S60 3.2
+     * @param aServiceIds On completion contains service ids
+     */
+    void GetServiceIdsL( RArray<TUint>& aServiceIds ) const;
+
+    /**
+     * Get service's info
+     * @since S60 3.2
+     * @param aServiceInfo On completion contains service info
+     */
+    TInt GetServiceInfo( TVmbxServiceInfo& aServiceInfo ) const;
+
+    /**
+     * Get service's VMBX address
+     * @since S60 3.2
+     * @param aServiceId Used Service
+     * @param aService On completion, contains service's address
+     */
+    void GetVmAddressL( const TUint32 aServiceId, TDes& aAddress ) const;
+
+    /**
+     * Get service's name
+     * @since S60 3.2
+     * @param aServiceId Used Service
+     * @param aName On completion, contains service's name
+     */
+    void GetServiceNameL( const TUint32 aServiceId, TDes& aName ) const;
+
+    /**
+     * Get SNAP id
+     * @since S60 3.2
+     * @param aServiceId Used Service
+     * @param aSNAPId On completion, contains SNAP Id
+     */
+    void GetSNAPIdL( TUint32 aServiceId, TInt& aSNAPId ) const;
+
+    /**
+     * Get brand id
+     * @since S60 3.2
+     * @param aServiceId Used Service
+     * @param aBrandId On completion, contains Brand Id
+     */
+    void BrandIdL( TInt aServiceId, TDes8& aBrandId );
+
+    /**
+     * Check is given service already activated
+     * @since S60 3.2
+     * @param aServiceId Used Service
+     * @return ETrue if Service is already activated
+     */
+    TBool IsActivatedL( TInt aServiceId );
+
+    /**
+     * Issues a notify request on a Service profile change.
+     * @param aHandler user's notify handler
+     */
+    void NotifyServiceChange( MServiceNotifyHandler* aHandler );
+
+    /**
+     * Cancels a notify request on a VoIP profile change.
+     */
+    void NotifyServiceChangeCancel();
+
+    /**
+     * Check from SPSettings if there are VoIP profiles
+     * @since S60 3.2.3
+     * @param None
+     * @return ETrue if VoIP profiles were found, otherwise EFalse
+     */
+    TBool IsVoIPProfilesFound();
+
+protected:
+
+    /**
+     * Handle notify change event.
+     * From MSPNotifyChangeObserver;
+     *
+     * @since S60 3.2
+     * @param aServiceId The service ID of changed service
+     */
+    void HandleNotifyChange( TServiceId aServiceId );
+
+    /**
+     * Handle error
+     *
+     * @since S60 3.2
+     */
+    void HandleError( TInt aError );
+
+private:
+
+    /**
+     * Is VMBX supported
+     * @since S60 3.2
+     * @param aServiceId Used Service
+     * @return ETrue if VMBX is supported
+     */
+    TBool IsVbmxSupportedL( TUint32 aServiceId ) const;
+
+    /**
+     * C++ default constructor.
+     */
+    CVmSPSHandler();
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+private: // data
+
+    /**
+     * CSPSettings. Own
+     */
+    CSPSettings*                    iSettings;
+
+    /**
+     * CSPSettingsVoIPUtils. Own
+     */
+    CSPSettingsVoIPUtils* iSpsSettingsVoipUtils;
+
+    /**
+     * Observer. Not own
+     */
+    MServiceNotifyHandler*          iObserver;
+
+    /**
+     * Pointer to CSPNotifyChange
+     */
+    CSPNotifyChange*                 iNotifier;
+
+    /**
+     * Service id array
+     */
+    RIdArray                        iServiceIds;
+
+    };
+
+#endif // C_VMSPSHANDLER_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/voicemailboxdefsinternal.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Constant used for vmbx engine
+*
+*/
+
+#ifndef C_VOICEMAILBOXDEFSINTERNAL_H
+#define C_VOICEMAILBOXDEFSINTERNAL_H
+
+//  INCLUDES
+#include <e32base.h>
+
+// CONSTANTS
+const TInt KVmLbxItemsArraySize = 3;
+const TInt KVmbxPhoneCharMaxLength = 48;
+
+/**Sim card voice mailbox file type*/
+enum TVmbxSimPhonebookType
+    {
+    /**
+     *  Sim file using 6f17 file.
+     */
+    EVMBXPhoneBook = 0,
+    /**
+     *  Sim file using 6fc7 file.
+     */
+    EMBDNPhoneBook
+    };
+
+/**CenRep Key which storaged value would be changed*/
+enum TVmbxCenRepKey
+    {
+    /**
+     *  Storage Voice number of Line Primary.
+     */
+    EVmbxVoiceLinePrimaryKey = 0,
+    /**
+     *  Storage Voice number of Line Alternate.
+     */
+    EVmbxVoiceLineAlternateKey,
+    /**
+     *  Storage Video number of Line Primary.
+     */
+    EVmbxVideoLinePrimaryKey,
+    /**
+     *  Storage Video number of Line Alternate.
+     */
+    EVmbxVideoLineAlternateKey,
+    /**
+     *  the max value.
+     */
+    EVmbxCenRepMax
+    };
+
+/**
+ *  TVmbxServiceInfo, contains Service information.
+ *
+ *  @since S60 5.2
+ **/
+class TVmbxServiceInfo
+    {
+    public: // Constructors and destructor
+
+        TVmbxServiceInfo()
+            {
+            iServiceId = 0;
+            iSnapId    = 0;
+            }
+
+    public: // Data
+
+        // Service's Id
+        TUint       iServiceId;
+
+        // Service's SNAP Id
+        TUint32     iSnapId;
+
+        // Service's name.
+        TBuf<64>    iName;
+
+        // Service's address.
+        TBuf<100> iAddress;
+    };
+
+/**Asynchronous operation type of sim card*/  
+enum TVmbxSimAsynType
+    {
+    /**
+     *  the default value.
+     */
+    EVmbxSimDefault,
+    /**
+     *  Retrieves Phonebook stroe information.
+     */
+    EVmbxSimGetInfo,
+    /**
+     *  Retrieves Phonebook entry for "voicemail" mailbox number.
+     */
+    EVmbxSimMbdnInfo,
+    /**
+     *  Read "voicemail" mailbox number from phonebook store.
+     */
+    EVmbxSimEntryRead,
+    /**
+     *  Write "voicemail" mailbox number to phonebook store.
+     */
+    EVmbxSimEntryWrite
+    };
+    
+/**Note for vmbx ui utilities*/
+enum TVmbxNoteType
+    {
+    EInvalidNumber,
+    ESavedToPhoneMemory,
+    ESavedToSimMemory,
+    EVideoNumberSaved,
+    EDefineVoiceNumber,
+    EDefineVideoNumber,
+    ENotAllowUserEditing
+    };   
+
+#endif // C_VOICEMAILBOXDEFSINTERNAL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/voicemailboxdomaincrkeys.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*  Interface   : Domain
+*
+*/
+
+
+#ifndef VOICEMAILBOXDOMAINCRKEYS_H
+#define VOICEMAILBOXDOMAINCRKEYS_H
+#include <e32std.h>
+
+/** VoiceMailbox Settings API */
+/** Provides access to the VoiceMailbox video mailbox support key
+determination */
+
+const TUid KCRUidVideoMailbox = {0x101F874F};
+
+/**
+*
+* Integer type
+*
+* Default value: 1
+*/
+const TUint32 KVideoMbxSupport = 0x00000015;
+
+
+#endif      // VOICEMAILBOXDOMAINCRKEYS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/voicemailboximpl.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,436 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation class for voice mailbox
+*  Interface   : Private, CVoiceMailboxImpl
+*
+*/
+
+#ifndef C_VOICEMAILBOXIMPL_H
+#define C_VOICEMAILBOXIMPL_H
+
+
+// INCLUDES
+#include <e32base.h>
+#include <cvoicemailbox.h>
+#include "mvmbxchangeobserver.h"
+#include "mvoicemailboxobserver.h"
+#include "mvmbxresourceprovider.h"
+#include "mvmbxuiutilities.h"
+#include "mvmbxcenrephandler.h"
+
+// FORWARD DECLARATIONS
+class CVmbxUiUtilities;
+class CVmbxEngineFactory;
+class CVmbxObserver;
+class CVmbxCenRepHandler;
+
+// CLASS DECLARATION
+
+/**
+*  Implemets mailbox entry base class functionality
+*
+*  @lib vmbxengine.lib
+*/
+NONSHARABLE_CLASS( CVoiceMailboxImpl ) : public CBase,
+                         public MVmbxChangeObserver,
+                         public MVmbxResourceProvider
+    {
+
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor
+     */
+    static CVoiceMailboxImpl* NewL();
+
+    /**
+     * Two-phased constructor
+     */
+    static CVoiceMailboxImpl* NewLC();
+
+    /**
+     * Destructor.
+     */
+    virtual ~CVoiceMailboxImpl();
+
+public: // New functions
+
+    /**
+     * see CVoiceMailbox::GetStoredEntry
+     * 
+     */
+    TInt GetStoredEntry( const TVoiceMailboxParams& aParams,
+                                    CVoiceMailboxEntry*& aEntry ) const;
+
+    /**
+     * see CVoiceMailbox::SaveEntry
+     * 
+     */
+    TInt SaveEntry( const CVoiceMailboxEntry& aEntry );
+
+    /**
+     * see CVoiceMailbox::QueryNewEntry
+     * 
+     */
+    TInt QueryNewEntry( const TVoiceMailboxParams& aParams,
+                                        CVoiceMailboxEntry*& aEntry );
+
+    /**
+     * see CVoiceMailbox::QueryChangeEntry
+     * 
+     */
+    TInt QueryChangeEntry( const TVoiceMailboxParams& aParams,
+                                    CVoiceMailboxEntry*& aEntry);
+
+    /**
+     * see CVoiceMailbox::QueryVmbxType
+     * 
+     */
+    TInt QueryVmbxType( TVoiceMailboxParams& aParams );
+
+    /**
+     * see CVoiceMailbox::NotifyVmbxNumberChangeL
+     * 
+     */
+    void NotifyVmbxNumberChangeL( MVoiceMailboxObserver& aObserver,
+                                     const TBool aNotifyOnActiveLineOnly );
+
+    /**
+     * see CVoiceMailbox::NotifyVmbxNumberChangeCancel
+     * 
+     */
+    void NotifyVmbxNumberChangeCancel();
+
+    /**
+     * see CVoiceMailbox::CheckConfiguration
+     * 
+     * @since S60 v5.2
+     */
+    TBool CheckConfiguration( const TVoiceMailboxParams& aParams,
+                                 const TInt aFlags );
+
+    /**
+     * see CVoiceMailbox::GetServiceIds
+     * 
+     */
+    TInt GetServiceIds( RIdArray& aProfileIds );
+
+    /**
+     * see CVoiceMailbox::GetVmbxImage
+     * 
+     */
+    //CGulIcon* GetVmbxImage( const TVoiceMailboxParams& aParams );
+
+    /**
+     * see CVoiceMailbox::GetVmbxImages
+     * 
+     */
+    //CArrayPtr<CGulIcon>* GetVmbxImages(
+    //                        RArray<TVoiceMailboxParams>& aParams );
+
+    /**
+     * see CVoiceMailbox::SaveProvisionedEntry
+     * 
+     */
+    TInt SaveProvisionedEntry( const CVoiceMailboxEntry& aEntry );
+
+
+public:  // From MVmbxChangeObserver
+
+    /**
+     * see MVmbxChangeObserver::SatRefreshL
+     * 
+     */
+    void SatRefreshL();
+
+    /**
+     * see MVmbxChangeObserver::CenRepChangedL
+     * 
+     */
+    void CenRepChangedL( TVmbxCenRepKey aId );
+
+    /**
+     * see MVmbxChangeObserver::SimStoreChangedL
+     * 
+     */
+    void SimStoreChangedL();
+
+public:  // From MVmbxChangeObserver
+
+    /**
+     * Get Handler of VmbxUiUtilities
+     *
+     * @return Refereance of MVmbxUiUtilities
+     */
+    MVmbxUiUtilities& VmbxUiUtilities();
+
+    /**
+     * Get Handler of VmbxCenrepHandler
+     *
+     * @return Refereance of MVmbxCenrepHandler
+     */
+    MVmbxCenrepHandler& VmbxCenRepHandler();
+
+
+private: //New method
+
+    /**
+     * C++ default constructor.
+     * 
+     */
+    CVoiceMailboxImpl();
+
+    /**
+     * ConstructL
+     *
+     */
+    void ConstructL();
+
+    /**
+     * Retrieves voice mailbox entry for the specified service.
+     * Leave - KErrNotFound if no entry available 
+     *       - KErrArgument when illegal argument
+     *       - Other system wide errors.
+     *
+     * @param in Params Service id and type of the mailbox for which
+     *          a number/address should be defined.
+     * @param out aEntry If successful, a new result container is
+     *  created and ownership passed to the caller.
+     */
+    void GetStoredEntryL( const TVoiceMailboxParams& aParams,
+                                    CVoiceMailboxEntry*& aEntry ) const;
+
+    /**
+     * Displays a query asking the user to define a mailbox number/address.
+     * Returns the input which the user entered, but does not save it.
+     * For that caller has to use SaveEntry().
+     * This method may display related UI notes or queries.
+     *
+     * If editing for the specified mailbox service is not allowed, 
+     * this method displays an error note and returns an error.
+     * If client is interested, CheckConfiguration()
+     * can be used to check permissions.
+     *
+     *  Leave  - KErrNotFound if the number is not defined
+     *                        (user entered no number or selected Cancel)
+     *         - KErrArgument When illegal argument.
+     *         - KErrNotSupported if not capable or allowed to execute this
+     *              for the specified mailbox.
+     *         - Other system wide errors.
+     *
+     * @param in aParams Service id and type of the mailbox for which
+     *          a number/address should be defined.
+     * @param out aEntry If successful, a new result container is
+     *  created and ownership passed to the caller.
+     */
+    void QueryNewEntryL( const TVoiceMailboxParams& aParams,
+                                        CVoiceMailboxEntry*& aEntry );
+
+    /**
+     * Saves the vmbx entry to its storage.
+     * Leave - KErrNotSupported if not capable or allowed to execute this
+     *              for the specified mailbox service.
+     *       - KErrArgument When illegal argument was passed.
+     *       - Other system wide errors.
+     *
+     * Some mailbox types may not support saving all arguments.
+     * In that case unsupported arguments are ignored.
+     * This method may display related UI notes or queries.
+     *
+     * @param in aEntry The vmbx entry to save.
+     */
+    void SaveEntryL( const CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Displays a query asking the user to change a mailbox number/address.
+     * Returns the input from user, but does not save it.
+     * For that caller has to use SaveEntry().
+     *
+     * If editing for the specified mailbox service is not allowed, 
+     * this method displays an error note and returns an error.
+     * If client is interested, CheckConfiguration()
+     * can be used to check permissions.
+     *
+     *  created and ownership passed to the caller.
+     *           aNumber will contain the vmbx number.
+     *  Leave  - KErrCancel If the user selected Cancel.
+     *         - KErrArgument When illegal argument.
+     *         - KErrNotSupported if not capable or allowed to execute this
+     *              for the specified mailbox.
+     *         - Other system wide errors.
+     *
+     * @param in aParams Service id and type of the mailbox.
+     * @param out aEntry If successful, a new result container is
+     */
+    void QueryChangeEntryL( const TVoiceMailboxParams& aParams,
+                                    CVoiceMailboxEntry*& aEntry);
+
+    /**
+     * Displays a query on the screen asking the user to select a
+     * Voice Mailbox service.
+     *
+     *  Leave  - KErrCancel if user selected Cancel
+     *         - KErrNotFound if there is no defined voice number and
+     *             user have selected the type to define or the default
+     *             type given.
+     *         - Other system wide errors.
+     *
+     * @param out aParams If successful,
+     *          contains selected mailbox info.
+     */
+    void QueryVmbxTypeL( TVoiceMailboxParams& aParams );
+
+    /**
+     * Get defined entries via an array
+     * Leave with symbian OS error code except KErrNotFound and KErrSupported.
+     *
+     * @param out aArray array contains the defined entries
+     */
+    void GetDefinedEntriesL( RPointerArray<CVoiceMailboxEntry>& aArray );
+
+    /**
+     * Get defined voice entry via an array
+     *  Leave with symbian OS error code except KErrSupported.
+     *
+     * @param out aArray array contains the defined entries
+     */
+    void GetDefinedVoiceEntryL( 
+                            RPointerArray<CVoiceMailboxEntry>& aArray );
+
+    /**
+     * Get defined video entry via an array
+     * Leave with symbian OS error code except KErrNotFound and KErrSupported.
+     *
+     * @param out ay array contains the defined entries
+     */
+    void GetDefinedVideoEntryL( 
+                            RPointerArray<CVoiceMailboxEntry>& aArray );
+
+    /**
+     * Get defined voip entries via an array
+     * Leave with symbian OS error code except KErrNotFound and KErrSupported.
+     *
+     * @param out aArray array contains the defined entries
+     */
+    void GetDefinedVoipEntriesL( 
+                            RPointerArray<CVoiceMailboxEntry>& aArray );
+
+    /**
+     * Checks the Voice Mailbox how many VoIP service Ids
+     * Leave with symbian OS error code
+     *
+     * @param out aProfileIds
+     * @return KErrNone if get service Ids successfully.
+     */
+    void GetServiceIdsL( RIdArray& aProfileIds );
+
+    /**
+     * Retrieves an image associated with the specified mailbox,
+     * if an image is available.
+     * Image can be displayed e.g. in a selection list.
+     * Leave with symbian OS error code.
+     *
+     * @param in aParams Mailbox service id and type for which image is needed.
+     * @return aImage New image. Ownership is transferred.
+     */
+    //CGulIcon* GetVmbxImageL( const TVoiceMailboxParams& aParams );
+
+    /**
+     * Retrieves images for the specified mailboxes.
+     * Image can be displayed e.g. in a selection list.
+     * Leave with symbian OS error code.
+     *
+     * If an image for a service is not available,
+     * then a NULL pointer is appended to the returned array, to an index
+     * corresponding to the index of the service id in the input
+     * array aMailboxServices.
+     * NULL array pointer is returned if not a signle icon was retrieved
+     * successfully.
+     *
+     * @param in aParams Mailboxes (id and type) for which an image is needed.
+     * @return aImage Icons for the specified mailboxes.
+     *          Index of an image in the returned array corresponds to the
+     *          index of the service id in the input array.
+     *          Array and icon ownerships are transferred to caller.
+     *          A NULL array pointer is returned if not a single icon was
+     *          retrieved successfully.
+     */
+    //CArrayPtr<CGulIcon>* GetVmbxImagesL(
+    //                        RArray<TVoiceMailboxParams>& aParams );
+
+    /**
+     * Notify entry changed
+     * Leave with symbian OS error code.
+     *
+     * @param in aType Type of TVmbxType
+     */
+    void NotifyChangedL( TVmbxType aType);
+
+    /**
+     * Saves provisioned entry to corresponding storage.
+     *
+     * Leave   - KErrNotSupported if not capable or allowed to execute this
+     *              for the specified mailbox service.
+     *         - KErrArgument When illegal argument was passed.
+     *         - Other system wide errors.
+     *
+     * Some mailbox types may not support saving all arguments.
+     * In that case unsupported arguments are ignored.
+     *
+     * @param in aEntry The provisioned vmbx entry to save.
+     */
+    void SaveProvisionedEntryL( const CVoiceMailboxEntry& aEntry );
+
+    /**
+     * Check number provisioned or not
+     * Leave if systrm wide errors
+     *
+     * @param in aParams params of TVoiceMailboxParams
+     */
+    void CheckNumberProvisionedL( const TVoiceMailboxParams& aParams );
+
+protected: // data
+
+    /**
+     * Pointer to CVmbxUiUtilities
+     * Own.
+     */
+    CVmbxUiUtilities* iUiUtilities;
+
+    /**
+     * Pointer to CVmbxEngineFactory
+     * Own.
+     */
+    CVmbxEngineFactory* iVmbxFactory;
+
+    /**
+     * Observer for user action for saved vmbx number
+     * Own.
+     */
+    MVoiceMailboxObserver* iNotifyCallBack;
+
+    /**
+     * Observer for user action for saved vmbx number
+     * Own.
+     */
+    CVmbxObserver* iVmbxObserver;
+
+    /**
+     * CVmbxCenRepHandler
+     * Own.
+     */
+    CVmbxCenRepHandler* iCenRepHandler;
+    };
+
+#endif  // C_VOICEMAILBOXIMPL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/inc/voicemailboxprivatecrkeys.h	Tue Aug 31 15:45:17 2010 +0300
@@ -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:
+*  Interface   : Private
+*
+*/
+
+
+#ifndef VOICEMAILBOXPRIVATECRKEYS_H
+#define VOICEMAILBOXPRIVATECRKEYS_H
+#include <e32std.h>
+
+const TInt KVmbxUiUserEditNotAllowed = 0x01;
+
+
+/** VoiceMailbox Settings API */
+/** Provides access to the VoiceMailbox numbers and settings */
+
+const TUid KCRUidVoiceMailbox = {0x101F874F};
+
+
+/** Flag which decides where the vmbx number is to be stored.
+* If this is On (equals 1) the voice mailbox number is stored in SIM memory,
+* else it is stored in Phone memory.
+*
+* Integer type
+*
+* Default value: 1
+*/
+const TUint32 KVmbxUsesSimMemory           = 0x00000000;
+
+/** Flag which decides if writing to sim allowed.
+* If this is On (equals 1) writing to SIM is not allowed.
+* Writing is allowed with value 0
+* Value
+* Integer type
+*
+* Default value: 1
+*/
+const TUint32 KVmbxNoSimWriting            = 0x00000001;
+
+/** Voice Mailbox number for primary line
+*
+** Text type
+*
+* Default value: ""
+*/
+const TUint32 KVmbxNumberLinePrimary       = 0x00000002;
+
+/** Voice Mailbox number for Alternate line
+*
+** Text type
+*
+* Default value: ""
+*/
+const TUint32 KVmbxNumberLineAlternate     = 0x00000003;
+
+/** Video Mailbox number for primary line
+*
+* Text type
+*
+* Default value: ""
+*/
+const TUint32 KVmbxVideoNmbrLinePrimary    = 0x00000004;
+
+/** Video Mailbox number for Alternate line
+*
+* Text type
+*
+* Default value: ""
+*/
+const TUint32 KVmbxVideoNmbrLineAlternate  = 0x00000005;
+
+/** Flag which User allowed or not allowed to change the VMBX number
+* If set value 0x01 no allowed to be edited by user.
+*
+* Integer type0
+* 0 indicate allowed
+* Default value: 0
+*/
+const TUint32 KVmbxUiCaps                   = 0x00000006;
+
+/** Flag which Video mailbox is supported or NOT
+*
+* Integer type
+*
+* Default value: 1
+*/
+const TUint32 KVmbxVideoMbxSupport = 0x00000015;
+
+
+#endif      // VOICEMAILBOXPRIVATECRKEYS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/rom/backup_registration.xml	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,5 @@
+<?xml version="1.0" standalone="yes"?>
+<backup_registration version="1.0">
+    <proxy_data_manager sid = "0x10202BE9" />
+    <restore requires_reboot = "no"/>
+</backup_registration>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/rom/vmbxengine.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:   IBY file for Voice mailbox Engine
+ *
+*/
+
+
+
+#ifndef __VMBXENGINE_IBY__
+#define __VMBXENGINE_IBY__
+
+//vmbxengine.dll
+file=ABI_DIR\BUILD_DIR\vmbxengine.dll               SHARED_LIB_DIR\vmbxengine.dll
+
+
+// sis stub file
+data=ZSYSTEM\install\vmbxengine_stub.sis            System\Install\vmbxengine_stub.sis
+
+#endif  // __VMBXENGINE_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/rom/vmbxengine.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,30 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:  For packing vmbxengine.
+;
+&EN
+
+; Header
+#{"vmbxengine"},(0x1000590f),1,1,0
+
+;Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+"\epoc32\RELEASE\armv5\UREL\vmbxengine.dll"-"!:\sys\bin\vmbxengine.dll"
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/rom/vmbxengine_stub.pkg	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,28 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:  For packing vmbxengine stub.
+; Languages
+&EN
+
+; Header
+#{"vmbxengine"},(0x1000590F), 1, 0, 0, TYPE=SA
+
+;Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+""-"z:\sys\bin\vmbxengine.dll"
Binary file vmbx/vmbxengine/rom/vmbxengine_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/rom/vmbxresources.iby	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __VMBXRESOURCES_IBY__
+#define __VMBXRESOURCES_IBY__
+   
+#include <data_caging_paths_for_iby.hrh>
+
+data=DATAZ_\QT_TRANSLATIONS_DIR\vmbx.qm  QT_TRANSLATIONS_DIR\vmbx.qm
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/cvoicemailbox.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,269 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CVoiceMailbox class
+*
+*/
+
+// INCLUDE FILES
+#include <exception>
+
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+#include "voicemailboximpl.h"
+#include "vmbxlogger.h"
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt TVoiceMailboxParams::Version()
+    {
+    return iVersion;
+    }
+    
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVoiceMailboxParams::TVoiceMailboxParams():
+                                        iType( EVmbxNone ),
+                                        iServiceId( KVmbxServiceIdNone ),
+                                        iLineType( EVmbxAlsLineDefault )
+    {
+    VMBLOGSTRING( "VMBX: TVoiceMailboxParams: default cnstructor =>" );
+    VMBLOGSTRING( "VMBX: TVoiceMailboxParams: default cnstructor<=" );
+    }
+    
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVoiceMailboxParams::TVoiceMailboxParams( 
+                        const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: TVoiceMailboxParams: Entry cnstructor =>" );
+    iType = aEntry.VoiceMailboxType();
+    iServiceId = aEntry.ServiceId();
+    iLineType = aEntry.VmbxAlsLineType();
+    VMBLOGSTRING( "VMBX: TVoiceMailboxParams: Entry cnstructor <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::CVoiceMailboxImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVoiceMailbox::CVoiceMailbox()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::CVoiceMailbox <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailbox::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::ConstructL =>" );
+    iBody =CVoiceMailboxImpl::NewL();
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CVoiceMailbox* CVoiceMailbox::NewL()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::NewL =>" );
+    CVoiceMailbox* self = CVoiceMailbox::NewLC();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CVoiceMailbox* CVoiceMailbox::NewLC()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::NewLC =>" );
+    CVoiceMailbox* self = new( ELeave ) CVoiceMailbox;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::NewLC <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::~CVoiceMailbox
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVoiceMailbox::~CVoiceMailbox()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::~CVoiceMailbox =>" );
+    delete iBody;
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::~CVoiceMailbox <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::GetStoredEntry
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailbox::GetStoredEntry( 
+    const TVoiceMailboxParams& aParams, CVoiceMailboxEntry*& aEntry ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::GetStoredEntry <=>" );
+    return iBody->GetStoredEntry( aParams, aEntry );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::SaveEntry
+// Destructor
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailbox::SaveEntry( const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::SaveEntry <=>" );
+    return iBody->SaveEntry( aEntry );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::QueryNewEntry
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailbox::QueryNewEntry(
+        const TVoiceMailboxParams& aParams, CVoiceMailboxEntry*& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::QueryNewEntry <=>" );
+    return iBody->QueryNewEntry( aParams, aEntry );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::QueryChangeEntry
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailbox::QueryChangeEntry( 
+        const TVoiceMailboxParams& aParams, CVoiceMailboxEntry*& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::QueryChangeEntry <=>" );
+    return iBody->QueryChangeEntry( aParams, aEntry );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::QueryVmbxType
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailbox::QueryVmbxType(
+                            TVoiceMailboxParams& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::QueryVmbxType <=>" );
+    return iBody->QueryVmbxType( aParams );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::NotifyVmbxNumberChangeL
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CVoiceMailbox::NotifyVmbxNumberChangeL(
+    MVoiceMailboxObserver& aObserver, const TBool aNotifyOnActiveLineOnly )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::NotifyVmbxNumberChangeL =>" );
+    iBody->NotifyVmbxNumberChangeL( aObserver,
+                                             aNotifyOnActiveLineOnly);
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::NotifyVmbxNumberChangeL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::NotifyVmbxNumberChangeCancel
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CVoiceMailbox::NotifyVmbxNumberChangeCancel()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::NotifyVmbxNumberChangeCancel =>" );
+    iBody->NotifyVmbxNumberChangeCancel();
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::NotifyVmbxNumberChangeCancel <=" );
+    }
+
+// ---------------------------------------------------------------------------
+//  CVoiceMailbox::CheckConfiguration
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TBool CVoiceMailbox::CheckConfiguration(
+    const TVoiceMailboxParams& aParams, const TInt aFlags )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::CheckConfiguration <=>" );
+    return iBody->CheckConfiguration( aParams, aFlags );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::GetServiceIds
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailbox::GetServiceIds( RIdArray& aProfileIds ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::GetServiceIds <=>" );
+    return iBody->GetServiceIds( aProfileIds );
+    }
+
+// Commented out because branding not yet supported.
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::GetVmbxImage
+//
+// ---------------------------------------------------------------------------
+/* EXPORT_C CGulIcon* CVoiceMailbox::GetVmbxImage(
+                        const TVoiceMailboxParams& aParams ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::GetVmbxImageL <=>" );
+    return iBody->GetVmbxImage( aParams );
+    }
+ */
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::GetVmbxImages
+//
+// ---------------------------------------------------------------------------
+//
+/* EXPORT_C CArrayPtr<CGulIcon>* CVoiceMailbox::GetVmbxImages(
+                            RArray<TVoiceMailboxParams>& aParams ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::GetVmbxImages <=>" );
+    return iBody->GetVmbxImages( aParams );
+    }
+ */
+// ---------------------------------------------------------------------------
+// CVoiceMailbox::SaveProvisionedEntry
+//
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailbox::SaveProvisionedEntry( 
+                                const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailbox::SaveProvisionedEntry <=>" );
+    return iBody->SaveProvisionedEntry( aEntry );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/cvoicemailboxentry.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,388 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CVoiceMailboxEntry class
+*
+*/
+
+// INCLUDE FILES
+#include <cvoicemailboxentry.h>
+#include "vmbxlogger.h"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::NewL
+// 
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CVoiceMailboxEntry* CVoiceMailboxEntry::NewL()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::NewL =>" );
+    CVoiceMailboxEntry* self = CVoiceMailboxEntry::NewLC();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::NewLC
+// 
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CVoiceMailboxEntry* CVoiceMailboxEntry::NewLC()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::NewLC =>" );
+    CVoiceMailboxEntry* self = new( ELeave ) CVoiceMailboxEntry;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::NewLC <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::~CVoiceMailboxEntry
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVoiceMailboxEntry::~CVoiceMailboxEntry()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::~CVoiceMailboxEntry =>" );
+    delete ivmbxNumber;
+    delete iVmbxBrandId;
+    delete ivmbxName;
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::~CVoiceMailboxEntry <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::ServiceId
+// Get ServiceId
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TServiceId CVoiceMailboxEntry::ServiceId() const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::ServiceId =>" );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::ServiceId:\
+    ServiceId=%d <=", iVmbxServiceId );
+    return iVmbxServiceId;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetServiceId
+// Set entry's service id
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetServiceId( 
+                        const TServiceId& aVmbxServiceId )
+    {
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetServiceId: ServiceId=%d =>",
+    aVmbxServiceId );
+    iVmbxServiceId = aVmbxServiceId;
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SetServiceId <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::VoiceMailboxType
+// Returns type of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVmbxType CVoiceMailboxEntry::VoiceMailboxType( ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::VoiceMailboxType <=>" );
+    return iVmbxType;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVoiceMailboxType
+// Set Type of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CVoiceMailboxEntry::SetVoiceMailboxType( const TVmbxType& aType )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::SetVoiceMailboxType =>" );
+    iVmbxType = aType;
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetVoiceMailboxType:\
+    iVmbxType=%d <=", iVmbxType );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::VmbxAlsLineType
+// Get ALS line Type of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVmbxAlsLineType CVoiceMailboxEntry::VmbxAlsLineType() const
+    {
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::VmbxAlsLineType:\
+    iVmbxLineType=%d <=>", iVmbxLineType );
+    return iVmbxLineType;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVmbxAlsLineType
+// Set ALS line Type of the entry instance
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetVmbxAlsLineType( 
+                                const TVmbxAlsLineType& aLine )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::SetVmbxAlsLineType =>" );
+    if ( EVmbxAlsLineDefault == aLine  )
+        {
+        iVmbxLineType = EVmbxAlsLine1;
+        }
+    else
+        {
+        iVmbxLineType = aLine;
+        }
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetVmbxAlsLineType:\
+    iVmbxLineType=%d <=", iVmbxLineType );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::GetVmbxNumber
+// Get number or address of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailboxEntry::GetVmbxNumber( TPtrC& aVmbxNumber ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::GetVmbxNumber =>" );
+    TInt result( KErrNotFound );
+    if ( ivmbxNumber )
+        {
+        aVmbxNumber.Set( ivmbxNumber->Des() );
+        VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::GetVmbxNumber:\
+        ivmbxNumber = %S", &aVmbxNumber );
+        result = KErrNone;
+        }
+    else
+        {
+        VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::GetVmbxNumber:KNullDesC" );
+        aVmbxNumber.Set( KNullDesC );
+        }
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::GetVmbxNumber <=" );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVmbxNumber
+// Set number or address of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailboxEntry::SetVmbxNumber( const TDesC& aVmbxNumber )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::SetVmbxNumber =>" );
+    TInt result( KErrNoMemory );
+    if ( aVmbxNumber.Length() > KVmbxMaxNumberLength )
+        {
+        result = KErrOverflow;
+        }
+    else
+        {
+        delete ivmbxNumber;
+        ivmbxNumber = aVmbxNumber.Alloc(); // Returns NULL if fails.
+        if ( ivmbxNumber )
+            {
+            result = KErrNone;
+            VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetVmbxNumber:\
+            ivmbxNumber = %S", ivmbxNumber );
+            }
+        }
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetVmbxNumber:\
+    result = %I<=", result ); 
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::GetVmbxAlsLineType
+// Get Brand Id of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailboxEntry::GetBrandId( TPtrC8& aBrandId ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::GetBrandId =>" );
+    TInt result( KErrNotFound );
+    if ( iVmbxBrandId )
+        {
+        aBrandId.Set( iVmbxBrandId->Des() );
+        result = KErrNone;
+        }
+    else
+        {
+        aBrandId.Set( KNullDesC8 );
+        }
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::GetBrandId <=" );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetBrandId
+// Set Brand Id of the entry instance
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxEntry::SetBrandId( const TDesC8& aBrandId )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::SetBrandId =>" );
+    TInt result( KErrNoMemory );
+    if ( KVmbxMaxNumberLength < aBrandId.Length() )
+        {
+        result = KErrArgument;
+        }
+    else
+        {
+        delete iVmbxBrandId;
+        iVmbxBrandId = aBrandId.Alloc();
+        if ( iVmbxBrandId )
+            {
+            result = KErrNone;
+            VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetBrandId:\
+            iVmbxBrandId = %S", iVmbxBrandId );
+            }
+        }
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetBrandId:result = %d <=",
+    result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::GetVmbxName
+// Get Name of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailboxEntry::GetVmbxName( TPtrC& aVmbxName ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::GetVmbxName =>" );
+    TInt result( KErrNotFound );
+    if ( ivmbxName )
+        {
+        aVmbxName.Set( ivmbxName->Des() );
+        VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::GetVmbxName:\
+        ivmbxName = %S", &aVmbxName );
+        result = KErrNone;
+        }
+    else
+        {
+        VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::GetVmbxName:KNullDesC" );
+        aVmbxName.Set( KNullDesC );
+        }      
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::GetVmbxName <=" );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetVmbxName
+// Set Name of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CVoiceMailboxEntry::SetVmbxName( const TDesC& aVmbxName )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::SetVmbxName =>" );
+    TInt result( KErrNoMemory );
+    if ( KVmbxMaxNumberLength < aVmbxName.Length() )
+        {
+        result = KErrOverflow;
+        }
+    else
+        {
+        delete ivmbxName;
+        ivmbxName = aVmbxName.Alloc(); // Returns NULL if fails.
+        if ( ivmbxName )
+            {
+            result = KErrNone;
+            VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetVmbxName:\
+            ivmbxName = %S", ivmbxName );
+            }       
+        }
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetVmbxName: result %d <=", 
+                    result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::UsingMemoryLocation
+// Returns memory location of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TVmbxMemoryLocation CVoiceMailboxEntry::UsingMemoryLocation( ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::UsingMemoryLocation <=>" );
+    return iUsingMemory;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::Reset
+// Reset the data members of the entry instance
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CVoiceMailboxEntry::Reset()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::Reset =>" );
+    iVmbxServiceId = KVmbxServiceIdNone;
+    iVmbxType = EVmbxNone;
+    iVmbxLineType = EVmbxAlsLineDefault;
+    if ( ivmbxNumber )
+    	{
+    	ivmbxNumber->Des().Zero();
+    	VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::Reset vmbx number" );
+    	}
+    if ( ivmbxName )
+    	{
+    	ivmbxName->Des().Zero();
+    	VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::Reset vmbx name" );
+    	}
+    if ( iVmbxBrandId )
+    	{
+    	iVmbxBrandId->Des().Zero();
+    	VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::Reset vmbx brandId" );
+    	}
+    iUsingMemory = EVmbxSimMemory;
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::Reset <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::SetUsingMemoryLocation
+// Set using memory of the entry instance
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::SetUsingMemoryLocation( 
+                                        const TVmbxMemoryLocation& aType  )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::SetUsingMemoryLocation =>" );
+    iUsingMemory = aType;
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxEntry::SetUsingMemoryLocation:\
+    iUsingMemory=%I <=", iUsingMemory );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::CVoiceMailboxEntry
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVoiceMailboxEntry::CVoiceMailboxEntry()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::CVoiceMailboxEntry <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxEntry::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxEntry::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxEntry::ConstructL <=>" );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/dialogwaiter.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: dialog waiter
+*
+*
+*/
+
+#include "dialogwaiter.h"
+#include "vmbxlogger.h"
+
+// ======== MEMBER FUNCTIONS ==================================================
+
+// ----------------------------------------------------------------------------
+// DialogWaiter::wait
+// 
+// ----------------------------------------------------------------------------
+//
+HbAction* DialogWaiter::wait()
+{
+    VMBLOGSTRING("DialogWaiter::wait=>")
+    mLoop.exec();
+    HbAction* a=mResult;
+    mResult=0;
+    VMBLOGSTRING2("VMBX: DialogWaiter::wait action a %d <=",a)
+    return a;
+}
+
+// ----------------------------------------------------------------------------
+// DialogWaiter::done
+// 
+// ----------------------------------------------------------------------------
+//
+void DialogWaiter::done(HbAction* result)
+{
+    VMBLOGSTRING("DialogWaiter::done=>")
+    mResult=result;
+    mLoop.quit();
+    VMBLOGSTRING("DialogWaiter::done<=")
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbshandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of CVmBSHandler class.
+ *
+*/
+
+// INCLUDE FILES
+#include <mbsaccess.h>
+#include <cbsfactory.h>
+#include <mbselement.h>
+#include <cbsbitmap.h>
+#include <coemain.h>
+#include <AknsItemID.h>
+#include <AknsSkinInstance.h>
+#include <AknsUtils.h>
+
+#include "vmsettingsuiiconfileprovider.h"
+#include "vmbshandler.h"
+#include "vmbxlogger.h"
+
+
+// CONSTANTS used in VoIP branding, remove/update when branding is handled
+// Branding server & data constants.
+//const TInt KVmSettingsUiBrandingIconSize  = 21;         // icon size
+
+//_LIT8( KVmSettingsUiBSApplicationId, "xsp" );                 // application id
+//_LIT8( KVmSettingsUiBSIconId, "service_active_image_small" ); // icon id
+
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmBSHandler::CVmBSHandler
+// C++ default constructor can NOT contain any code, that might leave.
+// ---------------------------------------------------------------------------
+//
+CVmBSHandler::CVmBSHandler()
+    {
+    VMBLOGSTRING( "VMBX: CVmBSHandler::CVmBSHandler <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmBSHandler::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmBSHandler::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmBSHandler::ConstructL <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmBSHandler::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmBSHandler* CVmBSHandler::NewL( )
+    {
+    VMBLOGSTRING( "VMBX: CVmBSHandler::NewL =>" );
+    CVmBSHandler* self = CVmBSHandler::NewLC();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmBSHandler::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmBSHandler::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmBSHandler* CVmBSHandler::NewLC()
+    {
+    VMBLOGSTRING( "VMBX: CVmBSHandler::NewLC =>" );
+    CVmBSHandler* self = new (ELeave) CVmBSHandler();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    VMBLOGSTRING( "VMBX: CVmBSHandler::NewLC =>" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmBSHandler::NewLC
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVmBSHandler::~CVmBSHandler()
+    {
+    VMBLOGSTRING( "VMBX: CVmBSHandler::~CVmBSHandler <=>" );
+    }
+
+// Commented out because branding is not supported yet.
+// ---------------------------------------------------------------------------
+// CVmBSHandler::GetBrandedIconL
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+// void CVmBSHandler::GetBrandedIconL(
+//     const TDesC8& aBrandingId,
+//     CFbsBitmap*& aBrandedBitmap,
+//     CFbsBitmap*& aBrandedBitmapMask ) const
+//     {
+//     VMBLOGSTRING( "VMBX: CVmBSHandler::GetBrandedIconL =>" );
+//     // Create branding server factory and access to branding data.
+//     CBSFactory* factory = CBSFactory::NewL(
+//         aBrandingId, KVmSettingsUiBSApplicationId );
+//     CleanupStack::PushL( factory );
+//
+//     MBSAccess* access = factory->CreateAccessL(
+//         aBrandingId, ELangInternationalEnglish );
+//     CleanupClosePushL( *access );
+//
+//     // Get structure which contains bitmap information.
+//     MBSElement* element = access->GetStructureL( KVmSettingsUiBSIconId );
+//     CleanupClosePushL( *element );
+//     const CBSBitmap& bitmap = element->BitmapDataL();
+//
+//     // Open file which contains branded bitmaps.
+//     RFile file;
+//     CleanupClosePushL( file );
+//     access->GetFileL( bitmap.BitmapFileId(), file );
+//
+//     // Try to load a skinned bitmap.
+//     if ( CCoeEnv::Static() )
+//         {
+//         TAknsItemID itemId;
+//         itemId.Set( bitmap.SkinIdMajor(), bitmap.SkinIdMinor() );
+//         MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+//         TRAP_IGNORE( ( aBrandedBitmap =
+//             AknsUtils::CreateBitmapL( skin, itemId ) ) );
+//         }
+//
+//     // If skinned bitmaps was not found, try to load bitmaps manually.
+//     if ( !aBrandedBitmap )
+//         {
+//         CVmSettingsUiIconFileProvider* ifp =
+//             CVmSettingsUiIconFileProvider::NewL( file );
+//
+//         AknIconUtils::CreateIconL(
+//             aBrandedBitmap,
+//             aBrandedBitmapMask,
+//             *ifp,
+//             bitmap.BitmapId(),
+//             bitmap.BitmapMaskId() );
+//          }
+//
+//     // Set sizes.
+//     const TInt iconSize( KVmSettingsUiBrandingIconSize );
+//     AknIconUtils::SetSize( aBrandedBitmap, TSize( iconSize, iconSize ) );
+//     AknIconUtils::SetSize( aBrandedBitmapMask, TSize( iconSize, iconSize ) );
+//
+//     // Destroy some items.
+//     CleanupStack::PopAndDestroy( &file );
+//     CleanupStack::PopAndDestroy( element );
+//     CleanupStack::PopAndDestroy( access );
+//     CleanupStack::PopAndDestroy( factory );
+//     VMBLOGSTRING( "VMBX: CVmBSHandler::GetBrandedIconL <=" );
+//     }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxcenrephandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,327 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the CVmbxCenRepHandler class
+*
+*/
+
+
+// INCLUDE FILES
+#include <centralrepository.h>
+#include <cvoicemailboxentry.h>
+
+#include "voicemailboxdomaincrkeys.h"
+#include "voicemailboxprivatecrkeys.h"
+#include "vmbxlogger.h"
+#include "vmbxcenrephandler.h"
+
+// CONSTANTS
+const TUint32 KUnknownCenRepKey( 0xffffffff );
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::CVmbxCenRepHandler
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxCenRepHandler::CVmbxCenRepHandler()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::CVmbxCenRepHandler <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmbxCenRepHandler::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::ConstructL =>" );
+    iCRSession = CRepository::NewL( KCRUidVoiceMailbox );
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxCenRepHandler* CVmbxCenRepHandler::NewL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::NewL =>" );
+    CVmbxCenRepHandler* self = new( ELeave ) CVmbxCenRepHandler();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::~CVmbxCenRepHandler
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVmbxCenRepHandler::~CVmbxCenRepHandler()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::~CVmbxCenRepHandler =>" );
+    delete iCRSession;
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::~CVmbxCenRepHandler <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::GetVmbxNumber
+// Get saved entry number
+// ---------------------------------------------------------------------------
+//
+TInt CVmbxCenRepHandler::GetVmbxNumber( CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::GetVmbxNumber =>" );
+    TInt result( KErrNotFound );
+    // get right cenrep key
+    TUint32 cenRepKey = ResolveKeyByEntry( aEntry );
+    if ( KUnknownCenRepKey != cenRepKey )
+        {
+        HBufC* cenRepEntry = HBufC::New( KVmbxMaxNumberLength );
+        TPtr ptr( cenRepEntry->Des() );
+        VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::GetVmbxNumber: CenRep Get" );
+        result = iCRSession->Get( cenRepKey, ptr );
+        // get cenrep value
+        if ( KErrNone == result )
+            {
+            if ( ptr.Length() )
+                {
+                result = aEntry.SetVmbxNumber( ptr );
+                VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::GetVmbxNumber:\
+                 Set Entry" ); 
+                }
+            else
+                {
+                result = KErrNotFound;
+                }
+            }
+        delete cenRepEntry;
+        cenRepEntry = NULL;
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::GetVmbxNumber: result%d <=",
+                                 result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::Save
+// Saves the mailbox number
+// ---------------------------------------------------------------------------
+//
+TInt CVmbxCenRepHandler::Save( const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::Save =>" );
+    TInt result( KErrNone );
+    // get right cenrep key
+    TUint32 cenRepKey = ResolveKeyByEntry( aEntry );
+
+    if ( KUnknownCenRepKey != cenRepKey )
+        {
+        // set cenrep value
+        TPtrC vmbxNumber( KNullDesC );
+        aEntry.GetVmbxNumber( vmbxNumber );
+        result = iCRSession->Set( cenRepKey, vmbxNumber );
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::Save result=%d <=", result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::ResolveKeyByEntry
+// Resolve CenRep key by entry
+// ---------------------------------------------------------------------------
+//
+TUint32 CVmbxCenRepHandler::ResolveKeyByEntry(
+                                       const CVoiceMailboxEntry& aEntry  )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::ResolveKeyByEntry =>" );
+    TVmbxAlsLineType alsLine = aEntry.VmbxAlsLineType();
+    TVmbxType entryType = aEntry.VoiceMailboxType();
+
+    TUint32 cenRepKey( KUnknownCenRepKey );
+    switch ( entryType )
+        {
+        // Voice mailbox
+        case EVmbxVoice:
+            {
+            cenRepKey = VoiceCenRepKey( alsLine );
+            break;
+            }
+        // Video mailbox
+        case EVmbxVideo:
+            {
+            cenRepKey = VideoCenRepKey( alsLine );
+            break;
+            }
+        default:
+            break;
+        }
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::ResolveKeyByEntry <=" );
+    return cenRepKey;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::VoiceCenRepKey
+// Voice mailbox cenntral repository key value
+// ---------------------------------------------------------------------------
+//
+TUint32 CVmbxCenRepHandler::VoiceCenRepKey(
+                                       const TVmbxAlsLineType& aLine )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VoiceCenRepKey =>" );
+    TUint32 cenRepKey( KUnknownCenRepKey );
+    if ( EVmbxAlsLine2 == aLine )
+        {
+        cenRepKey = KVmbxNumberLineAlternate;
+        VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VoiceCenRepKey:Line2" );
+        }
+    else
+        {
+        cenRepKey = KVmbxNumberLinePrimary;
+        VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VoiceCenRepKey:Line1" );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VoiceCenRepKey <=" );
+    return cenRepKey;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::VideoCenRepKey
+// Video mailbox cenntral repository key value
+// ---------------------------------------------------------------------------
+//
+TUint32 CVmbxCenRepHandler::VideoCenRepKey(
+                                       const TVmbxAlsLineType& aLine )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VideoCenRepKey =>" );
+    TUint32 cenRepKey( KUnknownCenRepKey );
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::VideoCenRepKey: aLine = %d",
+         aLine );
+    if ( EVmbxAlsLine2 == aLine )
+        {
+        cenRepKey = KVmbxVideoNmbrLineAlternate;
+        VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VideoCenRepKey:Line2" );
+        }
+    else
+        {
+        cenRepKey = KVmbxVideoNmbrLinePrimary;
+        VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VideoCenRepKey:Line1" );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VideoCenRepKey <=" );
+    return cenRepKey;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::StoreType
+// Fetches active store type
+// ---------------------------------------------------------------------------
+//
+TVmbxMemoryLocation CVmbxCenRepHandler::StoreType()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::StoreType =>" );
+    TVmbxMemoryLocation memoryLocation( EVmbxPhoneMemory );
+    TInt location;
+    TInt result = iCRSession->Get( KVmbxUsesSimMemory, location );
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::StoreType: result = %d",
+             result );
+
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::StoreType: location = %d<=",
+             location );
+
+    if ( KErrNone == result && EVmbxSimMemory == location )
+        {
+        memoryLocation = EVmbxSimMemory;
+        }
+#ifdef __WINS__
+    memoryLocation = EVmbxPhoneMemory;
+#endif
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::StoreType: memory = %d<=",
+             memoryLocation );
+    return memoryLocation;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::VideoSupported
+// Returns ETrue if supported
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxCenRepHandler::VideoSupported()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VideoSupported =>" );
+    TBool supported( EFalse);
+
+    TInt res = iCRSession->Get( KVmbxVideoMbxSupport, supported );
+
+    if ( KErrNone != res )
+        {
+        supported = EFalse;
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::VideoSupported: result %d",
+         supported );
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::VideoSupported <=" );
+    return supported;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::IsSimReadOnly
+// ETrue if CenRep setting Sim read only
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxCenRepHandler::IsSimReadOnly()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::IsSimReadOnly =>" );
+    TBool result( EFalse );
+    TInt  res = iCRSession->Get( KVmbxNoSimWriting, result );
+
+    if ( KErrNone != res )
+        {
+        result = EFalse;
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::IsSimReadOnly: result %I <=",
+         result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepHandler::IsAllowedUserEdit
+// ETrue if number Allowed to edit
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxCenRepHandler::IsAllowedUserEdit()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepHandler::IsAllowedUserEdit =>" );
+    TBool result( EFalse );
+    TInt temp( 0 );
+    TInt  res = iCRSession->Get( KVmbxUiCaps, temp );
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::IsAllowedUserEdit: res %d",
+         res );
+
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::IsAllowedUserEdit: temp %d",
+         temp );
+
+    if ( ( KErrNone == res ) && !( KVmbxUiUserEditNotAllowed & temp ) )
+        {
+        result = ETrue;
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCenRepHandler::IsAllowedUserEdit: result %d <=",
+         result );
+    return result;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxcenrepobserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CVmbxCenRepObserver class.
+ *
+*/
+
+// INCLUDE FILES
+#include <centralrepository.h>
+
+#include "vmbxlogger.h"
+#include "voicemailboxdomaincrkeys.h"
+#include "voicemailboxprivatecrkeys.h"
+#include "voicemailboxdefsinternal.h"
+#include "vmbxcenrepobserver.h"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepObserver::CVmbxCenRepObserver
+// C++ default constructor can NOT contain any code, that might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxCenRepObserver::CVmbxCenRepObserver( MVmbxCenRepObserver& aObserver ):
+                                                iObserver( aObserver )
+    {
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::CVmbxCenRepObserver =>" );
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::CVmbxCenRepObserver <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmbxCenRepObserver::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::ConstructL =>" );
+    iCRSession = CRepository::NewL( KCRUidVoiceMailbox );
+    iNotifyHandler = CCenRepNotifyHandler::NewL( *this, *iCRSession );
+    iNotifyHandler->StartListeningL();
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepObserver::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxCenRepObserver* CVmbxCenRepObserver::NewL( MVmbxCenRepObserver& aObserver )
+    {
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::NewL =>" );
+    CVmbxCenRepObserver* self = CVmbxCenRepObserver::NewLC( aObserver );
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepObserver::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxCenRepObserver* CVmbxCenRepObserver::NewLC( MVmbxCenRepObserver& aObserver )
+    {
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::NewLC =>" );
+    CVmbxCenRepObserver* self = new (ELeave) CVmbxCenRepObserver( aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::NewLC <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepObserver::~CVmbxCenRepObserver
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVmbxCenRepObserver::~CVmbxCenRepObserver()
+    {
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::~CVmbxCenRepObserver =>" );
+    if ( iNotifyHandler )
+        {
+        iNotifyHandler->StopListening();
+        delete iNotifyHandler;
+        iNotifyHandler = NULL;
+        }
+    delete iCRSession;
+    VMBLOGSTRING( "VMBX:CVmbxCenRepObserver::~CVmbxCenRepObserver <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCenRepObserver::HandleNotifyGeneric
+// To notify the client about changes for string value keys
+// ---------------------------------------------------------------------------
+//
+void CVmbxCenRepObserver::HandleNotifyGeneric( TUint32 aId )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCenRepObserver::HandleNotifyGeneric =>" );
+    if ( KVmbxNumberLinePrimary == aId 
+        || KVmbxVideoNmbrLinePrimary == aId 
+        || KVmbxNumberLineAlternate == aId 
+        || KVmbxVideoNmbrLineAlternate == aId 
+        )
+        {
+        VMBLOGSTRING2( "VMBX: CVmbxCenRepObserver::HandleNotifyGeneric: aId %X",
+            aId );
+
+        TVmbxCenRepKey cenRepKey( EVmbxCenRepMax );
+        if ( KVmbxNumberLinePrimary == aId  )
+            {
+            cenRepKey = EVmbxVoiceLinePrimaryKey;
+            }
+        else if ( KVmbxVideoNmbrLinePrimary == aId  )
+            {
+            cenRepKey = EVmbxVideoLinePrimaryKey;
+            }
+        else if ( KVmbxNumberLineAlternate == aId  )
+            {
+            cenRepKey = EVmbxVoiceLineAlternateKey;
+            }
+        else if ( KVmbxVideoNmbrLineAlternate == aId  )
+            {
+            cenRepKey = EVmbxVideoLineAlternateKey;
+            }
+
+        // Notify the primary/alternate support keys are changed
+        iObserver.HandleCenRepChange( cenRepKey );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxCenRepObserver::HandleNotifyGeneric<="); 
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxcsvideoengine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,182 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the CVmbxCsVideoEngine class
+*
+*/
+
+
+// INCLUDE FILES
+#include <cvoicemailboxentry.h>
+
+#include "vmbxuiutilities.h"
+#include "vmbxutilities.h"
+#include "vmbxenginebase.h"
+#include "vmbxlogger.h"
+#include "vmbxcenrephandler.h"
+#include "vmbxcsvideoengine.h"
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxCsVideoEngine::CVmbxCsVideoEngine
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxCsVideoEngine::CVmbxCsVideoEngine( MVmbxResourceProvider& aProvider )
+                                : CVmbxEngineBase( aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::CVmbxCsVideoEngine <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCsVideoEngine::~CVmbxCsVideoEngine
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxCsVideoEngine::~CVmbxCsVideoEngine()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::~CVmbxCsVideoEngine <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCsVideoEngine::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxCsVideoEngine* CVmbxCsVideoEngine::NewL( MVmbxResourceProvider& aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::NewL =>" );
+    if ( !VmbxUtilities::VideoSupported() )
+        {
+        User::Leave( KErrNotSupported );
+        }
+
+    CVmbxCsVideoEngine* self = new( ELeave ) CVmbxCsVideoEngine( aProvider );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCsVideoEngine::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmbxCsVideoEngine::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::ConstructL =>" );
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCsVideoEngine::GetL
+// Gets voice mailbox number
+// ---------------------------------------------------------------------------
+//
+void CVmbxCsVideoEngine::GetL( CVoiceMailboxEntry*& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::GetL =>" );
+    CVoiceMailboxEntry* vmbxEntry = CVoiceMailboxEntry::NewLC();
+    // get number from store
+    vmbxEntry->SetVoiceMailboxType( EVmbxVideo );
+    vmbxEntry->SetUsingMemoryLocation( EVmbxPhoneMemory );
+    vmbxEntry->SetVmbxAlsLineType( VmbxUtilities::AlsLine() );
+    vmbxEntry->SetServiceId( KVmbxServiceVideo );
+    TInt result = iProvider.VmbxCenRepHandler().GetVmbxNumber( *vmbxEntry );
+
+    VMBLOGSTRING2( "VMBX: CVmbxCsVideoEngine::GetL: result=%I ", result );
+    User::LeaveIfError( result );
+    CleanupStack::Pop( vmbxEntry );
+    aEntry = vmbxEntry;
+    vmbxEntry = NULL;
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::GetL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCsVideoEngine::SaveL
+// Saves voice mailbox number
+// ---------------------------------------------------------------------------
+//
+void CVmbxCsVideoEngine::SaveL( const CVoiceMailboxEntry& aEntry,
+                                TBool aShowNotesAllowed )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::SaveL =>" );
+
+    TPtrC vmbxNumber( KNullDesC );
+    aEntry.GetVmbxNumber( vmbxNumber );
+
+    if ( vmbxNumber.Length() 
+         && ( !VmbxUtilities::IsValidPhoneNumber( vmbxNumber )
+         || VmbxUtilities::IsEmergencyNumber( vmbxNumber ) ) )
+        {
+        VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::SaveL: number invalid <=" );
+        User::Leave( KErrArgument );
+        }
+
+    // Save to cenrep
+    TInt result = iProvider.VmbxCenRepHandler().Save( aEntry );
+    VMBLOGSTRING2( "VMBX: CVmbxCsVideoEngine::SaveL: result%I ", result );
+    User::LeaveIfError( result );
+
+    // show note
+    if ( KErrNone == result && aShowNotesAllowed )
+        {
+        iProvider.VmbxUiUtilities().ShowInformationdNoteL( EVideoNumberSaved );
+        }
+
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::SaveL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCsVideoEngine::SaveL
+// Saves Provisioned video mailbox number
+// ---------------------------------------------------------------------------
+//
+void CVmbxCsVideoEngine::SaveProvisionedEntryL( 
+                const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::SaveProvisionedEntryL =>" );
+    SaveL( aEntry, EFalse );
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::SaveProvisionedEntryL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+//  CVmbxCsVideoEngine::CheckConfiguration()
+// ----------------------------------------------------------------------------
+//
+TBool CVmbxCsVideoEngine::CheckConfiguration( 
+            const TVoiceMailboxParams& aParams, const TInt aFlags )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVideoEngine::CheckConfiguration =>" );
+    TBool conf( EFalse );
+    if ( EVmbxChangeNbrAllowedOnUi & aFlags )
+        {
+        conf = iProvider.VmbxCenRepHandler().IsAllowedUserEdit();
+        }
+    else if ( EVmbxVideoMailboxSupported & aFlags )
+        {
+        conf = ETrue;
+        }
+    else
+        {
+        conf = CVmbxEngineBase::CheckConfiguration(aParams, aFlags);
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCsVideoEngine::CheckConfiguration: conf%I <=",
+                 conf );
+    return conf;
+    }
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxcsvoiceengine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,374 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the CVmbxCsVoiceEngine class
+*
+*/
+
+
+// INCLUDE FILES
+#include <cvoicemailboxentry.h>
+
+#include "vmbxenginebase.h"
+#include "vmbxutilities.h"
+
+#include "vmbxlogger.h"
+#include "vmbxcenrephandler.h"
+#include "vmbxsimhandler.h"
+#include "vmbxuiutilities.h"
+
+#include "vmbxcsvoiceengine.h"
+
+// CONSTANTS
+_LIT (KVmbxIllegalSimCharacter, "w");
+
+// ============================ MEMBER FUNCTIONS ==============================
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::CVmbxCsVoiceEngine
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ----------------------------------------------------------------------------
+//
+CVmbxCsVoiceEngine::CVmbxCsVoiceEngine( MVmbxResourceProvider& aProvider )
+                                : CVmbxEngineBase( aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::CVmbxCsVoiceEngine =>" );
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::CVmbxCsVoiceEngine <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::~CVmbxCsVoiceEngine
+// Destructor.
+// ----------------------------------------------------------------------------
+//
+CVmbxCsVoiceEngine::~CVmbxCsVoiceEngine()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::~CVmbxCsVoiceEngine =>" );
+    delete iSimHandler;
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::~CVmbxCsVoiceEngine <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::NewL
+// Two-phased constructor.
+// ----------------------------------------------------------------------------
+//
+CVmbxCsVoiceEngine* CVmbxCsVoiceEngine::NewL( MVmbxResourceProvider& aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::NewL =>" );
+    CVmbxCsVoiceEngine* self = 
+            new( ELeave ) CVmbxCsVoiceEngine( aProvider );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::NewL <=" );
+    return self;
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ----------------------------------------------------------------------------
+//
+void CVmbxCsVoiceEngine::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::ConstructL =>" );
+    TVmbxMemoryLocation storeType( EVmbxPhoneMemory );
+    storeType = iProvider.VmbxCenRepHandler().StoreType();
+    if ( EVmbxSimMemory == storeType )
+        {
+        // create SimHandler
+        TRAPD( err, iSimHandler = CVmbxSimHandler::NewL() );
+        // for avoid warning for compiling
+        err = err;
+        VMBLOGSTRING2( "VMBX: CVmbxCsVoiceEngine::ConstructL:\
+                     Create SimHandler %I" , err);
+        }
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::ConstructL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::GetL
+// Gets voice mailbox number
+// ----------------------------------------------------------------------------
+//
+void CVmbxCsVoiceEngine::GetL( CVoiceMailboxEntry*& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::GetL =>" );
+    TInt result( KErrNotFound );
+
+    CVoiceMailboxEntry* vmbxEntry = CVoiceMailboxEntry::NewLC();
+    // get als line info
+    vmbxEntry->SetVmbxAlsLineType( VmbxUtilities::AlsLine() );
+
+    vmbxEntry->SetVoiceMailboxType( EVmbxVoice );
+    vmbxEntry->SetServiceId( KVmbxServiceVoice );
+    // get store type from CenRep 
+    TVmbxMemoryLocation storeType = iProvider.VmbxCenRepHandler().StoreType();
+
+    if ( EVmbxSimMemory ==  storeType && iSimHandler )
+        {
+        // read from sim if it is available and active
+        VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::GetL:\
+                        SIM available and active");
+        TRAP( result, iSimHandler->GetL( *vmbxEntry ) );
+
+        VMBLOGSTRING2( "VMBX: CVmbxCsVoiceEngine::GetL :Sim res=%d", result );
+        TPtrC vmbxNumber( KNullDesC );
+        vmbxEntry->GetVmbxNumber( vmbxNumber );
+
+        // if no number from sim(both MBDN file and VMBX file)
+        if ( KErrNone != result || !vmbxNumber.Length() )
+            {
+            VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::GetL:\
+                       no number from sim, both MBDN file and VMBX file");
+            // Get CS number from phone memory
+            result = iProvider.VmbxCenRepHandler().GetVmbxNumber( *vmbxEntry );
+            vmbxEntry->SetUsingMemoryLocation( EVmbxPhoneMemory );
+            }
+        else
+            {
+            vmbxEntry->SetUsingMemoryLocation( EVmbxSimMemory );
+            }
+        }
+    // EVmbxPhoneMemory or sim not available
+    else
+        {
+        VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::GetL:\
+                        EVmbxPhoneMemory or sim not available " );
+        // Get CS number from phone memory
+        result = iProvider.VmbxCenRepHandler().GetVmbxNumber( *vmbxEntry );
+        vmbxEntry->SetUsingMemoryLocation( EVmbxPhoneMemory );
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCsVoiceEngine::GetL: res=%d", result );
+
+    User::LeaveIfError( result );
+    CleanupStack::Pop( vmbxEntry );
+    aEntry = vmbxEntry;
+    vmbxEntry = NULL;
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::GetL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::SaveL
+// Saves voice mailbox number
+// ----------------------------------------------------------------------------
+//
+void CVmbxCsVoiceEngine::SaveL( const CVoiceMailboxEntry& aEntry,
+                                TBool aShowNotesAllowed )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::SaveL =>" );
+
+    TPtrC vmbxNumber( KNullDesC );
+    aEntry.GetVmbxNumber( vmbxNumber );
+    
+    if ( vmbxNumber.Length() 
+         && ( !VmbxUtilities::IsValidPhoneNumber( vmbxNumber )
+         || VmbxUtilities::IsEmergencyNumber( vmbxNumber ) ) )
+        {
+        VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::SaveL: number invalid <=" );
+        User::Leave( KErrArgument );
+        }
+
+    TVoiceMailboxParams params;
+    if ( IsWritable( params ) )
+        {
+        TVmbxMemoryLocation storeType = 
+                        iProvider.VmbxCenRepHandler().StoreType();
+        VMBLOGSTRING2( "VMBX: CVmbxCsVoiceEngine::SaveL: storeType=%I",
+                        storeType );  
+        if ( EVmbxSimMemory == storeType && iSimHandler )
+            {
+            // Save to sim
+            SaveEntryToSimL( aEntry, aShowNotesAllowed );
+            }
+        else
+            {
+            // Save to cenrep
+            SaveEntryToPhoneL( aEntry, aShowNotesAllowed );
+            }     
+        }
+    else
+        {
+        // sim files not exist, its may need by forcing save, eg, OMA.
+        if ( !iSimHandler )
+            {
+            SaveEntryToPhoneL( aEntry, aShowNotesAllowed );
+            VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::SaveL: \
+                            sim files not exist then save to phone" );
+            }
+        else
+            {
+             VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::SaveL: \
+                                sim files unwritable<=" );
+            User::Leave( KErrNotSupported );
+            }
+        }
+
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::SaveL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::SaveProvisionedEntryL
+// Saves Provisioned voice mailbox number
+// ----------------------------------------------------------------------------
+//
+void CVmbxCsVoiceEngine::SaveProvisionedEntryL( 
+                        const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::SaveProvisionedEntryL =>" );
+    SaveL( aEntry, EFalse );
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::SaveProvisionedEntryL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::CheckConfiguration
+// 
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxCsVoiceEngine::CheckConfiguration( const TVoiceMailboxParams& aParams,
+                             const TInt aFlags )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::CheckConfiguration =>" );
+    TBool configuration( EFalse );
+    // check thr property whether allow user to edit number 
+    if ( EVmbxChangeNbrAllowedOnUi & aFlags )
+        {
+        configuration = iProvider.VmbxCenRepHandler().IsAllowedUserEdit();
+        if ( configuration )
+            {
+            configuration = IsWritable( aParams );
+            }
+        }
+    else
+        {
+        configuration = CVmbxEngineBase::CheckConfiguration(aParams, aFlags);
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCsVoiceEngine::CheckConfiguration: conf%I <=",
+                 configuration );
+    return configuration;
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::SaveEntryToPhone
+// Saves number to storage that user selects from the offered list
+// ----------------------------------------------------------------------------
+//
+void CVmbxCsVoiceEngine::SaveEntryToPhoneL( const CVoiceMailboxEntry& aEntry,
+                                            TBool aShowNotesAllowed )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::SaveEntryToPhoneL: =>" );
+    TInt result( KErrArgument );
+
+    result = iProvider.VmbxCenRepHandler().Save( aEntry );
+
+    if ( KErrNone == result && aShowNotesAllowed )
+        {
+        iProvider.VmbxUiUtilities().ShowInformationdNoteL( ESavedToPhoneMemory );
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCsVoiceEngine::SaveEntryToPhoneL: result=%I <=",
+                             result );
+    User::LeaveIfError( result );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::SaveEntryToSim
+// For saving to place that user selects
+// ----------------------------------------------------------------------------
+//
+void CVmbxCsVoiceEngine::SaveEntryToSimL( const CVoiceMailboxEntry& aEntry,
+                                          TBool aShowNotesAllowed )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::SaveEntryToSimL: =>" );
+    TInt result( KErrGeneral );
+
+    // number containing "w"-character is not allowed to save to sim
+    TPtrC ptrNumber( KNullDesC );
+    TInt numError = aEntry.GetVmbxNumber( ptrNumber );
+    if ( KErrNotFound != ptrNumber.Find( KVmbxIllegalSimCharacter ) )
+        {
+        result = KErrArgument;
+        }
+
+    if ( iSimHandler )
+        {
+        result = iSimHandler->Save( aEntry );
+       if ( KErrNone == result && aShowNotesAllowed )
+            {
+            iProvider.VmbxUiUtilities().ShowInformationdNoteL( ESavedToSimMemory );
+            }
+        }
+
+    VMBLOGSTRING2( "VMBX: CVmbxCsVoiceEngine::\
+                    SaveEntryToSimL: result=%I <=", result );
+
+    User::LeaveIfError( result );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::IsSimWritable
+// ETrue if Sim is allowed to be writable
+// ----------------------------------------------------------------------------
+TBool CVmbxCsVoiceEngine::IsSimWritable()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::IsSimWritable: =>" );
+    TBool result( EFalse );
+    if ( !( iProvider.VmbxCenRepHandler().IsSimReadOnly() ) 
+        && iSimHandler && iSimHandler->IsWritable() )
+        {
+        result = ETrue;
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCsVoiceEngine::IsSimWritable:\
+             result=%I <=", result );
+    return result;
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxCsVoiceEngine::IsWritable
+// ETrue if Sim is allowed to be writable
+// ----------------------------------------------------------------------------
+TBool CVmbxCsVoiceEngine::IsWritable( const TVoiceMailboxParams& /*aParams*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::IsWritable =>" );
+    TBool result( EFalse );
+    TVmbxMemoryLocation storeType = 
+                        iProvider.VmbxCenRepHandler().StoreType();
+
+    if ( EVmbxPhoneMemory == storeType )
+        {
+        result = ETrue;
+        }
+    else
+        {
+        if ( iSimHandler )
+            {
+            #ifdef __WINS__
+                result = ETrue;
+            #else
+                result = IsSimWritable();
+            #endif
+            }
+        else
+            {
+            VMBLOGSTRING( "VMBX: CVmbxCsVoiceEngine::IsWritable: \
+            sim files not exist then use phone memory" );
+            result = ETrue;
+            }
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxCsVoiceEngine::IsWritable:\
+             result=%I <=", result );
+    return result;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxemergencycall.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,134 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CVmbxEmergencyCall class
+*
+*/
+
+// INCLUDE FILES
+#include <cphcltemergencycall.h>
+#include <phcltutils.h>
+#include "vmbxlogger.h"
+#include "vmbxemergencycall.h"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxEngineBase::CVmbxEngineBase
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxEmergencyCall::CVmbxEmergencyCall() 
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::CVmbxEmergencyCall =>" );
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::CVmbxEmergencyCall <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxEmergencyCall::~CVmbxEngineBase
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVmbxEmergencyCall::~CVmbxEmergencyCall()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::~CVmbxEmergencyCall =>" );
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::~CVmbxEmergencyCall <=" );
+    }
+    
+// ---------------------------------------------------------------------------
+// CVmbxEmergencyCall::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxEmergencyCall* CVmbxEmergencyCall::NewL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::NewL =>" );
+    CVmbxEmergencyCall* vmbx = new( ELeave )CVmbxEmergencyCall();
+    CleanupStack::PushL( vmbx );
+    vmbx->ConstructL();
+    CleanupStack::Pop( vmbx );
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::NewL <=" );
+    return vmbx;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxEmergencyCall::ConstructL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+void CVmbxEmergencyCall::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::ConstructL =>" );
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::ConstructL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxEmergencyCall::HandleDialL
+//
+// ----------------------------------------------------------------------------
+//
+void CVmbxEmergencyCall::HandleDialL( const TInt /*aStatus*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::HandleDialL =>" );
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::HandleDialL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+//  CVmbxEmergencyCall::HandleEmergencyDialL()
+// ----------------------------------------------------------------------------
+//
+void CVmbxEmergencyCall::HandleEmergencyDialL( const TInt /*aStatus*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::HandleEmergencyDialL =>" );
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::HandleEmergencyDialL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxEmergencyCall::IsEmergencyNumber
+// Verifies if the given number is an emergency number
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxEmergencyCall::IsEmergencyNumber( const TDesC& aNumber )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEmergencyCall::IsEmergencyNumber: =>" );
+    TBool isEmergency( EFalse );
+    // Emergency Call API does not strip invalid characters like Call UI does,
+    // so it is done manually here.
+
+    TPhCltTelephoneNumber number( aNumber.Left( KPhCltTelephoneNumberLength ) );
+    PhCltUtils::RemoveInvalidChars( number );
+    // Return value is KErrArgument, when number is more than 6 digits and
+    // then number cannot be emergency number.
+    // So no need to check the return value here.
+    CPhCltEmergencyCall* emCall( NULL );
+    TRAPD( err, emCall = CPhCltEmergencyCall::NewL( this ) );
+    if ( KErrNone == err )
+        {
+        TInt result = emCall->IsEmergencyPhoneNumber( aNumber, isEmergency );
+        if ( result != KErrNone ) 
+            {
+            isEmergency = EFalse; 
+            }
+        }
+    delete emCall;
+
+    VMBLOGSTRING2( "VMBX: CVmbxEmergencyCall::IsEmergencyNumber%I <=",
+        isEmergency);
+
+    return isEmergency;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxenginebase.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,161 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the CVmbxEngineBase class
+*
+*/
+
+
+// INCLUDE FILES
+#include <cvoicemailboxentry.h>
+
+#include "vmbxlogger.h"
+#include "vmbxuiutilities.h"
+#include "vmbxenginebase.h"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxEngineBase::CVmbxEngineBase
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxEngineBase::CVmbxEngineBase( MVmbxResourceProvider& aProvider ) 
+                          : iProvider( aProvider ),
+                            iVmbxServiceId( KVmbxServiceIdNone )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::CVmbxEngineBase =>" );
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::CVmbxEngineBase <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxEngineBase::~CVmbxEngineBase
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVmbxEngineBase::~CVmbxEngineBase()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::~CVmbxEngineBase =>" );
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::~CVmbxEngineBase <=" );
+    }
+
+// ----------------------------------------------------------------------------
+//  CVmbxEngineBase::GetServiceIds()
+// ----------------------------------------------------------------------------
+//
+void CVmbxEngineBase::GetServiceIdsL( RIdArray& /*aProfileIds*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::GetServiceIdsL <=>" );
+    User::Leave( KErrNotFound );
+    }
+
+// Commented out because branding is not supported yet.
+// ----------------------------------------------------------------------------
+//  CVmbxEngineBase::GetVmbxImageL()
+// ----------------------------------------------------------------------------
+//
+/* CGulIcon* CVmbxEngineBase::GetVmbxImageL( const TVoiceMailboxParams& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::GetVmbxImageL =>" );
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::GetVmbxImageL <=" );
+    return iProvider.VmbxUiUtilities().GetVmbxImageL( aParams );
+    } */
+
+// ----------------------------------------------------------------------------
+//  CVmbxEngineBase::SetCurrentServiceId()
+// ----------------------------------------------------------------------------
+//
+void CVmbxEngineBase::SetCurrentServiceId( const TServiceId& aVmbxServiceId )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::SetCurrentServiceId =>" );
+    iVmbxServiceId = aVmbxServiceId;
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::SetCurrentServiceId <=" );
+    }
+
+// ----------------------------------------------------------------------------
+//  CVmbxCsVideoEngine::CheckConfiguration()
+// ----------------------------------------------------------------------------
+//
+TBool CVmbxEngineBase::CheckConfiguration( 
+            const TVoiceMailboxParams& /*aParams*/, const TInt aFlags )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::CheckConfiguration =>" );
+    TBool conf( EFalse );
+    if ( EVmbxChangeNbrAllowedOnUi & aFlags )
+        {
+        // NOT suppported as default
+        }
+    else if ( EVmbxVideoMailboxSupported & aFlags )
+        {
+        // NOT suppported as default
+        }
+    else
+        {
+        // default
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxEngineBase::CheckConfiguration: conf%I <=",
+                 conf );
+    return conf;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxEngineBase::QueryDefineNumberL
+//
+// ---------------------------------------------------------------------------
+//
+void CVmbxEngineBase::QueryDefineNumberL( CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::QueryDefineNumberL =>" );
+    HBufC* defineNumber = HBufC::NewLC( KVmbxMaxNumberLength );
+    TPtr ptrNumber( defineNumber->Des() );
+
+    iProvider.VmbxUiUtilities().ShowQueryL( aEntry.VoiceMailboxType(),
+                                             EVmbxDefineMode, ptrNumber );
+    TInt err = aEntry.SetVmbxNumber( ptrNumber );
+    CleanupStack::PopAndDestroy( defineNumber );
+    VMBLOGSTRING2( "VMBX: CVmbxEngineBase::QueryDefineNumberL, err%I", err );
+    User::LeaveIfError( err );
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::QueryDefineNumberL <= ");
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxEngineBase::QueryChangeNumberL
+//
+// ----------------------------------------------------------------------------
+//
+void CVmbxEngineBase::QueryChangeNumberL( CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::QueryChangeNumberL =>" );
+    TInt err( KErrNone );
+    TPtrC vmbxNumber( KNullDesC );
+    err = aEntry.GetVmbxNumber( vmbxNumber );
+
+    if ( KErrNone == err )
+        {
+        HBufC* changeNumber = HBufC::NewLC( KVmbxMaxNumberLength );
+        TPtr tempNumber( changeNumber->Des() );
+        tempNumber.Copy( vmbxNumber );
+        iProvider.VmbxUiUtilities().ShowQueryL( aEntry.VoiceMailboxType(),
+                                   EVmbxChangeMode, tempNumber );
+        err = aEntry.SetVmbxNumber( tempNumber );
+        CleanupStack::PopAndDestroy( changeNumber );
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxEngineBase::QueryChangeNumberL, err%I", err );
+    User::LeaveIfError( err );
+    VMBLOGSTRING( "VMBX: CVmbxEngineBase::QueryChangeNumberL <=" );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxenginefactory.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CVmbxEngineFactory class
+*
+*/
+
+// INCLUDE FILES
+#include "vmbxenginebase.h"
+#include "vmbxcsvoiceengine.h"
+#include "vmbxcsvideoengine.h"
+#include "vmbxvoipengine.h"
+#include "vmbxutilities.h"
+
+#include "vmbxlogger.h"
+
+#include "vmbxenginefactory.h"
+
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxEntryFactory::CVmbxEntryFactory
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxEngineFactory::CVmbxEngineFactory( MVmbxResourceProvider& aProvider )
+                                    : iProvider( aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEntryFactory::CVmbxEntryFactory <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxEntryFactory::~CVmbxEntryFactory
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxEngineFactory::~CVmbxEngineFactory()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEntryFactory::~CVmbxEntryFactory <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxEntryFactory::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxEngineFactory* CVmbxEngineFactory::NewL( 
+                                    MVmbxResourceProvider& aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEntryFactory::NewL =>" );
+    CVmbxEngineFactory* self = 
+        new( ELeave ) CVmbxEngineFactory( aProvider );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxEntryFactory::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxEntryFactory::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmbxEngineFactory::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEntryFactory::ConstructL =>" );
+    VMBLOGSTRING( "VMBX: CVmbxEntryFactory::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxEntryFactory::CreateEngineL
+// Loads instance of the mailbox entry
+// ---------------------------------------------------------------------------
+//
+void CVmbxEngineFactory::CreateEngineL( CVmbxEngineBase*& aEngine,
+                                                     TVmbxType aType )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxEntryFactory::CreateEngineL =>" );
+    aEngine = NULL;
+
+    TInt result( KErrNone );
+    switch( aType )
+        {
+        case EVmbxVoice:
+            {
+             // Create voice mailbox
+            CVmbxEngineBase* voice = CVmbxCsVoiceEngine::NewL( iProvider );
+            aEngine = voice;        
+            }
+            break;
+        case EVmbxVideo:
+            {
+            if ( VmbxUtilities::VideoSupported() )
+                {
+                 // Create video mailbox
+                CVmbxEngineBase* video = CVmbxCsVideoEngine::NewL( iProvider );
+                aEngine = video;            
+                }
+            else
+                {
+                result = KErrNotSupported;
+                }
+            }
+            break;
+        case EVmbxVoip:
+            {
+            if ( VmbxUtilities::VoIPSupported() )
+                {
+                 // Create Voip mailbox
+                CVmbxEngineBase* voip = CVmbxVoIpEngine::NewL( iProvider);
+                aEngine =  voip;
+                }
+            else
+                {
+                result = KErrNotSupported;
+                }
+            }
+            break;
+        default:
+            result = KErrArgument;
+            break;
+        }
+
+    VMBLOGSTRING2( "VMBX: CVmbxEntryFactory::CreateEngineL: result%I",
+    result );
+    if ( KErrNone != result )
+        {
+        User::Leave( result );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxEntryFactory::CreateEngineL <=" );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxetelconnection.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CVmbxETelConnection class
+*
+*/
+
+
+// INCLUDE FILES
+#include <mmtsy_names.h>
+
+#include "vmbxlogger.h"
+#include "vmbxetelconnection.h"
+
+// CONSTANTS
+// ETel connections attemps
+const TInt KTriesToConnectServer( 7 );
+// time between ETel connections attemps
+const TInt KTimeBeforeRetryingServerConnection( 100000 );
+// Index to the first phone info
+const TInt KFirstPhoneIndex = 0;
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxETelConnection::CVmbxETelConnection
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxETelConnection::CVmbxETelConnection()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxETelConnection::CVmbxETelConnection <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxETelConnection::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmbxETelConnection::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxETelConnection::ConstructL =>" );
+    TInt errorCode( KErrNone );
+    TInt thisTry( 0 );
+    RTelServer::TPhoneInfo info;
+    // connect to ETel server
+    while ( ( errorCode = iTelServer.Connect() ) != KErrNone &&
+            ( thisTry++ ) <= KTriesToConnectServer )
+        {
+        User::After( KTimeBeforeRetryingServerConnection );
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxETelConnection::ConstructL: errorCode %I", 
+                                                    errorCode );
+    User::LeaveIfError( errorCode );
+
+    // load TSY
+    errorCode = iTelServer.LoadPhoneModule( KMmTsyModuleName );
+    VMBLOGSTRING2( "VMBX: CVmbxETelConnection::ConstructL: err%I", errorCode );
+    if ( KErrNone != errorCode && KErrAlreadyExists != errorCode )
+        {
+        User::Leave( errorCode );
+        }
+
+    // This enables extended errors from low level which are needed
+    // to get detailed information when saving contacts
+    TInt errExtrnded = iTelServer.SetExtendedErrorGranularity(
+                                RTelServer::EErrorExtended );
+    VMBLOGSTRING2( "VMBX: CVmbxETelConnection::ConstructL: errExtrnded %I", 
+                                                        errExtrnded );
+    User::LeaveIfError( errExtrnded );
+    // get info about default phone
+    TInt errGetInfo = iTelServer.GetPhoneInfo( KFirstPhoneIndex, info );
+    VMBLOGSTRING2( "VMBX: CVmbxETelConnection::ConstructL: errGetInfo %I", 
+                                                        errGetInfo );
+    User::LeaveIfError( errGetInfo );
+
+    TInt errInfoName = iPhone.Open( iTelServer, info.iName );
+    VMBLOGSTRING2( "VMBX: CVmbxETelConnection::ConstructL: errInfoName %I", 
+                                                        errInfoName );
+    User::LeaveIfError( errInfoName );
+
+    VMBLOGSTRING( "VMBX: CVmbxETelConnection::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxETelConnection::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxETelConnection* CVmbxETelConnection::NewL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxETelConnection::NewL =>" );
+    CVmbxETelConnection* self = new( ELeave ) CVmbxETelConnection();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    VMBLOGSTRING( "VMBX: CVmbxETelConnection::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxETelConnection::~CVmbxETelConnection()
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVmbxETelConnection::~CVmbxETelConnection()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxETelConnection::~CVmbxETelConnection =>" );
+    // close ETel connection
+    iPhone.Close();
+    iTelServer.Close();
+    VMBLOGSTRING( "VMBX: CVmbxETelConnection::~CVmbxETelConnection <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxETelConnection::TelServer
+// Returns a reference to the ETel RTelServer
+// ---------------------------------------------------------------------------
+//
+RTelServer& CVmbxETelConnection::TelServer()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxETelConnection::TelServer <=>" );
+    return iTelServer;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxETelConnection::Phone
+// Returns a reference to the ETel RMobilePhone
+// ---------------------------------------------------------------------------
+//
+RMobilePhone& CVmbxETelConnection::Phone()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxETelConnection::Phone <=>" );
+    return iPhone;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxobserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Implementation of CVmbxObserver class.
+ *
+*/
+
+// INCLUDE FILES
+#include "vmbxlogger.h"
+#include "vmbxcenrepobserver.h"
+#include "vmbxsimstoreobserver.h"
+#include "vmbxsatrefreshobserver.h"
+#include "vmbxsimhandler.h"
+
+#include "vmbxobserver.h"
+
+// CONSTANTS
+
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxObserver::CVmbxObserver
+// C++ default constructor can NOT contain any code, that might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxObserver::CVmbxObserver( MVmbxResourceProvider& aProvider )
+                            : iProvider( aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxObserver::CVmbxObserver <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmbxObserver::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxObserver::ConstructL =>" );
+
+    iCenRepObserver = CVmbxCenRepObserver::NewL( *this );
+
+    TVmbxMemoryLocation storeType = 
+                    iProvider.VmbxCenRepHandler().StoreType();
+    if ( EVmbxSimMemory == storeType )
+        {
+        TRAPD( err, iSimHandler = CVmbxSimHandler::NewL() );
+        if ( KErrNone == err )
+            {
+            iSatObserver = CVmbxSatRefreshObserver::NewL( *this );
+            iSimObserver = CVmbxSimStoreObserver::NewL( *iSimHandler, *this );
+            }
+        VMBLOGSTRING2( "VMBX: CVmbxObserver::ConstructL: err=%I", err );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxObserver::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxObserver::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxObserver* CVmbxObserver::NewL( MVmbxResourceProvider& aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxObserver::NewL =>" );
+    CVmbxObserver* self = CVmbxObserver::NewLC( aProvider );
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxObserver::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxObserver::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxObserver* CVmbxObserver::NewLC( MVmbxResourceProvider& aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxObserver::NewLC =>" );
+    CVmbxObserver* self = new (ELeave) CVmbxObserver( aProvider );
+    CleanupStack::PushL( self );
+    VMBLOGSTRING( "VMBX: CVmbxObserver::NewLC <=" );
+    self->ConstructL();
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxObserver::SetVmbxObserver
+// Set observer
+// ---------------------------------------------------------------------------
+//
+void CVmbxObserver::SetVmbxObserver( MVmbxChangeObserver& aObserver )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxObserver::SetVmbxObserver =>" );
+    iObserver = &aObserver;
+    VMBLOGSTRING( "VMBX: CVmbxObserver::SetVmbxObserver <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxObserver::HandleSimStoreChanged
+// observe Sim store changed.
+// ---------------------------------------------------------------------------
+//
+void CVmbxObserver::HandleSimStoreChanged( )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxObserver::HandleSimStoreChanged =>" );
+    if ( iObserver )
+        {
+        TRAPD( err, iObserver->SimStoreChangedL() );
+        // avoid warning
+        err = err;
+        VMBLOGSTRING2( "VMBX: CVmbxObserver::HandleSimStoreChanged, err=%I",
+         err );
+        }
+    
+    VMBLOGSTRING( "VMBX: CVmbxObserver::HandleSimStoreChanged <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxObserver::HandleSatRefresh
+// observe sat refresh.
+// ---------------------------------------------------------------------------
+//
+void CVmbxObserver::HandleSatRefresh( )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxObserver::HandleSatRefreshL =>" );
+    if ( iObserver )
+        {
+        TRAPD( err, iObserver->SatRefreshL() );
+        // avoid warning
+        err = err;
+        VMBLOGSTRING2( "VMBX: CVmbxObserver::HandleSatRefresh, err=%I",
+         err );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxObserver::HandleSatRefreshL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxObserver::HandleCenRepChange
+// observe central Repository changed.
+// ---------------------------------------------------------------------------
+//
+void CVmbxObserver::HandleCenRepChange( TVmbxCenRepKey aId )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxObserver::HandleCenRepChange =>" );
+    if ( iObserver )
+        {
+        TRAPD( err, iObserver->CenRepChangedL( aId ) );
+        // avoid warning
+        err = err;
+        VMBLOGSTRING2( "VMBX: CVmbxObserver::HandleCenRepChange, err=%I",
+         err );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxObserver::HandleCenRepChange <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxObserver::~CVmbxObserve
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxObserver::~CVmbxObserver()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxObserver::~CVmbxObserver =>" );
+    delete iSatObserver;
+    delete iSimObserver;
+    delete iCenRepObserver;
+    delete iSimHandler;
+    VMBLOGSTRING( "VMBX: CVmbxObserver::~CVmbxObserver <=" );
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxpbkstore.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,846 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the CVmbxPbkStore class
+*
+*/
+
+
+// INCLUDE FILES
+#include <commonphoneparser.h>
+#include <mpbutil.h>
+#include <cvoicemailboxentry.h>
+
+#include "vmbxutilities.h"
+#include "vmbxetelconnection.h"
+#include "vmbxlogger.h"
+#include "vmbxpbkstore.h"
+
+#include <e32property.h>
+#include <simutils.h>
+#include <startupdomainpskeys.h>
+//CONSTANTS
+// Amount of retries to be performed.
+const TInt KVmbxPhonebookBufferSize( 150 );
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::CVmbxPbkStore
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxPbkStore::CVmbxPbkStore(): CActive(EPriorityStandard ),
+                                iAsynType( EVmbxSimDefault )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::CVmbxPbkStore =>" );
+    CActiveScheduler::Add( this );
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::CVmbxPbkStore <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::~CVmbxPbkStore
+// destructor
+// ---------------------------------------------------------------------------
+//
+CVmbxPbkStore:: ~CVmbxPbkStore()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::~CVmbxPbkStore =>" );
+    Cancel();
+    iPhoneBook.Close();
+    delete iWait;
+    delete iETelConnection;
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::~CVmbxPbkStore <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::NewL
+// two phase constructor
+// ---------------------------------------------------------------------------
+//
+CVmbxPbkStore* CVmbxPbkStore::NewL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::NewL =>" );
+    CVmbxPbkStore* self = new( ELeave ) CVmbxPbkStore();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::ConstructL
+// two phase constructor
+// ---------------------------------------------------------------------------
+//
+void CVmbxPbkStore::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::ConstructL =>" );
+    TInt value( 0 );
+    TInt res = RProperty::Get( KPSUidStartup, KPSSimStatus, value );
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::ConstructL res = %d", res );
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::ConstructL value = %d", value );
+    if ( (ESimUsable != value && ESimReadable != value ) || KErrNone != res )
+        {
+        // Sim card not ready to use
+        User::Leave( KErrNotReady );
+        }
+    // Open tel server and phone
+    iETelConnection = CVmbxETelConnection::NewL();
+
+    iWait = new( ELeave ) CActiveSchedulerWait; 
+    TVmbxAlsLineType alsLine = VmbxUtilities::AlsLine();
+
+    // Supported ALS line,ALS line on
+    if ( EVmbxAlsLineDefault != alsLine )
+        {
+        // open 6f17 file ,if not found the file, leave
+        User::LeaveIfError( OpenVmbxPhonebook() );
+        }
+    // Not supported ALS line,ALS line off
+    else
+        {
+        // Open 6fc7 file, if not found, open 6f17 file
+        TInt result = OpenMbdnPhonebook();
+        if ( KErrPathNotFound == result )
+            {
+            //close 6fc7 and open 6f17 file
+            iPhoneBook.Close();
+            // open 6f17 file ,if not found the file, leave
+            User::LeaveIfError( OpenVmbxPhonebook() );
+            }
+        else
+            {
+            User::LeaveIfError( result );
+            }
+        }
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::GetVmbxInfo
+// Activates phonebook info query
+// ---------------------------------------------------------------------------
+TInt CVmbxPbkStore::GetVmbxInfo( 
+        RMobilePhoneBookStore::TMobilePhoneBookInfoV1& aInfo )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::GetVmbxInfo =>" );
+    TInt result( KErrInUse );
+    RMobilePhoneBookStore::TMobilePhoneBookInfoV1Pckg
+                                            InfoPckg( aInfo );
+    // get Info from phonebook
+    if( !IsActive() && !iWait->IsStarted() )
+        {
+        iPhoneBook.GetInfo( iStatus, InfoPckg );
+        iAsynType = EVmbxSimGetInfo;
+        SetActive();
+        iWait->Start();
+
+        result = iStatus.Int();
+        VMBLOGSTRING2( "VMBX: CVmbxPbkStore::PhonebookInfo: \
+                SIM Phonebook info read, status: %I", result );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::GetVmbxInfo <=" );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::IsWritable
+// Sim write support
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxPbkStore::IsWritable()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::IsWritable =>" );
+    TBool result( EFalse );
+    if ( IsWriteAccess() )
+        {
+        // Get current sim entry, then write the same entry 
+        // to sim if read successufully
+        CVoiceMailboxEntry* simEntry(NULL);
+        TRAPD( newErr, simEntry = CVoiceMailboxEntry::NewL() );
+        VMBLOGSTRING2( "VMBX: CVmbxPbkStore::IsWritable newErr = %d ",
+            newErr );
+        if ( KErrNone == newErr )
+            {
+            // get als line info
+            TVmbxAlsLineType alsLine = VmbxUtilities::AlsLine();
+            simEntry->SetVmbxAlsLineType( alsLine );
+            // ALS line off
+            if ( IsSimFileExisting(EMBDNPhoneBook) && (EVmbxAlsLineDefault == alsLine) )
+                {
+                // ALS line on and 6f17 exist 
+                // just check 6f17 file write access
+                iPhoneBookType = EMBDNPhoneBook;
+                }
+            else
+                {
+                // ALS line on, only should write to 6fc7; ALS off, 6f17 file inexist
+                //  check 6fc7 file write access
+                iPhoneBookType = EVMBXPhoneBook;
+                }
+            simEntry->SetVoiceMailboxType( EVmbxVoice );
+            simEntry->SetServiceId( KVmbxServiceVoice );
+            TRAPD( err, SimReadL( *simEntry ) );
+            VMBLOGSTRING2( "VMBX: CVmbxPbkStore:: IsWritable read %I <=", err );
+            if ( KErrNotFound == err )
+                {
+                simEntry->SetVmbxNumber( KNullDesC );
+                }
+            if ( KErrNone == err || KErrNotFound == err )
+                {
+                err = Write( *simEntry );
+                VMBLOGSTRING2( "VMBX: CVmbxPbkStore:: IsWritable write %I <=",
+                    err );
+                // If write successfully, means writable
+                if ( KErrNone == err )
+                    {
+                    result = ETrue;
+                    }
+                }
+            }
+        delete simEntry;
+        simEntry = NULL;
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore:: IsWritable result %I <=", result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::PhoneBookType
+// PhoneBookType
+// ---------------------------------------------------------------------------
+//
+TVmbxSimPhonebookType CVmbxPbkStore::PhoneBookType()
+    {
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::PhoneBookType type %I", 
+                         iPhoneBookType );
+    return iPhoneBookType;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::Write
+// Write to SIM
+// ---------------------------------------------------------------------------
+//
+TInt CVmbxPbkStore::Write( const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::Write =>" );
+    TInt result( KErrInUse );
+    TBuf8<KVmbxPhonebookBufferSize> pbData;
+
+    CPhoneBookBuffer* pbkBuffer = new CPhoneBookBuffer();
+    
+    if ( !pbkBuffer )
+        {
+        VMBLOGSTRING( "VMBX: CVmbxPbkStore::Write: \
+        Phonebook creation error" );
+        result = KErrNoMemory;
+        }
+    else
+        {
+        pbkBuffer->Set( &pbData );
+        TInt activeAlsLine = aEntry.VmbxAlsLineType();
+        // Add index, const value for vmbx write.
+        int entryIndex = 1;
+        // New entry
+        result = pbkBuffer->AddNewEntryTag();
+        if ( KErrNone == result )
+            {
+            // Type of index is TUint16 in Multimode ETel and TInt in old ETel.
+            result = pbkBuffer->PutTagAndValue( 
+            RMobilePhoneBookStore::ETagPBAdnIndex, (TUint16)entryIndex );
+            VMBLOGSTRING2( "VMBX: CVmbxPbkStore::Write: ETagPBAdnIndex \
+                    result=%I",  result );
+            // Add name, Type of ETagPBText is TDes16
+            TPtrC vmbxName( KNullDesC );
+            aEntry.GetVmbxName( vmbxName );
+            result = pbkBuffer->PutTagAndValue( 
+            RMobilePhoneBookStore::ETagPBText, vmbxName );
+            VMBLOGSTRING2( "VMBX: CVmbxPbkStore::Write: ETagPBText\
+                    result=%I",  result );
+            // Add number, Type of ETagPBNumber is TDes16
+            TPtrC vmbxNumber( KNullDesC );
+            aEntry.GetVmbxNumber( vmbxNumber );
+            result = pbkBuffer->PutTagAndValue( 
+            RMobilePhoneBookStore::ETagPBNumber, vmbxNumber );
+            VMBLOGSTRING2( "VMBX: CVmbxPbkStore::Write: ETagPBNumber\
+                    result=%I",  result );
+            }
+
+        if ( KErrNone == result )
+            {
+            if ( iPhoneBookType == EMBDNPhoneBook )
+                {
+                RMobilePhone::TMobilePhoneVoicemailIdsV3 mbdnInfo;
+                result = GetMbdnInfo( mbdnInfo );
+
+                if ( KErrNone == result )
+                    {
+                    TInt index = mbdnInfo.iVoice;
+                    if( !IsActive() && !iWait->IsStarted() )
+                        {
+                        // write vmbx number to 6fc7 file
+                        iPhoneBook.Write( iStatus, pbData, index );
+                        // Wait for asynchronous call to finish
+                        iAsynType = EVmbxSimEntryWrite;
+                        SetActive();
+                        iWait->Start();
+                        result = iStatus.Int();
+                        }
+                    }
+                VMBLOGSTRING( "Mbdn writing" );
+                }
+            else
+                {
+                if( !IsActive() && !iWait->IsStarted() )
+                    {
+                    // write vmbx number to 6f17 file
+                    iPhoneBook.Write( iStatus, pbData, entryIndex );
+                    iAsynType = EVmbxSimEntryWrite;
+                    // Wait for asynchronous call to finish
+                    SetActive();
+                    iWait->Start();
+                    result = iStatus.Int();
+                    }
+                VMBLOGSTRING( "CVmbxPbkStore::Write 6f17 writing" );
+                }
+            }
+        }
+    delete pbkBuffer;
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::Write: result=%I<=",  result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::PhonebookStore
+// Return RMobilePhoneBookStore
+// ---------------------------------------------------------------------------
+RMobilePhoneBookStore& CVmbxPbkStore::PhonebookStore()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::PhonebookStore <=>" );
+    return iPhoneBook;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::GetMbdnInfo
+// ---------------------------------------------------------------------------
+//
+TInt CVmbxPbkStore::GetMbdnInfo( RMobilePhone::TMobilePhoneVoicemailIdsV3& aInfo )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::GetMbdnInfo =>" );
+    TInt result( KErrInUse );
+    // Get identifiers
+    if ( !IsActive() && !iWait->IsStarted() )
+        {
+        VMBLOGSTRING( "VMBX: CVmbxPbkStore::GetMbdnInfo: GetMailboxNumbers" );
+        VMBLOGSTRING2( "VMBX: CVmbxPbkStore::GetMbdnInfo: iStatus %I",
+                                                             iStatus.Int() );
+        RMobilePhone::TMobilePhoneVoicemailIdsV3Pckg infoPckg( aInfo );
+        iETelConnection->Phone().GetMailboxNumbers( iStatus, infoPckg );
+        VMBLOGSTRING2( "VMBX: CVmbxPbkStore::GetMbdnInfo :iStatus %I",
+                                                             iStatus.Int() );
+        iAsynType = EVmbxSimMbdnInfo;
+        // Wait for asynchronous call to finish
+        SetActive();
+        iWait->Start();
+
+        VMBLOGSTRING2( "VMBX: CVmbxPbkStore::GetMbdnInfo: iVoice original value %I",
+                                                             aInfo.iVoice );
+        if ( iStatus.Int() == KErrNotFound )
+            {
+            result = KErrNone;
+            VMBLOGSTRING( "VMBX: CVmbxPbkStore::GetMbdnInfo: KErrNotFound,\
+             but igorned and change to KErrNone" );
+            }
+        else
+            {
+            result = iStatus.Int();
+            }
+        TVmbxAlsLineType alsLine = VmbxUtilities::AlsLine();
+        if ( EVmbxAlsLineDefault == alsLine )
+            {
+            aInfo.iVoice =  EVmbxAlsLine1;
+            }
+        VMBLOGSTRING2( "VMBX: CVmbxPbkStore::GetMbdnInfo: iVoice last value %I",
+            aInfo.iVoice );
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::GetMbdnInfo: result %I<=",
+         result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::OpenMbdnPhonebook
+// opening mbdn-type phonebook
+// ---------------------------------------------------------------------------
+//   
+TInt CVmbxPbkStore::OpenMbdnPhonebook()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::OpenMbdnPhonebook =>" );
+    //Open mbdn-type phonebook , Currently the file not exist, thr return
+    // value also KErrNone
+    TInt result = iPhoneBook.Open( iETelConnection->Phone(),
+                                         KETelIccMbdnPhoneBook );
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::OpenMbdnPhonebook :\
+        MBDN opening result = %d", result );
+
+    TBool res = IsSimFileExisting( EMBDNPhoneBook );
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::OpenMbdnPhonebook :\
+        MBDN reading res = %d", res );
+    if ( !res )
+        {
+        result = KErrPathNotFound;
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::OpenMbdnPhonebook res = %d<=", result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::OpenVmbxPhonebook
+// opening vmbx-type phonebook
+// ---------------------------------------------------------------------------
+//
+TInt CVmbxPbkStore::OpenVmbxPhonebook()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::OpenVmbxPhonebook =>" );
+    //Open vmbx-type phonebook , Currently the file not exist, thr return
+    // value also KErrNone
+    TInt result = iPhoneBook.Open( iETelConnection->Phone(),
+                                                 KETelIccVoiceMailBox );
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::OpenVmbxPhonebook :\
+        Vmbx opening result = %d", result );
+    TBool res = IsSimFileExisting( EVMBXPhoneBook );
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::OpenVmbxPhonebook :\
+        Vmbx reading res = %d", res );
+    if ( !res )
+        {
+        result = KErrPathNotFound;
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::OpenVmbxPhonebook result=%d <=", result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::GetL
+// Fetches mailbox number from Sim
+// ---------------------------------------------------------------------------
+//
+void CVmbxPbkStore::GetL( CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::GetL: iPhoneBookType %d=>",
+                         iPhoneBookType );
+
+    if ( EMBDNPhoneBook == iPhoneBookType )
+        {
+        TRAPD( err, SimReadL( aEntry ) );
+
+        TPtrC vmbxNumber( KNullDesC );
+        if ( KErrNone == err )
+            {
+            err = aEntry.GetVmbxNumber( vmbxNumber );
+            }
+
+        // 6fc7 file empty
+        if ( ( KErrNone != err ) || ( !vmbxNumber.Length() ) )
+            {
+            VMBLOGSTRING2( "VMBX: CVmbxPbkStore::GetL: \
+            no vmbx number in 6fc7 file then read from 6f17 file err%I", err );
+            // close 6fc7 and open 6f17 file
+            iPhoneBook.Close();
+            User::LeaveIfError( OpenVmbxPhonebook() );
+            // read vmbx number from 6f17 file
+            SimReadL( aEntry );
+            }
+        }
+    else
+        {
+        SimReadL( aEntry );
+        }
+
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::GetL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::SimReadL
+// read vmbx number from sim
+// ---------------------------------------------------------------------------
+//
+void CVmbxPbkStore::SimReadL( CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::SimReadL =>" );
+
+    TInt numEntries( 1 );
+    TBuf8<KVmbxPhonebookBufferSize> pbData;
+
+    TInt result( KErrInUse );
+    if ( iPhoneBookType == EMBDNPhoneBook )
+        {
+        RMobilePhone::TMobilePhoneVoicemailIdsV3 mbdnInfo;
+        result = GetMbdnInfo( mbdnInfo );
+        if ( KErrNone == result )
+            {
+            VMBLOGSTRING( "start MBDN PhoneBook read" );
+            if( !IsActive() && !iWait->IsStarted() )
+                {
+                // read vmbx number from 6fc7 file
+                iPhoneBook.Read( 
+                iStatus, mbdnInfo.iVoice, numEntries, pbData );
+                iAsynType = EVmbxSimEntryRead;
+                // Wait for asynchronous call to finish
+                SetActive();
+                iWait->Start();
+                }
+            }
+        }
+    else
+        {
+        // Record#1 in sim is for line1 number and Record#2 in sim is for
+        // line2 number so line is used to fetch
+        VMBLOGSTRING( "start VMBX PhoneBook read" );
+        TInt activeAlsLine = aEntry.VmbxAlsLineType();
+        if ( EVmbxAlsLineDefault == activeAlsLine )
+            {
+            activeAlsLine = EVmbxAlsLine1;
+            }
+        if( !IsActive() && !iWait->IsStarted() )
+            {
+            result = KErrNone;
+            // read vmbx number from 6f17 file
+            VMBLOGSTRING2( "VMBX: CVmbxPbkStore::SimReadLactiveAlsLine = %I",
+                 activeAlsLine );
+            iPhoneBook.Read( iStatus, activeAlsLine, numEntries, pbData );
+            iAsynType = EVmbxSimEntryRead;
+            // Wait for asynchronous call to finish
+            SetActive();
+            iWait->Start();
+            }
+        }
+
+    User::LeaveIfError( result );
+    // asynchronous call finished
+    VMBLOGSTRING2( "PhoneBook read iStatus = %I", iStatus.Int() );
+
+    if( iStatus.Int() == KErrNone )
+        {
+        ParseDataL( aEntry, pbData );
+        }
+    else
+        {
+        User::Leave( iStatus.Int() );
+        }
+
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::SimReadL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::ParseDataL
+// 
+// ---------------------------------------------------------------------------
+//
+void CVmbxPbkStore::ParseDataL( CVoiceMailboxEntry& aEntry, TDes8& aPbData )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::ParseDataL =>" );
+    TInt result( KErrNotFound );
+
+    VMBLOGSTRING2( "CVmbxPbkStore::ParseDataL Lengh = %d", aPbData.Length() );
+
+    if ( aPbData.Length() )
+        {
+        // -> Search Tags "ETagPBNumber" and "ETagPBText"
+        // and read (decode) them
+        // create buffer
+        CPhoneBookBuffer* pbkBuffer = new( ELeave ) CPhoneBookBuffer();
+        CleanupStack::PushL( pbkBuffer );
+
+        // start read
+        pbkBuffer->Set( &aPbData );
+        pbkBuffer->StartRead();
+
+        result = ReadNewEntryTag( pbkBuffer );
+        // Read first "new-entry-tag"
+        if ( KErrNone == result )
+            {
+            ReadPbkDataL( pbkBuffer, aEntry );
+            }
+        CleanupStack::PopAndDestroy( pbkBuffer );
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::ParseDataL: result %I", result );
+    User::LeaveIfError( result );
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::ParseDataL <=" );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::ReadNewEntryTag
+// Reads "new-entry-tag" from phonebook data from Sim
+// ---------------------------------------------------------------------------
+//
+TInt CVmbxPbkStore::ReadNewEntryTag( CPhoneBookBuffer* aPbkBuffer )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::ReadNewEntryTag =>" );
+    TInt result( KErrNone );
+    TUint8 tagValue( 0 );
+    CPhoneBookBuffer::TPhBkTagType dataType(
+                               CPhoneBookBuffer::EPhBkTypeNoData );
+
+    result = aPbkBuffer->GetTagAndType( tagValue, dataType );
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::ReadNewEntryTag result = %d",
+     result );
+
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::ReadNewEntryTag tagValue = %X",
+     tagValue );
+    if ( tagValue != RMobilePhoneBookStore::ETagPBNewEntry )
+        {
+        VMBLOGSTRING( "VMBX: CVmbxPbkStore::ParseDataL: Unknown result" );
+        result = KErrArgument;  // Something wrong in TLV
+        }
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::ReadNewEntryTag <=" );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::ReadPbkData
+// Reads tags from buffer retrieved from sim
+// ---------------------------------------------------------------------------
+//
+void CVmbxPbkStore::ReadPbkDataL( CPhoneBookBuffer* aPbkBuffer,
+                                         CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::ReadPbkDataL =>" );
+
+    TInt result( KErrNone );
+    TInt next( KErrNone );
+    TBool found( EFalse );
+    TUint8 tagValue( 0 );
+    CPhoneBookBuffer::TPhBkTagType dataType(
+                                          CPhoneBookBuffer::EPhBkTypeNoData );
+
+    result = aPbkBuffer->GetTagAndType( tagValue, dataType );
+
+    // loop through data to find a number and an possible alpha string
+    while ( next == KErrNone && result == KErrNone )
+        {
+        VMBLOGSTRING2("VMBX: CVmbxPbkStore::ReadPbkDataL: tagValue: %d",
+         tagValue );
+        VMBLOGSTRING2("VMBX: CVmbxPbkStore::ReadPbkDataL: dataType: %d",
+         dataType );
+
+        // Check for text field
+        if ( tagValue == RMobilePhoneBookStore::ETagPBText )
+            {
+            VMBLOGSTRING("VMBX: CVmbxPbkStore::ReadPbkDataL: \
+                          ETagPBText found Alpha ID" );
+            found = ETrue;
+            // Alpha string field found from TLV entry,
+            // assuming 16bit data
+            TPtrC16 alphaPtrC;
+            result = aPbkBuffer->GetValue( alphaPtrC );
+            
+            if ( KErrNone == result )
+                {
+                // set name to vmbx entry
+                result = aEntry.SetVmbxName( alphaPtrC );
+                }
+            }
+
+        // Check for number field
+        else if ( tagValue == RMobilePhoneBookStore::ETagPBNumber )
+            {
+            VMBLOGSTRING("VMBX: CVmbxPbkStore::ReadPbkDataL: \
+                          ETagPBNumber found Number" );
+            found = ETrue;
+            // Number field found from TLV entry, assuming 16bit data
+            TPtrC16 numberPtrC;
+            result = aPbkBuffer->GetValue( numberPtrC );
+
+            if ( KErrNone == result )
+                {
+                // set number to vmbx entry
+                result = aEntry.SetVmbxNumber( numberPtrC );
+                }
+            }
+        else
+            {
+            // skip field
+            aPbkBuffer->SkipValue( dataType );
+            VMBLOGSTRING( "VMBX: CVmbxPbkStore::ReadPbkDataL: SkipValue" );
+            }
+        // read next if no errors
+        if ( KErrNone == result )
+            {
+            // Read next field type
+            next = aPbkBuffer->GetTagAndType( tagValue, dataType );
+            VMBLOGSTRING2( "VMBX: CVmbxPbkStore::ReadPbkDataL: \
+                                    next GetTagAndType = %I", result );
+            }
+        }
+
+    // Neither alpha string Nor number is found
+    if( KErrNone == result && !found )
+        {
+        result = KErrNotFound;
+        }
+    
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::ReadPbkDataL result=%I", result );
+    User::LeaveIfError( result );
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::ReadPbkDataL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::RunL
+// 
+// ---------------------------------------------------------------------------
+//
+void CVmbxPbkStore::RunL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::RunL =>" );
+    if ( iWait->IsStarted() )
+        {
+        // stop blocking
+        iWait->AsyncStop();
+        VMBLOGSTRING( "VMBX: CVmbxSimHandler::RunL: AsyncStop" );
+        }
+    iAsynType = EVmbxSimDefault;
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::RunL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::DoCancel
+// 
+// ---------------------------------------------------------------------------
+//
+void CVmbxPbkStore::DoCancel()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::DoCancel =>" );
+    if ( iWait->IsStarted() )
+        {
+        // stop blocking
+        iWait->AsyncStop();
+        VMBLOGSTRING( "VMBX: CVmbxPbkStore::DoCancel: AsyncStop" );
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::DoCancel: iAsynType %I",iAsynType );
+    switch ( iAsynType )    
+        {
+        // only for USIM
+        case EVmbxSimMbdnInfo:
+            {
+            VMBLOGSTRING( "VMBX: CVmbxPbkStore::DoCancel : \
+                                        EVmbxSimMbdnInfo" );
+            iETelConnection->Phone().CancelAsyncRequest( 
+                                              EMobilePhoneGetMailboxNumbers );
+            break;
+            }
+        case EVmbxSimGetInfo:
+            {
+            VMBLOGSTRING( "VMBX: CVmbxPbkStore::DoCancel : \
+                                              EVmbxSimGetInfo" );
+            iETelConnection->Phone().CancelAsyncRequest( 
+                                               EMobilePhoneStoreGetInfo );
+            break;
+            }            
+        case EVmbxSimEntryRead:
+            {
+            VMBLOGSTRING( "VMBX: CVmbxPbkStore::DoCancel : EVmbxSimEntryRead" );
+            iETelConnection->Phone().CancelAsyncRequest( 
+                                               EMobilePhoneStoreRead );
+            break;
+            }
+        case EVmbxSimEntryWrite:
+            {
+            VMBLOGSTRING( "VMBX: CVmbxPbkStore::DoCancel : EVmbxSimEntryWrite" );
+            iETelConnection->Phone().CancelAsyncRequest( 
+                                               EMobilePhoneStoreWrite );
+            break;
+            }
+        default:
+            break;
+        }
+    
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::DoCancel <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::RunError
+// 
+// ---------------------------------------------------------------------------
+//
+TInt CVmbxPbkStore::RunError(TInt aError)
+    {
+    // Avoid warning
+    aError = aError;
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::RunError: %I", aError );
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::IsSimFileExisting
+// check sim file existing or not
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxPbkStore::IsSimFileExisting( const TVmbxSimPhonebookType aType )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::IsSimFileExisting =>" );
+    iPhoneBookType = aType;
+    TBool result( ETrue );
+    CVoiceMailboxEntry* entry(NULL);
+    TRAPD( err, entry = CVoiceMailboxEntry::NewL() );
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::IsSimFileExisting err = %d ",
+     err );
+    if ( KErrNone != err )
+        {
+        result = EFalse;
+        }
+    else
+        {
+        entry->SetVoiceMailboxType( EVmbxVoice );
+        TRAPD( err, SimReadL( *entry ) );
+        // KErrPathNotFound means when current file path not found.
+        if ( KErrPathNotFound == err )
+            {
+            result = EFalse;
+            }
+        }
+    delete entry;
+    entry = NULL;
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore::IsSimFileExisting result = %d <= ",
+         result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxPbkStore::IsWriteAccess
+// Sim write access support
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxPbkStore::IsWriteAccess()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxPbkStore::IsWriteAccess =>" );
+    TBool result( EFalse );
+    RMobilePhoneBookStore::TMobilePhoneBookInfoV1 info;
+    TInt temp = GetVmbxInfo( info );
+    if( KErrNone == temp )
+        {
+        result = ( info.iCaps &
+                RMobilePhoneBookStore::KCapsWriteAccess ? ETrue : EFalse );
+        
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore:: IsWriteAccess: info.iCaps %X",
+                     info.iCaps );
+    VMBLOGSTRING2( "VMBX: CVmbxPbkStore:: IsWriteAccess result %I <=", result );
+    return result;
+    }
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxqtuihandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,419 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+// qt
+#include <QString>
+#include <QRegExp>
+#include <QCoreApplication>
+#include <hbinputdialog.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <hbmessagebox.h>
+#include <hblineedit.h>
+#include <hbinputeditorinterface.h>
+#include <hbinputstandardfilters.h>
+#include <hbinputfilter.h> 
+#include <hblistwidget.h>
+#include <hbnotificationdialog.h>
+#include <dialogwaiter.h>
+
+#include <cvoicemailboxentry.h>
+#include <cvoicemailbox.h>
+
+#include "vmbxqtuihandler.h"
+#include "voicemailboxdefsinternal.h"
+#include "vmbxlogger.h"
+
+// ======== MEMBER FUNCTIONS ==================================================
+
+// ----------------------------------------------------------------------------
+// VmbxQtUiHandler::VmbxQtUiHandler
+// (Constructor).
+// ----------------------------------------------------------------------------
+//
+VmbxQtUiHandler::VmbxQtUiHandler(QObject* parent): QObject(parent),
+        iTranslator(0), iCommonTranslator(0), iQueryDialog(NULL)
+{
+    VMBLOGSTRING("VmbxQtUiHandler::VmbxQtUiHandler")
+    init();
+    VMBLOGSTRING("VmbxQtUiHandler::VmbxQtUiHandler Exit")
+}
+
+// ----------------------------------------------------------------------------
+// VmbxQtUiHandler::~VmbxQtUiHandler
+// (Destructor).
+// ----------------------------------------------------------------------------
+//
+VmbxQtUiHandler::~VmbxQtUiHandler()
+{
+    VMBLOGSTRING("VmbxQtUiHandler::~VmbxQtUiHandler")
+    if ( iQueryDialog ) {
+        delete iQueryDialog;
+        iQueryDialog = NULL;
+        VMBLOGSTRING("VmbxQtUiHandler::~VmbxQtUiHandler delete iQueryDialog")
+    }
+    VMBLOGSTRING("VmbxQtUiHandler::~VmbxQtUiHandler Exit")
+}
+
+// ----------------------------------------------------------------------------
+// VmbxQtUiHandler::Init
+//
+// ----------------------------------------------------------------------------
+//
+void  VmbxQtUiHandler::init()
+{
+    VMBLOGSTRING("VmbxQtUiHandler::init")
+    QString lang = QLocale::system().name();
+    VMBLOGSTRING2("VmbxQtUiHandler::init lang type %S",
+            lang.utf16())
+    QString path = "Z:/resource/qt/translations/";
+    bool translatorLoaded = iTranslator.load("vmbx_"+lang, path);
+    VMBLOGSTRING2("VmbxQtUiHandler::init load vmbx result %d",
+            translatorLoaded)
+    // Install vmbx localization
+    if (translatorLoaded) {
+        VMBLOGSTRING("VmbxQtUiHandler::init qApp !")
+        qApp->installTranslator(&iTranslator);
+    }
+    // Install common localization, for select type "cancel".
+    bool loaded = iCommonTranslator.load( "common_"+lang, path);
+    VMBLOGSTRING2("VmbxQtUiHandler::init load common result %d",
+        loaded)
+    if (loaded) {
+        VMBLOGSTRING("VmbxQtUiHandler::init qApp !!")
+        qApp->installTranslator(&iCommonTranslator);
+    }
+    VMBLOGSTRING("VmbxQtUiHandler::init Exit")
+}
+
+// ----------------------------------------------------------------------------
+// VmbxQtUiHandler::ShowVmbxQueryDialog
+// (show query dialog).
+// ----------------------------------------------------------------------------
+//
+void VmbxQtUiHandler::showVmbxQueryDialog(const TVmbxType& aType,
+                          QString& aNumber, int& aResult)
+{
+    VMBLOGSTRING("VmbxQtUiHandler::showVmbxQueryDialog")
+    QString header;
+    if (EVmbxVoice == aType) {
+        header = hbTrId("txt_vmbx_title_voice_mailbox_number");
+    } else if (EVmbxVideo == aType) {
+        // type of EVmbxVideo
+        header = hbTrId("txt_vmbx_title_video_mailbox_number");
+    } else {
+        aResult = KErrCancel;
+        VMBLOGSTRING( "VmbxQtUiHandler::showVmbxQueryDialog type error" )
+        return;
+    }
+    if (iQueryDialog) {
+        delete iQueryDialog;
+        iQueryDialog = 0;
+    }
+        
+    
+    iQueryDialog = new HbInputDialog();
+    iQueryDialog->setDismissPolicy(HbDialog::NoDismiss);
+    iQueryDialog->setTimeout(HbDialog::NoTimeout);
+
+    iQueryDialog->setModal(true);
+    // Set heading content
+    iQueryDialog->setPromptText(header);
+
+    // Set HbLineEdit  Content 
+    iQueryDialog->lineEdit()->setText(aNumber); // default text
+    iQueryDialog->lineEdit()->setMaxLength(KVmbxPhoneCharMaxLength);
+    HbEditorInterface inputMode(iQueryDialog->lineEdit());
+    inputMode.setFilter(HbPhoneNumberFilter::instance());
+    bool ret = connect(iQueryDialog->lineEdit(), SIGNAL(textChanged(QString)),
+        this, SLOT(updatePrimaryAction(QString)));    
+    VMBLOGSTRING2( "VmbxQtUiHandler::showVmbxQueryDialog connect textChanged %d", ret)
+    
+    DialogWaiter waiter;
+    HbAction *primary = 0;
+    if (iQueryDialog->actions().count()>= 1) {
+        primary = qobject_cast<HbAction*>(iQueryDialog->actions().at(0));
+    }
+    
+    iQueryDialog->open(&waiter, SLOT(done(HbAction *)));
+    iQueryDialog->lineEdit()->setFocus(); // Enable the VKB
+    
+    HbAction *result = waiter.wait();
+    if (result == primary) {
+        VMBLOGSTRING( "VmbxQtUiHandler::showVmbxQueryDialog select OK" )
+        // asign OK KEY value
+        aResult = KErrNone;
+        aNumber = iQueryDialog->lineEdit()->text();
+    } else {
+        aResult = KErrCancel;
+    }
+    
+    disconnect(iQueryDialog->lineEdit(), SIGNAL(textChanged(QString)),
+            this, SLOT(updatePrimaryAction(QString))); 
+    
+
+    // TODO Delete Operation will case panic on EM
+    
+#ifdef __WINS__
+    iQueryDialog->close();
+#else
+    delete iQueryDialog;
+    iQueryDialog = 0;
+#endif // __WINS__
+
+    VMBLOGSTRING2("VmbxQtUiHandler::showVmbxQueryDialog aResult = %d", aResult)
+    VMBLOGSTRING("VmbxQtUiHandler::showVmbxQueryDialog Exit")
+}
+
+// ----------------------------------------------------------------------------
+// VmbxQtUiHandler::showDefineSelectionDialog
+// (Shoe define list dialog).
+// ----------------------------------------------------------------------------
+//
+void VmbxQtUiHandler::showDefineSelectionDialog(
+    TVmbxType &aType, int &aResult)
+{
+    VMBLOGSTRING("VmbxQtUiHandler::showDefineSelectionDialog")
+    HbDialog* defineListDialog = new HbDialog();
+    defineListDialog->setDismissPolicy(HbDialog::NoDismiss);
+    defineListDialog->setTimeout(HbDialog::NoTimeout);
+
+    defineListDialog->setModal(true);
+    // Set heading widget,"Define number:"
+    defineListDialog->setHeadingWidget(new HbLabel(
+            hbTrId("txt_vmbx_title_select_mailbox")));
+    // Create a define list 
+    HbListWidget *list = new HbListWidget();
+    //Voice Mailbox
+    list->addItem(hbTrId("txt_vmbx_list_voice_mailbox"));
+    //Video Mailbox
+    list->addItem(hbTrId("txt_vmbx_list_video_mailbox"));
+    // Set content widget
+    defineListDialog->setContentWidget(list);
+
+    //  Sets the "Cancel"-action/button
+    HbAction *cancelAction = 
+        new HbAction(hbTrId("txt_common_button_cancel"),defineListDialog);
+    defineListDialog->addAction(cancelAction);
+    
+    connect(list, SIGNAL(activated(HbListWidgetItem *)), 
+        defineListDialog, SLOT(close()));
+    DialogWaiter waiter;
+    defineListDialog->open(&waiter, SLOT(done(HbAction *)));
+    HbAction *result = waiter.wait();
+    if (cancelAction == result){
+        aType = EVmbxNone;
+        aResult = KErrCancel;
+    } else {
+        // Select one item
+        aResult = KErrNone;
+        int currentItem = list->row(list->currentItem());
+        VMBLOGSTRING2("VmbxQtUiHandler::showDefineSelectionDialog:\
+            currentItem %d", currentItem)
+        if (0 == currentItem) {
+            aType = EVmbxVoice;
+        } else {
+            aType = EVmbxVideo;
+        }
+    }
+    VMBLOGSTRING2("VmbxQtUiHandler::showDefineSelectionDialog: aType%d", aType)
+    VMBLOGSTRING2("VmbxQtUiHandler::showDefineSelectionDialog: aResult%d", \
+        aResult)
+        
+#ifdef __WINS__
+    defineListDialog->close();
+#else
+    delete defineListDialog;
+    defineListDialog = 0;
+#endif // __WINS__  
+
+    VMBLOGSTRING("VmbxQtUiHandler::showDefineSelectionDialog Exit")
+}
+
+// ----------------------------------------------------------------------------
+// VmbxQtUiHandler::showCallSelectionDialog
+// (show call selection dialog).
+// ----------------------------------------------------------------------------
+//
+void VmbxQtUiHandler::showCallSelectionDialog(
+    const QList<CVoiceMailboxEntry *> entryList,
+    TVoiceMailboxParams &params, int &result )
+{
+    VMBLOGSTRING("VmbxQtUiHandler::showCallSelectionDialog")
+    int count = entryList.count();
+    VMBLOGSTRING("VmbxQtUiHandler::showCallSelectionDialog new before")
+    HbDialog* callListDialog = new HbDialog();
+    VMBLOGSTRING("VmbxQtUiHandler::showCallSelectionDialog new after")
+    callListDialog->setDismissPolicy(HbDialog::NoDismiss);
+    callListDialog->setTimeout(HbDialog::NoTimeout);
+    callListDialog->setModal(true);
+    // Set heading widget,"select mailbox"
+    callListDialog->setHeadingWidget(new HbLabel(
+               hbTrId("txt_vmbx_title_select_mailbox")));
+    // Create a call list 
+    HbListWidget *list = new HbListWidget();
+    // Set content widget
+    callListDialog->setContentWidget(list);
+
+    QList<TVoiceMailboxParams> paramsList;
+    TVoiceMailboxParams entryParams;
+    for (int i = 0; i < count; i++) {
+        TVmbxType vmbxType = entryList[i]->VoiceMailboxType();
+        entryParams.iType = vmbxType;
+        entryParams.iServiceId = entryList[i]->ServiceId();
+        paramsList.append(entryParams);
+        switch (vmbxType) {
+            case EVmbxVoice:
+                {
+                list->addItem(hbTrId("txt_vmbx_list_voice_mailbox"));
+                break;
+                }
+            case EVmbxVideo:
+                {
+                list->addItem(hbTrId("txt_vmbx_list_video_mailbox"));
+                break;
+                }
+            case EVmbxVoip:
+                {
+                // Get name
+                TPtrC vmbxName( KNullDesC );
+                int voipRes = entryList[i]->GetVmbxName(vmbxName);
+                VMBLOGSTRING2( "VmbxQtUiHandler::showCallSelectionDialogL\
+                    : voipRes=%I", voipRes );
+                if (KErrNone == voipRes) {
+                    QString voipName;
+                    if (vmbxName.Length() > 0) {
+                        voipName=QString::fromUtf16(
+                            vmbxName.Ptr(), vmbxName.Length());
+                        // add voip item
+                        list->addItem(voipName);
+                    }
+                }
+                break;
+                }
+            default:
+                break;
+        }
+    }
+    //  Sets the "Cancel"-action/button
+    HbAction *cancelAction = 
+        new HbAction(hbTrId("txt_common_button_cancel"),callListDialog);
+    callListDialog->addAction(cancelAction);
+    
+    connect(list, SIGNAL(activated(HbListWidgetItem *)), 
+            callListDialog, SLOT(close()));
+    DialogWaiter waiter;
+    callListDialog->open(&waiter, SLOT(done(HbAction *)));
+    HbAction *action = waiter.wait();
+    if (cancelAction == action){
+        params.iType = EVmbxNone;
+        params.iServiceId = KVmbxServiceIdNone;
+        result = KErrCancel;
+    } else {
+        // Select one item
+        result = KErrNone;
+        int currentItem = list->row(list->currentItem());
+        VMBLOGSTRING2("VmbxQtUiHandler::showCallSelectionDialog:\
+            currentItem %d", currentItem)
+        params.iType = paramsList[currentItem].iType;
+        params.iServiceId = paramsList[currentItem].iServiceId;
+    }
+    VMBLOGSTRING2("VmbxQtUiHandler::showCallSelectionDialog: params.iType %d",
+        params.iType)
+    VMBLOGSTRING2("VmbxQtUiHandler::showCallSelectionDialog: result%d",
+        result)
+    
+#ifdef __WINS__
+    callListDialog->close();
+#else
+    delete callListDialog;
+    callListDialog = 0;
+#endif // __WINS__  
+    VMBLOGSTRING("VmbxQtUiHandler::showCallSelectionDialog Exit")
+}
+
+// ----------------------------------------------------------------------------
+// VmbxQtUiHandler::showInformationNote
+// (show information note).
+// ----------------------------------------------------------------------------
+//
+void VmbxQtUiHandler::showInformationNote(const TVmbxNoteType aType)
+{
+    VMBLOGSTRING("VmbxQtUiHandler::showInformationNote")
+    QString noteText;
+    VMBLOGSTRING2("VmbxQtUiHandler::showInformationNote type =%d", aType)
+    switch (aType) {
+    case EInvalidNumber:
+        // Need to comfirm with ui designer
+        noteText = hbTrId("Invalid phone number.");
+        break;
+    case ENotAllowUserEditing:
+        //User not allow to edit.
+        noteText = hbTrId("Number not provisioned");
+        break;
+    case ESavedToPhoneMemory:
+    case ESavedToSimMemory:	
+        //Voice mailbox number saved to Phone memory.
+        noteText = hbTrId("txt_vmbx_dpopinfo_voice_mailbox_number_saved");
+        break;
+    case EVideoNumberSaved:
+        //Video call mailbox saved.
+        noteText = hbTrId("txt_vmbx_dpopinfo_video_mailbox_number_saved");
+        break;
+    case EDefineVoiceNumber:
+        //Define voice mailbox.
+        noteText = hbTrId("txt_vmbx_dpopinfo_define_voice_mailbox_number");
+        break;
+    case EDefineVideoNumber:
+        //Define video mailbox.
+        noteText = hbTrId("txt_vmbx_dpopinfo_define_video_mailbox_number");
+        break;
+    default:
+        VMBLOGSTRING("VmbxQtUiHandler::ShowInformationNote default")
+        break;
+    }
+    HbNotificationDialog::launchDialog(noteText);
+    VMBLOGSTRING("VmbxQtUiHandler::showInformationNote Exit")
+}
+
+// ----------------------------------------------------------------------------
+// VmbxQtUiHandler::updatePrimaryAction
+// (show information note).
+// ----------------------------------------------------------------------------
+//
+void VmbxQtUiHandler::updatePrimaryAction(const QString &aInput)
+{
+    if (iQueryDialog) {    
+        QAction *ok = iQueryDialog->actions().at(0);
+        if (ok) {
+            if ( aInput.isEmpty() || aInput.contains(QRegExp("\\d\\d\\d"))){
+                if (!ok->isEnabled()){
+                    ok->setEnabled(true);
+                    VMBLOGSTRING("VmbxQtUiHandler::updatePrimaryAction enable OK")
+                }
+            } else {
+                if (ok->isEnabled()){
+                    ok->setEnabled(false);
+                    VMBLOGSTRING("VmbxQtUiHandler::updatePrimaryAction disable OK")  
+                }
+            }
+        }
+    }
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxsatrefreshobserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -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: Implementation of CVmbxSatRefreshObserver class.
+*
+*/
+
+
+// INCLUDE FILES
+#include "vmbxlogger.h"
+#include "vmbxsatrefreshobserver.h"
+
+// CONSTANTS
+const TInt KVmbxFile = 0x6f17;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CVmbxSatRefreshObserver::CVmbxSatRefreshObserver
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CVmbxSatRefreshObserver::CVmbxSatRefreshObserver( 
+                            MVmbxSatRefreshObserver& aObserver )
+                            : iRSatSession(),
+                              iSatRefresh( *this ),
+                              iObserver( aObserver )
+    {
+    VMBLOGSTRING( "VMBX:CVmbxSatRefreshObserver::CVmbxSatRefreshObserver <=>" );
+    }
+
+// -----------------------------------------------------------------------------
+// CVmbxSatRefreshObserver::NewL
+// two phase constructor
+// -----------------------------------------------------------------------------
+//
+CVmbxSatRefreshObserver* CVmbxSatRefreshObserver::NewL( 
+                                MVmbxSatRefreshObserver& aObserver )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSatRefreshObserver::NewL =>" );
+    CVmbxSatRefreshObserver* self = new( ELeave ) CVmbxSatRefreshObserver(
+         aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxSatRefreshObserver::NewL <=" );
+    return self;
+    }
+// ---------------------------------------------------------------------------
+// CVmbxSatRefreshObserver::ConstructL
+// two phase constructor
+// ---------------------------------------------------------------------------
+//
+void CVmbxSatRefreshObserver::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSatRefreshObserver::ConstructL =>" );
+    iRSatSession.ConnectL();
+    iSatRefresh.OpenL( iRSatSession );
+    iObservedFileList.Append( KMbdnEf );
+    iObservedFileList.Append( KMbiEf );
+    iObservedFileList.Append( KVmbxFile );
+    iSatRefresh.NotifyFileChangeL( iObservedFileList );
+    VMBLOGSTRING( "VMBX: CVmbxSatRefreshObserver::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSatRefreshObserver::~CVmbxSatRefreshObserver
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVmbxSatRefreshObserver::~CVmbxSatRefreshObserver()
+    {
+    VMBLOGSTRING( "VMBX:CVmbxSatRefreshObserver::~CVmbxSatRefreshObserver =>" );
+    iSatRefresh.Cancel();
+    iSatRefresh.Close();
+    iRSatSession.Close();
+    VMBLOGSTRING( "VMBX:CVmbxSatRefreshObserver::~CVmbxSatRefreshObserver <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSatRefreshObserver::AllowRefresh
+// Refresh query callback for USim
+// ---------------------------------------------------------------------------
+ TBool CVmbxSatRefreshObserver::AllowRefresh( TSatRefreshType /*aType*/,
+                        const TSatRefreshFiles& /*aFiles*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSatRefreshObserver::AllowRefresh =>" );
+    VMBLOGSTRING( "VMBX: CVmbxSatRefreshObserver::AllowRefresh <=" );
+    return ETrue;
+    }
+
+// ---------------------------------------------------------------------------
+//  CVmbxSatRefreshObserver::Refresh
+// Refresh notification callback for USim
+// ---------------------------------------------------------------------------
+void CVmbxSatRefreshObserver::Refresh( TSatRefreshType aType, 
+                                const TSatRefreshFiles& aFiles )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSatRefreshObserver::Refresh =>" );
+    if ( EFileChangeNotification == aType )
+        {
+        const TInt elFile1( aFiles.Locate( KMbdnEf ) );// 6fc7 file
+        VMBLOGSTRING2( "VMBX: CVmbxSatRefreshObserver::Refresh: elFile1%I",
+         elFile1 );
+        // 6fc9 file, indecator for 6fc7 file
+        const TInt elFile2( aFiles.Locate( KMbiEf ) );
+        VMBLOGSTRING2( "VMBX: CVmbxSatRefreshObserver::Refresh: elFile2%I",
+         elFile2 );
+        // 6f17 file
+        const TInt elFile3( aFiles.Locate( KVmbxFile ) );
+        VMBLOGSTRING2( "VMBX: CVmbxSatRefreshObserver::Refresh: elFile3%I",
+         elFile3 );
+
+        if ( KErrNotFound != elFile1 || KErrNotFound != elFile2 
+                || KErrNotFound != KVmbxFile )
+            {
+            iObserver.HandleSatRefresh();
+            }
+        iSatRefresh.RefreshEFRead( EFalse );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxSatRefreshObserver::Refresh <=" );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxsimhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,161 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CVmbxSimHandler class
+*
+*/
+
+
+// INCLUDE FILES
+#include <mpbutil.h>
+#include <cvoicemailboxentry.h>
+
+#include "vmbxpbkstore.h"
+#include "vmbxlogger.h"
+#include "vmbxsimhandler.h"
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::CVmbxSimHandler
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxSimHandler::CVmbxSimHandler( )             
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::CVmbxSimHandler =>" );
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::CVmbxSimHandler <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmbxSimHandler::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::ConstructL =>" );
+#ifndef __WINS__
+    // open created phonebook
+    iPbkStore = CVmbxPbkStore::NewL();
+#endif
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxSimHandler* CVmbxSimHandler::NewL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::NewL =>" );
+    CVmbxSimHandler* self = new( ELeave ) CVmbxSimHandler();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::~CVmbxSimHandler
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVmbxSimHandler::~CVmbxSimHandler()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::~CVmbxSimHandler =>" );
+#ifndef __WINS__
+    delete iPbkStore;
+#endif
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::~CVmbxSimHandler <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::GetL
+// Fetches mailbox number from Sim
+// ---------------------------------------------------------------------------
+//
+void CVmbxSimHandler::GetL( CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::GetL =>" );
+    iPbkStore->GetL( aEntry );
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::GetL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::Save
+// Saves vmbx number to Sim
+// ---------------------------------------------------------------------------
+//
+TInt CVmbxSimHandler::Save( const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::Save =>" );
+    TInt result = iPbkStore->Write( aEntry );
+    VMBLOGSTRING2( "VMBX: CVmbxSimHandler::Save: result=%I <=", result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::IsWritable
+// Current file is writable
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxSimHandler::IsWritable()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::IsWritable: =>" );
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::IsWritable: <=" );
+    return iPbkStore->IsWritable();
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::PhoneBookType
+// Returns Sim file type
+// ---------------------------------------------------------------------------
+//
+TVmbxSimPhonebookType CVmbxSimHandler::PhoneBookType()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::PhoneBookType =>" );
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::PhoneBookType <=" );
+    return iPbkStore->PhoneBookType();
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::NotifyStoreEvent
+// Notify phonebook store evnet
+// ---------------------------------------------------------------------------
+//
+void CVmbxSimHandler::NotifyStoreEvent( TRequestStatus& aStatus,
+                                         TUint32& aEvent,
+                                         TInt& aIndex ) const
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::NotifyStoreEvent: =>" );
+    iPbkStore->PhonebookStore().NotifyStoreEvent( aStatus, aEvent, aIndex );
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::NotifyStoreEvent: <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxSimHandler::CancelAsyncRequest
+// Cancel phonebook store oberseved
+// ---------------------------------------------------------------------------
+//    
+void CVmbxSimHandler::CancelAsyncRequest( TInt aReqToCancel ) const
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::CancelAsyncRequest: =>" );
+    iPbkStore->PhonebookStore().CancelAsyncRequest( aReqToCancel );
+    VMBLOGSTRING( "VMBX: CVmbxSimHandler::CancelAsyncRequest: <=" );
+    }
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxsimstoreobserver.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of CVmbxSimStoreObserver class.
+*
+*/
+
+// INCLUDE FILES
+#include <etelmmcs.h>
+#include "vmbxsimstoreobserver.h"
+#include "vmbxsimhandler.h"
+#include "vmbxlogger.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CVmbxSimStoreObserver::CVmbxSimStoreObserver
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CVmbxSimStoreObserver::CVmbxSimStoreObserver( CVmbxSimHandler& aSimHandler,
+                                             MVmbxSimStoreObserver& aObserver )
+                                            : CActive( EPriorityStandard ),
+                                            iSimHandler( aSimHandler ),
+                                            iObserver( aObserver )
+    {
+    VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::CVmbxSimStoreObserver =>" );
+    CActiveScheduler::Add( this );
+    VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::CVmbxSimStoreObserver <=" );
+    }
+
+// -----------------------------------------------------------------------------
+// CVmbxSimStoreObserver::~CVmbxSimStoreObserver
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CVmbxSimStoreObserver::~CVmbxSimStoreObserver()
+    {
+    VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::~CVmbxSimStoreObserver =>" );
+    Cancel();
+    VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::~CVmbxSimStoreObserver <=" );
+    }
+
+// -----------------------------------------------------------------------------
+// CVmbxSimStoreObserver::NewL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+CVmbxSimStoreObserver* CVmbxSimStoreObserver::NewL( 
+    CVmbxSimHandler& aSimHandler, MVmbxSimStoreObserver& aObserver )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimStoreObserver::NewL =>" );
+    CVmbxSimStoreObserver* self = 
+        new( ELeave ) CVmbxSimStoreObserver( aSimHandler, aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxSimStoreObserver::NewL <=" );
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CVmbxSimStoreObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CVmbxSimStoreObserver::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxSimStoreObserver::ConstructL =>" );
+    ActivateL();
+    VMBLOGSTRING( "VMBX: CVmbxSimStoreObserver::ConstructL <=" );
+    }
+
+// -----------------------------------------------------------------------------
+// CVmbxSimStoreObserver::Activate
+//
+// -----------------------------------------------------------------------------
+//
+void CVmbxSimStoreObserver::ActivateL()
+   {
+   VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::ActivateL =>" );
+   if ( !IsActive() )
+        {
+        iSimHandler.NotifyStoreEvent( iStatus, iEvents, iIndex );
+        SetActive();    
+        }
+    else
+        {
+        User::Leave( KErrInUse );
+        }
+   VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::ActivateL <=" );
+   }
+
+// -----------------------------------------------------------------------------
+// CVmbxSimStoreObserver::RunL
+// -----------------------------------------------------------------------------
+//
+void CVmbxSimStoreObserver::RunL()
+    {
+    VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::RunL =>" );
+    // Activate the notication again
+    ActivateL();
+    iObserver.HandleSimStoreChanged();
+    VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::RunL <=" );
+    }
+
+// -----------------------------------------------------------------------------
+// CVmbxSimStoreObserver::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CVmbxSimStoreObserver::DoCancel()
+    {
+    VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::DoCancel =>" );
+    if ( IsActive() )
+        {
+        iSimHandler.CancelAsyncRequest( EMobilePhoneStoreNotifyStoreEvent );
+        }
+    VMBLOGSTRING( "VMBX:CVmbxSimStoreObserver::DoCancel <=" );
+    }
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxuihandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,197 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*
+*/
+
+// qt
+#include <QString>
+#include <QCoreApplication>
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+
+#include "vmbxqtuihandler.h"
+#include "voicemailboxdefsinternal.h"
+#include "vmbxuihandler.h"
+#include "vmbxlogger.h"
+
+// ======== MEMBER FUNCTIONS ==================================================
+
+// ----------------------------------------------------------------------------
+// CVmbxUiHandler::NewL
+// (Constructor).
+// ----------------------------------------------------------------------------
+//
+CVmbxUiHandler* CVmbxUiHandler::NewL()
+{
+    VMBLOGSTRING( "CVmbxUiHandler::CVmbxUiHandler" )
+    CVmbxUiHandler* handler = new( ELeave ) CVmbxUiHandler();
+    CleanupStack::PushL( handler );
+    handler->ConstructL();
+    CleanupStack::Pop( handler );
+    VMBLOGSTRING( "CVmbxUiHandler::CVmbxUiHandler Exit" )
+    return handler;
+}
+
+// ----------------------------------------------------------------------------
+// CVmbxUiHandler::ConstructL
+// (Constructor).
+// ----------------------------------------------------------------------------
+//
+void CVmbxUiHandler::ConstructL()
+{
+    VMBLOGSTRING( "CVmbxUiHandler::ConstructL" )
+    if ( qApp )
+        {
+        iHandler = new VmbxQtUiHandler;
+        }
+    else 
+        {
+        User::Leave(KErrNotSupported);
+        }
+    VMBLOGSTRING( "CVmbxUiHandler::ConstructL Exit" )
+}
+
+// ----------------------------------------------------------------------------
+// CVmbxUiHandler::CVmbxUiHandler
+// (Constructor).
+// ----------------------------------------------------------------------------
+//
+CVmbxUiHandler::CVmbxUiHandler()
+{
+    VMBLOGSTRING( "CVmbxUiHandler::CVmbxUiHandler" )
+    VMBLOGSTRING( "CVmbxUiHandler::CVmbxUiHandler Exit" )
+}
+
+// ----------------------------------------------------------------------------
+// CVmbxUiHandler::~CVmbxUiHandler
+// (Destructor).
+// ----------------------------------------------------------------------------
+//
+CVmbxUiHandler::~CVmbxUiHandler()
+{
+    VMBLOGSTRING( "CVmbxUiHandler::~CVmbxUiHandler" )
+    delete iHandler;
+    VMBLOGSTRING( "CVmbxUiHandler::~CVmbxUiHandler Exit" )
+}
+
+// ----------------------------------------------------------------------------
+// CVmbxUiHandler::ShowVmbxQueryDialogL
+// (Show query dialog).
+// ----------------------------------------------------------------------------
+//
+void CVmbxUiHandler::ShowVmbxQueryDialogL(const TVmbxType& aType,
+                          TDes& aNumber, TInt& aResult)
+{
+    VMBLOGSTRING( "CVmbxUiHandler::ShowVmbxQueryDialog" )
+    if ( iHandler )
+        {
+        QString vmbxNumber;
+        if ( aNumber.Length() > 0 )
+            {
+            vmbxNumber=QString::fromUtf16(aNumber.Ptr(), aNumber.Length());
+            }
+        QT_TRYCATCH_LEAVING(
+            iHandler->showVmbxQueryDialog( aType, vmbxNumber, aResult ));
+        aNumber = vmbxNumber.utf16();
+        VMBLOGSTRING2( "CVmbxUiHandler::ShowVmbxQueryDialogL:\
+            aNumber = %S", &aNumber );
+        }
+    VMBLOGSTRING( "CVmbxUiHandler::ShowVmbxQueryDialogL Exit" )
+}
+
+// ----------------------------------------------------------------------------
+// CVmbxUiHandler::ShowDefineSelectionDialogL
+// (Show define slection dialog).
+// ----------------------------------------------------------------------------
+//
+void CVmbxUiHandler::ShowDefineSelectionDialogL( TVmbxType& aType,
+       TInt& aResult )
+{
+    VMBLOGSTRING( "CVmbxUiHandler::ShowDefineSelectionDialog" )
+    if ( iHandler )
+        {
+        QT_TRYCATCH_LEAVING(iHandler->showDefineSelectionDialog( aType, aResult ));
+        VMBLOGSTRING2( "CVmbxUiHandler::ShowDefineSelectionDialogL:\
+            aType = %d", aType );
+        VMBLOGSTRING2( "CVmbxUiHandler::ShowDefineSelectionDialogL:\
+            aResult = %d", aResult );
+        }
+    VMBLOGSTRING( "CVmbxUiHandler::ShowDefineSelectionDialogL Exit" )
+
+}
+
+// ----------------------------------------------------------------------------
+// CVmbxUiHandler::ShowCallSelectionDialogL
+// (Show call selection dialog).
+// ----------------------------------------------------------------------------
+//
+void CVmbxUiHandler::ShowCallSelectionDialogL(
+            const RPointerArray<CVoiceMailboxEntry>& aArray,
+            TVoiceMailboxParams& aParams, TInt& aResult )
+{
+    VMBLOGSTRING( "CVmbxUiHandler::ShowCallSelectionDialogL" )
+    if ( iHandler )
+        {
+        TInt count = aArray.Count();
+        VMBLOGSTRING2("CVmbxUiHandler::showCallSelectionDialogL count = %d",
+            count)
+        if (count < 1)
+            {
+            VMBLOGSTRING("CVmbxUiHandler::showCallSelectionDialogL leave<=")
+            User::Leave(KErrArgument);
+            }
+        QList<CVoiceMailboxEntry* > entryList;
+        for ( int i = 0; i < aArray.Count(); i++ )
+            {
+            entryList.append(aArray[i]);
+            }
+        QT_TRYCATCH_LEAVING(
+            iHandler->showCallSelectionDialog( entryList, aParams, aResult ));
+        VMBLOGSTRING2( "CVmbxUiHandler::ShowCallSelectionDialogL:\
+            aResult = %d", aResult );
+        }
+    VMBLOGSTRING( "CVmbxUiHandler::ShowCallSelectionDialogL" )
+}
+
+// ----------------------------------------------------------------------------
+// CVmbxUiHandler::ShowInformationdNoteL
+// ----------------------------------------------------------------------------
+//
+void CVmbxUiHandler::ShowInformationdNoteL(const TVmbxNoteType aType)
+{
+    VMBLOGSTRING( "CVmbxUiHandler::ShowInformationdNoteL" )
+    if ( iHandler )
+        {
+        QT_TRYCATCH_LEAVING(iHandler->showInformationNote(aType));
+        }
+    VMBLOGSTRING( "CVmbxUiHandler::ShowInformationdNoteL Exit" )
+}
+
+// ----------------------------------------------------------------------------
+// CVmbxUiHandler::ShowInvalidWarningNoteL
+// ----------------------------------------------------------------------------
+//
+void CVmbxUiHandler::ShowInvalidWarningNoteL()
+{
+    VMBLOGSTRING( "CVmbxUiHandler::ShowInvalidWarningNoteL" )
+    if ( iHandler )
+        {
+        QT_TRYCATCH_LEAVING(iHandler->showInformationNote( EInvalidNumber ));
+        }
+    VMBLOGSTRING( "CVmbxUiHandler::ShowInvalidWarningNoteL Exit" )
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxuiutilities.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,309 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the VmbxUtilities class
+*
+*/
+
+
+// INCLUDE FILES
+#include <cvoicemailboxentry.h>
+
+#include "voicemailboxdefsinternal.h"
+#include "vmbxutilities.h"
+#include "vmbxlogger.h"
+#include "vmbxuiutilities.h"
+#include "vmbxuihandler.h"
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::CVmbxUiUtilities
+// C++ default constructor can NOT contain any code
+// ---------------------------------------------------------------------------
+CVmbxUiUtilities::CVmbxUiUtilities()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::CVmbxUiUtilities <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::~CVmbxUiUtilities
+// Destructor
+// ---------------------------------------------------------------------------
+CVmbxUiUtilities::~CVmbxUiUtilities()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::~CVmbxUiUtilities =>" );
+    delete iUiHandler;
+    //If there are still dialog is running, The dialogs should be dismissed.
+    //The leave will be ignored as the CVmbxUiUtilities is distructing
+    TRAP_IGNORE( DismissDialogL() );
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::~CVmbxUiUtilities <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxUiUtilities* CVmbxUiUtilities::NewL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::NewL =>" );
+    CVmbxUiUtilities* vmbx = new( ELeave )CVmbxUiUtilities();
+    CleanupStack::PushL( vmbx );
+    vmbx->ConstructL();
+    CleanupStack::Pop( vmbx );
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::NewL <=" );
+    return vmbx;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::ConstructL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ConstructL =>" );
+    // create resource handler
+    TRAP_IGNORE(iUiHandler = CVmbxUiHandler::NewL());
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::ShowQuery
+// Show query
+// ---------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::ShowQueryL( const TVmbxType& aType,
+        const TVmbxQueryMode & aMode, TDes& aNumber )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowQueryL =>" );
+    VMBLOGSTRING3( "VMBX: CVmbxUiUtilities::ShowQueryL: aMode=%d aNumber=%S ",
+                    aMode, &aNumber );
+    if ( !iUiHandler ) 
+        {
+        VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowQueryL no qt env Exit" )
+        User::Leave(KErrNotSupported);
+        }
+    
+    // Show "define mailbox number" notification at define mode
+    if (EVmbxDefineMode == aMode) {
+        switch( aType ) {
+        case EVmbxVoice:
+            ShowInformationdNoteL(EDefineVoiceNumber);
+            break;
+        case EVmbxVideo:
+            ShowInformationdNoteL(EDefineVideoNumber);
+            break;
+        default:
+            break;
+        }
+    }
+    
+    TInt result( KErrNone );
+    FOREVER
+        {
+        ShowQueryDialogL( aType, aMode, aNumber, result );
+        if ( KErrCancel == result )
+            {
+            break;
+            }
+
+        if ( KErrNone == result )
+            {
+            if ( aNumber.Length() )
+                {
+                // Convert back to western digits
+                // check the given number here (emergency numbers not allowed)
+                if ( VmbxUtilities::IsValidPhoneNumber( aNumber )
+                     && !VmbxUtilities::IsEmergencyNumber( aNumber ) )
+                    {
+                    break;
+                    }// valid number
+                else
+                    {
+                    //invalid dialog
+                    ShowInvalidWarningDialogL();
+                    continue;
+                    }// invalid number
+                }
+            else
+                {
+                result = KErrNone;
+                break;
+                }// number NULL
+            }
+        }// End FOREVER
+    VMBLOGSTRING2( "VMBX: CVmbxUiUtilities::ShowQueryL: result=%I ", result );
+    User::LeaveIfError( result );
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowQueryL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::ShowInformationdNote
+//
+// ---------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::ShowInformationdNoteL(const TVmbxNoteType aType )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowInformationdNoteL =>" );
+    if ( iUiHandler ) 
+        {
+        iUiHandler->ShowInformationdNoteL( aType );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowInformationdNoteL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::ShowDefineSelectionDialogL
+// Show define number in selection list
+// ---------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::ShowDefineSelectionDialogL( TVmbxType& aType,
+                                                         TInt& aResult )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowDefineSelectionDialogL =>" );
+    if (!iUiHandler ) 
+        {
+        VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowDefineSelectionDialogL\
+            no qt env Exit" )
+        User::Leave(KErrNotSupported);
+        }
+    iUiHandler->ShowDefineSelectionDialogL( aType, aResult );
+    VMBLOGSTRING3( "VMBX: CVmbxUiUtilities::ShowDefineSelectionDialogL: \
+                     aType=%I, aResult=%I <=", aType, aResult );
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowDefineSelectionDialogL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::ShowCallSelectionDialogL
+// Show call number in selection list
+// ---------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::ShowCallSelectionDialogL(
+                    const RPointerArray<CVoiceMailboxEntry>& aArray,
+                    TVoiceMailboxParams& aParams,
+                    TInt& aResult )
+    {
+    VMBLOGSTRING("VMBX: CVmbxUiUtilities::ShowCallSelectionDialogL  =>");
+    if (!iUiHandler) 
+        {
+        VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowCallSelectionDialogL\
+            no qt env Exit" )
+        User::Leave(KErrNotSupported);
+        }
+    if ( aArray.Count() < 1 )
+        {
+        User::Leave( KErrArgument );
+        }
+    iUiHandler->ShowCallSelectionDialogL( aArray, aParams, aResult );
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowCallSelectionDialogL <=" );
+    }
+
+// --------------------------------------------------------------------------
+// CVmbxUiUtilities::ShowNotAllowedEditingDialogL
+// --------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::ShowNotAllowedEditingDialogL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowNotAllowedEditingDialogL =>" );
+    // Information user can't edit.
+    if ( iUiHandler) 
+        {
+        iUiHandler->ShowInformationdNoteL( ENotAllowUserEditing );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowNotAllowedEditingDialogL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::ShowInvalidWarningDialogL
+//
+// ---------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::ShowInvalidWarningDialogL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowInvalidWarningDialogL =>" );
+    if ( iUiHandler) 
+        {
+        iUiHandler->ShowInformationdNoteL( EInvalidNumber );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowInvalidWarningDialogL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::DismissDialogL
+// Tries to close all open dialogs
+// ---------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::DismissDialogL()
+    {
+    VMBLOGSTRING( 
+    "VMBX: CVmbxUiUtilities::DismissDialogL EMPTY IMPLEMENTATION!=>" );
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::DismissDialogL <=" );
+    }
+
+// Commented out because branding is not supported yet.
+// ---------------------------------------------------------------------------
+// CVmbxUiUtilities::GetVmbxImageL
+//
+// ---------------------------------------------------------------------------
+/*
+CGulIcon* CVmbxUiUtilities::GetVmbxImageL(
+                        const TVoiceMailboxParams& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::GetVmbxImageL" );
+*/
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::ShowQueryDialogL
+// Show query dialog
+// ---------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::ShowQueryDialogL( const TVmbxType& aType,
+                                         const TVmbxQueryMode& /*aMode*/,
+                                         TDes& aNumber, TInt& aResult )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowQueryDialogL =>" );
+
+    if( EVmbxVideo != aType && EVmbxVoice != aType  )
+        {
+        VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowQueryDialogL: \
+                            User::Leave( KErrNotSupported )" );
+        User::Leave( KErrArgument );
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxUiUtilities::ShowQueryDialogL: in\
+    aNumber = %S", &aNumber );
+    // to show dialog via qt part
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::ShowQueryDialogL to show qt" );
+    iUiHandler->ShowVmbxQueryDialogL( aType, aNumber, aResult );
+    VMBLOGSTRING2( "VMBX: CVmbxUiUtilities::ShowQueryDialogL: out\
+    aNumber = %S", &aNumber );
+    VMBLOGSTRING2( "VMBX: CVmbxUiUtilities::ShowQueryDialogL: aResult=%I <=",
+     aResult );
+    }
+
+// -----------------------------------------------------------------------------
+// CVmbxUiUtilities::FetchNumberFromPhonebook2L
+// Create and show Phonebook's Single Fetch Dialog
+// -----------------------------------------------------------------------------
+//
+void CVmbxUiUtilities::FetchNumberFromPhonebook2L( 
+                                          TDes& /*aPhoneNumber*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::FetchNumberFromPhonebook2L =>" );
+    /* TODO: Later remove this or replace with some Qt Phonebook API
+        */
+    VMBLOGSTRING( "VMBX: CVmbxUiUtilities::FetchNumberFromPhonebook2L <=" );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxutilities.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,246 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the VmbxUtilities class
+*
+*/
+
+
+// INCLUDE FILES
+#include <featmgr.h>
+#include <msssettingsobserver.h> // ALS changes
+
+#include "vmbxlogger.h"
+#include "vmbxcenrephandler.h"
+#include "vmbxemergencycall.h"
+#include "vmbxutilities.h"
+#include "voicemailboxdefsinternal.h"
+
+// CONSTANTS
+const TInt KVmbxPhoneNumMinLength = 2;
+const TInt KVmbxPhoneNumMaxLength = 40;
+
+_LIT( KAllowedTelNumChars, "0123456789" );
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::IsValidPhoneNumber
+// Validates phone number
+// ---------------------------------------------------------------------------
+//
+TBool VmbxUtilities::IsValidPhoneNumber( const TDesC& aNumber )
+    {
+    VMBLOGSTRING( "VMBX: VmbxUtilities::IsValidPhoneNumber: =>" );
+    TBool result( EFalse );
+    if ( KVmbxPhoneNumMinLength < aNumber.Length() 
+        && KVmbxPhoneCharMaxLength >= aNumber.Length() )
+        {
+        VMBLOGSTRING2( "VMBX: VmbxUtilities::IsValidPhoneNumber: aNumber %S",
+        &aNumber );
+        TLex lexer( aNumber );
+        lexer.SkipSpace();
+        TChar current = lexer.Peek();
+        // If no SS code then consider this is valid and return true.    
+        if ( '*' == current )
+            {
+            // check whether accord ss regulation,
+            lexer.Inc(); // Skip first *
+            }
+    result = ValidateTelNum( lexer );
+    // If zero length then consider as valid and return value of 
+    // result, If not the end of the string, check if it's DTMF numbers
+    if ( !lexer.Eos() && result )
+        {
+        result = ValdateDtmfPart( lexer );
+        }
+    }
+    VMBLOGSTRING2( "VMBX: VmbxUtilities::IsValidPhoneNumber: result = %d<=",
+        result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::AlsLine
+// 
+// ---------------------------------------------------------------------------
+//
+TVmbxAlsLineType VmbxUtilities::AlsLine()
+    {
+    VMBLOGSTRING( "VMBX: VmbxUtilities::AlsLine: =>" );
+    TInt ssLine( ESSSettingsAlsNotSupported );
+    TVmbxAlsLineType alsLine( EVmbxAlsLineDefault );
+    RSSSettings ssSettings;
+    TInt res = ssSettings.Open();
+    if( KErrNone == res )
+        {
+        res = ssSettings.Get( ESSSettingsAls, ssLine );
+        if( KErrNone == res )
+            {
+            if ( ESSSettingsAlsAlternate == ssLine )
+                 {
+                 alsLine = EVmbxAlsLine2;
+                 }
+            else if ( ESSSettingsAlsPrimary == ssLine )
+                {
+                 alsLine = EVmbxAlsLine1;
+                }
+            }
+        }
+    ssSettings.Close();
+    VMBLOGSTRING2( "VMBX: VmbxUtilities::AlsLine: alsLine=%I <=",
+       alsLine );
+    return alsLine;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxUiUtilities::VideoSupported
+// 
+// ---------------------------------------------------------------------------
+//
+TBool VmbxUtilities::VideoSupported()
+    {
+    VMBLOGSTRING( "VMBX: VmbxUtilities::VideoSupported: =>" );
+    TBool result( EFalse );
+    
+    if ( FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
+        {
+        CVmbxCenRepHandler* cenRepHandler( NULL );
+        // TRAP_IGNORE for no leave function
+        TRAP_IGNORE( cenRepHandler = CVmbxCenRepHandler::NewL() );
+        if ( cenRepHandler )
+            {
+            result = cenRepHandler->VideoSupported();
+            }
+        delete cenRepHandler;
+        cenRepHandler = NULL;
+        }
+    VMBLOGSTRING2( "VMBX: VmbxUtilities::VideoSupported: %d <=", result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// VmbxUtilities::IsEmergencyNumber
+// Verifies if the given number is an emergency number
+// ---------------------------------------------------------------------------
+//
+TBool VmbxUtilities::IsEmergencyNumber( const TDesC& aNumber )
+    {
+    VMBLOGSTRING( "VMBX: VmbxUtilities::IsEmergencyNumber: =>" );
+    TBool result( EFalse );
+    CVmbxEmergencyCall* emergencyCall( NULL );
+    // TRAP_IGNORE for no leave function
+    TRAP_IGNORE( emergencyCall = CVmbxEmergencyCall::NewL() );
+    if ( emergencyCall )
+        {
+        result = emergencyCall->IsEmergencyNumber( aNumber );
+        }
+    delete emergencyCall;
+    emergencyCall = NULL;
+    VMBLOGSTRING2( "VMBX: VmbxUtilities::IsEmergencyNumber: result%d <=", 
+            result);
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxUiUtilities::VoIPSupported
+// 
+// ---------------------------------------------------------------------------
+//
+TBool VmbxUtilities::VoIPSupported()
+    {
+    VMBLOGSTRING( "VMBX: VmbxUtilities::VoIPSupported: <=>" );
+    return FeatureManager::FeatureSupported( KFeatureIdCommonVoip );
+    }
+
+// -----------------------------------------------------------------------------
+// VmbxUtilities::ValidateTelNum
+// Parses string until end or invalid tel number character is found.
+// Check number length.
+// -----------------------------------------------------------------------------
+//  
+TBool VmbxUtilities::ValidateTelNum( TLex& aLexer ) 
+    {
+    VMBLOGSTRING( "VMBX: VmbxUtilities::ValidateTelNum: =>" );
+    TBool result( ETrue );
+
+    // Skip country code prefix '+'
+    if ( '+' == aLexer.Peek() )
+        {
+        aLexer.Inc(); // Skip country code separator
+        }
+
+    TInt telNumDigits( 0 );
+    TBool invalidCharFound( EFalse );
+    // Parse until invalid telnumber char found
+    while ( !aLexer.Eos() && !invalidCharFound )
+        {
+        const TChar nextChar = aLexer.Peek();
+        // Check validSS chars
+        if ( KErrNotFound == KAllowedTelNumChars().Locate( nextChar ) )
+            {
+            // Invalid char found so string before it is the tel number part
+            invalidCharFound = ETrue;
+            }
+        else
+            {
+            aLexer.Inc();
+            telNumDigits++;
+            }
+        }
+
+    VMBLOGSTRING2( "VMBX: VmbxUtilities::ValidateTelNum:\
+        telNumDigits %d", telNumDigits );
+    // digitlength <3 or digit length>40, invalid telnumber
+    if ( KVmbxPhoneNumMinLength >= telNumDigits 
+        || KVmbxPhoneNumMaxLength < telNumDigits 
+        )
+        {
+        result = EFalse;
+        }
+    VMBLOGSTRING2( "VMBX: VmbxUtilities::ValidateTelNum:\
+         result %d<=", result );
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// VmbxUtilities::ValdateDtmfPart
+// Parse string until end and validate for allowed characters.
+// -----------------------------------------------------------------------------
+//       
+TBool VmbxUtilities::ValdateDtmfPart( TLex& aLexer )
+    {
+    VMBLOGSTRING( "VMBX: VmbxUtilities::ValdateDtmfPart: =>" );
+    // DTMF string consists of following three parts:
+    // the first part of the string is a phone number,
+    // the second part of the string a DTMF special character (p, w or +),
+    // the last third part is an actual DTMF tone string, which is sent to the
+    // remote end.
+    TBool result( EFalse );
+    // check the second part of the string
+    const TChar nextChar = aLexer.Peek();
+    // Check DTMF number discover or not
+    if ( 'p' == nextChar || 'P' == nextChar 
+        || 'w'== nextChar || 'W' == nextChar || '+' == nextChar )
+        {
+        // After DTMF char, is tone string, there is no specfic rule about tone string,
+        // so just do a simple check.
+        result = ETrue;
+        VMBLOGSTRING( "VMBX: VmbxUtilities::ValdateDtmfPart DtmfNumberDiscover" );
+        }
+    VMBLOGSTRING2( "VMBX: VmbxUtilities::ValdateDtmfPart: result = %d<=",
+        result );
+    return result;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmbxvoipengine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,325 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the CVmbxVoIpEngine class
+*
+*/
+
+// INCLUDE FILES
+#include <fbs.h>
+#include <cvoicemailboxentry.h>
+
+#include "vmbxenginebase.h"
+#include "vmbxlogger.h"
+#include "vmbxuiutilities.h"
+#include "vmbxutilities.h"
+#include "vmspshandler.h"
+#include "vmbshandler.h"
+#include "voicemailboxdefsinternal.h"
+#include "vmbxvoipengine.h"
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::CVmbxVoIpEngine
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVmbxVoIpEngine::CVmbxVoIpEngine( MVmbxResourceProvider& aProvider )
+                                : CVmbxEngineBase( aProvider )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::CVmbxVoIpEngine =>" );
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::CVmbxVoIpEngine <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::~CVmbxVoIpEngine
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxVoIpEngine::~CVmbxVoIpEngine()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::~CVmbxVoIpEngine =>" );
+    delete iVmSpsHandler;
+    delete iVmBsHandler;
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::~CVmbxVoIpEngine <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmbxVoIpEngine* CVmbxVoIpEngine::NewL( MVmbxResourceProvider& aProvider)
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::NewL =>" );
+    if ( !VmbxUtilities::VoIPSupported() )
+        {
+        User::Leave( KErrNotSupported );
+        }
+
+    CVmbxVoIpEngine* self = new( ELeave ) CVmbxVoIpEngine( aProvider );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmbxVoIpEngine::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::ConstructL =>" );
+    if ( VmbxUtilities::VoIPSupported() )
+        {
+        iVmSpsHandler = CVmSPSHandler::NewL();
+        }
+
+    iVmBsHandler = CVmBSHandler::NewL();
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::GetL
+// Gets voice mailbox number
+// ---------------------------------------------------------------------------
+//
+void CVmbxVoIpEngine::GetL( CVoiceMailboxEntry*& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetL =>" );
+    TInt result( KErrNone );
+    CVoiceMailboxEntry* vmbxEntry = CVoiceMailboxEntry::NewLC();
+
+    vmbxEntry->SetVoiceMailboxType( EVmbxVoip );
+    vmbxEntry->SetServiceId( iVmbxServiceId );
+
+    HBufC8* brandId = HBufC8::NewLC( KSPMaxDesLength );
+    TPtr8 ptr( brandId->Des() );
+    BrandIdL( iVmbxServiceId, ptr );
+    // set brand id
+    result = vmbxEntry->SetBrandId( ptr );
+    CleanupStack::PopAndDestroy( brandId );
+    if ( KErrNone == result )
+        {
+        TVmbxServiceInfo serviceInfo;
+        serviceInfo.iServiceId = iVmbxServiceId;
+        result = GetServiceInfo( serviceInfo );
+        if ( KErrNone == result )
+            {
+            // set voip name
+            result = vmbxEntry->SetVmbxName( serviceInfo.iName );
+            if ( KErrNone == result )
+                {
+                // set voip address
+                result = vmbxEntry->SetVmbxNumber( serviceInfo.iAddress );
+                }
+            }
+        }
+    VMBLOGSTRING2( "VMBX: CVmbxVoIpEngine::GetL: result=%I", result );
+    User::LeaveIfError( result );
+    CleanupStack::Pop( vmbxEntry );
+    aEntry = vmbxEntry;
+    vmbxEntry = NULL;
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::SaveL
+// Saves voice mailbox number
+// ---------------------------------------------------------------------------
+//
+void CVmbxVoIpEngine::SaveL( const CVoiceMailboxEntry& /*aEntry*/,
+                             TBool /*aShowNotesAllowed*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::SaveL <=>" );
+    User::Leave( KErrNotSupported );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::SaveProvisionedEntryL
+// Saves Provisioned voice mailbox number
+// ---------------------------------------------------------------------------
+//
+void CVmbxVoIpEngine::SaveProvisionedEntryL( 
+                                const CVoiceMailboxEntry& /*aEntry*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::SaveProvisionedEntryL <=>" );
+    User::Leave( KErrNotSupported );
+    }
+
+// ----------------------------------------------------------------------------
+//  CVmbxVoIpEngine::CheckConfiguration()
+// ----------------------------------------------------------------------------
+//
+TBool CVmbxVoIpEngine::CheckConfiguration( 
+        const TVoiceMailboxParams& aParams, const TInt aFlags )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::CheckConfiguration: =>" );
+    TBool result( EFalse );
+    result = CVmbxEngineBase::CheckConfiguration(aParams, aFlags);
+    VMBLOGSTRING2( "VMBX: CVmbxVoIpEngine::CheckConfiguration: result%I <=",
+     result );
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::QueryDefineNumberL
+//
+// ---------------------------------------------------------------------------
+//
+void CVmbxVoIpEngine::QueryDefineNumberL( CVoiceMailboxEntry& /*aEntry*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::QueryDefineNumberL <=>" );
+    User::Leave( KErrNotSupported );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmbxEngineBase::QueryChangeNumberL
+//
+// ----------------------------------------------------------------------------
+//
+void CVmbxVoIpEngine::QueryChangeNumberL( CVoiceMailboxEntry& /*aEntry*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::QueryChangeNumberL <=>" );
+    User::Leave( KErrNotSupported );        
+    }
+
+// Commented out because branding is not supported yet.
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::GetVmbxImageL
+// 
+// ---------------------------------------------------------------------------
+//
+/* CGulIcon* CVmbxVoIpEngine::GetVmbxImageL( const TVoiceMailboxParams& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetVmbxImageL =>" );
+    CGulIcon* guiIcon( NULL );
+    if ( IsVoIPProfilesFound() )
+        {
+        TBuf8<KSPMaxDesLength> brandId( KNullDesC8 );
+        BrandIdL(aParams.iServiceId, brandId );
+
+        CFbsBitmap* brandedBitmap( NULL );
+        CFbsBitmap* brandedBitmapMask( NULL );  
+        TRAPD( err, GetBrandedIconL( 
+                        brandId, brandedBitmap, brandedBitmapMask ) );
+
+        if ( KErrNotFound == err )
+            {
+            VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetVmbxImageL: \
+                                                 no found profiles<= " );
+            guiIcon = iProvider.VmbxUiUtilities().GetVmbxImageL( aParams );
+            }
+        else if ( KErrNone == err )
+            {
+            guiIcon = 
+                       CGulIcon::NewL( brandedBitmap, brandedBitmapMask );
+            VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetVmbxImageL: \
+                            found profiles" );
+            }
+        }
+    else
+        {
+        VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetVmbxImageL: use default " );
+        guiIcon = iProvider.VmbxUiUtilities().GetVmbxImageL( aParams );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetVmbxImageL <=" );
+    return guiIcon; 
+    } */
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::IsVoIPProfilesFound
+// 
+// ---------------------------------------------------------------------------
+//
+TBool CVmbxVoIpEngine::IsVoIPProfilesFound()
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::IsVoIPProfilesFound <=>" );
+    return iVmSpsHandler->IsVoIPProfilesFound();
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::GetServiceIds
+// 
+// ---------------------------------------------------------------------------
+//
+void CVmbxVoIpEngine::GetServiceIdsL( RIdArray& aProfileIds )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetServiceIds: =>" );
+    if ( VmbxUtilities::VoIPSupported() && IsVoIPProfilesFound() )
+        {
+        iVmSpsHandler->GetServiceIdsL( aProfileIds );
+        }
+    else
+        {
+        User::Leave( KErrNotFound );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetServiceIds: <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::GetBrandedIconL
+// 
+// ---------------------------------------------------------------------------
+//
+/* void CVmbxVoIpEngine::GetBrandedIconL( const TDesC8& aBrandingId,
+    CFbsBitmap*& aBrandedBitmap, CFbsBitmap*& aBrandedBitmapMask )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetBrandedIconL: =>" );
+
+    iVmBsHandler->GetBrandedIconL( 
+                aBrandingId, aBrandedBitmap, aBrandedBitmapMask );
+    
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetBrandedIconL: <=" );
+    }
+ */
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::BrandIdL
+// 
+// ---------------------------------------------------------------------------
+//
+void CVmbxVoIpEngine::BrandIdL( TInt aServiceId, TDes8& aBrandId )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::BrandIdL: =>" );
+
+    if ( VmbxUtilities::VoIPSupported() )
+        {
+        iVmSpsHandler->BrandIdL( aServiceId, aBrandId );
+        }
+
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::BrandIdL: <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmbxVoIpEngine::GetServiceInfo
+// 
+// ---------------------------------------------------------------------------
+//
+TInt CVmbxVoIpEngine::GetServiceInfo( TVmbxServiceInfo& aServiceInfo )
+    {
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetServiceInfo: =>" );
+    TInt ret( KErrNotFound );
+    if ( VmbxUtilities::VoIPSupported() )
+        {
+        ret = iVmSpsHandler->GetServiceInfo( aServiceInfo );
+        }
+    VMBLOGSTRING( "VMBX: CVmbxVoIpEngine::GetServiceInfo: <=" );
+    return ret;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmsettingsuiiconfileprovider.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* 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: Implementation of CVmSettingsUiIconFileProvider class.
+*
+*/
+
+#include "vmbxlogger.h"
+#include "vmsettingsuiiconfileprovider.h"
+
+// ================= MEMBER FUNCTIONS ==========================================
+
+// -----------------------------------------------------------------------------
+// CVmSettingsUiIconFileProvider::CVmSettingsUiIconFileProvider
+//
+// -----------------------------------------------------------------------------
+//
+CVmSettingsUiIconFileProvider::CVmSettingsUiIconFileProvider()
+    {
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::CVmSettingsUiIconFileProvider <=>" );
+    }
+
+// -----------------------------------------------------------------------------
+// CVmSettingsUiIconFileProvider::~CVmSettingsUiIconFileProvider
+//
+// -----------------------------------------------------------------------------
+//
+CVmSettingsUiIconFileProvider::~CVmSettingsUiIconFileProvider()
+    {
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::~CVmSettingsUiIconFileProvider <=" );
+    iFile.Close();
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::~CVmSettingsUiIconFileProvider =>" );
+    }
+
+// -----------------------------------------------------------------------------
+// CVmSettingsUiIconFileProvider::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CVmSettingsUiIconFileProvider::ConstructL( RFile& aFile )
+    {
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::ConstructL <=" );
+    User::LeaveIfError( iFile.Duplicate( aFile ) );
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::ConstructL =>" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmSettingsUiIconFileProvider::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CVmSettingsUiIconFileProvider* CVmSettingsUiIconFileProvider::NewL(
+    RFile& aFile )
+    {
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::NewL <=" );
+    CVmSettingsUiIconFileProvider* self =
+        new ( ELeave ) CVmSettingsUiIconFileProvider();
+    CleanupStack::PushL( self );
+    self->ConstructL( aFile );
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::NewL =>" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// From MAknIconFileProvider
+//
+// ---------------------------------------------------------------------------
+//
+void CVmSettingsUiIconFileProvider::RetrieveIconFileHandleL(
+    RFile& aFile, const TIconFileType /*aType*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::RetrieveIconFileHandleL <=" );
+    // duplicate the file's handle
+    User::LeaveIfError( aFile.Duplicate( iFile ) );
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::RetrieveIconFileHandleL =>" );
+    }
+
+// ---------------------------------------------------------------------------
+// From MAknIconFileProvider
+//
+// ---------------------------------------------------------------------------
+//
+void CVmSettingsUiIconFileProvider::Finished()
+    {
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::Finished <=" );
+    delete this;
+    VMBLOGSTRING( "VMBX: CVmSettingsUiIconFileProvider::Finished =>" );
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/vmspshandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,432 @@
+/*
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CVmSPSHandler class.
+*
+*/
+
+// INCLUDE FILES
+#include <spsettings.h>
+#include <spentry.h>
+#include <spproperty.h>
+#include <spnotifychange.h>
+#include <featmgr.h>
+#include "vmspshandler.h"
+#include "voicemailboxdefsinternal.h"
+
+#include "vmbxlogger.h"
+
+
+// CONSTANTS
+/**  Maximum length of descriptor data */
+const TInt KVmbxMaxDesLength = 512;
+
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::CVmSPSHandler
+// C++ default constructor can NOT contain any code, that might leave.
+// ---------------------------------------------------------------------------
+//
+CVmSPSHandler::CVmSPSHandler()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::ConstructL
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CVmSPSHandler::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::ConstructL =>" );
+    iSettings = CSPSettings::NewL();
+    iSpsSettingsVoipUtils = CSPSettingsVoIPUtils::NewL();
+
+    iNotifier = CSPNotifyChange::NewL( *this );
+
+    // Subscribe to service change notifies
+    // Empty array so that new services will be notified also
+    RIdArray array;
+    CleanupClosePushL( array );
+    // Commented out because voip is not supported yet.
+    //iNotifier->NotifyChangeL( iServiceIds );
+    iNotifier->NotifyChangeL( array );
+    CleanupStack::PopAndDestroy( &array );
+     VMBLOGSTRING( "VMBX: CVmSPSHandler::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmSPSHandler* CVmSPSHandler::NewL( )
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::NewL =>" );
+    CVmSPSHandler* self = CVmSPSHandler::NewLC();
+    CleanupStack::Pop( self );
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::NewL <=" );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVmSPSHandler* CVmSPSHandler::NewLC()
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::NewLC =>" );
+    CVmSPSHandler* self = new (ELeave) CVmSPSHandler();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::NewLC <=" );
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::~CVmSPSHandler
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVmSPSHandler::~CVmSPSHandler()
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::~CVmSPSHandler =>" );
+    iObserver = NULL;
+
+    if ( iNotifier )
+        {
+        iNotifier->Cancel();
+        delete iNotifier;
+        }
+
+    delete iSettings;
+
+    delete iSpsSettingsVoipUtils;
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::~CVmSPSHandler <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::GetServiceIdsL
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+void CVmSPSHandler::GetServiceIdsL( RArray<TUint>& aServiceIds ) const
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceIdsL =>" );
+    RArray<TUint> serviceIds;
+    CleanupClosePushL( serviceIds );
+    // Get all service Ids and..
+    iSettings->FindServiceIdsL( serviceIds );
+    // ..remove service if VMBX is not defined or if VMBX address is empty
+    for ( TInt i( 0 ); i <  serviceIds.Count(); i++ )
+        {
+        if ( IsVbmxSupportedL( serviceIds[ i ] ) )
+            {
+            aServiceIds.Append( serviceIds[ i ] );
+            }
+        }
+
+    VMBLOGSTRING2( "VMBX: CVmSPSHandler::GetServiceIdsL: found %d \
+        Voip mailbox services", serviceIds.Count() );
+
+    CleanupStack::PopAndDestroy( &serviceIds );
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceIdsL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::IsVbmxSupportedL
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+TBool CVmSPSHandler::IsVbmxSupportedL( TUint32 aServiceId ) const
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::IsVbmxSupportedL =>" );
+    TBool supported( EFalse );
+    // Get entry
+    CSPEntry* entry = CSPEntry::NewLC();
+    iSettings->FindEntryL( aServiceId, *entry );
+
+    // Get all service properties a.k.a subservices
+    RPropertyArray properties;
+    properties = entry->GetAllProperties();
+
+    TServicePropertyName propertyName;
+
+    for ( TInt i( 0 ); i < properties.Count() && !supported; i++ )
+        {
+        propertyName = properties[ i ]->GetName();
+
+        supported = propertyName == EPropertyVMBXSubServicePluginId;
+
+        if ( supported )
+            {
+            TVmbxServiceInfo serviceInfo;
+            TRAPD( found, GetVmAddressL( aServiceId, serviceInfo.iAddress ) );
+
+            supported = KErrNotFound != found;
+            }
+        }
+
+    CleanupStack::PopAndDestroy( entry );
+    VMBLOGSTRING2( "VMBX: CVmSPSHandler::IsVbmxSupportedL: %d<=", supported );
+    return supported;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::GetServiceInfo
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+TInt CVmSPSHandler::GetServiceInfo( TVmbxServiceInfo& aServiceInfo ) const
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceInfo =>" );
+    TInt ret( KErrNone );
+    TRAP( ret,
+        {
+        GetServiceNameL( aServiceInfo.iServiceId, aServiceInfo.iName );
+
+        GetVmAddressL( aServiceInfo.iServiceId, aServiceInfo.iAddress );
+
+        TInt snap( 0 );
+        GetSNAPIdL( aServiceInfo.iServiceId, snap );
+        aServiceInfo.iSnapId = static_cast<TUint32> ( snap );
+        } );
+
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceInfo <=" );
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::GetVmAddressL
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+void CVmSPSHandler::GetVmAddressL( const TUint32 aServiceId,
+    TDes& aAddress ) const
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetVmAddressL =>" );
+    RBuf buffer;
+    CleanupClosePushL( buffer );
+    buffer.ReAllocL( KVmbxMaxDesLength );
+
+    CSPEntry* entry = CSPEntry::NewLC();
+    const CSPProperty* property = NULL;
+
+    iSettings->FindEntryL( aServiceId, *entry );
+
+    // Find correct subservice
+    TInt err = entry->GetProperty( property, ESubPropertyVMBXListenAddress );
+    VMBLOGSTRING2( "VMBX: CVmSPSHandler::GetVmAddressL: err%d", err );
+    User::LeaveIfError( err );
+
+    property->GetValue( buffer );
+    buffer.Length() > aAddress.MaxLength() ?
+        User::Leave( KErrOverflow ) : aAddress.Copy( buffer );
+
+    CleanupStack::PopAndDestroy( entry );
+    CleanupStack::PopAndDestroy( &buffer );
+
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetVmAddressL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::GetServiceNameL
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+void CVmSPSHandler::GetServiceNameL( const TUint32 aServiceId,
+    TDes& aName ) const
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceNameL: =>" );
+    RBuf buffer;
+    CleanupClosePushL( buffer );
+    buffer.ReAllocL( KVmbxMaxDesLength );
+
+    // Get entry
+    CSPEntry* entry = CSPEntry::NewLC();
+
+    iSettings->FindEntryL( aServiceId, *entry );
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceNameL: 1" );
+    // Read service id and service name
+    buffer.Copy( entry->GetServiceName() );
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceNameL: 2" );
+    buffer.Length() > aName.MaxLength() ?
+        User::Leave( KErrOverflow ) : aName.Copy( buffer );
+
+    CleanupStack::PopAndDestroy( entry );
+    CleanupStack::PopAndDestroy( &buffer );
+
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetServiceNameL: <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::GetSNAPIdL
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+void CVmSPSHandler::GetSNAPIdL( TUint32 aServiceId, TInt& aSNAPId ) const
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetSNAPIdL: =>" );
+    CSPEntry* entry = CSPEntry::NewLC();
+    const CSPProperty* property = NULL;
+    iSettings->FindEntryL( aServiceId, *entry );
+    // Find correct subservice
+    TInt error(
+        entry->GetProperty( property, ESubPropertyVMBXPreferredSNAPId ) );
+    VMBLOGSTRING2( "VMBX: CVmSPSHandler::GetSNAPIdL: error%d", error );
+
+    if ( KErrNotFound != error )
+        {
+        property->GetValue( aSNAPId );
+        }
+
+    CleanupStack::PopAndDestroy( entry );
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::GetSNAPIdL: <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::BrandIdL
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+void CVmSPSHandler::BrandIdL( TInt aServiceId, TDes8& aBrandId )
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::BrandIdL: =>" );
+    CSPEntry* entry = CSPEntry::NewLC();
+    const CSPProperty* property = NULL;;
+    TBuf<KSPMaxDesLength> brandId( KNullDesC );
+
+    TInt err = iSettings->FindEntryL( aServiceId, *entry );
+    VMBLOGSTRING2( "VMBX: CVmSPSHandler::BrandIdL: err%d", err );
+    User::LeaveIfError( err );
+
+    err = entry->GetProperty( property, EPropertyBrandId );
+    VMBLOGSTRING2( "VMBX: CVmSPSHandler::BrandIdL: err%d", err );
+    User::LeaveIfError( err );
+
+    if ( property )
+        {
+        property->GetValue( brandId );
+        }
+
+    if ( brandId.Length() )
+        {
+        aBrandId.Copy( brandId );
+        }
+    CleanupStack::PopAndDestroy( entry );
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::BrandIdL: <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::IsActivatedL
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+TBool CVmSPSHandler::IsActivatedL( TInt aServiceId )
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::IsActivatedL: =>" );
+    TBool enabled( EFalse );
+    CSPEntry* entry = CSPEntry::NewLC();
+    const CSPProperty* property = NULL;
+
+    iSettings->FindEntryL( aServiceId, *entry );
+
+    // Find correct subservice
+    TInt error(
+        entry->GetProperty( property, ESubPropertyVMBXEnabled ) );
+
+    if ( KErrNotFound != error )
+        {
+        TOnOff onOff( EOONotSet );
+        property->GetValue( onOff );
+        enabled = onOff == EOn;
+        }
+
+    CleanupStack::PopAndDestroy( entry );
+
+    VMBLOGSTRING2( "VMBX: CVmSPSHandler::IsActivatedL: %d", enabled );
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::IsActivatedL: <=" );
+    return enabled;
+    }
+
+// ----------------------------------------------------------------------------
+// CVmSPSHandler::NotifyServiceChange
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CVmSPSHandler::NotifyServiceChange( MServiceNotifyHandler* aHandler )
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::NotifyServiceChange: =>" );
+    iObserver = aHandler;
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::NotifyServiceChange: <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVmSPSHandler::NotifyServiceChangeCancel
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CVmSPSHandler::NotifyServiceChangeCancel()
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::NotifyServiceChangeCancel: =>" );
+    iObserver = NULL;
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::NotifyServiceChangeCancel: <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::HandleNotifyChange
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+void CVmSPSHandler::HandleNotifyChange( TServiceId /*ServiceId*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::HandleNotifyChange: =>" );
+    if ( iObserver )
+        {
+        TRAP_IGNORE( iObserver->HandleServiceNotifyL() );
+        }
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::HandleNotifyChange: <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::HandleError
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+void CVmSPSHandler::HandleError( TInt aError )
+    {
+    // Avoid warning
+    aError = aError;
+    VMBLOGSTRING2( "VMBX: CVmSPSHandler::HandleError: aError %d", aError );
+    }
+
+// ---------------------------------------------------------------------------
+// CVmSPSHandler::IsVoIPProfilesFound
+// 
+// ---------------------------------------------------------------------------
+//
+TBool CVmSPSHandler::IsVoIPProfilesFound()
+    {
+    VMBLOGSTRING( "VMBX: CVmSPSHandler::IsVoIPProfilesFound" );
+    TBool ret( EFalse );
+    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
+        {
+        TRAP_IGNORE( ret = iSpsSettingsVoipUtils->VoIPProfilesExistL() );
+        }
+    VMBLOGSTRING2( "VMBX: CVmSPSHandler::IsVoIPProfilesFound: return %I", ret );
+    return ret;
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/src/voicemailboximpl.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,902 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the CVoiceMailboxImpl class
+*
+*/
+
+
+// INCLUDE FILES
+#include <featmgr.h>
+#include <cvoicemailboxentry.h>
+#include "voicemailboxdefsinternal.h"
+
+#include "vmbxenginebase.h"
+#include "vmbxuiutilities.h"
+#include "vmbxenginefactory.h"
+#include "vmbxobserver.h"
+#include "vmbxlogger.h"
+#include "vmbxutilities.h"
+#include "vmbxcenrephandler.h"
+#include "voicemailboximpl.h"
+
+// phone application uid
+const TInt KPhoneApplicationUid          = 0x100058B3;
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::NewL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVoiceMailboxImpl* CVoiceMailboxImpl::NewL()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NewL =>" );
+    CVoiceMailboxImpl* vmbx = CVoiceMailboxImpl::NewLC();
+    CleanupStack::Pop( vmbx );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NewL <=" );
+    return vmbx;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CVoiceMailboxImpl* CVoiceMailboxImpl::NewLC()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NewLC =>" );
+    CVoiceMailboxImpl* vmbx = new( ELeave ) CVoiceMailboxImpl();
+    CleanupStack::PushL( vmbx );
+    vmbx->ConstructL();
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NewLC <=" );
+    return vmbx;
+    }
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::~CVoiceMailboxImpl
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CVoiceMailboxImpl::~CVoiceMailboxImpl()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::~CVoiceMailboxImpl =>" );
+    FeatureManager::UnInitializeLib();
+    delete iUiUtilities;
+    delete iVmbxFactory;
+    delete iVmbxObserver;
+    delete iCenRepHandler;
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::~CVoiceMailboxImpl <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetStoredEntry
+// 
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxImpl::GetStoredEntry( const TVoiceMailboxParams& aParams,
+                                            CVoiceMailboxEntry*& aEntry ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetStoredEntry =>" );
+    TRAPD( err, GetStoredEntryL( aParams, aEntry ) );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetStoredEntry: err%I <=", err );
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::SaveEntry
+// 
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxImpl::SaveEntry( const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SaveEntry =>" );
+    TRAPD( err, SaveEntryL( aEntry ) );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::SaveEntry: err%I <=", err );
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::QueryNewEntry
+// 
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxImpl::QueryNewEntry( const TVoiceMailboxParams& aParams,
+                                           CVoiceMailboxEntry*& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryNewEntry =>" );
+    TRAPD( err, QueryNewEntryL( aParams, aEntry ) );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::QueryNewEntry err%I <=",
+        err );
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::QueryChangeEntry
+// 
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxImpl::QueryChangeEntry( const TVoiceMailboxParams& aParams,
+                                             CVoiceMailboxEntry*& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryChangeEntry =>" );
+    TRAPD( err, QueryChangeEntryL( aParams, aEntry ) );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::QueryChangeEntry: err%I <=",
+        err );
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::QueryVmbxType
+// 
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxImpl::QueryVmbxType( TVoiceMailboxParams& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryVmbxType =>" );
+    TRAPD( err, QueryVmbxTypeL( aParams ) );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::QueryVmbxType: err%I<=", err );
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::NotifyVmbxNumberChangeL
+//
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::NotifyVmbxNumberChangeL(
+    MVoiceMailboxObserver& aObserver,
+    const TBool /*aNotifyOnActiveLineOnly*/ )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NotifyVmbxNumberChangeL =>" );
+    if ( !iNotifyCallBack )
+        {
+        iNotifyCallBack = &aObserver;
+        iVmbxObserver = CVmbxObserver::NewL( *this );
+        iVmbxObserver->SetVmbxObserver( *this );
+        }
+    else
+        {
+        User::Leave( KErrInUse );
+        }
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NotifyVmbxNumberChangeL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::NotifyVmbxNumberChangeCancel
+//
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::NotifyVmbxNumberChangeCancel()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NotifyVmbxNumberChangeCancel =>" );
+    iNotifyCallBack = NULL;
+    delete iVmbxObserver;
+    iVmbxObserver = NULL;
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NotifyVmbxNumberChangeCancel <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::CheckConfiguration
+//
+// ---------------------------------------------------------------------------
+//
+TBool CVoiceMailboxImpl::CheckConfiguration( const TVoiceMailboxParams& aParams,
+                             const TInt aFlags )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::CheckConfiguration =>" );
+    TBool configuration( EFalse );
+    CVmbxEngineBase* vmbx = NULL;
+    TRAPD( res, iVmbxFactory->CreateEngineL( vmbx, aParams.iType ) );
+    if ( KErrNone == res && vmbx )
+        {
+        configuration = vmbx->CheckConfiguration( aParams, aFlags );
+        }
+    delete vmbx;
+    vmbx = NULL;
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::CheckConfiguration <=" );
+    return configuration;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetServiceIds
+//
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxImpl::GetServiceIds( RIdArray& aProfileIds )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetServiceIds =>" );
+    TRAPD( err, GetServiceIdsL( aProfileIds ) );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetServiceIds: err%I <=", err );
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetVmbxImage
+//
+// ---------------------------------------------------------------------------
+/* CGulIcon* CVoiceMailboxImpl::GetVmbxImage(
+                        const TVoiceMailboxParams& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetVmbxImage =>" );
+    CGulIcon* guiIcon( NULL );
+    TRAPD( err, guiIcon = GetVmbxImageL( aParams ) );
+    if ( KErrNone != err )
+        {
+        delete guiIcon;
+        guiIcon = NULL;
+        }
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetVmbxImage: err%I <=", err );
+    return guiIcon;
+    } */
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetVmbxImages
+//
+// ---------------------------------------------------------------------------
+//
+/* CArrayPtr<CGulIcon>* CVoiceMailboxImpl::GetVmbxImages(
+                            RArray<TVoiceMailboxParams>& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetVmbxImages =>" );
+    CArrayPtr<CGulIcon>* guiIcons( NULL );
+    TRAPD( err, guiIcons = GetVmbxImagesL( aParams ) );
+    if ( KErrNone != err )
+        {
+        if ( guiIcons )
+            {
+            guiIcons->ResetAndDestroy();
+            }
+        }
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetVmbxImages: err%I <=", err );
+    return guiIcons;
+    } */
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::SaveProvisionedEntry
+//
+// ---------------------------------------------------------------------------
+//
+TInt CVoiceMailboxImpl::SaveProvisionedEntry( 
+                                    const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SaveProvisionedEntry =>" );
+    TRAPD( err, SaveProvisionedEntryL( aEntry ) );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::SaveProvisionedEntry: err%I <=",
+    err );
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::SatRefreshL
+// 
+// notify Sat Refresh
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::SatRefreshL()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SatRefreshL =>" );
+    // notify sim file's entry changed
+    NotifyChangedL( EVmbxVoice );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SatRefreshL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::CenRepChangedL
+// 
+// notify CenRep Changed
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::CenRepChangedL( TVmbxCenRepKey aId )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::CenRepChangedL =>" );
+    TVmbxAlsLineType alsLine = VmbxUtilities::AlsLine();
+    if ( ( ( EVmbxVoiceLinePrimaryKey == aId 
+            || EVmbxVideoLinePrimaryKey == aId ) // primary value changed
+            && EVmbxAlsLine2 != alsLine )// line 1 active or using default line
+        || ( ( EVmbxVoiceLineAlternateKey == aId 
+            || EVmbxVideoLineAlternateKey == aId )// alternate value changed
+            && EVmbxAlsLine2 == alsLine ) )// line 2 active
+        {
+        if ( VmbxUtilities::VideoSupported() 
+            && ( ( EVmbxVideoLinePrimaryKey == aId 
+            || EVmbxVideoLineAlternateKey == aId ) ) )
+            {
+            NotifyChangedL( EVmbxVideo );
+            }
+        else
+            {
+            NotifyChangedL( EVmbxVoice );
+            }
+        }
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::CenRepChangedL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::SimStoreChangedL
+// notify sim store changed
+// 
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::SimStoreChangedL()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SimStoreChangedL =>" );
+    // notify sim file changed
+    NotifyChangedL( EVmbxVoice );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SimStoreChangedL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::CVoiceMailboxImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CVoiceMailboxImpl::CVoiceMailboxImpl()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::CVoiceMailboxImpl <=>" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::ConstructL
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::ConstructL()
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::ConstructL =>" );
+    FeatureManager::InitializeLibL();
+
+    // Create Ui utilities for dialog and images
+    iUiUtilities = CVmbxUiUtilities::NewL();
+    // create CenRep
+    iCenRepHandler = CVmbxCenRepHandler::NewL();
+
+    // Create factory for voice/video/voip engine
+    iVmbxFactory = CVmbxEngineFactory::NewL( *this );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::ConstructL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetStoredEntryL
+// 
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::GetStoredEntryL( const TVoiceMailboxParams& aParams,
+                                    CVoiceMailboxEntry*& aEntry ) const
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetStoredEntryL =>" );
+    CVoiceMailboxEntry* entry( NULL );
+    CVmbxEngineBase* vmbxBox( NULL );
+    iVmbxFactory->CreateEngineL( vmbxBox, aParams.iType );
+    CleanupStack::PushL( vmbxBox );
+    vmbxBox->GetL( entry );
+    CleanupStack::PopAndDestroy( vmbxBox );
+    aEntry = entry;
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetStoredEntryL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::SaveEntryL
+// 
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::SaveEntryL( const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SaveEntryL =>" );
+    TVoiceMailboxParams params( aEntry );
+    CVmbxEngineBase* vmbxBox( NULL );
+    iVmbxFactory->CreateEngineL( vmbxBox, aEntry.VoiceMailboxType() );
+    CleanupStack::PushL( vmbxBox );
+    if ( vmbxBox->CheckConfiguration( params, EVmbxChangeNbrAllowedOnUi ) )
+        {
+        vmbxBox->SaveL( aEntry, ETrue );
+        }
+    else
+        {
+        User::Leave( KErrNotSupported );
+        }
+    CleanupStack::PopAndDestroy( vmbxBox );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SaveEntryL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::QueryNewEntryL
+// 
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::QueryNewEntryL( const TVoiceMailboxParams& aParams,
+                                   CVoiceMailboxEntry*& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryNewEntryL =>" );
+    CVmbxEngineBase* vmbxBox( NULL );
+    iVmbxFactory->CreateEngineL( vmbxBox, aParams.iType );
+    CleanupStack::PushL( vmbxBox );
+    if ( vmbxBox->CheckConfiguration( aParams, EVmbxChangeNbrAllowedOnUi ) )
+        {
+        CVoiceMailboxEntry* entry = CVoiceMailboxEntry::NewLC();
+        entry->SetVoiceMailboxType( aParams.iType );
+        entry->SetServiceId( aParams.iServiceId );
+        vmbxBox->QueryDefineNumberL( *entry );
+        CleanupStack::Pop( entry );
+        aEntry = entry;
+        }
+    else
+        {
+        CheckNumberProvisionedL( aParams );
+        }
+    CleanupStack::PopAndDestroy( vmbxBox );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryNewEntryL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::QueryChangeEntryL
+// 
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::QueryChangeEntryL( const TVoiceMailboxParams& aParams,
+                                            CVoiceMailboxEntry*& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryChangeEntryL =>" );
+    CVmbxEngineBase* vmbxBox( NULL );
+    iVmbxFactory->CreateEngineL( vmbxBox, aParams.iType );
+    CleanupStack::PushL( vmbxBox );
+    if ( vmbxBox->CheckConfiguration( aParams, EVmbxChangeNbrAllowedOnUi ) )
+        {
+        CVoiceMailboxEntry* entry( NULL );
+        GetStoredEntryL( aParams, entry );
+        CleanupStack::PushL( entry );
+        vmbxBox->QueryChangeNumberL( *entry );
+        CleanupStack::Pop( entry );
+        aEntry = entry;
+        }
+    else
+        {
+        CheckNumberProvisionedL( aParams );
+        }
+    CleanupStack::PopAndDestroy( vmbxBox );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryChangeEntryL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CleanupRPointerArray
+// avoid memory leak when using RPointerArray
+// ---------------------------------------------------------------------------
+//
+LOCAL_C void CleanupRPointerArray( TAny* aParam )
+    {
+    if ( aParam )
+        {
+        static_cast< RPointerArray<CVoiceMailboxEntry>* >( aParam )
+                                                    ->ResetAndDestroy();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::QueryVmbxTypeL
+// Query vmbx type
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::QueryVmbxTypeL( TVoiceMailboxParams& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryVmbxTypeL =>" );
+    aParams.iType = EVmbxNone;
+    aParams.iServiceId = KVmbxServiceIdNone;
+
+    TInt result ( KErrNotFound );
+    RPointerArray<CVoiceMailboxEntry> array;
+    TCleanupItem item( CleanupRPointerArray, &array );
+    CleanupStack::PushL( item );
+    GetDefinedEntriesL( array );
+
+    TInt definedCount = array.Count();
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::QueryVmbxTypeL:\
+        definedCount%I", definedCount );
+    // more than one number defined
+    if ( definedCount > 1 )
+        {
+        VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryVmbxTypeL:\
+        more than one number Denfined" );
+        // query call type
+        RArray<TVoiceMailboxParams> paramsArray;
+        CleanupClosePushL( paramsArray );
+        TVoiceMailboxParams entryParams;
+        for ( TInt i = 0; i < array.Count(); i++ )
+            {
+            entryParams.iType = array[i]->VoiceMailboxType();
+            entryParams.iServiceId = array[i]->ServiceId();
+            paramsArray.AppendL( entryParams );
+            }
+        //CArrayPtr<CGulIcon>* dialogIcons = GetVmbxImagesL( paramsArray );
+        //CleanupStack::PushL( dialogIcons );
+        iUiUtilities->ShowCallSelectionDialogL( 
+        array, /* dialogIcons, */ aParams, result );
+        //CleanupStack::Pop( dialogIcons );
+        CleanupStack::PopAndDestroy( &paramsArray );
+        }
+    // only one number defined
+    else if ( 1 == definedCount )
+        {
+        // return the onle defined number
+        VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryVmbxTypeL:\
+        One number Denfined" );
+        aParams.iType = array[0]->VoiceMailboxType();
+        result = KErrNone;
+        }
+    // there is no number defined
+    else
+        {
+        VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryVmbxTypeL:\
+             no number Denfined" );
+        // define number
+        if ( VmbxUtilities::VideoSupported() )
+            {
+            // query to be defined type
+            iUiUtilities->ShowDefineSelectionDialogL( aParams.iType, result );
+            // if result is KErrNone(but result should be also KErrNotFound ),
+            // it means user have seclected the defined type;
+            // else user cancel to select the type, so should return result value
+            if ( KErrNone == result )
+                {
+                result = KErrNotFound;
+                }
+            }
+        else
+            {
+            aParams.iType = EVmbxVoice;
+            }
+        }
+
+    CleanupStack::PopAndDestroy( &array ); //item 
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::QueryVmbxTypeL: result%I",
+    result );
+    User::LeaveIfError( result );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::QueryVmbxTypeL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetDefinedEntriesL
+//
+// ----------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::GetDefinedEntriesL( 
+                            RPointerArray<CVoiceMailboxEntry>& aArray )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetDefinedEntriesL =>" );
+    TRAPD( voiceErr,GetDefinedVoiceEntryL( aArray ));
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetDefinedEntriesL: voiceErr%I",
+            voiceErr );
+    // It should be ignored when video/voip unsupported or no number defined
+    if ( KErrNotFound != voiceErr )
+        {
+        User::LeaveIfError( voiceErr );
+        }
+    
+    TRAPD( videoErr, GetDefinedVideoEntryL( aArray ) );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetDefinedEntriesL: videoErr%I",
+            videoErr );
+    if ( KErrNotSupported != videoErr && KErrNotFound != videoErr )
+        {
+        User::LeaveIfError( videoErr );
+        }
+ 
+    TRAPD( voIperr, GetDefinedVoipEntriesL( aArray ));
+
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetDefinedEntriesL: voIperr%I",
+            voIperr );
+    // It should be ignored when video/voip unsupported or no number defined
+    if ( KErrNotSupported != voIperr && KErrNotFound != voIperr )
+        {
+        User::LeaveIfError( voIperr );
+        }
+ 
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetDefinedEntriesL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetDefinedVoiceEntryL
+//
+// ----------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::GetDefinedVoiceEntryL( 
+                            RPointerArray<CVoiceMailboxEntry>& aArray )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetDefinedVoiceEntryL =>" );
+    // check voice mailbox
+    CVmbxEngineBase* voiceBox( NULL );
+    iVmbxFactory->CreateEngineL( voiceBox, EVmbxVoice );
+    CleanupStack::PushL( voiceBox );
+    // get voice entry
+    CVoiceMailboxEntry* voiceEntry( NULL);
+    voiceBox->GetL( voiceEntry );
+    CleanupStack::PushL( voiceEntry );
+    // get voice number
+    TPtrC vmbxVoiceNumber( KNullDesC );
+    TInt resVoice = voiceEntry->GetVmbxNumber( vmbxVoiceNumber );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetDefinedVoiceEntryL:\
+                    VoiceNumber = %S ", &vmbxVoiceNumber );
+    if ( KErrNone == resVoice && vmbxVoiceNumber.Length() )
+        {
+        aArray.AppendL( voiceEntry );
+        }
+    CleanupStack::Pop( voiceEntry );
+    CleanupStack::PopAndDestroy( voiceBox );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetDefinedVoiceEntryL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetDefinedVideoEntryL
+//
+// ----------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::GetDefinedVideoEntryL( 
+                            RPointerArray<CVoiceMailboxEntry>& aArray )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetDefinedVideoEntryL =>" );
+    // check video mailbox
+    CVmbxEngineBase* videoBox = NULL;
+    iVmbxFactory->CreateEngineL( videoBox, EVmbxVideo );
+    CleanupStack::PushL( videoBox );
+
+    CVoiceMailboxEntry* videoEntry( NULL );
+    // get video entry
+    videoBox->GetL( videoEntry );
+    CleanupStack::PushL( videoEntry );
+    TPtrC vmbxVideoNumber( KNullDesC );
+
+    TInt resVideo = videoEntry->GetVmbxNumber( vmbxVideoNumber );
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetDefinedVideoEntryL:\
+                            VideoNumber = %S ", &vmbxVideoNumber );
+
+    if ( KErrNone == resVideo && vmbxVideoNumber.Length() )
+        {
+        aArray.AppendL( videoEntry );
+        }
+    CleanupStack::Pop( videoEntry );
+    CleanupStack::PopAndDestroy( videoBox );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetDefinedVideoEntryL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetDefinedVoipEntriesL
+//
+// ----------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::GetDefinedVoipEntriesL( 
+                            RPointerArray<CVoiceMailboxEntry>& aArray )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetDefinedVoipEntriesL =>" );
+    // check VoIP mailbox
+    CVmbxEngineBase* voIPBox = NULL;
+    iVmbxFactory->CreateEngineL( voIPBox, EVmbxVoip );
+    CleanupStack::PushL( voIPBox );
+
+    RIdArray profileIds;
+    CleanupClosePushL( profileIds );
+
+    voIPBox->GetServiceIdsL( profileIds );
+    TInt profileCounts = profileIds.Count();
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetDefinedVoipEntriesL:\
+                                   VoIP profileCounts%I ", profileCounts);
+    if ( 0 < profileCounts )
+        {
+        for ( TInt i( 0 ); i < profileCounts; i++ )
+            {
+            voIPBox->SetCurrentServiceId( profileIds[i] );
+            CVoiceMailboxEntry* voIPEntry( NULL );
+            // get voip entry
+            voIPBox->GetL( voIPEntry );
+            CleanupStack::PushL( voIPEntry );
+            TPtrC vmbxVoIPName( KNullDesC );
+            TInt resVoIP = voIPEntry->GetVmbxName( vmbxVoIPName );
+
+            TPtrC vmbxVoIPAddress( KNullDesC );
+            if ( KErrNone == resVoIP )
+                {
+                VMBLOGSTRING2( 
+                "VMBX: CVoiceMailboxImpl::GetDefinedVoipEntriesL:\
+                        vmbxVoIPName = %S ", &vmbxVoIPName );
+                resVoIP = voIPEntry->GetVmbxNumber( vmbxVoIPAddress );
+                }
+            if ( KErrNone == resVoIP && vmbxVoIPAddress.Length() 
+                 && vmbxVoIPName.Length() )
+                {
+                VMBLOGSTRING2( 
+                "VMBX: CVoiceMailboxImpl::GetDefinedVoipEntriesL:\
+                    vmbxVoIPAddress = %S ", &vmbxVoIPAddress );
+                aArray.AppendL( voIPEntry );
+                }
+            CleanupStack::Pop( voIPEntry );
+            }
+        }
+    CleanupStack::PopAndDestroy( &profileIds );
+    CleanupStack::PopAndDestroy( voIPBox );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetDefinedVoipEntriesL <=" );
+    }
+
+// ----------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetServiceIdsL
+//
+// ----------------------------------------------------------------------------
+void CVoiceMailboxImpl::GetServiceIdsL( RIdArray& aProfileIds )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetServiceIdsL =>" );
+    // Get all Service Ids
+    RIdArray profileIds;
+    CleanupClosePushL( profileIds );
+    CVmbxEngineBase* vmbx = NULL;
+    iVmbxFactory->CreateEngineL( vmbx, EVmbxVoip );
+    CleanupStack::PushL( vmbx );
+    vmbx->GetServiceIdsL( profileIds );
+    for ( TInt i( 0 ); i < profileIds.Count(); i++ )
+        {
+        aProfileIds.AppendL( profileIds[i]);
+        }
+    CleanupStack::PopAndDestroy( vmbx );
+    CleanupStack::Pop( &profileIds );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetServiceIdsL <=");
+    }
+
+// ----------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetVmbxImageL
+//
+// ----------------------------------------------------------------------------
+/* CGulIcon* CVoiceMailboxImpl::GetVmbxImageL( 
+                    const TVoiceMailboxParams& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetVmbxImageL =>" );
+    CGulIcon* guiIcon( NULL );
+    CVmbxEngineBase* vmbxEngine = NULL;
+    iVmbxFactory->CreateEngineL( vmbxEngine, aParams.iType );
+    CleanupStack::PushL( vmbxEngine );
+    if ( vmbxEngine )
+        {
+        guiIcon = vmbxEngine->GetVmbxImageL( aParams );
+        }
+    CleanupStack::PopAndDestroy( vmbxEngine ); 
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetVmbxImageL <=" );
+    return guiIcon;
+    } */
+
+// ----------------------------------------------------------------------------
+// CVoiceMailboxImpl::GetVmbxImagesL
+//
+// ----------------------------------------------------------------------------
+//
+/* CArrayPtr<CGulIcon>* CVoiceMailboxImpl::GetVmbxImagesL(
+                            RArray<TVoiceMailboxParams>& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetVmbxImagesL =>" );
+    CAknIconArray* icons =
+                new( ELeave ) CAknIconArray( KVmLbxItemsArraySize );
+    CleanupStack::PushL( icons );
+
+    const TInt count = aParams.Count();
+    VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::GetVmbxImagesL count %I",
+        count);
+    for( TInt i = 0; i < count; i++ )
+        {
+        CGulIcon *icon = GetVmbxImageL( aParams[i] );
+        icons->AppendL( icon );
+        }
+    CleanupStack::Pop( icons );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::GetVmbxImagesL <=" );
+    return icons;
+    } */
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::SaveProvisionedEntryL
+//
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::SaveProvisionedEntryL( 
+                                    const CVoiceMailboxEntry& aEntry )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SaveProvisionedEntryL =>" );
+    CVmbxEngineBase* vmbxEngine = NULL;
+    iVmbxFactory->CreateEngineL( vmbxEngine, aEntry.VoiceMailboxType() );
+    CleanupStack::PushL( vmbxEngine );
+    TVoiceMailboxParams params( aEntry );
+    vmbxEngine->SaveProvisionedEntryL( aEntry );
+    CleanupStack::PopAndDestroy( vmbxEngine );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::SaveProvisionedEntryL <=");
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::NotifyChangedL
+// notify changed and tell the change to observer
+// 
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::NotifyChangedL( TVmbxType aType )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NotifyChangedL =>" );
+    iUiUtilities->DismissDialogL();
+    if ( iNotifyCallBack )
+        {
+        CVmbxEngineBase* vmbxEngine = NULL;
+        iVmbxFactory->CreateEngineL( vmbxEngine, aType );
+        CleanupStack::PushL( vmbxEngine );
+        CVoiceMailboxEntry* entry( NULL );
+        vmbxEngine->GetL( entry );
+        CleanupStack::PushL( entry );
+        iNotifyCallBack->HandleNotifyL( *entry );
+        CleanupStack::PopAndDestroy( entry );           
+        CleanupStack::PopAndDestroy( vmbxEngine );
+        }
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::NotifyChangedL <=" );
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::VmbxUiUtilities
+// notify changed and tell the change to observer
+// 
+// ---------------------------------------------------------------------------
+//
+MVmbxUiUtilities& CVoiceMailboxImpl::VmbxUiUtilities()
+    {
+    return *iUiUtilities;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::VmbxCenRepHandler
+// notify changed and tell the change to observer
+// 
+// ---------------------------------------------------------------------------
+//
+MVmbxCenrepHandler& CVoiceMailboxImpl::VmbxCenRepHandler()
+    {
+    return *iCenRepHandler;
+    }
+
+// ---------------------------------------------------------------------------
+// CVoiceMailboxImpl::CheckNumberProvisionedL
+// 
+// ---------------------------------------------------------------------------
+//
+void CVoiceMailboxImpl::CheckNumberProvisionedL( 
+        const TVoiceMailboxParams& aParams )
+    {
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::CheckNumberProvisionedL =>" );
+    if ( ( EVmbxVoice == aParams.iType 
+            && EVmbxSimMemory == iCenRepHandler->StoreType() )
+         || ( EVmbxVideo == aParams.iType ) )
+        {
+        // get current active process
+        RProcess curProcess;
+        TInt curProcessId( curProcess.SecureId().iId );
+        VMBLOGSTRING2( "VMBX: CVoiceMailboxImpl::CheckNumberProvisionedL \
+            Get cur process id: curProcessId = %I", curProcessId );
+        // User press 1+send key or long press 1
+        if ( KPhoneApplicationUid == curProcessId )
+            {
+            RPointerArray<CVoiceMailboxEntry> array;
+            TCleanupItem item( CleanupRPointerArray, &array );
+            CleanupStack::PushL( item );
+            GetDefinedEntriesL( array );
+            // Only operator has the possibility to configure device, 
+            // user is not allowed to edit the voice mail numbers
+            if ( array.Count() < 1 )
+                {
+                // show not allowed user editing dialog
+                iUiUtilities->ShowNotAllowedEditingDialogL();
+                }
+            CleanupStack::PopAndDestroy( &array ); //item 
+            } 
+        }
+    // User don't have access to edit cs voice or video number
+    User::Leave( KErrAccessDenied );
+    VMBLOGSTRING( "VMBX: CVoiceMailboxImpl::CheckNumberProvisionedL <=" );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/inc/ut_pbkstore.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,33 @@
+#ifndef UT_PBKSTORE_H
+#define UT_PBKSTORE_H
+
+#include <QObject>
+
+class CVmbxPbkStore;
+
+class Ut_PbkStore : public QObject
+{
+    Q_OBJECT
+    
+public:
+    Ut_PbkStore();
+    virtual ~Ut_PbkStore();
+    
+private slots:
+    void testCreateAndDelete();
+    void testIsWritable();
+    void testPhoneBookType();
+    // Can not handle AO in Current UT desing
+    void testWrite(); 
+    void testPhonebookStore();
+    void testGetL();
+    
+private:
+    void createPbk();
+    void deletePbk();
+    
+private:
+    CVmbxPbkStore *mPbk;
+};
+
+#endif // UT_PBKSTORE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/inc/ut_simhandler.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,33 @@
+#ifndef UT_SIMHANDLER_H
+#define UT_SIMHANDLER_H
+
+#include <QObject>
+
+class CVmbxSimHandler;
+
+class Ut_SimHandler : public QObject
+{
+    Q_OBJECT
+    
+public:
+    Ut_SimHandler();
+    virtual ~Ut_SimHandler();
+    
+private slots:
+    void testCreateAndDelete();
+    //void testGetL();
+    //void testSave();
+    void testIsWritable();
+    void testNotifyStoreEvent();        
+    void testPhoneBookType();
+    void testCancelAsyncRequest();
+    
+private:
+    void createSim();
+    void deleteSim();
+    
+private:
+    CVmbxSimHandler *mSim;
+};
+
+#endif // UT_SIMHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/inc/ut_vmbxengine.h	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 20 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 test class for CVmbxPbkStore
+*
+*/
+
+#ifndef UT_VMBXENGINE_H
+#define UT_VMBXENGINE_H
+
+#include <QObject>
+
+class CVoiceMailbox;
+class CVoiceMailboxEntry;
+
+class Ut_VmbxEngine : public QObject
+{
+    Q_OBJECT
+
+public:
+    Ut_VmbxEngine();
+    virtual ~Ut_VmbxEngine();
+
+private slots:
+
+    // Test New and Delete Api
+    void testVmbxApi();
+    void testEntryApi();
+    
+    // CVoiceMailbox test code
+    void testGetStoredEntry();
+    void testSaveEntry();
+    void testQueryNewEntry();
+    void testQueryChangeEntry();
+    void testQueryVmbxType();
+    //void testNotifyVmbxNumberChangeL();
+    //void NotifyVmbxNumberChangeCancel();
+    void testCheckConfiguration();
+    void testGetServiceIds();
+    void testSaveProvisionedEntry();
+    
+    // CVoiceMailboxEntry test code
+    void testType();
+    void testName();
+    void testServiceId();
+    void testLineType();
+    void testNumber();
+    void testBrandId();
+    void testUsingMemoryLocation();
+    void testReset();
+   
+private:
+    // create and delete Api
+    void createVmbxApi();
+    void createEntryApi();
+    void deleteVmbxApi();
+    void deleteEntryApi();
+private:
+    CVoiceMailbox *mVmbx;
+    CVoiceMailboxEntry *mEntry;
+};
+
+#endif // UT_VMBXENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/src/cenrep_mock.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,53 @@
+#include <QtTest/QtTest>
+#include <centralrepository.h>
+#include "voicemailboxdomaincrkeys.h"
+#include "voicemailboxprivatecrkeys.h"
+
+_LIT(KStringValue, "123");
+
+// TODO: Add a new class named Ut_Utility to config all CR key
+// to simulate 3 different images
+CRepository* CRepository::NewL(TUid /*aRepositoryUid*/)
+{
+    CRepository *self = new (ELeave) CRepository();
+    return self;
+}
+
+CRepository::~CRepository()
+{
+    
+}
+
+TInt CRepository::Get(TUint32 aKey, TInt& aValue)
+{
+    if (KVideoMbxSupport == aKey){
+        aValue = 1;
+        qDebug("KVideoMbxSupport 1");
+    } else if (KVmbxNoSimWriting == aKey){
+        aValue = 0;
+        qDebug("KVmbxNoSimWriting 0");
+    } else if (KVmbxUiCaps == aKey){
+        aValue = 0;
+        qDebug("KVmbxUiCaps 1");
+    } else {
+        aValue = 0;
+        qDebug("default 0");
+    }
+    
+    return KErrNone;
+}
+TInt CRepository::Set(TUint32 /*aKey*/, TInt /*aValue*/)
+{
+    return KErrNone;
+}
+
+TInt CRepository::Get(TUint32 /*aKey*/, TDes16& aValue)
+{
+    aValue.Append(KStringValue);
+    return KErrNone;
+}
+
+TInt CRepository::Set(TUint32 /*aKey*/, const TDesC16& /*aValue*/)
+{
+    return KErrNone;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/src/etel_mock.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,193 @@
+#include <etelmm.h>
+#include <etel.h>
+#include <e32std.h>
+#include <rsssettings.h>
+#include <QtTest/QtTest>
+
+RPhone::RPhone()
+{
+}
+
+void RPhone::ConstructL()
+{   
+}
+
+TInt RPhone::Open(RTelServer& /*aSession*/,const TDesC& /*aName*/)
+{
+    return KErrNone;
+}
+
+void RPhone::Close()
+{   
+}
+
+void RPhone::Destruct()
+{
+}
+
+RMobilePhone::RMobilePhone()
+{
+}
+
+void RMobilePhone::ConstructL()
+{    
+}
+
+RMobilePhone::TMultimodeType::TMultimodeType()
+{
+}
+
+TInt RMobilePhone::TMultimodeType::ExtensionId() const
+{
+    return 0;
+}
+
+void RMobilePhone::GetMailboxNumbers(
+    TRequestStatus& aReqStatus, 
+    TDes8& aMailBox) const
+{
+    RMobilePhone::TMobilePhoneVoicemailIdsV3 info;
+    RMobilePhone::TMobilePhoneVoicemailIdsV3Pckg infoPckg(info);
+    info.iVoice = 1;
+    aMailBox.Copy(infoPckg);
+    TRequestStatus* tmp = &aReqStatus;
+    User::RequestComplete(tmp, KErrNone);
+    qDebug("RMobilePhoneStore::GetMailboxNumbers mock");
+}
+
+RMobilePhone::TMobilePhoneVoicemailIdsV3::TMobilePhoneVoicemailIdsV3()
+    : iVoice(0),
+      iData(0),
+      iFax(0),
+      iOther(0) 
+{  
+}
+
+void RMobilePhone::Destruct()
+{   
+}
+
+TInt RMobilePhone::GetIccAccessCaps(TUint32& /*aCaps*/) const
+{   
+    return KErrNone;
+}
+
+RTelServer::RTelServer()
+{ 
+}
+
+TInt RTelServer::Connect(TInt /*aMessageSlots*/)
+{
+    return KErrNone;
+}
+
+TInt RTelServer::LoadPhoneModule(const TDesC& /*aFileName*/) const
+{
+    return KErrNone;
+}
+
+TInt RTelServer::SetExtendedErrorGranularity(
+    const TErrorGranularity /*aGranularity*/) const
+{
+    return KErrNone;
+}
+
+TInt RTelServer::GetPhoneInfo(
+    const TInt /*aIndex*/, TPhoneInfo& /*aInfo*/) const
+{
+    return KErrNone;
+}
+
+RMobilePhoneStore::RMobilePhoneStore()
+{
+}
+
+void RMobilePhoneStore::GetInfo(
+    TRequestStatus& aReqStatus, TDes8& aInfo) const
+{
+    RMobilePhoneBookStore::TMobilePhoneBookInfoV1 info;
+    info.iCaps = 0x10000000;
+    RMobilePhoneBookStore::TMobilePhoneBookInfoV1Pckg pckgInfo( info );
+    aInfo.Copy( pckgInfo ); 
+    TRequestStatus* tmp = &aReqStatus;
+    User::RequestComplete(tmp, KErrNone);
+    qDebug("RMobilePhoneStore::GetInfo mock");
+}
+
+RMobilePhoneBookStore::RMobilePhoneBookStore()
+{    
+}
+
+TInt RMobilePhoneBookStore::Open(
+    RMobilePhone& /*aPhone*/, const TDesC& /*aStore*/)
+{
+    return KErrNone;
+}
+
+RMobilePhoneStore::TMobilePhoneStoreInfoV1::TMobilePhoneStoreInfoV1()
+    :iType(RMobilePhoneStore::EPhoneStoreTypeUnknown),
+    iTotalEntries(0),
+    iUsedEntries(0),
+    iCaps(0),
+    iName(0)
+{   
+}
+
+RMobilePhoneBookStore::TMobilePhoneBookInfoV1::TMobilePhoneBookInfoV1()
+    :iMaxNumLength(0),
+     iMaxTextLength(0),
+     iLocation(RMobilePhoneBookStore::ELocationUnknown),
+     iChangeCounter(0),
+     iIdentity(0) 
+{
+}
+
+void RMobilePhoneBookStore::Close()
+{
+}
+
+void RMobilePhoneBookStore::Read(
+    TRequestStatus& aReqStatus, TInt /*aIndex*/, 
+    TInt /*aNumSlots*/, TDes8& aPBData) const
+{ 
+    TRequestStatus* tmp = &aReqStatus;
+// data ?
+    TBuf<5> pbdata(_L("data5"));
+    aPBData.Copy(pbdata);
+    
+    User::RequestComplete(tmp, KErrNone);
+}
+
+void RMobilePhoneBookStore::Write(
+    TRequestStatus& aReqStatus, 
+    const TDesC8& /*aPBData*/, TInt& /*aIndex*/) const
+{
+    TRequestStatus* tmp = &aReqStatus;
+    User::RequestComplete(tmp, KErrNone);
+}
+
+void RMobilePhoneStore::NotifyStoreEvent(
+    TRequestStatus& aReqStatus, 
+    TUint32& /*aEvent*/, TInt& /*aIndex*/) const
+{
+    TRequestStatus* tmp = &aReqStatus;
+    User::RequestComplete(tmp, KErrNone);
+}
+
+RTelSubSessionBase::RTelSubSessionBase()
+{
+}
+
+void RTelSubSessionBase::CancelAsyncRequest(TInt /*aReqToCancel*/) const
+{
+// refers to ut_ussd
+}
+
+TInt RSSSettings::Get( 
+    TSSSettingsSetting /*aSetting*/,
+    TInt& aValue )
+{
+	aValue = ESSSettingsAlsPrimary;
+	return KErrNone;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/src/main.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,45 @@
+#include <e32base.h>
+#include <QObject>
+#include <QtTest/QtTest>
+#include "ut_vmbxengine.h"
+#include "ut_pbkstore.h"
+#include "ut_simhandler.h"
+
+int main(int argc, char *argv[])
+{
+    qDebug("main() IN");
+//    CTrapCleanup* cleanup = CTrapCleanup::New();
+    QCoreApplication app(argc, argv);
+    
+    qDebug("testing start...");
+    
+    // API tester
+    int result = -1;
+    char *pass[3];  
+    pass[0] = argv[0];
+    pass[1] = "-o"; 
+    
+    Ut_VmbxEngine tc1;
+    pass[2] = "c:\\logs\\vmbx\\ut_vmbxengine.txt";
+    result = QTest::qExec(&tc1, 3, pass);
+    qDebug("ut_vmbxengine result=%d", result);
+
+    Ut_PbkStore tc2;
+    pass[2] = "c:\\logs\\vmbx\\ut_pbkstore.txt";
+    result = QTest::qExec(&tc2, 3, pass);
+    qDebug("Ut_PbkStore result=%d", result);
+    
+    // SIM can not be handled in Emulator.
+    // Root cause: CVmbxSimHandler::ConstructL()
+//    Ut_SimHandler tc3;
+//    pass[2] = "c:\\logs\\vmbx\\ut_simhandler.txt";
+//    result = QTest::qExec(&tc3, 3, pass);
+//    qDebug("Ut_SimHandler result=%d", result);
+    
+    qDebug("testing end...");
+    qDebug("main() OUT");
+//    delete cleanup;
+//    cleanup = NULL;
+    return result;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/src/mpbutil_mock.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,100 @@
+#include <mpbutil.h>
+#include <e32base.h>
+#include <e32des8.h>
+
+TInt time = 0;
+
+CPhoneBookBuffer::CPhoneBookBuffer():iMonitor(NULL,0,0)
+{
+}
+
+void CPhoneBookBuffer::Set(TDes8* /*aData*/){}
+
+TInt CPhoneBookBuffer::AddNewEntryTag()
+{ return 0; }
+
+TInt CPhoneBookBuffer::AddNewNumberTag()
+{ return 0; }
+
+TInt CPhoneBookBuffer::PutTagAndValue(TUint8 /*aTagValue*/, TUint8 /*aInteger*/)
+{ return 0; }
+
+TInt CPhoneBookBuffer::PutTagAndValue(TUint8 /*aTagValue*/, TUint16 /*aInteger*/)
+{ return 0; }
+
+TInt CPhoneBookBuffer::PutTagAndValue(TUint8 /*aTagValue*/, TUint32 /*aInteger*/)
+{ return 0; }
+
+TInt CPhoneBookBuffer::PutTagAndValue(TUint8 /*aTagValue*/, const TDesC8 &/*aData*/)
+{ return 0; }
+
+TInt CPhoneBookBuffer::PutTagAndValue(TUint8 /*aTagValue*/, const TDesC16 &/*aData*/)
+{ return 0; }
+
+TInt CPhoneBookBuffer::RemovePartialEntry()
+{ return 0; }
+
+void CPhoneBookBuffer::StartRead(){}
+
+TInt CPhoneBookBuffer::GetTagAndType(TUint8 &aTagValue, TPhBkTagType &aDataType)
+{ 
+	switch(aDataType)
+		{
+		case CPhoneBookBuffer::EPhBkTypeNoData:
+			{
+			if(time == 0)
+				{
+				aTagValue = RMobilePhoneBookStore::ETagPBNewEntry;
+				time ++;
+				}
+			else if (time == 1)
+				{
+				aTagValue = RMobilePhoneBookStore::ETagPBNumber;
+				time ++;
+				}
+			else if (time == 2)
+				{
+				aTagValue = RMobilePhoneBookStore::ETagPBText;
+				time ++;
+				}
+			else if (time == 3)
+				{
+				aTagValue = RMobilePhoneBookStore::ETagPBTonNpi;
+				time ++;
+				}
+			else
+				{
+				time = 0;
+				return KErrNotFound;
+				}
+			break;
+			}
+		default:
+			aTagValue = 0;
+		}
+	
+	return KErrNone; 
+}
+
+TInt CPhoneBookBuffer::GetValue(TUint8 &/*aInteger*/)
+{ return 0; }
+
+TInt CPhoneBookBuffer::GetValue(TUint16 &/*aInteger*/)
+{ return 0; }
+
+TInt CPhoneBookBuffer::GetValue(TUint32 &/*aInteger*/)
+{ return 0; }
+
+TInt CPhoneBookBuffer::GetValue(TPtrC8 &/*aData*/)
+{ return 0; }
+
+TInt CPhoneBookBuffer::GetValue(TPtrC16 &/*aData*/)
+{ return 0; }
+
+void CPhoneBookBuffer::SkipValue(TPhBkTagType /*aDataType*/){}
+
+TInt CPhoneBookBuffer::BufferLength()
+{ return 0; }
+
+TInt CPhoneBookBuffer::RemainingReadLength()
+{ return 0; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/src/qtuihandler_mock.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,59 @@
+#include <QtTest/QtTest>
+#include "vmbxqtuihandler.h"
+
+VmbxQtUiHandler::VmbxQtUiHandler(QObject* parent): QObject(parent)
+{
+    qDebug("mock VmbxQtUiHandler");
+}
+
+VmbxQtUiHandler::~VmbxQtUiHandler()
+{
+    qDebug("mock ~VmbxQtUiHandler");
+}
+
+
+void VmbxQtUiHandler::showVmbxQueryDialog(const TVmbxType& /*aType*/,
+                          QString& /*aNumber*/, int& aResult)
+{
+    qDebug("mock showVmbxQueryDialog");
+    aResult = KErrNone;
+}
+
+
+void VmbxQtUiHandler::showDefineSelectionDialog(
+    TVmbxType& /*aType*/, int& aResult)
+{
+    qDebug("mock showDefineSelectionDialog");
+    // Make sure no leave in CVoiceMailboxImpl::QueryVmbxTypeL(
+    aResult = KErrNotFound;
+}
+
+void VmbxQtUiHandler::showInformationNote(const TVmbxNoteType /*aType*/)
+{
+    qDebug("mock showInformationNote");    
+}
+
+void VmbxQtUiHandler::showCallSelectionDialog(
+            const QList<CVoiceMailboxEntry *> /*entryList*/,
+            TVoiceMailboxParams &/*params*/, int &/*result*/ )
+{
+    qDebug("mock showCallSelectionDialogL");  
+}
+
+void VmbxQtUiHandler::updatePrimaryAction(const QString &/*aInput*/)
+{
+	qDebug("mock updatePrimaryAction");  
+}
+
+bool VmbxQtUiHandler::isQtEnvSupported()
+{
+	qDebug("mock isQtEnvSupported");
+	return true;
+}
+
+void  VmbxQtUiHandler::init()
+{
+	qDebug("mock init");
+}
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/src/ut_pbkstore.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,89 @@
+#include <QtTest/QtTest>
+#include <cvoicemailboxentry.h>
+#include "vmbxpbkstore.h"
+#include "ut_pbkstore.h"
+
+Ut_PbkStore::Ut_PbkStore():mPbk(NULL)
+{
+    createPbk();
+}
+
+Ut_PbkStore::~Ut_PbkStore()
+{
+    deletePbk();
+}
+
+void Ut_PbkStore::testCreateAndDelete()
+{
+    createPbk();
+    deletePbk(); 
+}
+
+void Ut_PbkStore::testIsWritable()
+{
+    createPbk();
+    QCOMPARE(mPbk->IsWritable(), 1);
+    deletePbk();     
+}
+void Ut_PbkStore::testPhoneBookType()
+{
+    createPbk();
+    QCOMPARE(mPbk->PhoneBookType(), EMBDNPhoneBook);
+    deletePbk(); 
+}
+
+
+void Ut_PbkStore::testWrite()
+{
+    createPbk();
+    CVoiceMailboxEntry *entry = NULL;
+    TInt err = KErrNotFound;
+    
+    TRAP(err, entry = CVoiceMailboxEntry::NewL());
+    qDebug("CVoiceMailboxEntry::NewL %d", err);
+    err = mPbk->Write(*entry);
+    qDebug("Write err %d", err);
+    QCOMPARE(err, KErrNone);
+    
+    delete entry;
+    entry = NULL;
+    deletePbk(); 
+}
+
+void Ut_PbkStore::testPhonebookStore()
+{
+    createPbk();
+    mPbk->PhonebookStore();
+    deletePbk(); 
+}
+
+void Ut_PbkStore::testGetL()
+{
+    createPbk();
+    TInt err = KErrNotFound;
+    CVoiceMailboxEntry *entry = NULL;
+    
+    TRAP(err, entry = CVoiceMailboxEntry::NewL());
+    qDebug("CVoiceMailboxEntry::NewL %d", err);
+    mPbk->GetL(*entry);
+    
+    delete entry;
+    entry = NULL;
+    deletePbk(); 
+}
+
+void Ut_PbkStore::createPbk()
+{
+    if (!mPbk){
+        TRAPD(err, mPbk = CVmbxPbkStore::NewL());
+        QVERIFY(mPbk);  
+        qDebug("Create CVmbxPbkStore", err);
+    }
+}
+
+void Ut_PbkStore::deletePbk()
+{
+    delete mPbk;
+    mPbk = NULL;
+    qDebug("Delete CVmbxPbkStore");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/src/ut_simhandler.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,98 @@
+#include <QtTest/QtTest>
+#include <cvoicemailboxentry.h>
+#include "vmbxsimhandler.h"
+#include "ut_simhandler.h"
+
+Ut_SimHandler::Ut_SimHandler():mSim(NULL)
+{
+    createSim();
+}
+
+Ut_SimHandler::~Ut_SimHandler()
+{
+    deleteSim();
+}
+
+void Ut_SimHandler::testCreateAndDelete()
+{
+    createSim();
+    deleteSim(); 
+}
+
+//void Ut_SimHandler::testGetL()
+//{
+//    createSim();
+//    TInt err = KErrNotFound;
+//    CVoiceMailboxEntry *entry = NULL;
+//    
+//    TRAP(err, entry = CVoiceMailboxEntry::NewL());
+//    qDebug("CVoiceMailboxEntry::NewL %d", err);
+//    mSim->GetL(*entry);
+//    
+//    delete entry;
+//    entry = NULL;
+//    deleteSim(); 
+//}
+//
+//void Ut_SimHandler::testSave()
+//{
+//    createSim();
+//    
+//    TInt err = KErrNotFound;
+//    CVoiceMailboxEntry *entry = NULL;
+//    
+//    TRAP(err, entry = CVoiceMailboxEntry::NewL());
+//    qDebug("CVoiceMailboxEntry::NewL %d", err);    
+//    QCOMPARE(mSim->Save(*entry), KErrNone);
+//    
+//    deleteSim(); 
+//}
+
+void Ut_SimHandler::testIsWritable()
+{
+    createSim();
+    QCOMPARE(mSim->IsWritable(), 1);
+    deleteSim();     
+}
+
+void Ut_SimHandler::testNotifyStoreEvent()
+{
+    createSim();
+    TRequestStatus status;
+    TUint32 event;
+    TInt index; 
+    mSim->NotifyStoreEvent(status, event, index);
+    deleteSim();      
+}
+
+
+void Ut_SimHandler::testPhoneBookType()
+{
+    createSim();
+    QCOMPARE(mSim->PhoneBookType(), EMBDNPhoneBook);
+    deleteSim(); 
+}
+
+void Ut_SimHandler::testCancelAsyncRequest()
+{
+    createSim();
+    TInt req = -1;
+    mSim->CancelAsyncRequest(req);
+    deleteSim();  
+}
+
+void Ut_SimHandler::createSim()
+{
+    if (!mSim){
+        TRAPD(err, mSim = CVmbxSimHandler::NewL());
+        QVERIFY(mSim);  
+        qDebug("Create CVmbxSimHandler", err);
+    }
+}
+
+void Ut_SimHandler::deleteSim()
+{
+    delete mSim;
+    mSim = NULL;
+    qDebug("Delete CVmbxSimHandler");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/src/ut_vmbxengine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,455 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of the Ut_VmbxEngine class
+*
+*/
+
+#include <QtTest/QtTest>
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+#include <voicemailboxdefs.h>
+
+#include "ut_vmbxengine.h"
+
+_LIT(KNumber, "987654321");
+_LIT(KName, "Name");
+_LIT8(KBrandId, "Brand Id");
+
+Ut_VmbxEngine::Ut_VmbxEngine(): mVmbx(NULL),mEntry(NULL)
+{
+    qDebug("Ut_VmbxEngine");
+}
+
+// -----------------------------------------------------------------------------
+// Ut_VmbxEngine::~Ut_VmbxEngine
+// -----------------------------------------------------------------------------    
+Ut_VmbxEngine::~Ut_VmbxEngine()
+{
+    delete mVmbx;
+    mVmbx = NULL;
+    delete mEntry;
+    mEntry = NULL; 
+    qDebug("~Ut_VmbxEngine");
+}
+
+// Test API
+void Ut_VmbxEngine::testVmbxApi()
+{
+    createVmbxApi();
+    deleteVmbxApi();
+}
+
+void Ut_VmbxEngine::testEntryApi()
+{
+    createEntryApi();
+    deleteEntryApi();  
+}
+
+// Test Vmbx start
+void Ut_VmbxEngine::testGetStoredEntry()
+{
+    createVmbxApi();
+    
+    TVoiceMailboxParams params;
+    params.iType = EVmbxVoice;
+    CVoiceMailboxEntry *tmpEntry = NULL;
+    
+    QCOMPARE(mVmbx->GetStoredEntry(params, tmpEntry), KErrNone);
+    qDebug("Get entry");
+    if (tmpEntry){
+        delete tmpEntry;
+        tmpEntry = NULL;  
+        qDebug("delete tmp entry pointer");
+    }
+    
+    // Save a entry first, get and compare after that
+    createEntryApi();
+    mEntry->SetVoiceMailboxType(EVmbxVoice);
+    mEntry->SetVmbxNumber(KNumber);
+    qDebug("Set type");
+    QCOMPARE(mVmbx->SaveEntry(*mEntry), KErrNone);
+    qDebug("Save entry");
+    deleteEntryApi();
+    
+    params.iType = EVmbxVoice;
+    mVmbx->GetStoredEntry(params, tmpEntry);
+    qDebug("Get entry");
+    if (tmpEntry){
+        QCOMPARE(tmpEntry->VoiceMailboxType(), EVmbxVoice);
+        delete tmpEntry;
+        tmpEntry = NULL;  
+        qDebug("delete tmp entry pointer");
+    }
+    
+    deleteVmbxApi();
+}
+
+void Ut_VmbxEngine::testSaveEntry()
+{
+    createVmbxApi();
+    
+    // Set some attributes to the new empty entry and save it
+    createEntryApi();
+    mEntry->SetVoiceMailboxType(EVmbxVoice);
+    mEntry->SetUsingMemoryLocation(EVmbxPhoneMemory);
+    mEntry->SetVmbxNumber(KNumber);
+    qDebug("Set type & location");
+    QCOMPARE(mVmbx->SaveEntry(*mEntry), KErrNone);
+    qDebug("Save entry");
+    deleteEntryApi();  
+    
+    TVoiceMailboxParams params;
+    params.iType = EVmbxVoice;
+    CVoiceMailboxEntry *tmpEntry = NULL;;
+    mVmbx->GetStoredEntry(params, tmpEntry);
+    qDebug("Get entry");
+    if (tmpEntry){
+        QCOMPARE(tmpEntry->VoiceMailboxType(), EVmbxVoice);
+        qDebug("Verify type");
+        QCOMPARE(tmpEntry->UsingMemoryLocation(), EVmbxPhoneMemory);
+        qDebug("Verify location");
+        delete tmpEntry;
+        tmpEntry = NULL;
+    }
+    deleteVmbxApi();
+}
+
+void Ut_VmbxEngine::testQueryNewEntry()
+{
+    createVmbxApi();
+    CVoiceMailboxEntry *tmpEntry = NULL;
+    TVoiceMailboxParams params;
+    
+    // Query a new voice entry
+    // Mock the CRepository
+    params.iType = EVmbxVoice;  
+    QCOMPARE(mVmbx->QueryNewEntry(params, tmpEntry), KErrNone);
+    QVERIFY(tmpEntry);
+    QCOMPARE(tmpEntry->VoiceMailboxType(), EVmbxVoice);
+    delete tmpEntry;
+    tmpEntry = NULL;
+    
+    /*
+    // Query a new Video entry
+    params.iType = EVmbxVideo;
+    QCOMPARE(mVmbx->QueryNewEntry(params, tmpEntry), KErrNone);
+    QVERIFY(tmpEntry);
+    QCOMPARE(tmpEntry->VoiceMailboxType(), EVmbxVideo);
+    delete tmpEntry;
+    tmpEntry = NULL;
+    
+    // Query a new voice entry
+    params.iType = EVmbxVoip;
+    QCOMPARE(mVmbx->QueryNewEntry(params, tmpEntry), KErrNone);
+    QVERIFY(tmpEntry);
+    QCOMPARE(tmpEntry->VoiceMailboxType(), EVmbxVoip);
+    delete tmpEntry;
+    tmpEntry = NULL;    
+    
+    // Query a unknown entry
+    params.iType = EVmbxNone;
+    QCOMPARE(mVmbx->QueryNewEntry(params, tmpEntry), KErrNone);
+    QVERIFY(tmpEntry);
+    QCOMPARE(tmpEntry->VoiceMailboxType(), EVmbxNone);
+    delete tmpEntry;
+    tmpEntry = NULL;       
+    */
+    deleteVmbxApi();
+    
+}
+
+void Ut_VmbxEngine::testQueryChangeEntry()
+{
+    createVmbxApi();
+    
+    CVoiceMailboxEntry *tmpEntry = NULL;;
+    TVoiceMailboxParams params;
+    params.iType = EVmbxVoice;  
+    // Always get KErrNotFound, Check why.
+    //QCOMPARE(mVmbx->QueryChangeEntry(params, tmpEntry), KErrNone);
+    mVmbx->QueryChangeEntry(params, tmpEntry);
+    //QVERIFY(tmpEntry);
+    delete tmpEntry;
+    tmpEntry = NULL;    
+    
+    deleteVmbxApi();
+}
+
+void Ut_VmbxEngine::testQueryVmbxType()
+{
+    createVmbxApi(); 
+
+    // Save a entry first
+    CVoiceMailboxEntry *tmpEntry = NULL;
+    TVoiceMailboxParams params;
+    params.iType = EVmbxVoice;  
+    QCOMPARE(mVmbx->QueryNewEntry(params, tmpEntry), KErrNone);
+    tmpEntry->SetVoiceMailboxType(EVmbxVoice);
+    tmpEntry->SetVmbxNumber(KNumber);
+    QCOMPARE(mVmbx->SaveEntry(*tmpEntry), KErrNone);
+    delete tmpEntry;
+    tmpEntry = NULL;
+    
+    // Query and compare vmbx type after saving
+    mVmbx->QueryVmbxType(params);
+
+    deleteVmbxApi();
+}
+
+// TODO: Add 2 public test cases for notification, mock observer frist.
+//void testNotifyVmbxNumberChangeL();
+//void NotifyVmbxNumberChangeCancel();
+
+void Ut_VmbxEngine::testGetServiceIds()
+{
+    createVmbxApi(); 
+    /*
+    // Save a entry first
+    createEntryApi();
+    TServiceId idExp(10);
+    mEntry->SetServiceId(idExp);
+    mEntry->SetVoiceMailboxType(EVmbxVoip);
+    QCOMPARE(mVmbx->SaveEntry(*mEntry), KErrNone);
+    deleteEntryApi();
+    
+    // Query and compare vmbx type after saving
+    RIdArray ids;
+    QCOMPARE(mVmbx->GetServiceIds(ids), KErrNone);
+    TServiceId idAct = ids[0];
+    QCOMPARE(idAct, idExp);
+    */
+    deleteVmbxApi();    
+}
+
+void Ut_VmbxEngine::testCheckConfiguration()
+{
+    createVmbxApi();
+    TVoiceMailboxParams params;
+    params.iType = EVmbxVoice;
+    TBool result = mVmbx->CheckConfiguration(
+        params, EVmbxChangeNbrAllowedOnUi);
+    if (!result) {
+        QEXPECT_FAIL("","voice not allowed changed", Continue);
+    }
+    params.iType = EVmbxVideo;
+    result = mVmbx->CheckConfiguration(
+        params,EVmbxChangeNbrAllowedOnUi);
+    if (!result) {
+        QEXPECT_FAIL("","video not allowed changed", Continue);
+    }
+    params.iType = EVmbxVoip;
+    result = mVmbx->CheckConfiguration(
+        params,EVmbxChangeNbrAllowedOnUi);
+    if (result) {
+        QFAIL ("voip failed");
+    }
+    deleteVmbxApi();
+}
+
+void Ut_VmbxEngine::testSaveProvisionedEntry()
+{
+    createVmbxApi();    
+    // Voice
+    createEntryApi();
+    mEntry->SetVoiceMailboxType(EVmbxVoice);
+    mEntry->SetVmbxNumber(KNumber);
+    QCOMPARE(mVmbx->SaveProvisionedEntry(*mEntry), KErrNone);
+    deleteEntryApi();
+    
+    // Video
+    createEntryApi();
+    mEntry->SetVoiceMailboxType(EVmbxVideo);
+    mEntry->SetVmbxNumber(KNumber);
+    QCOMPARE(mVmbx->SaveProvisionedEntry(*mEntry), KErrNone);
+    deleteEntryApi();
+    
+    deleteVmbxApi();
+}
+// Test Vmbx end
+
+
+// Test Entry start
+void Ut_VmbxEngine::testType()
+{
+    createEntryApi();
+    mEntry->SetVoiceMailboxType(EVmbxNone);
+    QCOMPARE(mEntry->VoiceMailboxType(), EVmbxNone);
+    
+    mEntry->SetVoiceMailboxType(EVmbxVoice);
+    QCOMPARE(mEntry->VoiceMailboxType(), EVmbxVoice);
+    
+    mEntry->SetVoiceMailboxType(EVmbxVideo);
+    QCOMPARE(mEntry->VoiceMailboxType(), EVmbxVideo);
+    
+    deleteEntryApi();
+}
+
+void Ut_VmbxEngine::testName()
+{
+    createEntryApi();
+    
+    // Valid string
+    TPtrC nameIn(KName);
+    mEntry->SetVmbxName(nameIn);
+    TPtrC nameOut(KNullDesC);
+    mEntry->GetVmbxName(nameOut);
+    QCOMPARE(nameOut, nameIn);
+    
+    // Invalid string
+//    HBufC *name = HBufC::NewLC(KVmbxMaxNumberLength+1);
+//    QCOMPARE(mEntry->SetVmbxName(name->Des()), KErrArgument);
+//    CleanupStack::PopAndDestroy(name);
+    
+    deleteEntryApi();      
+}
+
+void Ut_VmbxEngine::testServiceId()
+{
+    createEntryApi();
+    
+    TServiceId idIn(10);
+    mEntry->SetServiceId(idIn);
+    QCOMPARE(mEntry->ServiceId(), idIn);    
+    
+    deleteEntryApi();      
+}
+
+void Ut_VmbxEngine::testLineType()
+{
+    createEntryApi();
+   
+    // Als is disable in TB10.1
+    /*
+    mEntry->SetVmbxAlsLineType(EVmbxAlsLineDefault);
+    QCOMPARE(mEntry->VmbxAlsLineType(), EVmbxAlsLineDefault);
+    
+    mEntry->SetVmbxAlsLineType(EVmbxAlsLine1);
+    QCOMPARE(mEntry->VmbxAlsLineType(), EVmbxAlsLine1);
+    
+    mEntry->SetVmbxAlsLineType(EVmbxAlsLine2);
+    QCOMPARE(mEntry->VmbxAlsLineType(), EVmbxAlsLine2);
+    */
+    deleteEntryApi();  
+}
+
+void Ut_VmbxEngine::testNumber()
+{
+    createEntryApi();
+    
+    // Valid number
+    TPtrC numberIn(KNumber);
+    mEntry->SetVmbxNumber(numberIn);
+    TPtrC numberOut(KNullDesC);
+    mEntry->GetVmbxNumber(numberOut);
+    QCOMPARE(numberOut, numberIn);
+    
+    // Invalid number
+//    HBufC *number = HBufC::NewLC(KVmbxMaxNumberLength+1);
+//    QCOMPARE(mEntry->SetVmbxNumber(number->Des()), KErrArgument);
+//    CleanupStack::PopAndDestroy(number);
+    
+    deleteEntryApi();  
+}
+
+void Ut_VmbxEngine::testBrandId()
+{
+    createEntryApi();
+
+    // Valid braind id
+    TPtrC8 brandIn(KBrandId);
+    QCOMPARE(mEntry->SetBrandId(brandIn), KErrNone);  
+    
+    TPtrC8 brandOut(KNullDesC8);
+    QCOMPARE(mEntry->GetBrandId(brandOut), KErrNone);
+    
+    if (brandOut.Compare(brandIn)){
+        QFAIL("Fail to Set/Get BrandId");
+    }
+    
+    // Invalid Brand Id
+//    HBufC8 *invalid = HBufC8::NewLC(KVmbxMaxNumberLength+1);
+//    QCOMPARE(mEntry->SetBrandId(invalid->Des()), KErrArgument);
+//    CleanupStack::PopAndDestroy(invalid);    
+    
+    deleteEntryApi();  
+}
+
+void Ut_VmbxEngine::testUsingMemoryLocation()
+{
+    createEntryApi();
+    
+    mEntry->SetUsingMemoryLocation(EVmbxPhoneMemory);
+    QCOMPARE(mEntry->UsingMemoryLocation(), EVmbxPhoneMemory);
+    
+    mEntry->SetUsingMemoryLocation(EVmbxSimMemory);
+        QCOMPARE(mEntry->UsingMemoryLocation(), EVmbxSimMemory);
+        
+    deleteEntryApi();  
+}
+
+void Ut_VmbxEngine::testReset()
+{
+    createEntryApi();
+    
+    mEntry->Reset();
+    QCOMPARE(mEntry->ServiceId(), KVmbxServiceIdNone);
+    QCOMPARE(mEntry->VoiceMailboxType(), EVmbxNone);
+    QCOMPARE(mEntry->VmbxAlsLineType(), EVmbxAlsLineDefault);
+    
+    TPtrC8 brand(KNullDesC8);
+    QCOMPARE(mEntry->GetBrandId(brand), KErrNotFound);
+    
+    TPtrC name;
+    QCOMPARE(mEntry->GetVmbxName(name), KErrNotFound);
+    
+    TPtrC number;
+    QCOMPARE(mEntry->GetVmbxNumber(number), KErrNotFound);
+    
+    QCOMPARE(mEntry->UsingMemoryLocation(), EVmbxSimMemory);
+    
+    deleteEntryApi();  
+}
+// Test Entry end 
+
+// Private function: create 2 data member
+void Ut_VmbxEngine::createVmbxApi()
+{   
+    if (!mVmbx){
+        TRAPD( err, mVmbx = CVoiceMailbox::NewL());
+        QVERIFY(mVmbx);
+        qDebug("Create vmbx api TRAP: %d", err);
+    }
+}
+void Ut_VmbxEngine::deleteVmbxApi()
+{
+    delete mVmbx;
+    mVmbx = NULL;
+    qDebug("Delete vmbx api");
+}
+void Ut_VmbxEngine::createEntryApi()
+{
+    if (!mEntry){
+        TRAPD( err, mEntry = CVoiceMailboxEntry::NewL());
+        QVERIFY(mEntry);
+        qDebug("Create entry Api TRAP: %d", err);
+    }  
+}
+
+void Ut_VmbxEngine::deleteEntryApi()
+{
+    delete mEntry;
+    mEntry = NULL;
+    qDebug("Delete entry api");
+}
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/tsrc/ut_vmbxengine/ut_vmbxengine.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,124 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = app
+TARGET = ut_vmbxengine
+TARGET.EPOCALLOWDLLDATA = 1
+
+CONFIG += hb
+CONFIG += qtestlib
+
+DEPENDPATH += .
+
+INCLUDEPATH += .
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+HEADERS += \epoc32\include\platform\mw\cvoicemailbox.h
+HEADERS += \epoc32\include\platform\mw\cvoicemailboxentry.h
+
+INCLUDEPATH += ..\..\inc
+
+HEADERS += $$PUBLIC_HEADERS
+
+symbian: { 
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+}
+
+# Code subject to test 
+SOURCES += ..\..\src\vmbxuihandler.cpp
+# It is mocked by qtuihandler_mock.cpp, remove the real one
+#SOURCES += ..\..\src\vmbxqtuihandler.cpp
+SOURCES += ..\..\src\voicemailboximpl.cpp
+SOURCES += ..\..\src\vmbxpbkstore.cpp
+SOURCES += ..\..\src\vmbxetelconnection.cpp
+SOURCES += ..\..\src\vmbxsimhandler.cpp
+SOURCES += ..\..\src\vmbxcenrephandler.cpp
+SOURCES += ..\..\src\vmbxutilities.cpp
+SOURCES += ..\..\src\vmbxenginefactory.cpp
+SOURCES += ..\..\src\vmbxenginebase.cpp
+SOURCES += ..\..\src\vmbxcsvoiceengine.cpp
+SOURCES += ..\..\src\vmbxcsvideoengine.cpp
+SOURCES += ..\..\src\vmbxvoipengine.cpp
+SOURCES += ..\..\src\vmbxemergencycall.cpp  
+SOURCES += ..\..\src\vmbxuiutilities.cpp
+SOURCES += ..\..\src\vmbxcenrepobserver.cpp
+SOURCES += ..\..\src\vmbxsimstoreobserver.cpp
+SOURCES += ..\..\src\vmbxsatrefreshobserver.cpp
+SOURCES += ..\..\src\vmbxobserver.cpp
+SOURCES += ..\..\src\vmbshandler.cpp
+SOURCES += ..\..\src\vmspshandler.cpp
+SOURCES += ..\..\src\vmsettingsuiiconfileprovider.cpp
+SOURCES += ..\..\src\cvoicemailbox.cpp
+SOURCES += ..\..\src\cvoicemailboxentry.cpp
+
+HEADERS += ..\..\inc\vmbxuihandler.h
+HEADERS += ..\..\inc\vmbxqtuihandler.h
+HEADERS += ..\..\inc\voicemailboximpl.h
+HEADERS += ..\..\inc\vmbxpbkstore.h
+HEADERS += ..\..\inc\vmbxetelconnection.h
+HEADERS += ..\..\inc\vmbxsimhandler.h
+HEADERS += ..\..\inc\vmbxcenrephandler.h
+HEADERS += ..\..\inc\vmbxutilities.h
+HEADERS += ..\..\inc\vmbxenginefactory.h
+HEADERS += ..\..\inc\vmbxenginebase.h
+HEADERS += ..\..\inc\vmbxcsvoiceengine.h
+HEADERS += ..\..\inc\vmbxcsvideoengine.h
+HEADERS += ..\..\inc\vmbxvoipengine.h
+HEADERS += ..\..\inc\vmbxemergencycall.h  
+HEADERS += ..\..\inc\vmbxuiutilities.h
+HEADERS += ..\..\inc\vmbxcenrepobserver.h
+HEADERS += ..\..\inc\vmbxsimstoreobserver.h
+HEADERS += ..\..\inc\vmbxsatrefreshobserver.h
+HEADERS += ..\..\inc\vmbxobserver.h
+HEADERS += ..\..\inc\vmbshandler.h
+HEADERS += ..\..\inc\vmspshandler.h
+HEADERS += ..\..\inc\vmsettingsuiiconfileprovider.h
+
+HEADERS += ..\..\inc\mvmbxcenrephandler.h 
+HEADERS += ..\..\inc\mvmbxcenrepobserver.h 
+HEADERS += ..\..\inc\mvmbxchangeobserver.h 
+HEADERS += ..\..\inc\mvmbxresourceprovider.h
+HEADERS += ..\..\inc\mvmbxsatrefreshobserver.h
+HEADERS += ..\..\inc\mvmbxservicenotify.h
+HEADERS += ..\..\inc\mvmbxsimstoreobserver.h
+HEADERS += ..\..\inc\mvmbxuihandler.h
+HEADERS += ..\..\inc\mvmbxuiutilities.h
+
+# Test code
+HEADERS += inc\ut_vmbxengine.h
+HEADERS += inc\ut_pbkstore.h
+HEADERS += inc\ut_simhandler.h
+
+SOURCES += src\ut_vmbxengine.cpp
+SOURCES += src\ut_pbkstore.cpp
+SOURCES += src\ut_simhandler.cpp
+SOURCES += src\main.cpp
+
+# Mock class
+SOURCES += src\etel_mock.cpp
+SOURCES += src\mpbutil_mock.cpp
+SOURCES += src\qtuihandler_mock.cpp
+SOURCES += src\cenrep_mock.cpp
+
+LIBS += -lflogger
+LIBS += -lfeatmgr    
+LIBS += -lcenrepnotifhandler
+LIBS += -lphoneclient
+LIBS += -lsssettings
+LIBS += -lsatclient
+LIBS += -lserviceprovidersettings
+LIBS += -lefsrv
+    
+#End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxengine/vmbxengine.pro	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,131 @@
+#
+# 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:
+#
+#
+#
+
+TEMPLATE = lib
+TARGET = vmbxengine
+DEPENDPATH += .
+HEADERS += $$PUBLIC_HEADERS
+
+CONFIG += hb
+MOC_DIR = moc
+
+symbian: {
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.UID3=0x1000590F
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+                   $$MOC_DIR \
+                   ../../inc \
+                   ./inc
+        
+    LIBS += -lcentralrepository \
+            -lcenrepnotifhandler \
+            -lfeatmgr \
+            -lphoneclient \
+            -lsssettings \
+            -letelmm \
+            -letel \
+            -lsatclient \
+            -lserviceprovidersettings \
+            -lefsrv \
+            -lFlogger
+
+    HEADERS += inc/mvmbxcenrephandler.h \
+               inc/mvmbxcenrepobserver.h \
+               inc/mvmbxchangeobserver.h \
+               inc/mvmbxresourceprovider.h \
+               inc/mvmbxsatrefreshobserver.h \
+               inc/mvmbxservicenotify.h \
+               inc/mvmbxsimstoreobserver.h \
+               inc/mvmbxuihandler.h \
+               inc/mvmbxuiutilities.h \
+               inc/vmbshandler.h \
+               inc/vmbxcenrephandler.h \
+               inc/vmbxcenrepobserver.h \
+               inc/vmbxcsvideoengine.h \
+               inc/vmbxcsvoiceengine.h \
+               inc/vmbxemergencycall.h \
+               inc/vmbxenginebase.h \
+               inc/vmbxenginefactory.h \
+               inc/vmbxetelconnection.h \
+               inc/vmbxlogger.h \
+               inc/vmbxobserver.h \
+               inc/vmbxpbkstore.h \
+               inc/vmbxqtuihandler.h \
+               inc/vmbxsatrefreshobserver.h \
+               inc/vmbxsimhandler.h \
+               inc/vmbxsimstoreobserver.h \
+               inc/vmbxuihandler.h \
+               inc/vmbxuiutilities.h \
+               inc/vmbxutilities.h \
+               inc/vmbxvoipengine.h \
+               inc/vmsettingsuiiconfileprovider.h \
+               inc/vmspshandler.h \
+               inc/voicemailboxdefsinternal.h \
+               inc/voicemailboximpl.h \
+               inc/voicemailboxprivatecrkeys.h \
+               inc/dialogwaiter.h
+
+    SOURCES += src/vmbxcenrepobserver.cpp \
+               src/vmbxcsvoiceengine.cpp \
+               src/vmbxcsvideoengine.cpp \
+               src/vmbxcenrephandler.cpp \
+               src/vmbshandler.cpp \
+               src/cvoicemailboxentry.cpp \
+               src/cvoicemailbox.cpp \
+               src/voicemailboximpl.cpp \
+               src/vmspshandler.cpp \
+               src/vmsettingsuiiconfileprovider.cpp \
+               src/vmbxvoipengine.cpp \
+               src/vmbxutilities.cpp \
+               src/vmbxuiutilities.cpp \
+               src/vmbxuihandler.cpp \
+               src/vmbxsimstoreobserver.cpp \
+               src/vmbxsimhandler.cpp \
+               src/vmbxsatrefreshobserver.cpp \
+               src/vmbxqtuihandler.cpp \
+               src/vmbxpbkstore.cpp \
+               src/vmbxobserver.cpp \
+               src/vmbxetelconnection.cpp \
+               src/vmbxenginefactory.cpp \
+               src/vmbxenginebase.cpp \
+               src/vmbxemergencycall.cpp \
+               src/dialogwaiter.cpp
+               
+     defFiles = \
+        "$${LITERAL_HASH}ifdef WINS" \
+            "DEFFILE bwins/vmbxengine.def" \
+        "$${LITERAL_HASH}else" \
+            "DEFFILE eabi/vmbxengine.def" \
+        "$${LITERAL_HASH}endif"
+    
+    MMP_RULES += defFiles
+
+    BLD_INF_RULES.prj_exports += \
+        "rom/backup_registration.xml /epoc32/data/z/private/100058F5/backup_registration.xml" \
+        "conf/voicemailbox.confml         MW_LAYER_CONFML(voicemailbox.confml)" \
+        "conf/voicemailbox_101F874F.crml  MW_LAYER_CRML(voicemailbox_101F874F.crml)" \
+        "rom/backup_registration.xml   /epoc32/release/winscw/udeb/z/private/100058F5/backup_registration.xml" \
+        "rom/backup_registration.xml   /epoc32/release/winscw/urel/z/private/100058F5/backup_registration.xml" \
+        "rom/vmbxengine_stub.sis /epoc32/data/z/system/install/vmbxengine_stub.sis" \
+        "rom/vmbxengine.iby CORE_MW_LAYER_IBY_EXPORT_PATH(vmbxengine.iby)" \
+        "rom/vmbxresources.iby       LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(vmbxresources.iby)"
+
+    TRANSLATIONS = vmbx.ts
+
+}