Revision: 201039 RCL_3 PDK_3.0.4
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 14:15:33 +0300
branchRCL_3
changeset 85 38bb213f60ba
parent 74 6b5524b4f673
Revision: 201039 Kit: 201041
ccservices/cmsservices/cmscontactor/group/cmscontactor.mmp
ccservices/cmsservices/cmsengine/Server/group/cmsserver.mmp
ccservices/cmsservices/cmsengine/Server/inc/cmsdefines.h
ccservices/cmsservices/cmsengine/Server/inc/cmsservercontact.h
ccservices/cmsservices/cmsengine/Server/inc/cmsserverxspcontacthandler.h
ccservices/cmsservices/cmsengine/Server/src/cmsfindlinkedcontact.cpp
ccservices/cmsservices/cmsengine/Server/src/cmsserverutils.cpp
ccservices/cmsservices/cmsengine/Server/src/cmssetvoicecalldefault.cpp
ccservices/cmsservices/cmsengine/tsrc/contactcreator/Server/group/creatorserver.mmp
ccservices/cmsservices/cmsengine/tsrc/contactcreator/Server/src/creatorserver.cpp
ccservices/cmsservices/cmsengine/tsrc/contactcreator2/Server/group/creatorserver2.mmp
ccservices/cmsservices/cmsengine/tsrc/contactcreator2/Server/src/creatorserver2.cpp
ccservices/cmsservices/contactpresence/group/contactpresence.mmp
ccservices/cmsservices/contactpresence/inc/presenceiconinfo.h
contactextensions/predefinedcontacts/group/predefinedcontacts.mmp
contactextensions/predefinedcontacts/inc/pdcxmlmapping.h
contacts_plat/cca_launch_api/tsrc/cca_launch_api/group/cca_launch_api.mmp
contacts_plat/cca_view_plugin_api/tsrc/ut_cccappviewpluginakncontainer/group/ut_cccappviewpluginakncontainer.mmp
contacts_plat/cca_view_plugin_api/tsrc/ut_cccappviewpluginaknview/group/ut_cccappviewpluginaknview.mmp
contacts_plat/contactpresence_api/tsrc/contactpresenceapitester/group/contactpresenceapitester.mmp
contacts_plat/contactpresence_api/tsrc/contactpresenceapitester/src/contactpresencephonebook.cpp
contacts_plat/phonebook_2_contact_related_icon_customization_api/tsrc/group/Pbk2IconCustomApiTestModule.mmp
contacts_plat/phonebook_2_presentation_api/inc/Pbk2IconId.hrh
contacts_plat/phonebook_2_rcl_api/tsrc/rcltestsuite/group/rcltestsuite.mmp
contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/conf/PsClientTestSuitePRC.cfg
contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/group/PsClientTestSuite.mmp
contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/group/PsClientTestSuitePRC.pkg
contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/inc/TestSuiteInputData.h
contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/src/TestSuiteInputData.cpp
contacts_plat/predictivesearch_utils_api/tsrc/PsUtilsTestSuite/group/PsUtilsTestSuite.mmp
contacts_plat/presence_cache_api/tsrc/clientsrvtester/group/clientsrvtester.mmp
contacts_plat/speed_dial_dialogs_api/tsrc/bc/group/BCTestSpeedDial.mmp
contacts_plat/virtual_phonebook_engine_api/inc/MVPbkFieldType.h
contacts_plat/virtual_phonebook_policy_api/tsrc/T_VPbkPolicyApi/group/T_VPbkPolicyApi.mmp
contacts_plat/virtual_phonebook_sim_services_api/tsrc/T_VPbkSimServicesApi/group/T_VPbkSimServicesApi.mmp
contacts_plat/virtual_phonebook_store_api/inc/CVPbkContactOperationFactory.h
contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/group/T_MVPbkContactStore.mmp
contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/inc/T_MVPbkContactStoreSingle.h
contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/src/T_MVPbkContactStoreComposite.cpp
contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/src/T_MVPbkContactStoreDllMain.cpp
contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/src/T_MVPbkContactStoreSingle.cpp
contacts_plat/virtual_phonebook_vcard_api/tsrc/T_VPbkVCardApi/group/T_VPbkVCardApi.mmp
contacts_plat/virtual_phonebook_vcard_api/tsrc/T_VPbkVCardApi/src/VPbkVCardStifBlocks.cpp
contacts_plat/virtual_phonebook_view_definition_api/tsrc/T_VPbkViewDefinitionApi/group/T_VPbkViewDefinitionApi.mmp
contacts_pub/phonebook_data_addedit_ui_api/tsrc/bc/group/BCTestPbkDataAddEdit.mmp
contacts_pub/phonebook_data_addedit_ui_api/tsrc/bc/src/BCTestPbkDataAddEditBlocks.cpp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactChangeNotifier/group/MTPbkContactChangeNotifier.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactEngine/group/MTPbkContactEngine.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactItem/group/MTPbkContactItem.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactItemField/group/MTPbkContactItemField.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactIter/group/MTPbkContactIter.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkFieldData/group/MTPbkFieldData.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkFields/group/MTPbkFields.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkFieldsInfo/group/MTPbkFieldsInfo.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkIconId/group/MTPbkIconId.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkIconInfo/group/MTPbkIconInfo.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkIdleFinder/group/MTPbkIdleFinder.mmp
contacts_pub/phonebook_data_management_api/tsrc/bc/MTRPbkViewResourceFile/group/MTRPbkViewResourceFile.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkAddressSelect/group/MTPbkAddressSelect.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkAddressSelect/src/CAddressSelect.cpp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkEmailAddressSelect/group/MTPbkEmailAddressSelect.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkEmailOverSms/group/MTPbkEmailOverSms.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkFetchCallbacks/group/MTPbkFetchCallbacks.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkFetchDlgSelection/group/MTPbkFetchDlgSelection.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkMemoryEntryAddItemDlg/group/MTPbkMemoryEntryAddItemDlg.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkMmsAddressSelect/group/MTPbkMmsAddressSelect.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkMultipleEntryFetchDlg/group/MTPbkMultipleEntryFetchDlg.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPhoneNumberSelect/group/MTPbkPhoneNumberSelect.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPhoneNumberSelectBase/group/MTPbkPhoneNumberSelectBase.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPhoneNumberSelectBase/src/CPhoneNumberSelectBase.cpp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPocAddressSelect/group/MTPbkPocAddressSelect.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSelectFieldDlg/group/MTPbkSelectFieldDlg.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSelectFieldDlg/group/TestFramework.ini
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSingleEntryFetchDlg/group/MTPbkSingleEntryFetchDlg.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSingleItemFetchDlg/group/MTPbkSingleItemFetchDlg.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSmsAddressSelect/group/MTPbkSmsAddressSelect.mmp
contacts_pub/phonebook_fetch_ui_api/tsrc/bc/group/MTPbkPocAddressSelect.mmp
contacts_pub/phonebook_ui_utilities_api/tsrc/bc/group/BCTestPbkUIUtil.mmp
contacts_pub/phonebook_vcard_importexport_api/tsrc/bc/group/BCTestPbkVcardImportExport.mmp
contacts_pub/phonebook_vcard_importexport_api/tsrc/bc/src/BCTestPbkVcardImportExportBlocks.cpp
contacts_pub/speed_dial_utility_control_api/tsrc/bc/group/BCTestSpeedDial.mmp
contacts_pub/speed_dial_utility_control_api/tsrc/bc/src/BCTestSpeedDialBlocks.cpp
logsui/AocCtViewSrc/CLogsMMEAocUtil.cpp
logsui/AppSrc/CCtControlContainer.cpp
logsui/AppSrc/CCtView.cpp
logsui/AppSrc/CGprsCtControlContainer.cpp
logsui/AppSrc/CGprsCtView.cpp
logsui/AppSrc/CLogsAppListControlContainer.cpp
logsui/AppSrc/CLogsAppListView.cpp
logsui/AppSrc/CLogsAppListView.h
logsui/AppSrc/CLogsAppUi.cpp
logsui/AppSrc/CLogsAppUi.h
logsui/AppSrc/CLogsBaseControlContainer.cpp
logsui/AppSrc/CLogsBaseView.cpp
logsui/AppSrc/CLogsBaseView.h
logsui/AppSrc/CLogsCtAdapter.cpp
logsui/AppSrc/CLogsDetailAdapter.cpp
logsui/AppSrc/CLogsDetailControlContainer.cpp
logsui/AppSrc/CLogsDetailView.cpp
logsui/AppSrc/CLogsDetailView.h
logsui/AppSrc/CLogsEventListAdapter.cpp
logsui/AppSrc/CLogsEventListControlContainer.cpp
logsui/AppSrc/CLogsEventListView.cpp
logsui/AppSrc/CLogsEventListView.h
logsui/AppSrc/CLogsGprsCtAdapter.cpp
logsui/AppSrc/CLogsRecentListAdapter.cpp
logsui/AppSrc/CLogsRecentListControlContainer.cpp
logsui/AppSrc/CLogsRecentListView.cpp
logsui/AppSrc/CLogsRecentListView.h
logsui/AppSrc/CLogsSubAppListControlContainer.cpp
logsui/AppSrc/CLogsSubAppListView.cpp
logsui/EngineSrc/CLogsEventUpdater.cpp
logsui/LogsIndicatorPlugin/CLogsIndicatorPlugin.cpp
logsui/LogsPlugin/CLogsSettingsControlContainer.cpp
logsui/LogsPlugin/CLogsSettingsView.cpp
logsui/group/Common.rss
logsui/group/Logs.mmp
logsui/group/LogsEng.mmp
logsui/group/LogsIndicatorPlugin.mmp
logsui/group/LogsPlugin.mmp
logsui/group/Logs_reg.rss
logsui/help/data/xhtml.zip
logsui/logsserviceextension/group/logsserviceextension.mmp
logsui/logsserviceextension/src/clogsextpresentityidfetcher.cpp
logsui/logsserviceextension/src/clogsviewextension.cpp
phonebookengines/CntFindPlugin/group/CntFindPlugin.mmp
phonebookengines/CntSortPlugin/group/CntSortPlugin.mmp
phonebookengines/VirtualPhonebook/VPbkCntModel/src/CContactStore.cpp
phonebookengines/VirtualPhonebook/VPbkCntModel/src/CContactStoreDomain.cpp
phonebookengines/VirtualPhonebook/VPbkCntModel/src/CFieldFactory.cpp
phonebookengines/VirtualPhonebook/VPbkCntModel/src/CFilteredContactView.cpp
phonebookengines/VirtualPhonebook/VPbkCntModel/src/CFilteredGroupView.cpp
phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkContactManager.cpp
phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkFieldTypeSelector.cpp
phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkPhoneNumberMatchStrategy.cpp
phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkTopContactOperation.cpp
phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkxSPContactsOperation.cpp
phonebookengines/VirtualPhonebook/VPbkEng/src/VPbkContactViewFilterBuilder.cpp
phonebookengines/VirtualPhonebook/VPbkEng/src/VPbkFieldTypeSelectorFactory.cpp
phonebookengines/VirtualPhonebook/VPbkEng/src/VPbkUtils.cpp
phonebookengines/VirtualPhonebook/VPbkSimStore/inc/CContact.h
phonebookengines/VirtualPhonebook/VPbkSimStore/inc/CSupportedFieldTypes.h
phonebookengines/VirtualPhonebook/VPbkSimStore/rss/VPbkSimStoreRes.rss
phonebookengines/VirtualPhonebook/VPbkSimStore/src/CContact.cpp
phonebookengines/VirtualPhonebook/VPbkSimStore/src/CContactStore.cpp
phonebookengines/VirtualPhonebook/VPbkSimStore/src/CContactStoreDomain.cpp
phonebookengines/VirtualPhonebook/VPbkSimStore/src/CSupportedFieldTypes.cpp
phonebookengines/VirtualPhonebook/VPbkSimStoreCommon/src/CVPbkSimFieldTypeFilter.cpp
phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkETelCntConverter.cpp
phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimCntField.cpp
phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimContact.cpp
phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimContactBase.cpp
phonebookengines/VirtualPhonebook/VPbkVCardEng/inc/CVPbkVCardAttributeHandler.h
phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardAttributeHandler.cpp
phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardCompactBCardImporter.cpp
phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardData.cpp
phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardPropertyParser.cpp
phonebookengines/VirtualPhonebook/group/VPbkCntModel.mmp
phonebookengines/VirtualPhonebook/group/VPbkSimStore.mmp
phonebookengines/VirtualPhonebook/group/VPbkSimStoreService.mmp
phonebookengines/VirtualPhonebook/inc/CVPbkSimContact.h
phonebookengines/VirtualPhonebook/inc/VPbkSimCntFieldTypes.hrh
phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_SelectorFactory/group/MT_VPbkEng_SelectorFactory.mmp
phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_SelectorFactory/inc/constants.h
phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_SelectorFactory/src/MT_VPbkEng_SelectorFactoryCases.cpp
phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/group/MT_VPbkEng_StrCntAnalyzer.mmp
phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/src/MT_VPbkEng_StrCntAnalyzerCases.cpp
phonebookengines/contactsmodel/groupsql/app-engines_cntmodel.mrp
phonebookengines/contactsmodel/groupsql/cntmodel.iby
phonebookengines/contactsmodel/inc/cntdef_internal.hrh
phonebookengines/contactsmodel/tsrc/t_cnt_backup.h
phonebookengines/contactsmodel/tsrc/t_cnt_backup.mmp
phonebookengines/contactsmodel/tsrc/t_contenttype.mmp
phonebookui/Phonebook/AIF/Phonebook_reg.rss
phonebookui/Phonebook/App/rss/PbkAiwInterest.rss
phonebookui/Phonebook/App/rss/Phonebook.rss
phonebookui/Phonebook/App/src/CPbkAiwInterestItemCall.cpp
phonebookui/Phonebook/App/src/CPbkAiwInterestItemPoc.cpp
phonebookui/Phonebook/App/src/CPbkAiwInterestItemSyncMl.cpp
phonebookui/Phonebook/App/src/CPbkAppUi.cpp
phonebookui/Phonebook/App/src/CPbkAssignToGroupCmd.cpp
phonebookui/Phonebook/App/src/CPbkCodImageCmd.cpp
phonebookui/Phonebook/App/src/CPbkContactInfoAppView.cpp
phonebookui/Phonebook/App/src/CPbkContactInfoBaseNavigationStrategy.cpp
phonebookui/Phonebook/App/src/CPbkContactListAppView.cpp
phonebookui/Phonebook/App/src/CPbkDeleteContactsCmd.cpp
phonebookui/Phonebook/App/src/CPbkGoToURLCmd.cpp
phonebookui/Phonebook/App/src/CPbkGroupMembersListAppView.cpp
phonebookui/Phonebook/App/src/CPbkGroupsListAppView.cpp
phonebookui/Phonebook/App/src/CPbkMenuFiltering.cpp
phonebookui/Phonebook/App/src/CPbkNamesListAppView.cpp
phonebookui/Phonebook/App/src/CPbkRemoveFromGroupCmd.cpp
phonebookui/Phonebook/App/src/CPbkSendContactCmd.cpp
phonebookui/Phonebook/App/src/CPbkSendMultipleMessageCmd.cpp
phonebookui/Phonebook/App/src/CPbkSetToneToGroupCmd.cpp
phonebookui/Phonebook/App/src/CPbkViewNavigator.cpp
phonebookui/Phonebook/BCardEng/src/BCardEng.cpp
phonebookui/Phonebook/Engine/rss/PbkEng.rss
phonebookui/Phonebook/Engine/rss/PbkEngChinese.rss
phonebookui/Phonebook/Engine/rss/PbkEngJapanese.rss
phonebookui/Phonebook/Engine/src/CPbkConstants.cpp
phonebookui/Phonebook/Engine/src/CPbkContactEngine.cpp
phonebookui/Phonebook/Engine/src/CPbkFieldsInfo.cpp
phonebookui/Phonebook/Engine/src/CPbkSortOrderManager.cpp
phonebookui/Phonebook/PbkAiwProviders/src/CPbkAiwCmdAssignProvider.cpp
phonebookui/Phonebook/PbkAiwProviders/src/CPbkAiwProviderBase.cpp
phonebookui/Phonebook/PbkAiwProviders/src/CPbkAssignImageCmd.cpp
phonebookui/Phonebook/PbkAiwProviders/src/CPbkAssignRingingToneCmd.cpp
phonebookui/Phonebook/PbkEngine_FM/rss/PbkEngine_FMChineseRes.rss
phonebookui/Phonebook/PbkEngine_FM/rss/PbkEngine_FMJapaneseRes.rss
phonebookui/Phonebook/PbkEngine_FM/rss/PbkEngine_FMRes.rss
phonebookui/Phonebook/PbkEngine_FM/src/Cfmpbkengineextension.cpp
phonebookui/Phonebook/View/rss/PbkNonTouchableView.rss
phonebookui/Phonebook/View/src/CPbkAddToGroup.cpp
phonebookui/Phonebook/View/src/CPbkContactEditorDateField.cpp
phonebookui/Phonebook/View/src/CPbkContactEditorDlg.cpp
phonebookui/Phonebook/View/src/CPbkContactEditorEditContact.cpp
phonebookui/Phonebook/View/src/CPbkContactEditorFieldArray.cpp
phonebookui/Phonebook/View/src/CPbkContactEditorNewContact.cpp
phonebookui/Phonebook/View/src/CPbkContactEditorSyncField.cpp
phonebookui/Phonebook/View/src/CPbkContactInfoControl.cpp
phonebookui/Phonebook/View/src/CPbkContactViewListControl.cpp
phonebookui/Phonebook/View/src/CPbkContextPaneIcon.cpp
phonebookui/Phonebook/View/src/CPbkDataSaveAppUi.cpp
phonebookui/Phonebook/View/src/CPbkDeleteContactQuery.cpp
phonebookui/Phonebook/View/src/CPbkDrmManager.cpp
phonebookui/Phonebook/View/src/CPbkEmailAddressSelect.cpp
phonebookui/Phonebook/View/src/CPbkEmailOverSmsAddressSelect.cpp
phonebookui/Phonebook/View/src/CPbkFFSCheck.cpp
phonebookui/Phonebook/View/src/CPbkFetchDlg.cpp
phonebookui/Phonebook/View/src/CPbkFieldFormatter.cpp
phonebookui/Phonebook/View/src/CPbkGroupBelongings.cpp
phonebookui/Phonebook/View/src/CPbkGroupMembersFetchDlg.cpp
phonebookui/Phonebook/View/src/CPbkGroupNameQueryDlg.cpp
phonebookui/Phonebook/View/src/CPbkIconArray.cpp
phonebookui/Phonebook/View/src/CPbkMemoryEntryAddItemDlg.cpp
phonebookui/Phonebook/View/src/CPbkMemoryEntryDefaultsDlg.cpp
phonebookui/Phonebook/View/src/CPbkMemoryEntrySelectAddItemDlg.cpp
phonebookui/Phonebook/View/src/CPbkMmsAddressSelect.cpp
phonebookui/Phonebook/View/src/CPbkMultipleEntryFetchDlg.cpp
phonebookui/Phonebook/View/src/CPbkPhoneNumberSelect.cpp
phonebookui/Phonebook/View/src/CPbkPhoneNumberSelectBase.cpp
phonebookui/Phonebook/View/src/CPbkPhonebookInfoDlg.cpp
phonebookui/Phonebook/View/src/CPbkPocAddressSelect.cpp
phonebookui/Phonebook/View/src/CPbkRingingToneFetch.cpp
phonebookui/Phonebook/View/src/CPbkSelectFieldDlg.cpp
phonebookui/Phonebook/View/src/CPbkSendKeyAddressSelect.cpp
phonebookui/Phonebook/View/src/CPbkSettingsDlg.cpp
phonebookui/Phonebook/View/src/CPbkSettingsList.cpp
phonebookui/Phonebook/View/src/CPbkSingleEntryFetchDlg.cpp
phonebookui/Phonebook/View/src/CPbkSingleItemFetchDlg.cpp
phonebookui/Phonebook/View/src/CPbkSwapContextPaneIcon.cpp
phonebookui/Phonebook/View/src/CPbkThumbnailCmd.cpp
phonebookui/Phonebook/View/src/CPbkThumbnailPopup.cpp
phonebookui/Phonebook/View/src/CPbkThumbnailPopupControl.cpp
phonebookui/Phonebook/View/src/CPbkThumbnailPopupControlSlim.cpp
phonebookui/Phonebook/View/src/CPbkURLAddressSelect.cpp
phonebookui/Phonebook/View/src/CPbkVideoNumberSelect.cpp
phonebookui/Phonebook/View/src/CPbkVoipAddressSelect.cpp
phonebookui/Phonebook/View/src/Cpbknameordersettingitem.cpp
phonebookui/Phonebook/View/src/PbkIconInfo.cpp
phonebookui/Phonebook/View/src/PbkViewUtils.cpp
phonebookui/Phonebook/group/BCardEng.mmp
phonebookui/Phonebook/group/PbkAiwProviders.mmp
phonebookui/Phonebook/group/PbkEng.mmp
phonebookui/Phonebook/group/PbkEngine_FM.mmp
phonebookui/Phonebook/group/PbkSINDHandler.mmp
phonebookui/Phonebook/group/PbkView.mmp
phonebookui/Phonebook/group/Phonebook.mmp
phonebookui/Phonebook2/AIF/Pbk2ServerApp_reg.rss
phonebookui/Phonebook2/AIF/Phonebook2_reg.rss
phonebookui/Phonebook2/Application/rss/Pbk2MenuResources.rss
phonebookui/Phonebook2/Application/src/CPbk2AppUi.cpp
phonebookui/Phonebook2/Application/src/CPbk2ContactInfoAppView.cpp
phonebookui/Phonebook2/Application/src/CPbk2SettingsView.cpp
phonebookui/Phonebook2/Application/src/CPbk2StartupMonitor.cpp
phonebookui/Phonebook2/Application/src/CPbk2UIApplicationServices.cpp
phonebookui/Phonebook2/Application/src/CPbk2ViewExplorer.cpp
phonebookui/Phonebook2/BWINS/Pbk2CommandsU.DEF
phonebookui/Phonebook2/BWINS/Pbk2UiControlsU.DEF
phonebookui/Phonebook2/Commands/inc/CPbk2CommandStore.h
phonebookui/Phonebook2/Commands/inc/MPbk2CommandResourceRelease.h
phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemCall.cpp
phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemOviSync.cpp
phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemPoc.cpp
phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemSyncMl.cpp
phonebookui/Phonebook2/Commands/src/CPbk2CallCmd.cpp
phonebookui/Phonebook2/Commands/src/CPbk2CallTypeSelector.cpp
phonebookui/Phonebook2/Commands/src/CPbk2CommandHandler.cpp
phonebookui/Phonebook2/Commands/src/CPbk2CommandStore.cpp
phonebookui/Phonebook2/Commands/src/CPbk2PrependCmd.cpp
phonebookui/Phonebook2/Commands/src/CPbk2SetToneBase.cpp
phonebookui/Phonebook2/Commands/src/CPbk2SetToneCmd.cpp
phonebookui/Phonebook2/Commands/src/TPbk2CopyContactsResults.cpp
phonebookui/Phonebook2/Commands/src/cpbk2commandactivator.cpp
phonebookui/Phonebook2/Commands/src/cpbk2storestatechecker.cpp
phonebookui/Phonebook2/CommandsExtension/inc/CPbk2SendContactCmd.h
phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyAddressToClipboardCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyContactsCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyContactsStarterCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyDetailToClipboardCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyNumberToClipboardCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2CreateNewContactCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2DeleteContactsCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2GoToURLCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2ImageCmdBase.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2InfoDialogCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeConflict.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeContactsCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeResolver.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2RemoveImageCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2RemoveSpeedDialCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2SendContactCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2SendMessageCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2SetImageCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2SetThumbnailCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2ThumbnailCmdBase.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2ViewImageCmd.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbk2vCardConverter.cpp
phonebookui/Phonebook2/CommandsExtension/src/CPbkRclCmd.cpp
phonebookui/Phonebook2/CommonUI/rss/Pbk2IconInfo.rss
phonebookui/Phonebook2/CommonUI/src/CPbk2ApplicationServices.cpp
phonebookui/Phonebook2/CommonUI/src/CPbk2ContactNavigation.cpp
phonebookui/Phonebook2/CommonUI/src/CPbk2ContactRelocator.cpp
phonebookui/Phonebook2/CommonUI/src/CPbk2ContactViewSupplier.cpp
phonebookui/Phonebook2/CommonUI/src/CPbk2DrmManager.cpp
phonebookui/Phonebook2/CommonUI/src/CPbk2IconFactory.cpp
phonebookui/Phonebook2/CommonUI/src/CPbk2RingingToneFetch.cpp
phonebookui/Phonebook2/CommonUI/src/CPbk2StoreManager.cpp
phonebookui/Phonebook2/EABI/Pbk2CommandsU.DEF
phonebookui/Phonebook2/EABI/Pbk2UiControlsU.DEF
phonebookui/Phonebook2/GroupExtension/inc/CPguAddMembersCmd.h
phonebookui/Phonebook2/GroupExtension/inc/CPguGroupMembersView.h
phonebookui/Phonebook2/GroupExtension/inc/CPguRemoveFromGroupCmd.h
phonebookui/Phonebook2/GroupExtension/inc/mpgugroupcmd.h
phonebookui/Phonebook2/GroupExtension/rss/Pbk2GroupUiRes.rss
phonebookui/Phonebook2/GroupExtension/rss/PguMembersListViewBase.rss
phonebookui/Phonebook2/GroupExtension/src/CPguAddMembersCmd.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguBelongsToGroupsCmd.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguCreateNewGroupCmd.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguDeleteGroupCmd.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguGroupMembersView.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguGroupNameQueryDlg.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguGroupView.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguRemoveFromGroupCmd.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguRenameGroupCmd.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguSendMessageGroupCmd.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguSetToneCmd.cpp
phonebookui/Phonebook2/GroupExtension/src/CPguSortOrder.cpp
phonebookui/Phonebook2/MMCExtension/inc/CPmuCopyToMmcCmd.h
phonebookui/Phonebook2/MMCExtension/rss/Pbk2DriveUiRes.rss
phonebookui/Phonebook2/MMCExtension/src/CPmuCopyFromDriveCmd.cpp
phonebookui/Phonebook2/MMCExtension/src/CPmuCopyToDriveCmd.cpp
phonebookui/Phonebook2/MMCExtension/src/CPmuUIExtensionPlugin.cpp
phonebookui/Phonebook2/MapExtension/inc/cpmapcmd.h
phonebookui/Phonebook2/MapExtension/inc/cpmapcontacteditorextension.h
phonebookui/Phonebook2/MapExtension/rss/pbk2mapuires.rss
phonebookui/Phonebook2/MapExtension/src/CPbk2ContactEditorUIAFMField.cpp
phonebookui/Phonebook2/MapExtension/src/cpmapcmd.cpp
phonebookui/Phonebook2/MapExtension/src/cpmapcontacteditorextension.cpp
phonebookui/Phonebook2/MapExtension/src/cpmapuiextensionplugin.cpp
phonebookui/Phonebook2/NamesListExtension/inc/Pbk2NamesListExView.h
phonebookui/Phonebook2/NamesListExtension/rss/Pbk2ExNamesListRes.rss
phonebookui/Phonebook2/NamesListExtension/src/CPbk2CmdItemAddTop.cpp
phonebookui/Phonebook2/NamesListExtension/src/CPbk2CmdItemRemoteContactLookup.cpp
phonebookui/Phonebook2/NamesListExtension/src/CPbk2DelayedWaitNote.cpp
phonebookui/Phonebook2/NamesListExtension/src/CPbk2NameslistUiControlExtension.cpp
phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxAddToTopContactsCmd.cpp
phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxMoveTopContactsCmd.cpp
phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxMoveTopContactsDlg.cpp
phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxRemoveFromTopContactsCmd.cpp
phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxReorderingModel.cpp
phonebookui/Phonebook2/NamesListExtension/src/NamesListExView.cpp
phonebookui/Phonebook2/NamesListExtension/src/NamesListUiExtensionPlugin.cpp
phonebookui/Phonebook2/NamesListExtension/src/cpbk2cmditemmycard.cpp
phonebookui/Phonebook2/NamesListExtension/src/cpbk2deletemycardcmd.cpp
phonebookui/Phonebook2/NamesListExtension/src/cpbk2mycard.cpp
phonebookui/Phonebook2/NewContactLauncher/data/NewContactLauncher_reg.rss
phonebookui/Phonebook2/NewContactLauncher/group/NewContactLauncher.mmp
phonebookui/Phonebook2/NewContactLauncher/src/NewContactLauncherAppUi.cpp
phonebookui/Phonebook2/Presentation/inc/CPbk2FieldOrderingManager.h
phonebookui/Phonebook2/Presentation/inc/Pbk2FieldOrdering.rh
phonebookui/Phonebook2/Presentation/rss/Pbk2FieldOrdering.rss
phonebookui/Phonebook2/Presentation/rss/Pbk2Presentation.rss
phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationChinese.rss
phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationChineseUnSync.rss
phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationCommon.rss
phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationCommonUnSync.rss
phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationJapanese.rss
phonebookui/Phonebook2/Presentation/src/CPbk2ContactMerge.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2ContactNameFormatter.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2ContactViewBuilder.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2DuplicateContactFinder.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2EmbeddedImage.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2FieldGroupPropertyArray.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2FieldPropertyArray.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2PresentationContact.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2ServiceManager.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2SortOrderManagerImpl.cpp
phonebookui/Phonebook2/Presentation/src/CPbk2StorePropertyArray.cpp
phonebookui/Phonebook2/Presentation/src/Pbk2ContactNameFormatterFactory.cpp
phonebookui/Phonebook2/Presentation/src/Pbk2PresentationUtils.cpp
phonebookui/Phonebook2/ServerApplication/inc/CPbk2AddressSelectPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2AssignAttributePhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2AttributeAddressSelectPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2CommAddressSelectPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2ContactAttributeAssigner.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2ContactFetchPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2EntryFetcher.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2ItemFetcher.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2MultiAssignDataPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2MultiContactDataAssigner.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2PrepareAttributeAssignPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2PrepareMultipleAssignPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2PrepareSingleAssignPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectCreateEmptyPropertyPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectCreateNewPropertyPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectMultiplePropertyPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectSinglePropertyPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectUpdateEmptyPropertyPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2ServerAppStoreManager.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2SingleAssignDataPhase.h
phonebookui/Phonebook2/ServerApplication/inc/CPbk2SingleContactDataAssigner.h
phonebookui/Phonebook2/ServerApplication/inc/MPbk2ServicePhase.h
phonebookui/Phonebook2/ServerApplication/inc/MPbk2UiService.h
phonebookui/Phonebook2/ServerApplication/src/CPbk2AddressSelectPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignAttributePhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignCreateNewProperty.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignMultiProperty.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignSingleProperty.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2AttributeAddressSelectPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2CommAddressSelectPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactAttributeAssigner.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactFetchPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactImageAssigner.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactRingingToneAssigner.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2EntryFetcher.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2FetchService.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2ItemFetcher.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2MultiAssignDataPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2MultiContactDataAssigner.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2PrepareAttributeAssignPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2PrepareSingleAssignPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectCreateEmptyPropertyPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectCreateNewPropertyPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectMultiplePropertyPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectSinglePropertyPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectUpdateEmptyPropertyPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2ServerAppMonitor.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2ServerAppStoreManager.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2SingleAssignDataPhase.cpp
phonebookui/Phonebook2/ServerApplication/src/CPbk2SingleContactDataAssigner.cpp
phonebookui/Phonebook2/ServerApplication/src/Pbk2AssignValidateField.cpp
phonebookui/Phonebook2/ServerApplication/src/TPbk2AssignNoteService.cpp
phonebookui/Phonebook2/ServerApplication/src/TPbk2ServerMessageDataRetriever.cpp
phonebookui/Phonebook2/ServerApplication/src/TPbk2TitlePaneOperator.cpp
phonebookui/Phonebook2/ServerApplication/src/cpbk2preparemultipleassignphase.cpp
phonebookui/Phonebook2/UIControls/inc/CPbk2AdaptiveSearchGridFiller.h
phonebookui/Phonebook2/UIControls/inc/CPbk2ContactEditorDlgImpl.h
phonebookui/Phonebook2/UIControls/inc/CPbk2ContactViewListBox.h
phonebookui/Phonebook2/UIControls/inc/CPbk2FetchResults.h
phonebookui/Phonebook2/UIControls/inc/CPbk2NamesListEmptyState.h
phonebookui/Phonebook2/UIControls/inc/CPbk2NamesListFilteredState.h
phonebookui/Phonebook2/UIControls/inc/CPbk2SettingsListState.h
phonebookui/Phonebook2/UIControls/inc/cpbk2contactviewcustomlistboxdata.h
phonebookui/Phonebook2/UIControls/inc/cpbk2contactviewcustomlistboxitemdrawer.h
phonebookui/Phonebook2/UIControls/rss/Pbk2AddressSelect.rss
phonebookui/Phonebook2/UIControls/rss/Pbk2IconResources.rss
phonebookui/Phonebook2/UIControls/rss/Pbk2Settings.rss
phonebookui/Phonebook2/UIControls/src/CPbk2AdaptiveSearchGridFiller.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2AddItemToContactDlg.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2AddressSelect.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDTMFField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDateField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDlgImpl.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorEditContact.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorEmailField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorFieldArray.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorImageField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorImpplField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorNewContact.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorNumberField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorPhoneNumberField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorPostalCodeField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorReadingField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorRingtoneField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorSyncField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorTextField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUIAddressField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUIAddressHomeField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUIAddressOfficeField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUrlField.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactIconsUtils.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactInfoControl.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactInfoListBox.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactViewListBox.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ContactViewListBoxModel.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2DefaultSavingStorageSettingItem.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlg.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlgGroupPage.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlgPage.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2FetchResults.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2FieldAnalyzer.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2FieldFormatter.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2FieldListBoxModel.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2GeneralConfirmationQuery.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2MemoryEntryDefaultsAssignDlg.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2MemoryEntryDefaultsDlg.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2MemorySelectionSettingItem.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2MergeConflictsDlg.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2MergePhotoConflictDlg.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2NameOrderSettingItem.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2NamesListControl.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2NamesListEmptyState.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2NamesListFilteredState.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2NamesListNotReadyState.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2NamesListReadyState.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2PhonebookInfoDlg.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2PredictiveSearchFilter.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ReadingFieldEditorVisitor.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2SelectFieldDlg.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2SettingsListControl.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2SettingsListState.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2StoreInfoItemBuilder.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2StoreListQuery.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ThumbnailManager.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2ThumbnailPopup.cpp
phonebookui/Phonebook2/UIControls/src/CPbk2UIFieldArray.cpp
phonebookui/Phonebook2/UIControls/src/Pbk2AddressTools.cpp
phonebookui/Phonebook2/UIControls/src/Pbk2ContactEditorFieldFactory.cpp
phonebookui/Phonebook2/UIControls/src/Pbk2ImageCommands.cpp
phonebookui/Phonebook2/UIControls/src/Pbk2RingtoneCommands.cpp
phonebookui/Phonebook2/UIControls/src/Pbk2TitlePanePictureFactory.cpp
phonebookui/Phonebook2/UIControls/src/TPbk2DeleteItemManager.cpp
phonebookui/Phonebook2/UIControls/src/cpbk2contacteditornewowncontact.cpp
phonebookui/Phonebook2/UIControls/src/cpbk2contactviewcustomlistboxdata.cpp
phonebookui/Phonebook2/UIControls/src/cpbk2contactviewcustomlistboxitemdrawer.cpp
phonebookui/Phonebook2/UIControls/src/cpbk2predictiveviewstack.cpp
phonebookui/Phonebook2/UIPolicy/inc/CPbk2ContactViewSortPolicy.h
phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactCopyPolicy.cpp
phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactDuplicatePolicy.cpp
phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactFindPolicy.cpp
phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactViewSortPolicy.cpp
phonebookui/Phonebook2/UIServices/src/CPbk2AiwAssignProvider.cpp
phonebookui/Phonebook2/USIMExtension/inc/CPsu2CopyToSimFieldInfoArray.h
phonebookui/Phonebook2/USIMExtension/inc/CPsu2FixedDialingView.h
phonebookui/Phonebook2/USIMExtension/inc/Pbk2USimUI.rh
phonebookui/Phonebook2/USIMExtension/rss/Pbk2USimFixedDialingView.rss
phonebookui/Phonebook2/USIMExtension/rss/Pbk2USimSimCopy.rss
phonebookui/Phonebook2/USIMExtension/rss/Pbk2USimUiRes.rss
phonebookui/Phonebook2/USIMExtension/src/CPsu2ContactCopyInspector.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2ContactEditorExtension.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyAllToPbkCmd.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyFromPbkCmd.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyToSimCmd.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyToSimFieldInfoArray.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2FdnContactEditorPhoneNumberField.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2FixedDialingCall.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2FixedDialingInfoView.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2FixedDialingView.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2LaunchViewCmd.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2NameListViewBase.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2NumberQueryDlg.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2OwnNumberControl.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2OwnNumbersView.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2ServiceDialingInfoView.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2ServiceDialingView.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2SimContactProcessor.cpp
phonebookui/Phonebook2/USIMExtension/src/CPsu2ViewManager.cpp
phonebookui/Phonebook2/USIMExtension/src/TPsu2SimCopyResults.cpp
phonebookui/Phonebook2/USIMThinExtension/src/CPsu2CopySimContactsCmd.cpp
phonebookui/Phonebook2/USIMThinExtension/src/CPsu2ThinUIExtensionPlugin.cpp
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/data/ccappcommlauncherpluginrsc.rss
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/group/ccappcommlauncherplugin.mmp
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/CCCAppCommLauncherPbkCmd.h
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlauncher.hrh
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlaunchercontainer.h
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlaunchermenuhandler.h
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/CCCAppCommLauncherPbkCmd.cpp
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercontainer.cpp
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlauncherheadercontrol.cpp
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlauncherheadertextorder.cpp
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlauncherlpadmodel.cpp
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchermenuhandler.cpp
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/tsrc/ut_commlaunchercontacthandler/group/ut_commlaunchercontacthandler.mmp
phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/tsrc/ut_commlaunchercontacthandler/inc/ccappcommlauncherheaders.h
phonebookui/Phonebook2/ccapplication/ccacontactorservice/group/ccacontactorservice.mmp
phonebookui/Phonebook2/ccapplication/ccacontactorservice/inc/ccacontactorserviceoperator.h
phonebookui/Phonebook2/ccapplication/ccacontactorservice/src/ccacontactorserviceoperator.cpp
phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/data/ccappdetailsviewpluginrsc.rss
phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/group/ccappdetailsviewplugin.mmp
phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/src/ccappdetailsviewcontainer.cpp
phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/src/ccappdetailsviewlistboxmodel.cpp
phonebookui/Phonebook2/ccapplication/ccamycardplugin/data/ccappmycardpluginrsc.rss
phonebookui/Phonebook2/ccapplication/ccamycardplugin/group/ccappmycardplugin.mmp
phonebookui/Phonebook2/ccapplication/ccamycardplugin/inc/ccappmycardimageloader.h
phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycard.cpp
phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardcontainer.cpp
phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardimageloader.cpp
phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardplugin.cpp
phonebookui/Phonebook2/ccapplication/ccapp/ccapputil/group/ccapputil.mmp
phonebookui/Phonebook2/ccapplication/ccapp/group/ccaapp.mmp
phonebookui/Phonebook2/ccapplication/ccapp/src/ccapppluginloader.cpp
phonebookui/Phonebook2/ccapplication/ccapp/tsrc/ut_cmscontactfetcher/group/ut_cmscontactfetcher.mmp
phonebookui/Phonebook2/ccapplication/inc/ccalogger.h
phonebookui/Phonebook2/group/Pbk2Commands.mmp
phonebookui/Phonebook2/group/Pbk2CommandsExtension.mmp
phonebookui/Phonebook2/group/Pbk2CommonUI.mmp
phonebookui/Phonebook2/group/Pbk2GroupExtension.mmp
phonebookui/Phonebook2/group/Pbk2MMCExtension.mmp
phonebookui/Phonebook2/group/Pbk2MapExtension.mmp
phonebookui/Phonebook2/group/Pbk2MigrationSupport.mmp
phonebookui/Phonebook2/group/Pbk2NamesListExtension.mmp
phonebookui/Phonebook2/group/Pbk2Presentation.mmp
phonebookui/Phonebook2/group/Pbk2ServerApp.mmp
phonebookui/Phonebook2/group/Pbk2UIControls.mmp
phonebookui/Phonebook2/group/Pbk2UIExtensionManager.mmp
phonebookui/Phonebook2/group/Pbk2UIPolicy.mmp
phonebookui/Phonebook2/group/Pbk2UIServices.mmp
phonebookui/Phonebook2/group/Pbk2USimExtension.mmp
phonebookui/Phonebook2/group/Pbk2USimThinExtension.mmp
phonebookui/Phonebook2/group/Pbk2VoiceTagExtension.mmp
phonebookui/Phonebook2/group/Pbk2VoiceTagThinExtension.mmp
phonebookui/Phonebook2/group/Phonebook2.mmp
phonebookui/Phonebook2/group/iconlist.txt
phonebookui/Phonebook2/group/pbk2spbcontentprovider.mmp
phonebookui/Phonebook2/group/xSPExtensionManager.mmp
phonebookui/Phonebook2/group/xSPViewServices.mmp
phonebookui/Phonebook2/help/data/xhtml.zip
phonebookui/Phonebook2/inc/CPbk2CommandHandler.h
phonebookui/Phonebook2/inc/CPbk2FetchDlg.h
phonebookui/Phonebook2/inc/CPbk2NamesListControl.h
phonebookui/Phonebook2/inc/MPbk2FetchDlg.h
phonebookui/Phonebook2/inc/Pbk2Icons.hrh
phonebookui/Phonebook2/inc/cpbk2commandactivator.h
phonebookui/Phonebook2/remotecontactlookup/contactactionmenu/group/pbk2rclcontactactionmenu.mmp
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/callplugin/group/pbk2rclcallplugin.mmp
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/data/pbk2rclactionutils.rss
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/group/pbk2rclcontactactionservice.mmp
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/inc/CFscFieldOrderingManager.h
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/inc/FscFieldOrdering.rh
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/pocplugin/group/pbk2rclpocplugin.mmp
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/saveascontactplugin/group/pbk2rclsaveascontactplugin.mmp
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/sendbusinesscard/group/pbk2rclsendbusinesscardplugin.mmp
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/sendplugin/group/pbk2rclsendplugin.mmp
phonebookui/Phonebook2/remotecontactlookup/contactactionservice/src/CFscFieldPropertyArray.cpp
phonebookui/Phonebook2/remotecontactlookup/engine/group/pbk2rclengine.mmp
phonebookui/Phonebook2/remotecontactlookup/settingplugin/group/pbk2rclsetting.mmp
phonebookui/Phonebook2/rom/Phonebook2Resources.iby
phonebookui/Phonebook2/spbcontentprovider/src/spbcontactdatamodelprivate.cpp
phonebookui/Phonebook2/spbcontentprovider/src/spbphonenumberparser.cpp
phonebookui/Phonebook2/tsrc/UT_AddFavoritiesVisibility/group/UT_AddFavoritiesVisibility.mmp
phonebookui/Phonebook2/tsrc/Utilities/ChangePbk2CenRepKeyValuesTool/group/ChangePbk2CenRepKeyValuesTool.mmp
phonebookui/Phonebook2/xSPExtensionManager/src/CExtensionManagerFactory.cpp
phonebookui/Phonebook2/xSPExtensionManager/src/CxSPAppUiManager.cpp
phonebookui/Phonebook2/xSPExtensionManager/src/CxSPSortNamesListViewExtension.cpp
phonebookui/Phonebook2/xSPExtensionManager/src/CxSPSortView.cpp
phonebookui/Phonebook2/xSPExtensionManager/src/CxSPSortViewControl.cpp
phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewActivator.cpp
phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewIdChanger.cpp
phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewManager.cpp
phonebookui/Speeddial/ControlSrc/SpdiaControl.cpp
phonebookui/Speeddial/ControlSrc/SpdiaControl_platsec.cpp
phonebookui/Speeddial/ControlSrc/SpdiaGrid.cpp
phonebookui/Speeddial/ControlSrc/SpdiaGridDlg.cpp
phonebookui/Speeddial/VPbkControlInc/speeddialprivate.h
phonebookui/Speeddial/VPbkControlSrc/SpdiaGridDlgVPbk.cpp
phonebookui/Speeddial/VPbkControlSrc/SpdiaGridVPbk.cpp
phonebookui/Speeddial/VPbkControlSrc/speeddialprivate.cpp
phonebookui/Speeddial/datasrc/SpdCtrl.rss
phonebookui/Speeddial/datasrc/SpeedDial.rss
phonebookui/Speeddial/group/SpdCtrl.mmp
phonebookui/Speeddial/group/SpeedDial.mmp
phonebookui/Speeddial/group/Speeddial_reg.rss
phonebookui/Speeddial/help/data/xhtml.zip
phonebookui/Speeddial/speeddialgsplugin/data/speeddialgspluginrsc.rss
phonebookui/Speeddial/speeddialgsplugin/group/speeddialgsplugin.mmp
phonebookui/Speeddial/src/SpdiaAppUi.cpp
phonebookui/Speeddial/src/SpdiaBaseView.cpp
phonebookui/Speeddial/src/SpdiaCallingVmbxContainer.cpp
phonebookui/Speeddial/src/SpdiaCallingVmbxView.cpp
phonebookui/Speeddial/src/SpdiaContainer.cpp
phonebookui/Speeddial/src/SpdiaView.cpp
pimprotocols/pbap/group/btaccesshost.mmp
pimprotocols/pbap/inc/pbapvcardexporterutil.h
pimprotocols/pbap/server/pbapvcardexporterutil.cpp
predictivesearch/PcsAlgorithm/Algorithm1/group/PcsAlgorithm1.mmp
predictivesearch/PcsAlgorithm/Algorithm1/inc/CPcsPoolElement.h
predictivesearch/PcsAlgorithm/Algorithm1/src/CPcsAlgorithm1.cpp
predictivesearch/PcsAlgorithm/Algorithm1/src/CPcsCache.cpp
predictivesearch/PcsAlgorithm/Algorithm1/src/CPcsPoolElement.cpp
predictivesearch/PcsAlgorithm/Algorithm2/group/PcsAlgorithm2.mmp
predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2.h
predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2FilterHelper.h
predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2Helper.h
predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2MultiSearchHelper.h
predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2Utils.h
predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsCache.h
predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsKeyMap.h
predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsPoolElement.h
predictivesearch/PcsAlgorithm/Algorithm2/inc/FindUtilChineseECE.h
predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2FilterHelper.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2Helper.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2MultiSearchHelper.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2Utils.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsCache.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsKeyMap.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsPoolElement.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/CPsDataPluginInterface.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/FindUtilChineseECE.cpp
predictivesearch/PcsAlgorithm/Algorithm2/src/chinesefindutils.cpp
predictivesearch/PcsServer/group/PcsServer.mmp
predictivesearch/PcsServer/inc/CPcsServer.h
predictivesearch/PcsServer/src/CPcsServer.cpp
predictivesearch/PcsServer/src/CPcsSession.cpp
predictivesearch/PcsServerClientAPI/group/PsServerClientAPI.mmp
predictivesearch/adapters/contacts/group/pscontactdatastore.mmp
predictivesearch/adapters/contacts/inc/cpcscontactstore.h
predictivesearch/adapters/contacts/src/cpcscontactfetch.cpp
predictivesearch/adapters/contacts/src/cpcscontactstore.cpp
presencecache/presencecacheutils/group/presencecacheutils.mmp
--- a/ccservices/cmsservices/cmscontactor/group/cmscontactor.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmscontactor/group/cmscontactor.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -61,7 +61,7 @@
 LIBRARY               euser.lib
 LIBRARY               efsrv.lib
 LIBRARY               aiwdialdata.lib //AIW
-LIBRARY               CommonEngine.lib
+LIBRARY               commonengine.lib
 LIBRARY               servicehandler.lib //AIW
 LIBRARY               sendui.lib
 LIBRARY               cmsclient.lib //CMS
--- a/ccservices/cmsservices/cmsengine/Server/group/cmsserver.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/Server/group/cmsserver.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -39,7 +39,7 @@
 SOURCE                          cmsphonebookproxy.cpp
 SOURCE                          cmsserverasynccontact.cpp
 SOURCE                          cmsserverxspcontacthandler.cpp 
-SOURCE				cmsfindlinkedcontact.cpp 
+SOURCE							cmsfindlinkedcontact.cpp 
 SOURCE                          cmssetvoicecalldefault.cpp 
 
 USERINCLUDE                     ../inc
@@ -57,13 +57,13 @@
 LIBRARY                         efsrv.lib
 LIBRARY             	        euser.lib
 LIBRARY                         fbscli.lib
-LIBRARY                         featmgr.lib
-LIBRARY				VPbkEng.lib
-LIBRARY				CommonEngine.lib
+LIBRARY                         FeatMgr.lib
+LIBRARY							vpbkeng.lib
+LIBRARY							CommonEngine.lib
 LIBRARY                         presencecacheutils.lib
 LIBRARY                         presencecacheclient2.lib
 LIBRARY                         Pbk2Presentation.lib // nameformatter
-LIBRARY			        serviceprovidersettings.lib
+LIBRARY					        serviceprovidersettings.lib
 LIBRARY                         presencetrafficlights.lib
 
 LIBRARY	 rcse.lib
--- a/ccservices/cmsservices/cmsengine/Server/inc/cmsdefines.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/Server/inc/cmsdefines.h	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 
 //The types for voice calls
--- a/ccservices/cmsservices/cmsengine/Server/inc/cmsservercontact.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/Server/inc/cmsservercontact.h	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 
 // INCLUDES
 #include "cmscontact.h"
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkSingleContactOperationObserver.h>
 #include "bpasobserver.h"
 #include "cmscontactinterface.h"
--- a/ccservices/cmsservices/cmsengine/Server/inc/cmsserverxspcontacthandler.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/Server/inc/cmsserverxspcontacthandler.h	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 // INCLUDES
 #include <e32base.h>
 #include "cmscontact.h"
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <badesca.h>
 #include <MVPbkBatchOperationObserver.h>
 #include <MVPbkContactFindFromStoresObserver.h>
--- a/ccservices/cmsservices/cmsengine/Server/src/cmsfindlinkedcontact.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/Server/src/cmsfindlinkedcontact.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <CVPbkContactLinkArray.h>
 #include <MVPbkContactStoreList.h>
 #include <CVPbkFieldTypeRefsList.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 #include <MVPbkContactOperationBase.h>
 #include <MVPbkContactStoreProperties.h>
--- a/ccservices/cmsservices/cmsengine/Server/src/cmsserverutils.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/Server/src/cmsserverutils.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <spproperty.h>
 #include <spsettings.h>
 #include <spentry.h>
--- a/ccservices/cmsservices/cmsengine/Server/src/cmssetvoicecalldefault.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/Server/src/cmssetvoicecalldefault.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <MVPbkFieldType.h>
 #include <CVPbkContactFieldIterator.h>
 #include <VPbkFieldTypeSelectorFactory.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 #include "cmssetvoicecalldefault.h"
 
--- a/ccservices/cmsservices/cmsengine/tsrc/contactcreator/Server/group/creatorserver.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/tsrc/contactcreator/Server/group/creatorserver.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -43,7 +43,7 @@
 LIBRARY                         estor.lib
 LIBRARY                         efsrv.lib
 LIBRARY             	        euser.lib
-LIBRARY		                    VPbkEng.lib
+LIBRARY		                    vpbkeng.lib
 LIBRARY		                    flogger.lib
 LIBRARY         				cntmodel.lib
 LIBRARY                         CommonEngine.lib
--- a/ccservices/cmsservices/cmsengine/tsrc/contactcreator/Server/src/creatorserver.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/tsrc/contactcreator/Server/src/creatorserver.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <spentry.h>
 #include <flogger.h>
 #include <barsread.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <spsettings.h>
 #include <spproperty.h>
 #include <spdefinitions.h>
--- a/ccservices/cmsservices/cmsengine/tsrc/contactcreator2/Server/group/creatorserver2.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/tsrc/contactcreator2/Server/group/creatorserver2.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -43,7 +43,7 @@
 LIBRARY                         estor.lib
 LIBRARY                         efsrv.lib
 LIBRARY             	        euser.lib
-LIBRARY		                    VPbkEng.lib
+LIBRARY		                    vpbkeng.lib
 LIBRARY		                    flogger.lib
 LIBRARY                         CommonEngine.lib
 
--- a/ccservices/cmsservices/cmsengine/tsrc/contactcreator2/Server/src/creatorserver2.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/tsrc/contactcreator2/Server/src/creatorserver2.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include <e32std.h>
 #include <flogger.h>
 #include <barsread.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkFieldType.h>
 #include <MVPbkStoreContact.h>
 #include <MVPbkContactStore.h>
--- a/ccservices/cmsservices/contactpresence/group/contactpresence.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/contactpresence/group/contactpresence.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -53,7 +53,7 @@
 LIBRARY                         presencetrafficlights.lib
                    
 LIBRARY                         aknskins.lib
-LIBRARY				VPbkEng.lib
+LIBRARY							vpbkeng.lib
 LIBRARY                         Pbk2Presentation.lib //nameformatter
-LIBRARY 			serviceprovidersettings.lib
+LIBRARY 						serviceprovidersettings.lib
 
--- a/ccservices/cmsservices/contactpresence/inc/presenceiconinfo.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/ccservices/cmsservices/contactpresence/inc/presenceiconinfo.h	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <badesca.h>
 #include <MVPbkSingleContactOperationObserver.h>
 #include <mcontactpresence.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 #include "mpresencetrafficlightsobs.h"
 #include "presenceiconinfolistener.h"
--- a/contactextensions/predefinedcontacts/group/predefinedcontacts.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contactextensions/predefinedcontacts/group/predefinedcontacts.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -53,9 +53,9 @@
 USERINCLUDE             ../inc
 
 LIBRARY	      	euser.lib 
-LIBRARY		centralrepository.lib
-LIBRARY         VPbkEng.lib
-LIBRARY         VPbkVCardEng.lib
+LIBRARY			CentralRepository.lib
+LIBRARY         vpbkeng.lib
+LIBRARY         vpbkvcardeng.lib
 LIBRARY         efsrv.lib
 LIBRARY         estor.lib
 LIBRARY         xmlframework.lib
@@ -63,8 +63,8 @@
 LIBRARY         sysutil.lib
 LIBRARY         aknnotify.lib
 LIBRARY         eiksrv.lib
-LIBRARY         CommonEngine.lib
-LIBRARY         pbkeng.lib
+LIBRARY         commonengine.lib
+LIBRARY         PbkEng.lib 
 LIBRARY         ecom.lib
 LIBRARY         flogger.lib
 LIBRARY         cntmodel.lib 
--- a/contactextensions/predefinedcontacts/inc/pdcxmlmapping.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/contactextensions/predefinedcontacts/inc/pdcxmlmapping.h	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 #define PDCXMLMAPPING_H
 
 // System includes 
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // User includes
 #include "pdcstringconstants.h"     // PdcStringTable
--- a/contacts_plat/cca_launch_api/tsrc/cca_launch_api/group/cca_launch_api.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/cca_launch_api/tsrc/cca_launch_api/group/cca_launch_api.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -45,7 +45,7 @@
 USERINCLUDE     ../inc
 
 LIBRARY     euser.lib
-LIBRARY     StifTestInterface.lib
+LIBRARY     stiftestinterface.lib
 LIBRARY	    estlib.lib
 LIBRARY	    bafl.lib
 LIBRARY     efsrv.lib
--- a/contacts_plat/cca_view_plugin_api/tsrc/ut_cccappviewpluginakncontainer/group/ut_cccappviewpluginakncontainer.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/cca_view_plugin_api/tsrc/ut_cccappviewpluginakncontainer/group/ut_cccappviewpluginakncontainer.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 SYSTEMINCLUDE /epoc32/include/ecom
 
 LIBRARY     euser.lib
-LIBRARY     StifTestInterface.lib
+LIBRARY     stiftestinterface.lib
 LIBRARY     ecom.lib
 LIBRARY		flogger.lib
 LIBRARY     cone.lib//avkon view/container
--- a/contacts_plat/cca_view_plugin_api/tsrc/ut_cccappviewpluginaknview/group/ut_cccappviewpluginaknview.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/cca_view_plugin_api/tsrc/ut_cccappviewpluginaknview/group/ut_cccappviewpluginaknview.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 SYSTEMINCLUDE /epoc32/include/ecom
 
 LIBRARY     euser.lib
-LIBRARY     StifTestInterface.lib
+LIBRARY     stiftestinterface.lib
 LIBRARY     ecom.lib
 LIBRARY		flogger.lib
 LIBRARY     cone.lib//avkon view/container
--- a/contacts_plat/contactpresence_api/tsrc/contactpresenceapitester/group/contactpresenceapitester.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/contactpresence_api/tsrc/contactpresenceapitester/group/contactpresenceapitester.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -45,9 +45,9 @@
 LIBRARY         fbscli.lib
 LIBRARY         euser.lib
 LIBRARY         efsrv.lib
-LIBRARY			VPbkEng.lib
+LIBRARY			vpbkeng.lib
 LIBRARY         flogger.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         aknicon.lib
 LIBRARY	        serviceprovidersettings.lib
 // for writing cache
--- a/contacts_plat/contactpresence_api/tsrc/contactpresenceapitester/src/contactpresencephonebook.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/contactpresence_api/tsrc/contactpresenceapitester/src/contactpresencephonebook.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 #include <bautils.h>
 #include <barsread.h>
 
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 #include <CVPbkSortOrder.h>
 #include <MVPbkContactLink.h>
--- a/contacts_plat/phonebook_2_contact_related_icon_customization_api/tsrc/group/Pbk2IconCustomApiTestModule.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/phonebook_2_contact_related_icon_customization_api/tsrc/group/Pbk2IconCustomApiTestModule.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -33,6 +33,6 @@
 LIBRARY         euser.lib
 LIBRARY         ecom.lib
 LIBRARY         fbscli.lib 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 
 // End of File
--- a/contacts_plat/phonebook_2_presentation_api/inc/Pbk2IconId.hrh	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/phonebook_2_presentation_api/inc/Pbk2IconId.hrh	Wed Oct 13 14:15:33 2010 +0300
@@ -67,9 +67,7 @@
     EPbk2qgn_prop_pb_no_valid_lm,
     EPbk2qgn_prop_blid_waypoint,
     EPbk2qgn_prop_radiobutt_off,
-    EPbk2qgn_prop_radiobutt_on,
-    EPbk2qgn_prop_phonebook2_unsync
-
+    EPbk2qgn_prop_radiobutt_on
     };
 
 #endif // PBK2ICONID_HRH
--- a/contacts_plat/phonebook_2_rcl_api/tsrc/rcltestsuite/group/rcltestsuite.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/phonebook_2_rcl_api/tsrc/rcltestsuite/group/rcltestsuite.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -41,10 +41,10 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 
-LIBRARY         ecom.lib
+LIBRARY         eCom.lib
 LIBRARY         flogger.lib
 LIBRARY         estor.lib
 LIBRARY 		pbk2rclengine.lib
--- a/contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/conf/PsClientTestSuitePRC.cfg	Wed Sep 15 11:56:55 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1661 +0,0 @@
-//##############################################################################
-//#                                                                            #
-//#                STIF Test suite for Predictive Search Engine                #
-//#                --------------------------------------------                #
-//#                                                                            #
-//# Initially designed for ITUT keyboard.                                      #
-//# Some tests are adapted for N97 which has a 3x11 keyboard.                  #
-//#                                                                            #
-//# TC_ITU: Test Case for ITUT keyboard.                                       #
-//# TC_N97: Test Case for N97 3x11 keyboard.                                   #
-//# TC_N00: Test Case for XXX 4x10 keyboard. (Phone model name not known yet)  #
-//# TC_DEA: Test Case Deactivated. Use in comments only.                       #
-//#                                                                            #
-//# NOTES:                                                                     #
-//#                                                                            #
-//# - In ITUT keyboard "0" and " " are on the same key.                        #
-//#   Therefore if some clients deliver a "0" in Itut predictive mode,         #
-//#   then the "0" has the double nature of a "0" and of a " " (separator).    #
-//#                                                                            #
-//# - In N97-3x11 and N00-4x10 keyboards "0" and " " are on different keys.    #
-//#   Therefore if some clients deliver a "0" in Qwerty predictive mode,       #
-//#   then the "0" has the single nature of a "0" (not a separator).           #
-//#                                                                            #
-//# - The SearchOnInputString and TC_<XXX>_SearchOnInputString test            #
-//#   drivers are identical. The naming is different in order to               #
-//#   comment/uncomment the test cases more easily.                            #
-//#   XXX = [ITU, N97, N00].                                                   #
-//#                                                                            #
-//# - The SearchLookupMatchString and TC_<XXX>_SearchLookupMatchString test    #
-//#   drivers are identical. The naming is different in order to               #
-//#   comment/uncomment the test cases more easily.                            #
-//#   XXX = [ITU, N97, N00].                                                   #
-//#                                                                            #
-//# - The TestSearchingInCache and TC_<XXX>_TestSearchingInCache test          #
-//#   drivers are identical. The naming is different in order to               #
-//#   comment/uncomment the test cases more easily.                            #
-//#   XXX = [ITU, N97, N00].                                                   #
-//#                                                                            #
-//# - The test:                                                                #
-//#       api TC_N<XX>_SearchOnInputString "IPSTR[Fake_Test]"                  #
-//#           "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]"              #
-//#           "MATCHLOC[0:1]"                                                  #
-//#   is a fake test that succeeds always. It can be used temporarily when for #
-//#   a certain keyboard there is not KeyMap available yet.                    #
-//#                                                                            #
-//##############################################################################
-
-
-//------------------------------------------------------------------------------
-//					Initial Set Up ("SU")
-//						- Server startup
-//						- Contacts/groups creation
-//						- Initial sort order
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title SU: Start Up the Server
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[6,EPredictiveItuT,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title SU: Create contacts in phone memory
-create PsClientTestSuite api
-api WriteTitleToLog
-api CreateContactsInPhone "CreateContacts[13,(FN:伟$,LN:开,CN:Finland)(FN:峰峰,LN:K,CN:Nokia)(FN:共鹏,LN:周,CN:TaiWan)(FN:利 华,LN:联 合,CN:美国)(FN:我 是 谁 娃 炅,LN:新年,CN:Nokia)(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)(FN:男,LN:虎,CN:Nokia)(FN:楚平,LN:人,CN:Nokia)(FN:任,LN:出凭,CN:Nokia)(FN:金,LN:+勇,CN:Nokia)(FN:@博 four,LN:!five)(FN:mahesh,LN:doraiswamy,CN:Nokia)(FN:0抓,LN:0图,CN:0Sam)]" "URI[cntdb:\/\/c:contacts.cdb]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title SU: Add a group and contacts in the group
-create PsClientTestSuite api
-api WriteTitleToLog
-api ADDGroups "AddGroups[同学,3,(FN:什么,LN:打,CN:Nokia)(FN:福气,LN:钱,CN:Nokia)(FN:mno,LN:同学家,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-// The following test case sets Name-Surname order - Keep in this position
-[Test]
-title SU: Change Sort Order to Name-Surname
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSortOrder "URI[cntdb:\/\/c:contacts.cdb]" "SORTORDER[6,4,27]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					TestDataOrder ("DO")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title DO: Test for contacts
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestDataOrder "URI[cntdb:\/\/c:contacts.cdb]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title DO: Test for groups
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestDataOrder "URI[cntdb:\/\/c:contacts.gdb]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title DO: Test for wrong URI
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestDataOrderForErrL "URI[cntdb:\/\/c:wrongcontactsuri.cdb]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title DO: Test for group with group ID
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestDataOrder "URI[cntdb:\/\/c:contacts.gdb?id=3221]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					ConvertToVpbkLink ("VL")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title VL: ConvertToVpbkLink - Test for contacts
-create PsClientTestSuite api
-api WriteTitleToLog
-api ConvertToVpbkLink "URI[cntdb:\/\/c:contacts.cdb]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title VL: ConvertToVpbkLink - Test for groups
-create PsClientTestSuite api
-api WriteTitleToLog
-api ConvertToVpbkLink "URI[cntdb:\/\/c:contacts.gdb]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					CheckLanguageSupport ("LS")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title LS: Check Language Support (1)
-create PsClientTestSuite api
-api WriteTitleToLog
-api CheckLanguageSupport "LANG[1,ETrue]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title LS: Check Language Support (2)
-create PsClientTestSuite api
-api WriteTitleToLog
-api CheckLanguageSupport "LANG[32,EFalse]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					SearchOnInputString ("IS")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title IS: Single word (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchOnInputString "IPSTR[阿才W]" "SQ[229,EPredictiveItuT,EPatternSort,5]" "RES[1,(-1:W)]" "MATCHLOC[2:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Single word (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchOnInputString "IPSTR[Adam]" "SQ[@-,EPredictiveQwerty,EPatternSort,5]" "RES[1,(-1:AD)]" "MATCHLOC[0:2]"
-//api TC_DEA_SearchOnInputString "IPSTR[Just]" "SQ[+7,EPredictiveQwerty,EPatternSort,5]" "RES[1,(-1:JU)]" "MATCHLOC[0:2]"
-api TC_N00_SearchOnInputString "IPSTR[F测试]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Multi Search (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchOnInputString "IPSTR[Adam 中文 Dusk]" "SQ[20903,EPredictiveItuT,EPatternSort,5]" "RES[1,(-1:A,-1:D)]" "MATCHLOC[0:1,8:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Multi Search (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchOnInputString "IPSTR[Adam Dory Dusk]" "SQ[@ D -,EPredictiveQwerty,EPatternSort,5]" "RES[1,(-1:A,-1:D)]" "MATCHLOC[0:1,5:1,10:1]"
-//api TC_DEA_SearchOnInputString "IPSTR[Just Luke Last]" "SQ[+ L *,EPredictiveQwerty,EPatternSort,5]" "RES[1,(-1:J,-1:L)]" "MATCHLOC[0:1,5:1,10:1]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test 中文]" "SQ[F Z,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Single word (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api SearchOnInputString "IPSTR[Hu中文ll]" "SQ[huz,ENonPredictive,EPatternSort,5]" "RES[1,(-1:HU)]" "MATCHLOC[0:2]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Multi Search (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api SearchOnInputString "IPSTR[Gill Monk 中文]" "SQ[z m g,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:G,-1:M)]" "MATCHLOC[0:1,5:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Single word (Mixed ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchOnInputString "IPSTR[Xe中文n]" "SQ[9w,in,EPatternSort,5]" "RES[1,(-1:X)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Single word (Mixed QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchOnInputString "IPSTR[Xen]" "SQ[)e,qn,EPatternSort,5]" "RES[1,(-1:XE)]" "MATCHLOC[0:2]"
-//api TC_DEA_SearchOnInputString "IPSTR[Hen]" "SQ[-e,qn,EPatternSort,5]" "RES[1,(-1:HE)]" "MATCHLOC[0:2]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test 中文]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Multi Search (Mixed ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchOnInputString "IPSTR[中文 Monk]" "SQ[90m6,iini,EAlphaSort,5]" "RES[1,(-1:MO)]" "MATCHLOC[3:2]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Multi Search (Mixed QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchOnInputString "IPSTR[Tim Monk]" "SQ[5 m9,qqnq,EAlphaSort,5]" "RES[1,(-1:MO,-1:T)]" "MATCHLOC[0:1,4:2]"
-//api TC_DEA_SearchOnInputString "IPSTR[Tim Monk]" "SQ[5 m9,qqnq,EAlphaSort,5]" "RES[1,(-1:MO,-1:T)]" "MATCHLOC[0:1,4:2]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test 中文]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Single word (Predictive ITU-T) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api SearchOnInputString "IPSTR[中文]" "SQ[902,EPredictiveItuT,EPatternSort,5]" "RES[0,]" "MATCHLOC[]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Multi Search (Predictive ITU-T) -> Partial match (1)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchOnInputString "IPSTR[Adam Dory 中文]" "SQ[202,EPredictiveItuT,EAlphaSort,5]" "RES[1,(-1:A)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Multi Search (Predictive QWERTY) -> Partial match (1)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchOnInputString "IPSTR[Adam Dory Dusk]" "SQ[@ @,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(-1:A)]" "MATCHLOC[0:1]"
-//api TC_DEA_SearchOnInputString "IPSTR[Just Luke Last]" "SQ[+ +,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(-1:J)]" "MATCHLOC[0:1]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test 中文]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Multi Search (Predictive ITU-T) -> Partial match (2)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchOnInputString "IPSTR[Tim 中文]" "SQ[808,EPredictiveItuT,EAlphaSort,5]" "RES[1,(-1:T)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Multi Search (Predictive QWERTY) -> Partial match (2)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchOnInputString "IPSTR[Tim Monk]" "SQ[5 5,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(-1:T)]" "MATCHLOC[0:1]"
-//api TC_DEA_SearchOnInputString "IPSTR[Tim Monk]" "SQ[5 5,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(-1:T)]" "MATCHLOC[0:1]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test 中文]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Empty String (Predictive ITU-T) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api SearchOnInputString "IPSTR[]" "SQ[23,EPredictiveItuT,EPatternSort,5]" "RES[0,]" "MATCHLOC[]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title IS: Only spaces string (Predictive ITU-T)- No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api SearchOnInputString "IPSTR[   ]" "SQ[23,EPredictiveItuT,EPatternSort,5]" "RES[0,]" "MATCHLOC[]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					SearchLookupMatchString ("LM")
-//------------------------------------------------------------------------------
-
-//******************************************************************************
-[Test]
-title LM: Trivial (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchLookupMatchString "IPSTR[Abc Bc 123 c]" "SQ[222022,EPredictiveItuT,EPatternSort,5]" "RESSTR[ABC BC]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title LM: Trivial (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchLookupMatchString "IPSTR[Aa@ @A 123 a]" "SQ[aaa aa,EPredictiveQwerty,EPatternSort,5]" "RESSTR[Aa@ @A]"
-//api TC_DEA_SearchLookupMatchString "IPSTR[Ll* *L 123 l]" "SQ[lll ll,EPredictiveQwerty,EPatternSort,5]" "RESSTR[Ll* *L]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title LM: Single backtrack (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchLookupMatchString "IPSTR[Abc Bc 123 c]" "SQ[220222,EPredictiveItuT,EPatternSort,5]" "RESSTR[ABC BC]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title LM: Single backtrack (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchLookupMatchString "IPSTR[Aa@ @A 123 a]" "SQ[aa aaa,EPredictiveQwerty,EPatternSort,5]" "RESSTR[@A Aa@]"
-//api TC_DEA_SearchLookupMatchString "IPSTR[Ll* *L 123 l]" "SQ[ll lll,EPredictiveQwerty,EPatternSort,5]" "RESSTR[*L Ll*]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title LM: Double backtrack (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchLookupMatchString "IPSTR[Abc Bc 123 c]" "SQ[20220222,EPredictiveItuT,EPatternSort,5]" "RESSTR[ABC BC C]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title LM: Double backtrack (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchLookupMatchString "IPSTR[Aa@ @A 123 a]" "SQ[a aa aaa,EPredictiveQwerty,EPatternSort,5]" "RESSTR[a @A Aa@]"
-//api TC_DEA_SearchLookupMatchString   "IPSTR[Ll* *L 123 l]" "SQ[l ll lll,EPredictiveQwerty,EPatternSort,5]" "RESSTR[l *L Ll*]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title LM: Spaces in query and in result (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchLookupMatchString "IPSTR[Abc Bc 123 中文]" "SQ[ 22 1 2 ,EPredictiveItuT,EPatternSort,5]" "RESSTR[AB B 1]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title LM: Spaces in query and in result (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchLookupMatchString "IPSTR[Aa@ @A 123 a]" "SQ[ aa q a ,EPredictiveQwerty,EPatternSort,5]" "RESSTR[ Aa 1 @ ]"
-//api TC_DEA_SearchLookupMatchString "IPSTR[Ll* *L 123 l]" "SQ[ ll q l ,EPredictiveQwerty,EPatternSort,5]" "RESSTR[ Ll 1 * ]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title LM: Not matched (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_SearchLookupMatchString "IPSTR[中文 陈二 123 c]" "SQ[2222,EPredictiveItuT,EPatternSort,5]" "RESSTR[]"
-delete api
-[Endtest]
-
-//******************************************************************************
-[Test]
-title LM: Not matched (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_SearchLookupMatchString "IPSTR[Aa@ @A 123 a]" "SQ[aaaa,EPredictiveQwerty,EPatternSort,5]" "RESSTR[]"
-//api TC_DEA_SearchLookupMatchString "IPSTR[Ll* *L 123 l]" "SQ[llll,EPredictiveQwerty,EPatternSort,5]" "RESSTR[]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test 中文]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-//------------------------------------------------------------------------------
-//					GetAllContents ("AC")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title AC: Get All contacts in the phonebook
-create PsClientTestSuite api
-api WriteTitleToLog
-api GetAllContents "URI[cntdb:\/\/c:contacts.cdb]" "RES[16,(FN:伟$,LN:开,CN:Finland)(FN:峰峰,LN:K,CN:Nokia)(FN:共鹏,LN:周,CN:TaiWan)(FN:利 华,LN:联 合,CN:美国)(FN:我 是 谁 娃 炅,LN:新年,CN:Nokia)(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)(FN:男,LN:虎,CN:Nokia)(FN:楚平,LN:人,CN:Nokia)(FN:任,LN:出凭,CN:Nokia)(FN:金,LN:+勇,CN:Nokia)(FN:@博 four,LN:!five)(FN:mahesh,LN:doraiswamy,CN:Nokia)(FN:0抓,LN:0图,CN:0Sam)(FN:什么,LN:打,CN:Nokia)(FN:福气,LN:钱,CN:Nokia)(FN:mno,LN:同学家,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title AC: Get All contacts - Wrong URI -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api GetAllContents "URI[cntdb:\/\/c:wrongcontacts.cdb]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					TestSearchingInCache ("CS")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title CS: Search by FirstName (Predictive Default)
-create PsClientTestSuite api
-api WriteTitleToLog
-// 5.0: 3x11 Qwerty is default keyboard for N97
-// 9.2: ITU-T is default keyboard if physical keyboard is not present
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[!@H3/#,EPredictiveDefaultKeyboard,EAlphaSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[)aH3s-,EPredictiveDefaultKeyboard,EAlphaSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-api TC_N00_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[934,EPredictiveDefaultKeyboard,EAlphaSort,5]" "RES[1,(FN:伟$,LN:开,CN:Finland)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by FirstName (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[33643364,EPredictiveItuT,EAlphaSort,5]" "RES[1,(FN:峰峰,LN:K,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by FirstName (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[!@H3/#,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[)aH3s-,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by FirstName (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[fengfeng,ENonPredictive,EPatternSort,5]" "RES[1,(FN:峰峰,LN:K,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by FirstName (Mixed Default)
-create PsClientTestSuite api
-api WriteTitleToLog
-// 5.0: 3x11 Qwerty is default keyboard for N97
-// 9.2: ITU-T is default keyboard if physical keyboard is not present
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[!@h3,ddnd,EPatternSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[)ah3,ddnd,EPatternSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-api TC_N00_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[33ng,ddnn,EPatternSort,5]" "RES[1,(FN:峰峰,LN:K,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by FirstName (Mixed ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[f3n4,nini,EPatternSort,5]" "RES[1,(FN:峰峰,LN:K,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by FirstName (Mixed QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[!@h3,qqnq,EPatternSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[)ah3,qqnq,EPatternSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by FirstName (Predictive ITU-T and QWERTY) - Double Keyboard
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[!2H37#,qiqiiq,EAlphaSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[)2H37-,qiqiiq,EAlphaSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by LastName (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[9468,EPredictiveItuT,EAlphaSort,5]" "RES[1,(FN:共鹏,LN:周,CN:TaiWan)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by LastName (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[-94@8/2,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[d94a8s2,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by LastName (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[zhou,ENonPredictive,EPatternSort,8]" "RES[1,(FN:共鹏,LN:周,CN:TaiWan)]"
-delete api
-[Endtest]
-
-
-//****************************************************************************
-[Test]
-title CS: Search by LastName (Mixed ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[z4o8,nini,EAlphaSort,5]" "RES[1,(FN:共鹏,LN:周,CN:TaiWan)]"
-delete api
-[Endtest]
-
-
-[Test]
-title CS: Search by LastName (Mixed QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[ve:;7,nnqqq,EAlphaSort,5]" "RES[1,(FN:ravi kiran,LN:velkud,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[ve*#7,nnqqq,EAlphaSort,5]" "RES[1,(FN:ravi kiran,LN:velkud,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by CompanyName (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[824926,EPredictiveItuT,EAlphaSort,5]" "RES[1,(FN:共鹏,LN:周,CN:TaiWan)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by CompanyName (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[!9594,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:chiru,LN:devi,CN:motorola)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[)9594,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:chiru,LN:devi,CN:motorola)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search by CompanyName (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[taiw,ENonPredictive,EPatternSort,8]" "RES[1,(FN:共鹏,LN:周,CN:TaiWan)]"
-delete api
-[Endtest]
-
-
-//****************************************************************************
-[Test]
-title CS: Search by CompanyName (Mixed ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[82iwa6,iinnni,EAlphaSort,5]" "RES[1,(FN:共鹏,LN:周,CN:TaiWan)]"
-delete api
-[Endtest]
-
-
-//****************************************************************************
-[Test]
-title CS: Search by CompanyName (Mixed QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[mo594,nnqqq,EAlphaSort,5]" "RES[1,(FN:chiru,LN:devi,CN:motorola)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[mo594,nnqqq,EAlphaSort,5]" "RES[1,(FN:chiru,LN:devi,CN:motorola)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multiple words contact (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[482,EPredictiveItuT,EPatternSort,5]" "RES[1,(FN:利 华,LN:联 合,CN:美国)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multiple words contact (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[;84@,EPredictiveQwerty,EPatternSort,5]" "RES[1,(FN:ravi kiran,LN:velkud,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[#84a,EPredictiveQwerty,EPatternSort,5]" "RES[1,(FN:ravi kiran,LN:velkud,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multiple (very many) words contact (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[54664,EPredictiveItuT,EAlphaSort,5]" "RES[1,(FN:我 是 谁 娃 炅,LN:新年,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multiple (very many) words contact (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[*@6,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:a b c d e f g Jay,LN:L Gee,CN:Nokia India)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+a6,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:a b c d e f g Jay,LN:L Gee,CN:Nokia India)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multiple words contact with same initials (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[5727,EPredictiveItuT,EPatternSort,5]" "RES[1,(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multiple words contact with same initials (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[:0%/,EPredictiveQwerty,EPatternSort,5]" "RES[1,(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[*0cs,EPredictiveQwerty,EPatternSort,5]" "RES[1,(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multiple words contact with same initials (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[lpcs,ENonPredictive,EAlphaSort,5]" "RES[1,(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multiple words contact with same initials (Mixed ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[l7c7,nini,EPatternSort,5]" "RES[1,(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multiple words contact with same initials (Mixed QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[l0c/,nqnq,EPatternSort,5]" "RES[1,(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[l0cs,nqnq,EPatternSort,5]" "RES[1,(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[626048,EPredictiveItuT,EAlphaSort,5]" "RES[1,(FN:男,LN:虎,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[=# *;,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:ghi,LN:jkl,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[G- +#,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:ghi,LN:jkl,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive ITU-T) - Space as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[736 2487,EPredictiveItuT,EAlphaSort,5]" "RES[2,(FN:楚平,LN:人,CN:Nokia)(FN:任,LN:出凭,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive QWERTY) - Space as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[5 *9,EPredictiveQwerty,EAlphaSort,5]" "RES[2,(FN:Tim,LN:Jones,CN:Nokia)(FN:John,LN:Tom,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[5 +9,EPredictiveQwerty,EAlphaSort,5]" "RES[2,(FN:Tim,LN:Jones,CN:Nokia)(FN:John,LN:Tom,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive ITU-T) - 0 as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[73602487,EPredictiveItuT,EAlphaSort,5]" "RES[2,(FN:楚平,LN:人,CN:Nokia)(FN:任,LN:出凭,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive QWERTY) - 0 as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[50*9,EPredictiveQwerty,EAlphaSort,5]" "RES[0,]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[50+9,EPredictiveQwerty,EAlphaSort,5]" "RES[0,]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive ITU-T) - 0 and space as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[7360 2487,EPredictiveItuT,EAlphaSort,5]" "RES[2,(FN:楚平,LN:人,CN:Nokia)(FN:任,LN:出凭,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive QWERTY) - 0 and space as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[50 *9,EPredictiveQwerty,EAlphaSort,5]" "RES[0,]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[50 +9,EPredictiveQwerty,EAlphaSort,5]" "RES[0,]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Non-predictive) - Space as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[ren chup,ENonPredictive,EAlphaSort,5]" "RES[2,(FN:楚平,LN:人,CN:Nokia)(FN:任,LN:出凭,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Non-predictive) - 0 as NON sep (Qwerty 0)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[j0t,ENonPredictive,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Mixed ITU-T) - Space as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[n2 4u,ninin,EPatternSort,5]" "RES[1,(FN:男,LN:虎,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Mixed QWERTY) - Space as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[j9 5i,nqnqn,EPatternSort,5]" "RES[1,(FN:Tim,LN:Jones,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[j9 5i,nqnqn,EPatternSort,5]" "RES[1,(FN:Tim,LN:Jones,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Mixed ITU-T) - 0 as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[n204u,niiin,EAlphaSort,5]" "RES[1,(FN:男,LN:虎,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Mixed QWERTY) - 0 as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[j905i,nqqqn,EAlphaSort,5]" "RES[0,]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[j905i,nqqqn,EAlphaSort,5]" "RES[0,]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Mixed ITU-T) - 0 as NON sep (Qwerty 0)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[n2049,ninin,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Mixed QWERTY) - 0 as NON sep (Qwerty 0)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[j905i,nqnqn,EAlphaSort,5]" "RES[0,]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[j905i,nqnqn,EAlphaSort,5]" "RES[0,]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Mixed ITU-T) - 0 and space as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[n20 4u,niiiin,EAlphaSort,5]" "RES[1,(FN:男,LN:虎,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Mixed QWERTY) - 0 and space as sep
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[j90 5i,nqqqqn,EAlphaSort,5]" "RES[0,]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[j90 5i,nqqqqn,EAlphaSort,5]" "RES[0,]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive ITU-T) -> more than one result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[73602487,EPredictiveItuT,EPatternSort,5]" "RES[2,(FN:楚平,LN:人,CN:Nokia)(FN:任,LN:出凭,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive QWERTY) -> more than one result
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[& 4,EPredictiveQwerty,EPatternSort,5]" "RES[2,(FN:ravi kiran,LN:velkud,CN:Nokia)(FN:4four,LN:&ampli,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[( 4,EPredictiveQwerty,EPatternSort,5]" "RES[2,(FN:ravi kiran,LN:velkud,CN:Nokia)(FN:4four,LN:&ampli,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search Contact starting with + (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+9664,EPredictiveItuT,EAlphaSort,5]" "RES[1,(FN:金,LN:+勇,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search Contact starting with + (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+@::3?,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:+allen,LN:good,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+a**3(,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:+allen,LN:good,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search contact starting with + (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+yong,ENonPredictive,EPatternSort,5]" "RES[1,(FN:金,LN:+勇,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search with + (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+0+,EPredictiveItuT,EAlphaSort,5]" "RES[1,(FN:@博 four,LN:!five)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search with + (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+ +,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:@ravi four,LN:!belkud five)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+ 5,EPredictiveQwerty,EAlphaSort,5]" "RES[2,(FN:Tim,LN:Jones,CN:Nokia)(FN:John,LN:Tom,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive ITU-T) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[239098,EPredictiveItuT,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive ITU-T) - Query with more than 2 words
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[73602487066,EPredictiveItuT,EAlphaSort,5]" "RES[2,(FN:楚平,LN:人,CN:Nokia)(FN:任,LN:出凭,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive QWERTY) - Query with more than 2 words
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[5 *9 ?,EPredictiveQwerty,EAlphaSort,5]" "RES[2,(FN:Tim,LN:Jones,CN:Nokia)(FN:John,LN:Tom,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[5 +9 (,EPredictiveQwerty,EAlphaSort,5]" "RES[2,(FN:Tim,LN:Jones,CN:Nokia)(FN:John,LN:Tom,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search (Predictive ITU-T) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[736024870699,EPredictiveItuT,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search (Non-predictive) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[deepakrsrs,ENonPredictive,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search (Mixed ITU-T) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[dee789srs,nnniiinnn,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Predictive ITU-T) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[4242 3262374,EPredictiveItuT,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Non-predictive) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[deepa krsrs,ENonPredictive,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Mixed ITU-T) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[dee78 9srs,nnniiiinnn,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Wrong URI (Predictive ITU-T) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:Wronguricontacts.cdb]" "SQ[2,EPredictiveItuT,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Wrong URI (Non-predictive) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:Wronguricontacts.cdb]" "SQ[z,ENonPredictive,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Wrong URI (Mixed ITU-T) -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:Wronguricontacts.cdb]" "SQ[dee7809srs,nnniiiinnn,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Filter Display Fields (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "DISP[28]" "SQ[624374,EPredictiveItuT,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Filter Display Fields (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "DISP[28]" "SQ[mahesh,ENonPredictive,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Filter Display Fields (Mixed ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "DISP[28]" "SQ[ma43sh,nniinn,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Multi Search (Non-predictive) - Filter Display Fields
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "DISP[28]" "SQ[ravi velkud,ENonPredictive,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Groups Search (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.gdb]" "SQ[8664983,EPredictiveItuT,EPatternSort,5]" "RES[1,(FN:同学)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Groups Search (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.gdb]" "SQ[5#3=497,EPredictiveQwerty,EPatternSort,5]" "RES[1,(FN:TheGroup)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.gdb]" "SQ[5-3G497,EPredictiveQwerty,EPatternSort,5]" "RES[1,(FN:TheGroup)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Groups Search (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.gdb]" "SQ[Tongx,ENonPredictive,EPatternSort,5]" "RES[1,(FN:同学)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Groups Search (Mixed ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.gdb]" "SQ[866g9u3,iiinini,EAlphaSort,5]" "RES[1,(FN:同学)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Groups Search (Mixed QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.gdb]" "SQ[5#3g4o7,qqqnqnq,EAlphaSort,5]" "RES[1,(FN:TheGroup)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.gdb]" "SQ[5-3g4o7,qqqnqnq,EAlphaSort,5]" "RES[1,(FN:TheGroup)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search in more than one group -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.gdb?id=3221,cntdb:\/\/c:contacts.gdb?id=1132]" "SQ[624374,EPredictiveItuT,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search in non-existing group ID -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingInCache "URI[cntdb:\/\/c:contacts.gdb?id=3221]" "SQ[624374,EPredictiveItuT,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search special chars - Pattern Sort
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[1,EPredictiveItuT,EPatternSort,5]" "RES[3,(FN:@博 four,LN:!five)(FN:伟$,LN:开,CN:Finland)(FN:金,LN:+勇,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search special chars - Pattern Sort
-create PsClientTestSuite api
-api WriteTitleToLog
-// The following test is not really applicable test for non-ITUT keyboard
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[! @,EPredictiveQwerty,EPatternSort,5]" "RES[1,(FN:@ravi four,LN:!belkud five)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[! @,EPredictiveQwerty,EPatternSort,5]" "RES[1,(FN:@ravi four,LN:!belkud five)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search special chars (Predictive ITU-T) - Alpha Sort
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[1,EPredictiveItuT,EAlphaSort,5]" "RES[3,(FN:@博 four,LN:!five)(FN:伟$,LN:开,CN:Finland)(FN:金,LN:+勇,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search special chars (Predictive QWERTY) - Alpha Sort
-create PsClientTestSuite api
-api WriteTitleToLog
-// The following test is not really applicable test for non-ITUT keyboard
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[! @,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:@ravi four,LN:!belkud five)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[! @,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:@ravi four,LN:!belkud five)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search contact starting with 0 (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[09482,EPredictiveItuT,EAlphaSort,5]" "RES[1,(FN:0抓,LN:0图,CN:0Sam)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search contact starting with 0 (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[0?8%,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:0Nick,LN:0Jack,CN:0Sam)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[0(8c,EPredictiveQwerty,EAlphaSort,5]" "RES[1,(FN:0Nick,LN:0Jack,CN:0Sam)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search in multiple data stores (Predictive ITU-T)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb,cntdb:\/\/c:contacts.gdb]" "SQ[8664983,EPredictiveItuT,EAlphaSort,5]" "RES[2,(FN:同学)(FN:mno,LN:同学家,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search in multiple data stores (Predictive QWERTY)
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb,cntdb:\/\/c:contacts.gdb]" "SQ[5#3=,EPredictiveQwerty,EAlphaSort,5]" "RES[2,(FN:TheGroup)(FN:mno,LN:pqr TheGr,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb,cntdb:\/\/c:contacts.gdb]" "SQ[5-3G,EPredictiveQwerty,EAlphaSort,5]" "RES[2,(FN:TheGroup)(FN:mno,LN:pqr TheGr,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search (Predictive ITU-T) - Alpha Sort -> Truncate result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[5,EPredictiveItuT,EAlphaSort,3]" "RES[3,(FN:伟$,LN:开,CN:Finland)(FN:利 华,LN:联 合,CN:美国)(FN:mno,LN:同学家,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search (Predictive QWERTY) - Alpha Sort -> Truncate result
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[*,EPredictiveQwerty,EAlphaSort,3]" "RES[3,(FN:a b c d e f g Jay,LN:L Gee,CN:Nokia India)(FN:ghi,LN:jkl,CN:Nokia)(FN:John,LN:Tom,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+,EPredictiveQwerty,EAlphaSort,3]" "RES[3,(FN:+allen,LN:good,CN:Nokia)(FN:a b c d e f g Jay,LN:L Gee,CN:Nokia India)(FN:ghi,LN:jkl,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search (Predictive ITU-T) - Pattern Sort -> Truncate result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TC_ITU_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[5,EPredictiveItuT,EPatternSort,3]" "RES[3,(FN:伟$,LN:开,CN:Finland)(FN:利 华,LN:联 合,CN:美国)(FN:mno,LN:同学家,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Search (Predictive QWERTY) - Pattern Sort -> Truncate result
-create PsClientTestSuite api
-api WriteTitleToLog
-//api TC_N97_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[*,EPredictiveQwerty,EPatternSort,3]" "RES[3,(FN:a b c d e f g Jay,LN:L Gee,CN:Nokia India)(FN:ghi,LN:jkl,CN:Nokia)(FN:John,LN:Tom,CN:Nokia)]"
-//api TC_DEA_TestSearchingInCache "URI[cntdb:\/\/c:contacts.cdb]" "SQ[+,EPredictiveQwerty,EPatternSort,3]" "RES[3,(FN:+allen,LN:good,CN:Nokia)(FN:a b c d e f g Jay,LN:L Gee,CN:Nokia India)(FN:ghi,LN:jkl,CN:Nokia)]"
-api TC_N00_SearchOnInputString "IPSTR[Fake_Test]" "SQ[F,ENonPredictive,EAlphaSort,5]" "RES[1,(-1:F)]" "MATCHLOC[0:1]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title CS: Cancel search 
-create PsClientTestSuite api
-api WriteTitleToLog
-api CancelSearch "URI[cntdb:\/\/c:contacts.cdb]" "SQ[624374,EPredictiveItuT,EAlphaSort,5]" "RES[1,(FN:mahesh,LN:doraiswamy,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					TestSearchingWithInGroup ("GS")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title GS: Search FirstName in group (Non-predictive)
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingWithInGroup "SrchInGroup[同学]" "SQ[dashenme,ENonPredictive,EAlphaSort,5]" "RES[1,(FN:什么,LN:打,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title GS: Search in group - Empty Query
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingWithInGroup "SrchInGroup[同学]" "SQ[,ENonPredictive,EAlphaSort,5]" "RES[3,(FN:什么,LN:打,CN:Nokia)(FN:福气,LN:钱,CN:Nokia)(FN:mno,LN:同学家,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title GS: Search in group (Non-predictive) - Empty Query -> No result
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingWithInGroup "SrchInGroup[同学]" "SQ[afdsbc,ENonPredictive,EPatternSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title GS: Search in non-existing group
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSearchingWithInGroup "SrchInGroup[TheNonExistantGroup]" "SQ[abc,ENonPredictive,EAlphaSort,5]" "RES[0,]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					Adaptive Grid ("AG")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-//[Test]
-//title AG: Get Adaptive Grid - With Company Name
-//create PsClientTestSuite api
-//api WriteTitleToLog
-//api CheckAdaptiveString "URI[cntdb:\/\/c:contacts.cdb]" "IPSTR[]" "BOOL[ETrue]" "RESSTR[!&+014@ABCDEFGIJKLMNPRTVY���]"
-//delete api
-//[Endtest]
-
-
-//******************************************************************************
-//[Test]
-//title AG: Get Adaptive Grid - Without Company Name
-//create PsClientTestSuite api
-//api WriteTitleToLog
-//api CheckAdaptiveString "URI[cntdb:\/\/c:contacts.cdb]" "IPSTR[]" "BOOL[EFalse]" "RESSTR[!&+014@ABCDEFGJKLMPRTVY��]"
-//delete api
-//[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					Miscellaneous ("Mi")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title Mi: Check Caching status
-create PsClientTestSuite api
-api WriteTitleToLog
-api CheckCachingStatus
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title Mi: Check Version
-create PsClientTestSuite api
-api WriteTitleToLog
-api CheckVersion
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title Mi: Remove Observer
-create PsClientTestSuite api
-api WriteTitleToLog
-api RemoveObserver "URI[cntdb:\/\/c:contacts.cdb]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title Mi: Marked contacts
-create PsClientTestSuite api
-api WriteTitleToLog
-api AddMarkedContactsTest "URI[cntdb:\/\/c:contacts.cdb]" "SQ[624374,EPredictiveItuT,EAlphaSort,25]" "RES[16,(FN:伟$,LN:开,CN:Finland)(FN:峰峰,LN:K,CN:Nokia)(FN:共鹏,LN:周,CN:TaiWan)(FN:利 华,LN:联 合,CN:美国)(FN:我 是 谁 娃 炅,LN:新年,CN:Nokia)(FN:Lpcsillet,LN:Lpcsucy,CN:Lpcsush)(FN:男,LN:虎,CN:Nokia)(FN:楚平,LN:人,CN:Nokia)(FN:任,LN:出凭,CN:Nokia)(FN:金,LN:+勇,CN:Nokia)(FN:@博 four,LN:!five)(FN:mahesh,LN:doraiswamy,CN:Nokia)(FN:0抓,LN:0图,CN:0Sam)(FN:什么,LN:打,CN:Nokia)(FN:福气,LN:钱,CN:Nokia)(FN:mno,LN:同学家,CN:Nokia)]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					TestSortOrder ("SO")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title SO: Change Sort Order test 1
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSortOrder "URI[cntdb:\/\/c:contacts.cdb]" "SORTORDER[6,2,37]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title SO: Change Sort Order test 2
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSortOrder "URI[cntdb:\/\/c:contacts.cdb]" "SORTORDER[6,2,37,22]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title SO: Change Sort Order - More than 10 keys
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSortOrder "URI[cntdb:\/\/c:contacts.cdb]" "SORTORDER[1,2,3,4,5,6,7,8,9,10,11]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title SO: Change Sort Order - Same sort order
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSortOrder "URI[cntdb:\/\/c:contacts.cdb]" "SORTORDER[]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title SO: Change Sort Order on a group URI
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSortOrderErrCaseL "URI[cntdb:\/\/c:contacts.gdb?id=3221]" "SORTORDER[6,2,37]"
-delete api
-[Endtest]
-
-
-//******************************************************************************
-[Test]
-title SO: Change Sort Order on a wrong group URI
-create PsClientTestSuite api
-api WriteTitleToLog
-api TestSortOrderErrCaseL "URI[cntdb:\/\/c:wrongcontactsuri.cdb]" "SORTORDER[6,2,37]"
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					ShutDown Server ("SD")
-//------------------------------------------------------------------------------
-
-
-//******************************************************************************
-[Test]
-title SD: Shut Down the Server
-create PsClientTestSuite api
-api WriteTitleToLog
-api ShutDown
-delete api
-[Endtest]
-
-
-//------------------------------------------------------------------------------
-//					END OF FILE
-//------------------------------------------------------------------------------
--- a/contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/group/PsClientTestSuite.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/group/PsClientTestSuite.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -42,15 +42,14 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         PsServerClientAPI.lib 
 LIBRARY         PcsUtils.lib
 LIBRARY         VPbkEng.lib
-LIBRARY         ecom.lib
+LIBRARY         eCom.lib
 LIBRARY         flogger.lib
-LIBRARY	        bafl.lib 
-LIBRARY         charconv.lib 
+LIBRARY		bafl.lib
 
 
 
--- a/contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/group/PsClientTestSuitePRC.pkg	Wed Sep 15 11:56:55 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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:
-;
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"Ps Client API TestSuite"},(0x2000B5BB),1,0,0
-
-;Supports Series 60 v 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; PS Client API Test Suite  files to be installed
-"\epoc32\release\armv5\urel\PsClientTestSuite.dll"-"!:\sys\bin\PsClientTestSuite.dll"
-
-; The configuration file for the test cases
-"..\conf\PsClientTestSuitePRC.cfg"-"!:\testframework\PsClientTestSuite.cfg"
-
-; The test framework initilization file
-"..\init\PsClientTestSuite.ini"-"!:\testframework\PsClientTestSuite.ini"
\ No newline at end of file
--- a/contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/inc/TestSuiteInputData.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/inc/TestSuiteInputData.h	Wed Oct 13 14:15:33 2010 +0300
@@ -279,7 +279,6 @@
 	    void ParseInputForSearchWithinGroupL(TDesC& aInput);
 		void ParseInputForSortOrderL(TDesC& aInput);
 		TInt GetFieldIdFromVpbkIdentifierL(TDesC& aIdentifierAsString);
-		void ConvUtf2UniL( const TDesC& aOriginal, TDes& aRes );
 
 private: // data
 
--- a/contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/src/TestSuiteInputData.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/predictivesearch_client_api/tsrc/PsClientTestSuite/src/TestSuiteInputData.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,24 +22,6 @@
 #include "pstestcontactshandler.h"
 #include "psclienttestsuitedefs.h"
 #include <vpbkeng.rsg>
-#include <f32file.h>
-#include <CHARCONV.H>
-
-void CTestSuiteInputData::ConvUtf2UniL( const TDesC& aOriginal, TDes& aRes )
-    {
-    HBufC8* buf8 = HBufC8::NewLC( aOriginal.Length() * 2 );
-    buf8->Des().Copy( aOriginal );
-    TPtrC8 str = buf8->Des();
-
-    HBufC* InfoText = CnvUtfConverter::ConvertToUnicodeFromUtf8L( str );
-    CleanupStack::PushL( InfoText );
-    TPtr16 ptr = InfoText->Des();
-
-    aRes.Zero();
-    aRes.Copy( ptr );
-
-    CleanupStack::PopAndDestroy( 2 );
-    }
 
 // ============================== MEMBER FUNCTIONS ============================
 
@@ -440,14 +422,9 @@
             j++;
 
         TPtrC16 dataPtr = aInput.Mid(Startpos ,j - Startpos);	
-        
-        HBufC* buf = dataPtr.AllocLC();
-        TPtr uniPtr = buf->Des();
-        ConvUtf2UniL( dataPtr, uniPtr);
-        
+
         // Add data to the class
-        tempcacheData->data.Append(uniPtr.AllocL());
-        CleanupStack::PopAndDestroy();
+        tempcacheData->data.Append(dataPtr.AllocL());
 
         commaPos = j ;  
         j++;   
@@ -571,16 +548,12 @@
             j++;
 			      
         TPtrC16 dataPtr = aInput.Mid(Startpos ,j - Startpos);	
-        HBufC* buf = dataPtr.AllocLC();
-        TPtr uniPtr = buf->Des();
-        ConvUtf2UniL( dataPtr, uniPtr);
 			
         // Add data to the output
-        HBufC* tempData = uniPtr.AllocL();
+        HBufC* tempData = dataPtr.AllocL();
         aSeparatedData.Append(tempData);
         SeparatorPos = j;  
         j++;   
-        CleanupStack::PopAndDestroy();
 	}
 }
 
@@ -873,11 +846,7 @@
 // -----------------------------------------------------------------------------
 void CTestSuiteInputData::ParseInputInputSearchStringL(TDesC& aInput)
 {
-	HBufC* buf = aInput.AllocLC();
-	TPtr uniPtr = buf->Des();
-	ConvUtf2UniL( aInput, uniPtr);
-	iInputSearchString = uniPtr.AllocL();
-	CleanupStack::PopAndDestroy();
+	iInputSearchString = aInput.AllocL();
 }
 
 // -----------------------------------------------------------------------------
@@ -981,13 +950,8 @@
 	HBufC* temp2 = aInput.Right(len - 1).AllocL();
 	ParseInputForContactsDataL(*temp2,0);
 	
-    HBufC* buf = gropName->AllocLC();
-    TPtr uniPtr = buf->Des();
-    ConvUtf2UniL( gropName->Des(), uniPtr);
-	
 	//Add the group
-	iContactHandler->AddGroupL(*buf);
-	CleanupStack::PopAndDestroy();
+	iContactHandler->AddGroupL(*gropName);
 	CActiveScheduler :: Start();
 	
 	//Create Contacts 
@@ -1000,11 +964,7 @@
 // -----------------------------------------------------------------------------
 void CTestSuiteInputData::ParseInputForSearchWithinGroupL(TDesC& aInput)
 {
-	HBufC* buf = aInput.AllocLC();
-	TPtr uniPtr = buf->Des();
-	ConvUtf2UniL( aInput, uniPtr);
-	iGroupToBeSearched = uniPtr.AllocL();
-	CleanupStack::PopAndDestroy();
+	iGroupToBeSearched = aInput.AllocL();	
 }
 
 // -----------------------------------------------------------------------------
--- a/contacts_plat/predictivesearch_utils_api/tsrc/PsUtilsTestSuite/group/PsUtilsTestSuite.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/predictivesearch_utils_api/tsrc/PsUtilsTestSuite/group/PsUtilsTestSuite.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -39,12 +39,12 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 //LIBRARY         PsServerClientAPI.lib 
 LIBRARY         PcsUtils.lib
 LIBRARY         VPbkEng.lib
-LIBRARY         ecom.lib
+LIBRARY         eCom.lib
 LIBRARY         flogger.lib
 LIBRARY         estor.lib
 
--- a/contacts_plat/presence_cache_api/tsrc/clientsrvtester/group/clientsrvtester.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/presence_cache_api/tsrc/clientsrvtester/group/clientsrvtester.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,7 +44,7 @@
 LIBRARY         euser.lib
 LIBRARY         efsrv.lib
 LIBRARY         flogger.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 
 LIBRARY         presencecacheclient2.lib
 LIBRARY         presencecacheutils.lib
--- a/contacts_plat/speed_dial_dialogs_api/tsrc/bc/group/BCTestSpeedDial.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/speed_dial_dialogs_api/tsrc/bc/group/BCTestSpeedDial.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -51,21 +51,21 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 
-LIBRARY			spdctrl.lib
-LIBRARY			pbkeng.lib
+LIBRARY			SpdCtrl.lib
+LIBRARY			PbkEng.lib
 
 LIBRARY			efsrv.lib
 LIBRARY         cone.lib ws32.lib avkon.lib eikcoctl.lib eikctl.lib apgrfx.lib aknskins.lib 
 LIBRARY			bafl.lib aknskinsrv.lib aknswallpaperutils.lib eikcore.lib
 
 LIBRARY         Pbk2CommonUI.lib
-LIBRARY         servicehandler.lib
+LIBRARY         ServiceHandler.lib
 LIBRARY         Pbk2Presentation.lib
-LIBRARY         pbkview.lib
-LIBRARY         phoneclient.lib
+LIBRARY         PbkView.lib
+LIBRARY         PhoneClient.LIB
 LIBRARY         VPbkEng.lib
 
 
--- a/contacts_plat/virtual_phonebook_engine_api/inc/MVPbkFieldType.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_engine_api/inc/MVPbkFieldType.h	Wed Oct 13 14:15:33 2010 +0300
@@ -641,7 +641,7 @@
                 TInt aMatchPriority ) const = 0;
 
         /**
-         * Returns the field type resource id from vpbkeng.rsg
+         * Returns the field type resource id from VPbkEng.rsg
          * that be used to identify a type.
          *
          * @return A field type resource id.
@@ -732,7 +732,7 @@
          * Returns the field type corresponding to field type resource id.
          *
          * If no match is found returns NULL. The resource id aFieldTypeResId
-         * corresponds to the VPBK_FIELD_TYPE types in vpbkeng.rsg.
+         * corresponds to the VPBK_FIELD_TYPE types in VPbkEng.rsg.
          *
          * @param aFieldTypeResId The field type resource id.
          * @return The corresponding field type.
--- a/contacts_plat/virtual_phonebook_policy_api/tsrc/T_VPbkPolicyApi/group/T_VPbkPolicyApi.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_policy_api/tsrc/T_VPbkPolicyApi/group/T_VPbkPolicyApi.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         VPbkEng.lib
 
--- a/contacts_plat/virtual_phonebook_sim_services_api/tsrc/T_VPbkSimServicesApi/group/T_VPbkSimServicesApi.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_sim_services_api/tsrc/T_VPbkSimServicesApi/group/T_VPbkSimServicesApi.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,11 +36,11 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         VPbkEng.lib
 LIBRARY         VPbkSimStoreImpl.lib
-LIBRARY         vpbksimstoreservice.lib
+LIBRARY         VPbkSimStoreService.lib
 
 LANG            SC
 
--- a/contacts_plat/virtual_phonebook_store_api/inc/CVPbkContactOperationFactory.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_store_api/inc/CVPbkContactOperationFactory.h	Wed Oct 13 14:15:33 2010 +0300
@@ -22,8 +22,8 @@
 #define CVPBKCONTACTOPERATIONFACTORY_H
 
 #include <e32base.h>
-#include <MVPbkContactOperationFactory.h>
-#include <MVPbkContactOperationFactory2.h>
+#include <mvpbkcontactoperationfactory.h>
+#include <mvpbkcontactoperationfactory2.h>
 
 class MVPbkContactStoreList;
 
--- a/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/group/T_MVPbkContactStore.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/group/T_MVPbkContactStore.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -43,7 +43,7 @@
 SYSTEMINCLUDE  ../../../../../phonebookengines/VirtualPhonebook/inc
 SYSTEMINCLUDE   /epoc32/include/Digia/EUnit
 
-LIBRARY         eunit.lib
+LIBRARY         EUnit.lib
 LIBRARY         euser.lib efsrv.lib bafl.lib estor.lib cone.lib ecom.lib
 LIBRARY		serviceprovidersettings.lib
 LIBRARY 	cntmodel.lib
--- a/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/inc/T_MVPbkContactStoreSingle.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/inc/T_MVPbkContactStoreSingle.h	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,7 @@
 #include <MVPbkBatchOperationObserver.h>
 #include <MVPbkContactFindObserver.h>
 #include <MVPbkContactFindFromStoresObserver.h>
-#include <t_mvpbkcontactstore.rsg>
+#include <T_MVPbkContactStore.rsg>
 #include <badesca.h>
 #include <mvpbkoperationobserver.h>
 #include <barsread.h>
--- a/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/src/T_MVPbkContactStoreComposite.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/src/T_MVPbkContactStoreComposite.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 #include <TVPbkFieldTypeMapping.h>
 #include <TVPbkContactStoreUriPtr.h>
 
-#include <t_mvpbkcontactstore.rsg>
+#include <T_MVPbkContactStore.rsg>
 
 //  EXTERNAL INCLUDES
 #include <EUnitMacros.h>
--- a/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/src/T_MVPbkContactStoreDllMain.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/src/T_MVPbkContactStoreDllMain.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include "T_MVPbkContactStoreSingle.h"
 #include "T_MVPbkContactStoreComposite.h"
 #include "TVPbkContactStoreUriPtr.h"
-#include <t_mvpbkcontactstore.rsg>
+#include <T_MVPbkContactStore.rsg>
 #include <VPbkConfig.hrh>
 
 // LOCAL
--- a/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/src/T_MVPbkContactStoreSingle.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_store_api/tsrc/T_MVPbkContactStore/src/T_MVPbkContactStoreSingle.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -58,7 +58,7 @@
 #include <MVPbkContactBookmark.h>
 #include <CVPbkFieldTypeRefsList.h>
 #include <TVPbkWordParserCallbackParam.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <VPbkContactViewFilterBuilder.h>
 #include <MVPbkContactViewFiltering.h>
 #include <MVPbkContactBookmarkCollection.h>
--- a/contacts_plat/virtual_phonebook_vcard_api/tsrc/T_VPbkVCardApi/group/T_VPbkVCardApi.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_vcard_api/tsrc/T_VPbkVCardApi/group/T_VPbkVCardApi.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,10 +44,10 @@
 LIBRARY         eikcore.lib
 LIBRARY         euser.lib
 LIBRARY         estor.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         VPbkEng.lib
-LIBRARY         VPbkVCardEng.lib  efsrv.lib
+LIBRARY         vpbkvcardeng.lib  efsrv.lib
 
 LANG            SC
 
--- a/contacts_plat/virtual_phonebook_vcard_api/tsrc/T_VPbkVCardApi/src/VPbkVCardStifBlocks.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_vcard_api/tsrc/T_VPbkVCardApi/src/VPbkVCardStifBlocks.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <MVPbkContactStore.h>
 #include <TVPbkFieldTypeMapping.h>
 #include <MVPbkContactOperationBase.h>
-#include <t_vpbkvcardapi.rsg>
+#include <T_VPbkVCardApi.rsg>
 #include <MVPbkStoreContact.h>
 
 _LIT( KCntDbUri, "cntdb://c:testcontacts.cdb" );
--- a/contacts_plat/virtual_phonebook_view_definition_api/tsrc/T_VPbkViewDefinitionApi/group/T_VPbkViewDefinitionApi.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_plat/virtual_phonebook_view_definition_api/tsrc/T_VPbkViewDefinitionApi/group/T_VPbkViewDefinitionApi.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         VPbkEng.lib
 
--- a/contacts_pub/phonebook_data_addedit_ui_api/tsrc/bc/group/BCTestPbkDataAddEdit.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_addedit_ui_api/tsrc/bc/group/BCTestPbkDataAddEdit.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -64,10 +64,10 @@
 
 LIBRARY         euser.lib eikcore.lib	eikcoctl.lib
 LIBRARY         efsrv.lib cone.lib 
-LIBRARY         pbkeng.lib pbkview.lib cntmodel.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         PbkEng.lib PbkView.lib cntmodel.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY CommonEngine.lib 
+LIBRARY commonengine.lib 
 
 
 LANG            SC
--- a/contacts_pub/phonebook_data_addedit_ui_api/tsrc/bc/src/BCTestPbkDataAddEditBlocks.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_addedit_ui_api/tsrc/bc/src/BCTestPbkDataAddEditBlocks.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include <eikmenup.h> 
 #include <coecntrl.h>
 
-//#include<pbkview.rsg>
+//#include<PbkView.rsg>
 #include <stringloader.h>
 #include <eikbtgpc.h>
 #include <eikrted.h>
@@ -384,8 +384,8 @@
     
     _LIT( KPhoneNumber, "+358401234567" );
     TInt commandId = TPbkDataSaveCommandId( EPbkCmdDataSaveAddToExisting );
-    TRAPD( err, dataSaveAppUi->HandleCommandL( commandId, *fields, KPhoneNumber ) );
-    ASSERT(err == KErrNone);
+    TBool added = dataSaveAppUi->HandleCommandL( commandId, *fields, KPhoneNumber );
+    ASSERT(added );
     
     CleanupStack::PopAndDestroy( fields );
     CleanupStack::PopAndDestroy( dataSaveAppUi );
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactChangeNotifier/group/MTPbkContactChangeNotifier.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactChangeNotifier/group/MTPbkContactChangeNotifier.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -63,14 +63,14 @@
 SOURCE          CContactEngineEventQueue.cpp 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 LANG            SC
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactEngine/group/MTPbkContactEngine.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactEngine/group/MTPbkContactEngine.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -63,15 +63,15 @@
 SOURCE          CContactEngineEventQueue.cpp 
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 LANG            SC
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactItem/group/MTPbkContactItem.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactItem/group/MTPbkContactItem.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -62,18 +62,18 @@
 SOURCE          MTPbkContactItemBlocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
-LIBRARY                 centralrepository.lib
+LIBRARY                 CentralRepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
-LIBRARY                 ecom.lib
+LIBRARY                 commonengine.lib
+LIBRARY                 ECom.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 LANG            SC
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactItemField/group/MTPbkContactItemField.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactItemField/group/MTPbkContactItemField.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -63,17 +63,17 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
-LIBRARY                 ecom.lib
+LIBRARY                 commonengine.lib
+LIBRARY                 ECom.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 
 LANG            SC
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactIter/group/MTPbkContactIter.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkContactIter/group/MTPbkContactIter.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -62,14 +62,14 @@
 SOURCE          MTPbkContactIterBlocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkFieldData/group/MTPbkFieldData.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkFieldData/group/MTPbkFieldData.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -63,14 +63,14 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 LANG            SC
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkFields/group/MTPbkFields.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkFields/group/MTPbkFields.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -63,14 +63,14 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 LANG            SC
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkFieldsInfo/group/MTPbkFieldsInfo.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkFieldsInfo/group/MTPbkFieldsInfo.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -64,14 +64,14 @@
 SOURCE          MTPbkFieldsInfoBlocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 LANG            SC
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkIconId/group/MTPbkIconId.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkIconId/group/MTPbkIconId.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -62,15 +62,15 @@
 SOURCE          MTPbkIconIdBlocks.cpp
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 LANG            SC
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkIconInfo/group/MTPbkIconInfo.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkIconInfo/group/MTPbkIconInfo.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -63,11 +63,11 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cone.lib 
-LIBRARY                 pbkview.lib
+LIBRARY                 PbkView.lib 
 LIBRARY                 aknskins.lib 
 LIBRARY                 egul.lib
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkIdleFinder/group/MTPbkIdleFinder.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTPbkIdleFinder/group/MTPbkIdleFinder.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -62,15 +62,15 @@
 SOURCE          MTPbkIdleFinderBlocks.cpp
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 sysutil.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 SysUtil.lib
 
 LANG            SC
 
--- a/contacts_pub/phonebook_data_management_api/tsrc/bc/MTRPbkViewResourceFile/group/MTRPbkViewResourceFile.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_data_management_api/tsrc/bc/MTRPbkViewResourceFile/group/MTRPbkViewResourceFile.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -62,15 +62,15 @@
 SOURCE          MTRPbkViewResourceFileBlocks.cpp
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         bafl.lib
 LIBRARY         cntmodel.lib
 LIBRARY         efsrv.lib
 LIBRARY         estor.lib
 LIBRARY         euser.lib
-LIBRARY         pbkview.lib
-LIBRARY         sysutil.lib
+LIBRARY         PbkView.lib
+LIBRARY         SysUtil.lib
 LIBRARY         cone.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkAddressSelect/group/MTPbkAddressSelect.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkAddressSelect/group/MTPbkAddressSelect.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -74,20 +74,20 @@
 END // RESOURCE
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -99,10 +99,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 LANG            SC
 
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkAddressSelect/src/CAddressSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkAddressSelect/src/CAddressSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -34,7 +34,7 @@
 #include    <CPbkFieldInfo.h>
 #include    <CPbkContactEngine.h>
 #include    "MTPbkAddressSelect.h"
-#include    <pbkaddressselect.rsg>
+#include    <PbkAddressSelect.rsg>
 
 // ================= MEMBER FUNCTIONS =======================
 
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkEmailAddressSelect/group/MTPbkEmailAddressSelect.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkEmailAddressSelect/group/MTPbkEmailAddressSelect.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -66,20 +66,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -91,10 +91,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkEmailOverSms/group/MTPbkEmailOverSms.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkEmailOverSms/group/MTPbkEmailOverSms.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -64,20 +64,20 @@
 SOURCE 			../../ExtraCodes/CSimulateKeyBase.cpp
 SOURCE 			../../ExtraCodes/CSimulateKeyEvents.cpp
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -89,10 +89,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkFetchCallbacks/group/MTPbkFetchCallbacks.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkFetchCallbacks/group/MTPbkFetchCallbacks.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -65,20 +65,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyBase.cpp
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -90,10 +90,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkFetchDlgSelection/group/MTPbkFetchDlgSelection.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkFetchDlgSelection/group/MTPbkFetchDlgSelection.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -65,20 +65,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyBase.cpp
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -90,10 +90,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkMemoryEntryAddItemDlg/group/MTPbkMemoryEntryAddItemDlg.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkMemoryEntryAddItemDlg/group/MTPbkMemoryEntryAddItemDlg.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -64,20 +64,20 @@
 SOURCE 			../../ExtraCodes/CSimulateKeyEvents.cpp
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -89,10 +89,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkMmsAddressSelect/group/MTPbkMmsAddressSelect.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkMmsAddressSelect/group/MTPbkMmsAddressSelect.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -65,20 +65,20 @@
 SOURCE 			../../ExtraCodes/CSimulateKeyBase.cpp
 SOURCE 			../../ExtraCodes/CSimulateKeyEvents.cpp
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -90,10 +90,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkMultipleEntryFetchDlg/group/MTPbkMultipleEntryFetchDlg.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkMultipleEntryFetchDlg/group/MTPbkMultipleEntryFetchDlg.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -66,20 +66,20 @@
 SOURCE 			../../ExtraCodes/CSimulateKeyBase.cpp
 SOURCE 			../../ExtraCodes/CSimulateKeyEvents.cpp
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -91,10 +91,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 LANG            SC
 
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPhoneNumberSelect/group/MTPbkPhoneNumberSelect.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPhoneNumberSelect/group/MTPbkPhoneNumberSelect.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -64,20 +64,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyBase.cpp
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -89,10 +89,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPhoneNumberSelectBase/group/MTPbkPhoneNumberSelectBase.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPhoneNumberSelectBase/group/MTPbkPhoneNumberSelectBase.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -73,20 +73,20 @@
 TARGETPATH resource
 END // RESOURCE
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -98,10 +98,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPhoneNumberSelectBase/src/CPhoneNumberSelectBase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPhoneNumberSelectBase/src/CPhoneNumberSelectBase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 
 #include    <CPbkContactItem.h>
 #include    <StringLoader.h>        // StringLoader
-#include    <mt_cpbkphonenumberselectbase.rsg>
+#include    <MT_CPbkPhoneNumberSelectBase.rsg>
 #include    <eikon.hrh>
 
 #include    "CPhoneNumberSelectBase.h"
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPocAddressSelect/group/MTPbkPocAddressSelect.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkPocAddressSelect/group/MTPbkPocAddressSelect.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -64,20 +64,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyBase.cpp
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -89,10 +89,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 LANG            SC
 
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSelectFieldDlg/group/MTPbkSelectFieldDlg.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSelectFieldDlg/group/MTPbkSelectFieldDlg.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -65,20 +65,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -90,10 +90,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 
 LANG            SC
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSelectFieldDlg/group/TestFramework.ini	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSelectFieldDlg/group/TestFramework.ini	Wed Oct 13 14:15:33 2010 +0300
@@ -93,7 +93,7 @@
 
 [New_Module]
 ModuleName= testcombiner
-TestCaseFile= c:\testframework\tcBCTestFieldDlg.cfg
+TestCaseFile= c:\testframework\tcBCTestSEFieldDlg.cfg
 [End_Module]
 
 
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSingleEntryFetchDlg/group/MTPbkSingleEntryFetchDlg.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSingleEntryFetchDlg/group/MTPbkSingleEntryFetchDlg.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -64,20 +64,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyBase.cpp
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -89,10 +89,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 LANG            SC
 
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSingleItemFetchDlg/group/MTPbkSingleItemFetchDlg.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSingleItemFetchDlg/group/MTPbkSingleItemFetchDlg.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -64,20 +64,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyBase.cpp
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -89,10 +89,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 LANG            SC
 
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSmsAddressSelect/group/MTPbkSmsAddressSelect.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/MTPbkSmsAddressSelect/group/MTPbkSmsAddressSelect.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -65,20 +65,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -90,10 +90,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 LANG            SC
 
--- a/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/group/MTPbkPocAddressSelect.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_fetch_ui_api/tsrc/bc/group/MTPbkPocAddressSelect.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -65,20 +65,20 @@
 SOURCE 					../../ExtraCodes/CSimulateKeyEvents.cpp
 
 
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY                 aknicon.lib
-LIBRARY                 aknskins.lib
+LIBRARY                 AknSkins.lib
 LIBRARY                 apgrfx.lib
 LIBRARY                 apmime.lib
 LIBRARY                 avkon.lib
 LIBRARY                 bafl.lib
 LIBRARY                 bitgdi.lib
-LIBRARY                 bitmaptransforms.lib
+LIBRARY                 BitmapTransforms.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 cntview.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 cone.lib
 LIBRARY                 DrmHelper.lib
 LIBRARY                 efsrv.lib
@@ -90,10 +90,10 @@
 LIBRARY                 estor.lib
 LIBRARY                 euser.lib
 LIBRARY                 fbscli.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 mgfetch.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 MGFetch.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 sysutil.lib
 LANG            SC
 
--- a/contacts_pub/phonebook_ui_utilities_api/tsrc/bc/group/BCTestPbkUIUtil.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_ui_utilities_api/tsrc/bc/group/BCTestPbkUIUtil.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -62,13 +62,13 @@
 SOURCE          BCTestPbkUIUtilBlocks.cpp
 
 
-LIBRARY         euser.lib sysutil.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         euser.lib SysUtil.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY		    pbkeng.lib pbkview.lib
+LIBRARY		    PbkEng.lib PbkView.lib
 LIBRARY		    efsrv.lib estor.lib cntmodel.lib
-LIBRARY		    cone.lib CommonEngine.lib
-LIBRARY         eikcoctl.lib eikcore.lib avkon.lib
+LIBRARY		    cone.lib commonengine.lib
+LIBRARY         eikcoctl.lib eikcore.lib Avkon.lib
 LIBRARY         bafl.lib aknskins.lib egul.lib
 
 
--- a/contacts_pub/phonebook_vcard_importexport_api/tsrc/bc/group/BCTestPbkVcardImportExport.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_vcard_importexport_api/tsrc/bc/group/BCTestPbkVcardImportExport.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -65,17 +65,17 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 
 LIBRARY                 bafl.lib
-LIBRARY                 bcardeng.lib
+LIBRARY                 BCardEng.lib
 LIBRARY                 cntmodel.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 estor.lib
-LIBRARY                 imageconversion.lib
-LIBRARY                 pbkeng.lib
-LIBRARY                 pbkview.lib
+LIBRARY                 ImageConversion.lib
+LIBRARY                 PbkEng.lib
+LIBRARY                 PbkView.lib
 LIBRARY                 vcard.lib
 LIBRARY                 versit.lib
 LIBRARY        			charconv.lib // unicode coversion
--- a/contacts_pub/phonebook_vcard_importexport_api/tsrc/bc/src/BCTestPbkVcardImportExportBlocks.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/phonebook_vcard_importexport_api/tsrc/bc/src/BCTestPbkVcardImportExportBlocks.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -398,6 +398,7 @@
    ASSERT(testBCEngine->SupportsFieldType(EPbkFieldIdSecondName));
    ASSERT(testBCEngine->SupportsFieldType(EPbkFieldIdPhoneNumberVideo));
    ASSERT(testBCEngine->SupportsFieldType(EPbkFieldIdVOIP));
+   ASSERT(testBCEngine->SupportsFieldType(EPbkFieldIdPushToTalk));
    ASSERT(testBCEngine->SupportsFieldType(EPbkFieldIdShareView));
    ASSERT(testBCEngine->SupportsFieldType(EPbkFieldIdSIPID));
    ASSERT(testBCEngine->SupportsFieldType(EPbkFieldIdPrefix));
--- a/contacts_pub/speed_dial_utility_control_api/tsrc/bc/group/BCTestSpeedDial.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/speed_dial_utility_control_api/tsrc/bc/group/BCTestSpeedDial.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -51,11 +51,11 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 
-LIBRARY			spdctrl.lib
-LIBRARY			pbkeng.lib
+LIBRARY			SpdCtrl.lib
+LIBRARY			PbkEng.lib
 
 LIBRARY			efsrv.lib
 LIBRARY         cone.lib ws32.lib avkon.lib eikcoctl.lib eikctl.lib apgrfx.lib aknskins.lib 
--- a/contacts_pub/speed_dial_utility_control_api/tsrc/bc/src/BCTestSpeedDialBlocks.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/contacts_pub/speed_dial_utility_control_api/tsrc/bc/src/BCTestSpeedDialBlocks.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -231,7 +231,6 @@
     CSpdiaControl* spd = CSpdiaControl::NewL( *pbk );
     TRAPD( err, spd->ExecuteLD( 1, 1 ) );
             
-    delete spd;
     spd = 0;
     delete pbk;
     pbk = 0;            
--- a/logsui/AocCtViewSrc/CLogsMMEAocUtil.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AocCtViewSrc/CLogsMMEAocUtil.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 
 #include <secui.h>
 #include <secuisecurityhandler.h>
-#include <secui.rsg>
+#include <SecUi.rsg>
 
 #include <exterror.h>
 
--- a/logsui/AppSrc/CCtControlContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CCtControlContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <aknPopup.h>       // als query popup
 #include <AknsConstants.h>  //for skinned icons
 
-#include <logs.rsg>           // note structure
+#include <Logs.rsg>           // note structure
 #include <logs.mbg>     // Logs own icons
 
 #include <csxhelp/log.hlp.hrh>
--- a/logsui/AppSrc/CCtView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CCtView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 //  INCLUDE FILES
 #include <eikmenub.h>
 
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "CCtView.h"
 #include "CCtControlContainer.h"
--- a/logsui/AppSrc/CGprsCtControlContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CGprsCtControlContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <akntabgrp.h>			// tab group
 #include <AknsConstants.h>      // for skinned icons
 
-#include <logs.rsg>				// note structure
+#include <Logs.rsg>				// note structure
 #include <logs.mbg>				// Index file for Logs icons.
 #include "CGprsCtControlContainer.h"
 #include "CGprsCtView.h"
--- a/logsui/AppSrc/CGprsCtView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CGprsCtView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 //  INCLUDE FILES
 #include <aknnotedialog.h>
 
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "CGprsCtView.h"
 #include "CGprsCtControlContainer.h"
--- a/logsui/AppSrc/CLogsAppListControlContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsAppListControlContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <akntabgrp.h>
 #include <AknsConstants.h>      // for skinned icons
 
-#include <logs.rsg>
+#include <Logs.rsg>
 #include <logs.mbg>      // Index file for Logs icons.
 
 #include "CLogsAppListControlContainer.h"
--- a/logsui/AppSrc/CLogsAppListView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsAppListView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include <logs.rsg>
+#include <Logs.rsg>
 #include <w32std.h>
 #include <apgtask.h>
 
@@ -160,17 +160,6 @@
     
     // Just to make sure the inputblocker is not on
     RemoveInputBlocker();
-    
-    // Avoid the flicking when transfer to foreground from background.
-    if(LogsAppUi()->IsBackground())
-       {
-           iContainer->DrawNow();        
-           iEikonEnv->AppUiFactory()->StatusPane()->DrawNow();
-           LogsAppUi()->SetCustomControl(0); 
-       
-           CCoeEnv * env = CCoeEnv::Static();
-           env->WsSession().SetWindowGroupOrdinalPosition(env->RootWin().Identifier(),0); 
-       }
     }
 
 // ----------------------------------------------------------------------------
@@ -209,17 +198,5 @@
     }
 
 
-void CLogsAppListView::ViewActivatedL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage)
-    {
-    // To avoid the flicking when transfer to foreground from background,we control the view show manually.
-    if(LogsAppUi()->IsBackground()  &&
-            LogsAppUi()->ActiveViewId() != ELogAppListViewId)
-        {
-            LogsAppUi()->SetCustomControl(1);
-        }    
-    CLogsBaseView::ViewActivatedL(aPrevViewId,aCustomMessageId,aCustomMessage);
-    }
-
-
 //  End of File
 
--- a/logsui/AppSrc/CLogsAppListView.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsAppListView.h	Wed Oct 13 14:15:33 2010 +0300
@@ -97,13 +97,6 @@
          */
         void DoDeactivate();
 
-        /**
-         * Early detection of view activation.
-         * Overrides the baseclass implementation calls CAknView::ViewActivatedL().
-         */
-        void ViewActivatedL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage);
-
-
     public: // from MEikCommandObserver
         /**
          * HandleCommandL. Generic view commands.
--- a/logsui/AppSrc/CLogsAppUi.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsAppUi.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include <gsplugininterface.h>  
 #include <hlplch.h>
 #include <LogsUiCmdStarterConsts.h>
-#include <logs.rsg>
+#include <Logs.rsg>
 
 //+ __GFXTRANS__
 // Transition effects
@@ -1211,13 +1211,5 @@
     return 0;
     }
 
-    // If Logs is background,returns is True,otherwise False.
-    TBool CLogsAppUi::IsBackground() const
-      {
-        CCoeEnv * env = CCoeEnv::Static();
-        TInt ordinal = env->RootWin().OrdinalPosition();
-        return ordinal != 0;
-      }
-
 
 //  End of File
--- a/logsui/AppSrc/CLogsAppUi.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsAppUi.h	Wed Oct 13 14:15:33 2010 +0300
@@ -315,11 +315,6 @@
          */  
         void SetLogsOpenedWithSendKey(TBool aLogsOpenedWithSendKey);
 		
-        /**
-         *  Returns whether Logs is background.
-         */
-        TBool IsBackground() const;
-
 	public: // from MAknTabObserver
 		void TabChangedL(TInt aIndex);
 
--- a/logsui/AppSrc/CLogsBaseControlContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsBaseControlContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <akncontext.h>  
 #include <AknDef.h>   //KEikDynamicLayoutVariantSwitch
 #include <StringLoader.h>
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "CLogsBaseControlContainer.h"
 #include "MLogsKeyProcessor.h"
--- a/logsui/AppSrc/CLogsBaseView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsBaseView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -48,7 +48,7 @@
 #include <LogsApiConsts.h>      //additional event uids
 #include <CPhCltEmergencyCall.h>
 
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "LogsIcons.hrh"
 #include "LogsConsts.h"
@@ -587,18 +587,8 @@
                   aViewIdToBeDeactivated.iAppUid != TUid::Uid(KLogsAppUID3) )
             {
             // Reset array, will call StateChangedL with state EStateArrayReseted and update the listbox.
-            if ( (aNewlyActivatedViewId.iViewUid.iUid == EStmDialledListViewId )||
-                    (aNewlyActivatedViewId.iViewUid.iUid == EStmMissedListViewId )||
-                    (aNewlyActivatedViewId.iViewUid.iUid == EStmReceivedListViewId ))
-                {
-                CurrentModel()->DoDeactivate( MLogsModel::ESkipClearing,
-                                                          MLogsModel::EKeepDBConnection ); 
-                }
-            else
-                {
-                CurrentModel()->DoDeactivate( MLogsModel::ESkipClearing,
-                                                          MLogsModel::EResetOnlyArray ); 
-                }	
+            CurrentModel()->DoDeactivate( MLogsModel::ESkipClearing,
+                                          MLogsModel::EResetOnlyArray ); 
             DrawComponents();
             TRAP(err, CancelSaveToPbkL());
             }
@@ -1715,32 +1705,6 @@
     TRACE_ENTRY_POINT;
     CAiwGenericParamList& paramList = iServHandlerRef->InParamListL();
 
-    // identify the call type to hide the matching call type from the menu
-    // The call items (voice, video and VoIP are located in the main level
-    // of the menu when the parameter EGenericParamHideCallSubmenu is passed
-    // to the aiw provider
-    if( !this-> OriginalCallMenuIsVisible() && ( NULL!= aEvent )&&( NULL!= aEvent->LogsEventData()))
-    	{
-    	TAiwVariant variant;
-    	
-    	// Video call
-        if ( aEvent->LogsEventData()->VT() )
-            {
-            variant.Set( EGenericParamVideoCall );
-            }
-        // VoIP call
-        else if ( aEvent->LogsEventData()->VoIP() )
-            {
-            variant.Set( EGenericParamVoIPCall );
-            }
-        // voice call
-        else 
-            {
-            variant.Set( EGenericParamVoiceCall );            
-            }
-        TAiwGenericParam param( EGenericParamHideCallSubmenu, variant );
-        paramList.AppendL( param );
-    	}   
     //Check do we provide only voice call (i.e. skip video call option)
     if ( !aVideo ) 
         {
@@ -1758,12 +1722,9 @@
  
 // Sawfish VoIP changes  >>>>
     TPtrC8 tempPtr( KNullDesC8 );
-    TInt result = KErrNotFound;
+    TInt result;
     CLogsCntLinkChecker* contactCheckerPtr;
-    if (( NULL!= aEvent )&&( NULL!= aEvent->LogsEventData()))
-        {
-         result = aEvent->LogsEventData()->GetContactLink( tempPtr );
-        }
+    result = aEvent->LogsEventData()->GetContactLink( tempPtr );
     
     if ( KErrNone == result )
         {   
@@ -1811,9 +1772,7 @@
         *aMenuPane,    //Handle of menu pane to initialise                                                  
         aResourceId,   //MenuResourceId                                                                     
         KAiwCmdCall,   //Base ID for the handler to generate menu IDs for placeholders                      
-        paramList,     //input parameter list for provider's parameters checking 
-        EFalse,        //Not use submenu
-        ETrue );                    
+        paramList );   //input parameter list for provider's parameters checking                  
     
     TRACE_EXIT_POINT;    
     }
@@ -3106,16 +3065,6 @@
     TRACE_EXIT_POINT;  
     }
 
-// ----------------------------------------------------------------------------
-// CLogsBaseView::OriginalCallMenuIsVisible
-// ----------------------------------------------------------------------------
-//
-TBool CLogsBaseView::OriginalCallMenuIsVisible()
-	{
-	// Original CallMenu is not visible
-	return EFalse;
-	}
-
 //  End of File
 
 
--- a/logsui/AppSrc/CLogsBaseView.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsBaseView.h	Wed Oct 13 14:15:33 2010 +0300
@@ -656,14 +656,6 @@
          */
         void SetCurrentMenuType(CEikMenuBar::TMenuType aMenuType);
         
-    public:    
-    	/**
-    	 * Get whether the original CallMenu is visible
-    	 *
-    	 * @return EFalse\ETrue whether the original CallMenu is visible
-    	 */  
-        virtual TBool OriginalCallMenuIsVisible();
-            
     private:    // data
 
         CEikMenuBar* iPopup;
--- a/logsui/AppSrc/CLogsCtAdapter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsCtAdapter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include <eikenv.h>
 
-#include <logs.rsg>
+#include <Logs.rsg>
 #include <AknUtils.h>	// AknTextUtils
 
 #include "CLogsCtAdapter.h"
--- a/logsui/AppSrc/CLogsDetailAdapter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsDetailAdapter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <AknUtils.h>
 #include <aknlists.h>   //caknsingleheadingstylelistbox
 
-#include <logs.rsg>     // detail view's event type texts.
+#include <Logs.rsg>     // detail view's event type texts.
 
 #include "CLogsDetailAdapter.h"
 #include "CLogsDetailView.h"
--- a/logsui/AppSrc/CLogsDetailControlContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsDetailControlContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include <aknnavide.h>
 #include <akntabgrp.h>
 #include <applayout.cdl.h>    //Dynamic layout functions
-#include <logs.rsg>
+#include <Logs.rsg>
 #include <AknUtils.h>
 
 #include "CLogsDetailControlContainer.h"
--- a/logsui/AppSrc/CLogsDetailView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsDetailView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include <eikmenub.h>   
 #include <StringLoader.h> 
 #include <aknnotewrappers.h> 
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "CLogsDetailView.h"
 #include "CLogsDetailControlContainer.h"
@@ -284,7 +284,6 @@
         case ( R_COMMON_SEND_MESSAGE_SUBMENU ):
         case ( R_COMMON_POC_SUBMENU ):
         case ( R_COMMON_CALLUI_SUBMENU ):
-        case ( R_COMMON_SHOW_MY_ADDRESS_MENU ):
             {
             SetMenuItemsItemSpecificProperty( aMenuPane, EFalse );
             }
@@ -499,15 +498,4 @@
             }
         }
     }
-
-// ----------------------------------------------------------------------------
-// CLogsDetailView::OriginalCallMenuIsVisible
-// ----------------------------------------------------------------------------
-//
-TBool CLogsDetailView::OriginalCallMenuIsVisible()
-	{
-	// Original CallMenu is visible
-	return ETrue;
-	}
-
 //  End of File
--- a/logsui/AppSrc/CLogsDetailView.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsDetailView.h	Wed Oct 13 14:15:33 2010 +0300
@@ -208,14 +208,6 @@
         void SetMenuItemsItemSpecificProperty(
                 CEikMenuPane* aMenuPane, TBool aItemSpecific );
 
-    public:   
-    	/**
-    	 * Get whether the original CallMenu is visible
-    	 *
-    	 * @return EFalse\ETrue whether the original CallMenu is visible
-    	 */ 
-        TBool OriginalCallMenuIsVisible();
-            
     private:  // data
 
         /// Own: This view's control container.
--- a/logsui/AppSrc/CLogsEventListAdapter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsEventListAdapter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <AknUtils.h>   // akntextutils
 #include <eikclb.h>     // ceikcolumnlistbox
 
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "CLogsEventListAdapter.h"
 #include "CLogsEventListControlContainer.h"
--- a/logsui/AppSrc/CLogsEventListControlContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsEventListControlContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <akntabgrp.h>
 #include <AknsConstants.h>  //for skinned icons
 
-#include <logs.rsg>
+#include <Logs.rsg>
 #include <logs.mbg>
 
 #include "CLogsEventListControlContainer.h"
--- a/logsui/AppSrc/CLogsEventListView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsEventListView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include <eikmenub.h>
 #include <AknQueryDialog.h>
 #include <featmgr.h>    //FeatureManger
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "CLogsEventListView.h"
 #include "CLogsAppUi.h"
@@ -710,14 +710,4 @@
     return iState;  
     }
 
-// ----------------------------------------------------------------------------
-// CLogsEventListView::OriginalCallMenuIsVisible
-// ----------------------------------------------------------------------------
-//
-TBool CLogsEventListView::OriginalCallMenuIsVisible()
-	{
-	// Original CallMenu is visible
-	return ETrue;
-	}
-
 //  End of File
--- a/logsui/AppSrc/CLogsEventListView.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsEventListView.h	Wed Oct 13 14:15:33 2010 +0300
@@ -187,14 +187,6 @@
          *  Function filters the events from log db.
          */
         void CmdFilterL();
-        
-    public:    
-    	/**
-    	  * Get whether the original CallMenu is visible
-    	  *
-    	  * @return EFalse\ETrue whether the original CallMenu is visible
-    	  */ 
-        TBool OriginalCallMenuIsVisible();
 
     private:  // data
 
--- a/logsui/AppSrc/CLogsGprsCtAdapter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsGprsCtAdapter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include <StringLoader.h>
 #include <AknUtils.h>
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "CLogsGprsCtAdapter.h"
 #include "MLogsSharedData.h"
--- a/logsui/AppSrc/CLogsRecentListAdapter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsRecentListAdapter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,9 +21,9 @@
 #include <eiklabel.h>
 #include <eikfrlbd.h>
 #include <eikfrlb.h>
-#include <logs.rsg>
+#include <Logs.rsg>
 #include <gulicon.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <PbkFields.hrh>
 
 #include "CLogsRecentListAdapter.h"
--- a/logsui/AppSrc/CLogsRecentListControlContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsRecentListControlContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <akntabgrp.h>
 #include <AknsConstants.h>  //For skinned icons
 #include <csxhelp/log.hlp.hrh>
-#include <logs.rsg>
+#include <Logs.rsg>
 #include <logs.mbg>   //Index file for Logs icons.
 
 #include "CLogsRecentListControlContainer.h"
@@ -119,18 +119,11 @@
 
     iAdapter = CLogsRecentListAdapter::NewL( this, iLastOwnIconOffset );
 
-    // Shows "No missed calls" in this case
-     MakeEmptyTextListBoxL( iListBox, EmptyListboxResourceL() );
     iListBox->Model()->SetItemTextArray( iAdapter );
     
-    // Fetch data for extension
-    if( iView->CurrentModel()->Count() > 0 )
-        {
-        iControlExtension->HandleAdditionalData( 
-                    *( iView->CurrentModel() ), 
-                    *iListBox );
-        }
-    
+    //The below was a bad place for this as container is not deleted when we lose foreground
+    //but we still reread events. Instead we handle this in CLogsRecentListView::StateChangedL 
+    //MakeEmptyTextListBoxL( iListBox, EmptyListboxResource() );  //Shows "no data" in this case
     MakeScrollArrowsL( iListBox );
 
     //Create recent list view tab group (Logs.rss)
--- a/logsui/AppSrc/CLogsRecentListView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsRecentListView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,8 +29,8 @@
 #include <sendui.h> 
 #include <SendUiConsts.h>
 #include <TSendingCapabilities.h>
-#include <sendnorm.rsg>
-#include <logs.rsg>
+#include <Sendnorm.rsg>
+#include <Logs.rsg>
 #include <AiwCommon.hrh>                //KAiwCmdCall
 #include <AiwPoCParameters.h>           //TAiwPocParameterData
 #include <aknViewAppUi.h>
@@ -428,10 +428,11 @@
          
         // Reset array and set dirty which means refresh requested, 
         // will call StateChangedL with state EStateArrayReseted and update the listbox.
-        // Keep db connection.
         CurrentModel()->DoDeactivate( MLogsModel::ESkipClearing,
-                                      MLogsModel::EKeepDBConnection );
+                                      MLogsModel::EResetOnlyArrayWithDirty );
      
+        // On gaining foreground, do a clean read of events
+        iResetAndRefreshOnGainingForeground = MLogsModel::EResetAndRefresh;
         }       
     
     CAknView::ViewDeactivated();
@@ -512,22 +513,14 @@
         // With MLogsModel::ECloseDBConnectionAndResetArray the connection to the database is
         // closed and event array will be deleted. Calls StateChangedL with state EStateArrayReseted 
         // which will update the listbox to empty state.
-        // Keep db connection
         CurrentModel()->DoDeactivate( MLogsModel::ENormalOperation,
-                                      MLogsModel::EKeepDBConnection );
+                                      MLogsModel::ECloseDBConnectionAndResetArray );
 
-        CurrentModel()->DoActivateL( MLogsModel::EResetAndRefresh );
         // Now we can enable bring-to-foreground on view activation:
         AppUi()->SetCustomControl(0); 
         AppUi()->HideInBackground(); 
-        // If listbox needs to redraw,do it.
-        if( CurrentModel()->Count()>0 && 
-              ( iContainer->ListBox()->TopItemIndex() != EventListTop() ||
-                  iContainer->ListBox()->CurrentItemIndex() != EventListCurrent())) 
-             {
-                iContainer->ListBox()->DrawDeferred();
-             }
-       
+        // When coming back to foreground, do a clean read of events
+        iResetAndRefreshOnGainingForeground = MLogsModel::EResetAndRefresh; 
         }
     else
         {
@@ -547,19 +540,11 @@
             logsui.KillTask();  
             return;	
             }
-         
-        // Avoid the flicking when transfer to foreground from background.
-        if(LogsAppUi()->IsBackground())
-          {
-              iContainer->DrawNow();         
-              iEikonEnv->AppUiFactory()->StatusPane()->DrawNow(); 
-              LogsAppUi()->SetCustomControl(0);  
-          
-              CCoeEnv * env = CCoeEnv::Static();
-              env->WsSession().SetWindowGroupOrdinalPosition(env->RootWin().Identifier(),0);
-                            
-           }   
-
+        
+        // By default on gaining foreground, just refresh the list. So when active applications list, 
+        // keylock or some note (like when plugin in the charger) is shown the list doesn't flicker. 
+        // When view is deactivated this is set to MLogsModel::EResetAndRefresh.
+        iResetAndRefreshOnGainingForeground = MLogsModel::ERefresh; 
         }
     
     
@@ -659,9 +644,8 @@
             LOGS_DEBUG_PRINT(LOGS_DEBUG_STRING
                     ( "CLogsRecentListView::DoDeactivate - ReadingFinished" ));  
             ClearMissedCallNotifications();   //Clear cenrep new missed calls counter + notifications          
-            // Keep db connection
             CurrentModel()->DoDeactivate( MLogsModel::ENormalOperation,
-                                          MLogsModel::EKeepDBConnection );//ETrue: disconnect from db. This helps for EMSH-6JDFBV but
+                                          MLogsModel::ECloseDBConnection );//ETrue: disconnect from db. This helps for EMSH-6JDFBV but
                                               //reduces user's perceived performance for other views
                                               //(seems to keep clearing of missed duplicates process alive
                                               // so no need for EFalse here as it would increase probability of 
@@ -673,15 +657,14 @@
             {
             LOGS_DEBUG_PRINT(LOGS_DEBUG_STRING
                     ( "CLogsRecentListView::DoDeactivate - Reading interrupted" )); 
-            // Keep db connection
             CurrentModel()->DoDeactivate( MLogsModel::ESkipClearing,
-                                          MLogsModel::EKeepDBConnection );
+                                          MLogsModel::ECloseDBConnection );
             }    
         }
     else
         {
         CurrentModel()->DoDeactivate( MLogsModel::ENormalOperation,
-                                      MLogsModel::EKeepDBConnection );//ETrue: disconnect from db. This helps for EMSH-6JDFBV but
+                                      MLogsModel::ECloseDBConnection );//ETrue: disconnect from db. This helps for EMSH-6JDFBV but
                                               //reduces user's perceived performance for other views
                                               //EFalse: don't disconnect from db. This keeps read data cached in Logs.
         }
@@ -871,7 +854,28 @@
                     {
                     MenuBar()->StopDisplayingMenuBar();
                     }
-                 }
+                
+                SetEventListCurrent( KErrNotFound );//just to make sure that UI does not try to read anything from eventarray                
+                TRAPD( err, model->DoActivateL( iResetAndRefreshOnGainingForeground ) );  
+                if( err ) 
+                    {
+                    iCoeEnv->HandleError( err );
+                    }
+                if( err == KErrDiskFull )
+                    {
+                    RWsSession& wsSession = CCoeEnv::Static()->WsSession();  
+                    TApaTask logsui( wsSession );
+                    TInt wgId = CCoeEnv::Static()->RootWin().WindowGroupId();
+                    logsui.SetWgId( wgId );
+                    logsui.KillTask();  
+                    return;
+                    }
+                
+                // By default on gaining foreground, just refresh the list. So when active applications list, 
+                // keylock or some note (like when plugin in the charger) is shown the list doesn't flicker. 
+                // When view is deactivated this is set to MLogsModel::EResetAndRefresh.
+                iResetAndRefreshOnGainingForeground = MLogsModel::ERefresh;
+                }
             else
                 {
                 // Change ELogsNoChange_PbkUpdPending to ELogsNoChange now so there is no need to 
@@ -879,8 +883,6 @@
                 iFocusChangeControl = ELogsNoChange;
                 }
             }
-        // Sure "ClearMissedCallNotifications" is called.
-        ClearMissedCallNotifications();
         
         RemoveInputBlocker(); //just in case
         }                            
@@ -991,18 +993,16 @@
                 {
                  LOGS_DEBUG_PRINT(LOGS_DEBUG_STRING
                     ( "CLogsRecentListView::HandleLosingForeground - clear duplicates" ));      
-                 // Keep db connection
                 model->DoDeactivate( MLogsModel::ENormalOperation, 
-                                     MLogsModel::EKeepDBConnection );    //EFalse: don't disconnect from db 
+                                     MLogsModel::ECloseDBConnection );    //EFalse: don't disconnect from db 
                 }
             else    
                 {
                 LOGS_DEBUG_PRINT(LOGS_DEBUG_STRING
                     ( "CLogsRecentListView::HandleLosingForeground - skip clearing" )); 
                 //Other loss of foreground (call or AppKey). We'll not touch duplicate counters
-                // Keep db connection
                 model->DoDeactivate( MLogsModel::ESkipClearing, //Don't update db (for missed view)
-                                     MLogsModel::EKeepDBConnection );    //ETrue: disconnect from db in order to immediately to stop
+                                     MLogsModel::ECloseDBConnection );    //ETrue: disconnect from db in order to immediately to stop
                                                  //EFalse: don't disconnect from db                                     
                 }
             }
@@ -1094,9 +1094,7 @@
             iContainer->ControlExtension()->HandleAdditionalData( 
                 *CurrentModel(), 
                 *iContainer->ListBox() );
-            // Add condition check: To avoid Missing Call Note don't display ,do not call "ClearMissedCallNotificationsL" when logs is in background.
-            if(!LogsAppUi()->IsBackground())
-                ClearMissedCallNotificationsL();
+            ClearMissedCallNotificationsL();
             // When event reading is finished, remove inputblocker
             RemoveInputBlocker();
             }        
@@ -1273,17 +1271,5 @@
     return result;    
     }
 
-void CLogsRecentListView::ViewActivatedL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage)
-    {
-    //To avoid the flicking when transfer to foreground from background,we control the view show manually.
-    if(LogsAppUi()->IsBackground()  &&     
-             LogsAppUi()->ActiveViewId() != LogsCurrentRecentViewId() )
-        {
-            LogsAppUi()->SetCustomControl(1);
-        }      
-    
-      CLogsBaseView::ViewActivatedL(aPrevViewId,aCustomMessageId,aCustomMessage);
-      
-    }
 
 //  End of File  
--- a/logsui/AppSrc/CLogsRecentListView.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsRecentListView.h	Wed Oct 13 14:15:33 2010 +0300
@@ -227,11 +227,6 @@
         */
         TBool IgnoreViewDeactivatedOperation();
     
-        /**
-         * Early detection of view activation.
-         * Overrides the baseclass implementation calls CAknView::ViewActivatedL().
-         */
-        void ViewActivatedL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage);
     
     private:    // Data
         /// Own: view's control container
--- a/logsui/AppSrc/CLogsSubAppListControlContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsSubAppListControlContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <AknsConstants.h>  //for skinned icons
 #include <featmgr.h>
 
-#include <logs.rsg>
+#include <Logs.rsg>
 #include <logs.mbg>
 
 #include "CLogsSubAppListControlContainer.h"
--- a/logsui/AppSrc/CLogsSubAppListView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/AppSrc/CLogsSubAppListView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include <AknQueryDialog.h>
 #include <featmgr.h>
 
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "CLogsSubAppListView.h"
 #include "CLogsSubAppListControlContainer.h"
--- a/logsui/EngineSrc/CLogsEventUpdater.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/EngineSrc/CLogsEventUpdater.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #endif
 #include <logcli.h>
 #include <logview.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <PbkFields.hrh>
 #include <CVPbkContactFieldIterator.h>
 #include <CVPbkContactManager.h>
--- a/logsui/LogsIndicatorPlugin/CLogsIndicatorPlugin.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/LogsIndicatorPlugin/CLogsIndicatorPlugin.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,7 +28,7 @@
 #include <LogsUiCmdStarter.h>
 
 #include <StringLoader.h> 
-#include <logs.rsg>
+#include <Logs.rsg>
 #include <AknUtils.h>
 #include <LogsDomainCRKeys.h>
 
--- a/logsui/LogsPlugin/CLogsSettingsControlContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/LogsPlugin/CLogsSettingsControlContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include <aknnavide.h>
 #include <AknUtils.h>
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "CLogsSettingsControlContainer.h"
 #include "CLogsSettingsView.h"
--- a/logsui/LogsPlugin/CLogsSettingsView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/LogsPlugin/CLogsSettingsView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <bautils.h> //parser
 #include <featmgr.h>
 
-#include <logs.rsg>  
+#include <Logs.rsg>  
 #include <StringLoader.h>   // Series 60 localisation stringloader
 #include <hlplch.h>
 
--- a/logsui/group/Common.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/group/Common.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -32,8 +32,8 @@
             {
             command = KAiwCmdCall;              //Same ID as in interest.
             txt = "";                           //AIW plugin will override the text set here
-            cascade = AIW_INTELLIGENT_CASCADE_ID; //No submenu if only one item in it
-            flags = EEikMenuItemSpecific; // Click-To-Call EEikMenuItemSpecificListQuery;
+            cascade = AIW_CASCADE_ID;						//as a fix to ASAA-6VYJ2H always show a submenu
+            flags = EEikMenuItemSpecificListQuery;
             }
         };
     }
--- a/logsui/group/Logs.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/group/Logs.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,7 +31,9 @@
 TARGETTYPE      exe
 EPOCSTACKSIZE   0x2710  //10000dec (default is 8000dec). In new architecture we need some more stack to 
                         //facilitate succesfull launching of editors (e.g. prepend number and send sms editors)
-EPOCHEAPSIZE 0x1000 0x200000
+EPOCHEAPSIZE 0x1000 0x200000  // Broaden the heap size, min 4KB, max 2MB.
+                              // Default 1MB size is not enough for new features
+                              // (e.g. check contact link about VOIP changes).
 UID             0x100039CE KLogsAppUID3
 VENDORID        VID_DEFAULT
 
@@ -97,13 +99,13 @@
 APP_LAYER_SYSTEMINCLUDE
 
 // Dependencies to other Logs components
-LIBRARY         logseng.lib
+LIBRARY         LogsEng.lib
 LIBRARY         AocCtView.lib
 
 // Dependencies to system components
 LIBRARY         apparc.lib
 LIBRARY         avkon.lib
-LIBRARY         CommonEngine.lib                // StringLoader
+LIBRARY         commonengine.lib                // StringLoader
 LIBRARY         cone.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         eikctl.lib
@@ -115,20 +117,20 @@
 LIBRARY         logcli.lib                      // CLogClient
 LIBRARY         etext.lib                       // CPlainText
 LIBRARY         sendui.lib                      // sendui
-LIBRARY         aknskins.lib
+LIBRARY         AknSkins.lib 
 LIBRARY         hlplch.lib                      // Help application
-LIBRARY         featmgr.lib                     // Feature Manager API
+LIBRARY         FeatMgr.lib                     // Feature Manager API
 LIBRARY         ws32.lib
 LIBRARY         apgrfx.lib
 LIBRARY         numbergrouping.lib              //Formatting North American phone numbers
-LIBRARY         servicehandler.lib              //Application InterWorking
+LIBRARY         ServiceHandler.lib              //Application InterWorking
 LIBRARY         CdlEngine.lib                   //Dynamic ui stuff  
 LIBRARY         eikdlg.lib
 LIBRARY         gdi.lib                         
 LIBRARY         efsrv.lib
-LIBRARY         gsecomplugin.lib
+LIBRARY         GSEcomPlugin.lib
 LIBRARY         ecom.lib
-LIBRARY         phoneclient.lib                 //For Emergency call API
+LIBRARY         PhoneClient.lib                 //For Emergency call API
 LIBRARY         aiwdialdata.lib
 LIBRARY         centralrepository.lib
 
--- a/logsui/group/LogsEng.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/group/LogsEng.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -73,17 +73,17 @@
 LIBRARY logcli.lib
 LIBRARY bafl.lib
 LIBRARY logwrap.lib
-LIBRARY CommonEngine.lib
+LIBRARY commonengine.lib
 LIBRARY efsrv.lib
 
 LIBRARY VPbkEng.lib
 LIBRARY Pbk2Presentation.lib
-LIBRARY sysutil.lib
+LIBRARY SysUtil.lib
 
-LIBRARY sssettings.lib
-LIBRARY featmgr.lib             // Feature Manager
+LIBRARY SSSettings.lib
+LIBRARY FeatMgr.lib             // Feature Manager 
 LIBRARY centralrepository.lib
-LIBRARY cenrepnotifhandler.lib
+LIBRARY CenRepNotifHandler.lib
 LIBRARY charconv.lib            //For conversion to Unicode
 LIBRARY etel.lib                // ETel functionalities
 LIBRARY etelmm.lib              // ETel functionalities
--- a/logsui/group/LogsIndicatorPlugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/group/LogsIndicatorPlugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -59,11 +59,11 @@
 LIBRARY         apgrfx.lib
 LIBRARY         ecom.lib    
 LIBRARY         avkon.lib 
-LIBRARY         CommonEngine.lib                // StringLoader
+LIBRARY         commonengine.lib                // StringLoader
 LIBRARY         bafl.lib 
 LIBRARY         efsrv.lib 
 LIBRARY         centralrepository.lib
-LIBRARY         platformenv.lib
+LIBRARY         PlatformEnv.lib
 LIBRARY         cenrepnotifhandler.lib
 DEBUGLIBRARY    flogger.lib
 // End of File
--- a/logsui/group/LogsPlugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/group/LogsPlugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -57,14 +57,14 @@
 APP_LAYER_SYSTEMINCLUDE
 
 // Dependencies to Logs components
-LIBRARY         logseng.lib
+LIBRARY         LogsEng.lib
 LIBRARY         AocCtView.lib
 
 // Dependencies to system components
 LIBRARY         logcli.lib                      // CLogClient
 LIBRARY         apparc.lib
 LIBRARY         avkon.lib
-LIBRARY         CommonEngine.lib                // StringLoader
+LIBRARY         commonengine.lib                // StringLoader
 LIBRARY         cone.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         eikctl.lib
@@ -76,9 +76,9 @@
 
 LIBRARY         etext.lib                       // CPlainText
 
-LIBRARY         aknskins.lib
+LIBRARY         AknSkins.lib 
 LIBRARY         hlplch.lib                      // Help application
-LIBRARY         featmgr.lib                     // Feature Manager API
+LIBRARY         FeatMgr.lib                     // Feature Manager API
 LIBRARY         ws32.lib
 LIBRARY         apgrfx.lib
 LIBRARY         CdlEngine.lib                   //Dynamic ui stuff  
@@ -87,8 +87,8 @@
 LIBRARY         gdi.lib                         //This is needed for 3.1 builds (because of API change in CFont Class (gdi.h)
 
 LIBRARY         ecom.lib    
-LIBRARY         gsecomplugin.lib
-LIBRARY         gsframework.lib
+LIBRARY         GSEcomPlugin.lib
+LIBRARY         GSFramework.lib
 LIBRARY         efsrv.lib
 
 // End of File
--- a/logsui/group/Logs_reg.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/group/Logs_reg.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,7 @@
 
 #include <appinfo.rh>
 #include <data_caging_paths_strings.hrh>
-#include <logs.rsg>
+#include <Logs.rsg>
 #include "../group/LogsUID.h"               // common Logs UID definitions
 
 
Binary file logsui/help/data/xhtml.zip has changed
--- a/logsui/logsserviceextension/group/logsserviceextension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/logsserviceextension/group/logsserviceextension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -91,7 +91,7 @@
 LIBRARY                 cchclient.lib
 
 //Virtual Phonebook Engine
-LIBRARY                 VPbkEng.lib
+LIBRARY                 vpbkeng.lib
 
 //Base64 encoding
 LIBRARY                 imut.lib
--- a/logsui/logsserviceextension/src/clogsextpresentityidfetcher.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/logsserviceextension/src/clogsextpresentityidfetcher.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -35,7 +35,7 @@
 #include <MVPbkContactFieldData.h>
 #include <CVPbkContactFieldIterator.h>
 #include <MVPbkContactOperationBase.h>    
-#include <vpbkeng.rsg>  // url field resource id
+#include <VPbkEng.rsg>  // url field resource id
 #include <CVPbkContactLinkArray.h>
 #include <MVPbkContactFieldUriData.h>
 
--- a/logsui/logsserviceextension/src/clogsviewextension.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/logsui/logsserviceextension/src/clogsviewextension.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include <spproperty.h>
 #include <spdefinitions.h>
 
-#include <logs.rsg>
+#include <Logs.rsg>
 
 #include "MLogsEventGetter.h"
 #include "MLogsEvent.h"
--- a/phonebookengines/CntFindPlugin/group/CntFindPlugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/CntFindPlugin/group/CntFindPlugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -42,5 +42,5 @@
 END
 
 LIBRARY         euser.lib
-LIBRARY         ecom.lib
-LIBRARY         FindUtil.lib
+LIBRARY         ECom.lib
+LIBRARY         findutil.lib
--- a/phonebookengines/CntSortPlugin/group/CntSortPlugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/CntSortPlugin/group/CntSortPlugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -43,6 +43,6 @@
 END
 
 LIBRARY         euser.lib
-LIBRARY         ecom.lib
+LIBRARY         ECom.lib
 LIBRARY         cntmodel.lib
-LIBRARY         SortUtil.lib
+LIBRARY         sortutil.lib
--- a/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CContactStore.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CContactStore.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -45,7 +45,7 @@
 #include "VoiceTagSupport.h"
 #include "CContactLink.h"
 #include "COwnContactLinkOperation.h"
-#include <vpbkcntmodelres.rsg>
+#include <VPbkCntModelRes.rsg>
 
 // Virtual Phonebook
 #include <VPbkError.h>
--- a/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CContactStoreDomain.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CContactStoreDomain.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -35,7 +35,7 @@
 #include <RLocalizedResourceFile.h>
 #include <VPbkUtil.h>
 #include <VPbkDataCaging.hrh>
-#include <vpbkcntmodelres.rsg>
+#include <VPbkCntModelRes.rsg>
 #include <VPbkStoreUriLiterals.h>
 
 #include <cntdb.h>
--- a/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CFieldFactory.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CFieldFactory.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <MVPbkFieldType.h>
 #include <RLocalizedResourceFile.h>
 #include <VPbkDataCaging.hrh>
-#include <vpbkcntmodelres.rsg>
+#include <VPbkCntModelRes.rsg>
 
 // System includes
 #include <cntdef.hrh>
--- a/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CFilteredContactView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CFilteredContactView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include "CContactStore.h"
 #include "CFieldFactory.h"
 #include "CCustomFilteredContactView.h"
-#include <vpbkcntmodelres.rsg>
+#include <VPbkCntModelRes.rsg>
 #include "VPbkCntModelRemoteViewPreferences.h"
 #include "NamedRemoteViewViewDefinitionStoreUtility.h"
 
--- a/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CFilteredGroupView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CFilteredGroupView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include "CContactStore.h"
 #include "CFieldFactory.h"
 #include "CCustomFilteredGroupView.h"
-#include <vpbkcntmodelres.rsg>
+#include <VPbkCntModelRes.rsg>
 #include "VPbkCntModelRemoteViewPreferences.h"
 #include "NamedRemoteViewViewDefinitionStoreUtility.h"
 
--- a/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkContactManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkContactManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -40,7 +40,7 @@
 #include <CVPbkContactViewDefinition.h>
 #include <MVPbkContactView.h>
 #include <MVPbkContactOperation.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <VPbkDataCaging.hrh>
 #include <CVPbkContactLinkArray.h>
 #include <CVPbkContactStoreUriArray.h>
--- a/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkFieldTypeSelector.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkFieldTypeSelector.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <VPbkError.h>
 #include <MVPbkContactFieldData.h>
 #include <MVPbkContactFieldUriData.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <VPbkFieldTypeSelectorFactory.h>
 #include <MVPbkStoreContactFieldCollection.h>
 
--- a/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkPhoneNumberMatchStrategy.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkPhoneNumberMatchStrategy.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,8 +30,8 @@
 #include <MVPbkSingleContactOperationObserver.h>
 #include <RLocalizedResourceFile.h>
 #include <VPbkDataCaging.hrh>
-#include <vpbkeng.rsg>
-#include <vpbkfieldtypeselectors.rsg>
+#include <VPbkEng.rsg>
+#include <VPbkFieldTypeSelectors.rsg>
 #include <CVPbkFieldTypeSelector.h>
 #include <CVPbkFieldFilter.h>
 #include <barsread.h>
@@ -80,6 +80,7 @@
         ~CVPbkPhoneNumberMatchStrategyImpl();
 
     public: // Interface
+        CContactPhoneNumberParser* GetParser();
         void MatchL(const TDesC& aPhoneNumber);
         TInt MaxMatchDigits() const;
         TArray<MVPbkContactStore*> StoresToMatch() const;
@@ -772,6 +773,11 @@
         }
     }
 
+CContactPhoneNumberParser* CVPbkPhoneNumberMatchStrategyImpl::GetParser()
+    {
+    return iParser;
+    }
+
 // Removes non-digit chars except plus form the beginning
 // Checks if number matches to one of defined types
 //
@@ -786,11 +792,19 @@
     const TChar KAsterisk = TChar('*');
     const TChar KHash = TChar('#');
     
-    HBufC* numberBuf = HBufC::NewL( aNumber.Length() );
+    TInt format;
+    
+    HBufC* numberBuf = NULL;
+    TRAPD(err, numberBuf = HBufC::NewL( aNumber.Length() ) );
+    // Error was found when Phone allocated memory for numberBuf
+    if( err != KErrNone )
+        {
+        return ( format = EUnknown );
+        }
     TPtr number = numberBuf->Des();
-    if ( iParser )
+    if ( GetParser() )
         {
-        iParser->ExtractRawNumber( aNumber, number );
+        GetParser()->ExtractRawNumber( aNumber, number );
         }
     TInt pos = aNumber.Find( number );
     
@@ -804,8 +818,6 @@
         aNumber.Copy( number );
         }
     delete numberBuf;
-    
-	TInt format;
 	
     if ( !aNumber.Match( KTwoZerosPattern ) && aNumber.Length() > 2 && aNumber[2] != KZero )
         {
@@ -1159,13 +1171,18 @@
         CVPbkContactManager& aContactManager,
         MVPbkContactFindObserver& aObserver)
     {
-    if (aConfig.iMatchMode == EVPbkSequentialMatch)
+    // We do not support yet CVPbkPhoneNumberMatchStrategy::EVPbkBestMatchingFlag flag
+    // Skip it from the configuration
+    TConfig config = aConfig;
+    config.iMatchFlags &= ~CVPbkPhoneNumberMatchStrategy::EVPbkBestMatchingFlag;
+
+    if (config.iMatchMode == EVPbkSequentialMatch)
         {
-        return CVPbkPhoneNumberSequentialMatchStrategy::NewL(aConfig, aContactManager, aObserver);
+        return CVPbkPhoneNumberSequentialMatchStrategy::NewL(config, aContactManager, aObserver);
         }
     else
         {
-        return CVPbkPhoneNumberParallelMatchStrategy::NewL(aConfig, aContactManager, aObserver);
+        return CVPbkPhoneNumberParallelMatchStrategy::NewL(config, aContactManager, aObserver);
         }
    }
 
@@ -1178,7 +1195,24 @@
     {
     InitMatchingL();
 
-    iImpl->MatchL(aPhoneNumber);
+    // The client might be using CVPbkPhoneNumberMatchStrategy::EVPbkBestMatchingFlag
+    // flag, therefore the special chars could not be stripped off from the number
+    // The flag is not supported yet, therefore we need to strip off the special chars
+    HBufC* numberBuf = HBufC::NewL( aPhoneNumber.Length() );
+    CleanupStack::PushL( numberBuf );
+    TPtr number = numberBuf->Des();
+    if ( iImpl->GetParser() )
+        {
+        iImpl->GetParser()->ExtractRawNumber( aPhoneNumber, number );
+        }
+    else
+        {
+        number.Copy( aPhoneNumber );
+        }
+
+    iImpl->MatchL(number);
+
+    CleanupStack::PopAndDestroy(); // numberBuf
     }
 
 void CVPbkPhoneNumberMatchStrategy::BaseConstructL(
--- a/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkTopContactOperation.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkTopContactOperation.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -39,7 +39,7 @@
 #include <MVPbkContactStore.h>
 #include <VPbkContactViewFilterBuilder.h>
 #include <CVPbkSortOrder.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <VPbkDataCaging.hrh>
 #include <RLocalizedResourceFile.h>
 #include <TVPbkFieldVersitProperty.h>
--- a/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkxSPContactsOperation.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkxSPContactsOperation.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 
 
 #include <TVPbkWordParserCallbackParam.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <CVPbkContactFieldIterator.h>
 #include <CVPbkContactManager.h>
 #include <CVPbkFieldTypeRefsList.h>
--- a/phonebookengines/VirtualPhonebook/VPbkEng/src/VPbkContactViewFilterBuilder.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkEng/src/VPbkContactViewFilterBuilder.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <VPbkDataCaging.hrh>
 #include <CVPbkContactManager.h>
 #include <CVPbkFieldTypeSelector.h>
-#include <vpbkfieldtypeselectors.rsg>
+#include <VPbkFieldTypeSelectors.rsg>
 
 // Virtual Phonebook Engine Utils
 #include <RLocalizedResourceFile.h>
--- a/phonebookengines/VirtualPhonebook/VPbkEng/src/VPbkFieldTypeSelectorFactory.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkEng/src/VPbkFieldTypeSelectorFactory.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,10 +24,10 @@
 #include <CVPbkFieldTypeSelector.h>
 #include <MVPbkFieldType.h>
 #include <CVPbkLocalVariationManager.h>
-#include <vpbkfieldtypeselectors.rsg>
+#include <VPbkFieldTypeSelectors.rsg>
 #include <RLocalizedResourceFile.h>
 #include <featmgr.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <spsettings.h>
 #include <spproperty.h>
 #include <spentry.h>
--- a/phonebookengines/VirtualPhonebook/VPbkEng/src/VPbkUtils.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkEng/src/VPbkUtils.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <MVPbkBaseContactFieldCollection.h>
 #include <CVPbkContactFieldIterator.h>
 #include <MVPbkStoreContact.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <RLocalizedResourceFile.h>
 #include <VPbkDataCaging.hrh>
 #include <TVPbkFieldVersitProperty.h>
--- a/phonebookengines/VirtualPhonebook/VPbkSimStore/inc/CContact.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStore/inc/CContact.h	Wed Oct 13 14:15:33 2010 +0300
@@ -233,20 +233,6 @@
         /// Resets the contact state after contact operation
         void ResetContactOperationState();
         
-        /**
-        * Remove empty field from aSimContact, these empty field was added 
-        * in the sim contact before save it to keep the order of additional 
-        * numbers in the USIM card. 
-        */
-        void RemoveAllEmptyFields( CVPbkSimContact& aSimContact );
-        
-        /**
-        * Fill some empty field in the sim contact. hese empty field was added 
-        * in the sim contact before save it to keep the order of additional 
-        * numbers in the USIM card. 
-        */
-        void FillWithEmptyFieldsL() const;
-               
     private:  // Data
 
         TStoreContactFieldCollection iFields;
--- a/phonebookengines/VirtualPhonebook/VPbkSimStore/inc/CSupportedFieldTypes.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStore/inc/CSupportedFieldTypes.h	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,6 @@
 
 // FORWARD DECLARATIONS
 struct TVPbkGsmStoreProperty;
-struct TVPbkUSimStoreProperty;  
 
 namespace VPbkSimStore {
 
@@ -53,15 +52,6 @@
         static CSupportedFieldTypes* NewL(
             const CFieldTypeMappings& aFieldTypeMappings,
             TVPbkGsmStoreProperty& aSimStoreProperty );
-        /**
-        * Two-phased constructor.
-        * @param aSimStoreProperty sim store properties
-        * @return a new instance of this class
-        */
-        static CSupportedFieldTypes* NewL(
-            const CFieldTypeMappings& aFieldTypeMappings,
-            TVPbkGsmStoreProperty& aSimStoreProperty,
-            TVPbkUSimStoreProperty& aUSimStoreProperty ); 
         
         /**
         * Destructor.
@@ -119,8 +109,7 @@
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL( const CFieldTypeMappings& aFieldTypeMappings,
-            TVPbkGsmStoreProperty& aSimStoreProperty,
-            TVPbkUSimStoreProperty* aUSimStoreProperty = NULL ); 
+            TVPbkGsmStoreProperty& aSimStoreProperty );
 
     private:    // Data
         ///Ref: An array for the supported types. Doesn't own types
--- a/phonebookengines/VirtualPhonebook/VPbkSimStore/rss/VPbkSimStoreRes.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStore/rss/VPbkSimStoreRes.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -105,107 +105,4 @@
         };
     }
 
-//  For USIM with additional numbers
-RESOURCE FIELDTYPE_MAPPINGS r_vpbk_usim_versit_field_type_mappings
-	{
-	items =
-	        {
-	        // SIM name = Last name
-	        VERSIT_FIELDTYPE_MAPPING
-	            {
-	            simFieldId = EVPbkSimName;
-	            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-	                {
-	                name = EVPbkVersitNameN;
-	                subField = EVPbkVersitSubFieldFamilyName;
-	                };
-	            },
-	        // USIM second name = reading in japanese variant
-	        VERSIT_FIELDTYPE_MAPPING
-	            {
-	            simFieldId = EVPbkSimReading;
-	            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-	                {
-	                name = EVPbkVersitNameSOUND;
-	                subField = EVPbkVersitSubFieldFamilyNamePronunciation;
-	                };
-	            },
-	        // SIM GSM number = general mobile
-	        VERSIT_FIELDTYPE_MAPPING
-	            {
-	            simFieldId = EVPbkSimGsmNumber;
-	            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-	                {
-	                name = EVPbkVersitNameTEL;
-	                parameters = { EVPbkVersitParamCELL };
-	                };
-	            },
-	        // USIM additional numbers = general mobile
-	        VERSIT_FIELDTYPE_MAPPING
-	            {
-	            simFieldId = EVPbkSimAdditionalNumber;
-	            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-	                {
-	                name = EVPbkVersitNameTEL;
-	                parameters = { EVPbkVersitParamCELL };
-	                };
-	            },
-	        // USIM additional numbers = home landphone 
-	        VERSIT_FIELDTYPE_MAPPING
-	            {
-	            simFieldId = EVPbkSimAdditionalNumber1;
-	            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-	                {
-	                name = EVPbkVersitNameTEL;
-	                parameters = { EVPbkVersitParamHOME };
-	                };
-	            },
-	        // USIM additional numbers = work landphone 
-	        VERSIT_FIELDTYPE_MAPPING
-	            {
-	            simFieldId = EVPbkSimAdditionalNumber2;
-	            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-	                {
-	                name = EVPbkVersitNameTEL;
-	                parameters = { EVPbkVersitParamWORK };
-	                };
-	            },
-	        // USIM additional numbers = general fax
-	        VERSIT_FIELDTYPE_MAPPING
-	            {
-	            simFieldId = EVPbkSimAdditionalNumber3;
-	            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-	                {
-	                name = EVPbkVersitNameTEL;
-	                parameters = { EVPbkVersitParamFAX };
-	                };
-	            },
-	        /*you can define more field type mappings here to adapt the
-	         * increase of the additional number field of USIM card.*/
-	        // USIM email = general email
-	        VERSIT_FIELDTYPE_MAPPING
-	            {
-	            simFieldId = EVPbkSimEMailAddress;
-	            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-	                {
-	                name = EVPbkVersitNameEMAIL;
-	                parameters = 
-	                    {
-	                    EVPbkVersitParamINTERNET
-	                    };
-	                };
-	            },
-	        // USIM second name = nick name in variants other than japan
-	        VERSIT_FIELDTYPE_MAPPING
-	            {
-	            simFieldId = EVPbkSimNickName;
-	            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-	                {
-	                name = EVPbkVersitNameX;
-	                extensionName = "X-NICKNAME";
-	                };
-	            }
-	        };
-	}
-
 // End of File
--- a/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CContact.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CContact.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,8 +30,6 @@
 #include <CVPbkAsyncOperation.h>
 #include <CVPbkContactLinkArray.h>
 #include <CVPbkSimContact.h>
-#include <CVPbkSimCntField.h>
-#include <featmgr.h>
 #include <MVPbkSimCntStore.h>
 #include <MVPbkContactViewBase.h>
 #include <MVPbkContactStoreProperties.h>
@@ -50,8 +48,6 @@
     KNewContact = 1
     };
 
-const TInt KDefinedAnrFieldTypeCount = 3;   // count of defined additional number types
-
 // ============================= LOCAL FUNCTIONS ===============================
 
 MVPbkContactObserver::TContactOp ConvertContactOperation(
@@ -102,35 +98,15 @@
             break;
             }
         case EVPbkSimGsmNumber: // FALLTHROUGH
-        case EVPbkSimAdditionalNumberLast:    // the EVPbkSimAdditionalNumber
+        case EVPbkSimAdditionalNumber:
             {
             ++result; // always at least one number
             if ( aUsimProp.iMaxNumOfAnrs != KVPbkSimStorePropertyUndefined )
                 {
-                if ( !FeatureManager::FeatureSupported(
-                             KFeatureIdFfTdClmcontactreplicationfromphonebooktousimcard ) )
-                    {
-                    result += aUsimProp.iMaxNumOfAnrs;
-                    }
-                else
-                    {
-                    if ( aUsimProp.iMaxNumOfAnrs - KDefinedAnrFieldTypeCount > 0 )
-                        {
-                        result += (aUsimProp.iMaxNumOfAnrs - KDefinedAnrFieldTypeCount);
-                        }
-                    }
+                result += aUsimProp.iMaxNumOfAnrs;
                 }
             break;
             }
-        case EVPbkSimAdditionalNumber1:
-            result = aUsimProp.iMaxNumOfAnrs >= 1 ? 1 : 0;   // according the max number of anrs.
-            break;
-        case EVPbkSimAdditionalNumber2:
-            result = aUsimProp.iMaxNumOfAnrs >= 2 ? 1 : 0;
-            break;
-        case EVPbkSimAdditionalNumber3:
-            result = aUsimProp.iMaxNumOfAnrs >= 3 ? 1 : 0;	
-            break;
         default:
             {
             // Do nothing
@@ -143,7 +119,6 @@
 
 namespace VPbkSimStore {
 
-_LIT( KEmptyData, "+" );    //the empty data, modifiy this string to keep its a special string.
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
@@ -169,11 +144,6 @@
         {
         iFlags.Set( KNewContact );
         }
-    if( FeatureManager::FeatureSupported( 
-                        KFeatureIdFfTdClmcontactreplicationfromphonebooktousimcard ) )
-        {
-        RemoveAllEmptyFields( aSimContact );    //  remove the empty contacts where added before save.
-        }
     iFields.SetContact( *this, aSimContact );
     iAsyncOp = new( ELeave ) VPbkEngUtils::CVPbkAsyncOperation;
     }
@@ -204,126 +174,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CContact::RemoveAllEmptyFields
-// -----------------------------------------------------------------------------
-//
-void CContact::RemoveAllEmptyFields( CVPbkSimContact& aSimContact )
-    {
-    TInt i = aSimContact.FieldCount() - 1 ;
-    while( i >= 0 )
-        {
-		CVPbkSimCntField& cntField = aSimContact.FieldAt( i );
-		TVPbkSimCntFieldType simCntType = cntField.Type();
-        if( simCntType ==  EVPbkSimGsmNumber
-		    || simCntType == EVPbkSimAdditionalNumber1
-			|| simCntType == EVPbkSimAdditionalNumber2
-			|| simCntType == EVPbkSimAdditionalNumber3
-			|| simCntType == EVPbkSimAdditionalNumberLast )
-        	{
-			if( cntField. Data().Compare( KEmptyData ) == 0 )
-				{
-				aSimContact.DeleteField( i );
-				}
-        	}
-        i --;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CContact::FillWithEmptyFieldsL
-// -----------------------------------------------------------------------------
-//
-void CContact::FillWithEmptyFieldsL() const
-    {
-    RPointerArray<CVPbkSimCntField> & contactFieldArray = iSimContact->FieldArray();
-    TInt i = contactFieldArray.Count() - 1 ;
-	while( i >= 0 ) // remove all empty content.
-		{
-		CVPbkSimCntField& cntField = iSimContact->FieldAt( i );
-		TVPbkSimCntFieldType type = cntField.Type();
-		if( cntField. Data().Length() == 0 )
-			{
-			iSimContact->DeleteField( i );
-			}
-		i --;
-		}
-	
-    if( contactFieldArray.Count() == 0 )  // no un-empty fields.
-        {
-        return;
-        }
-    CVPbkSimContact::TFieldLookup lookupAdnNumber = 
-                       iSimContact->FindField( EVPbkSimAdditionalNumber );  
-    if( lookupAdnNumber.EndOfLookup())  // if there is no additional number in the contact then no need to add placeholder
-    	{
-		return;
-    	}
-    RPointerArray<CVPbkSimCntField> tempFieldArray;
-    CleanupClosePushL( tempFieldArray );
-    // mappings 
-    CFieldTypeMappings & mappings = iParentStore.FieldTypeMappings();
-    // supported types.
-    const CSupportedFieldTypes& supportedTypes = iParentStore.SupportedFieldTypes();
-
-    // check all supported field types in the fields list. If not exist created new.
-    // if data length is 0, set data to empty data.
-    for( int i = 0; i < supportedTypes.FieldTypeCount(); i ++ )
-        {
-        const MVPbkFieldType& fieldType = supportedTypes.FieldTypeAt( i );
-        TVPbkSimCntFieldType simCntType = mappings.Match( fieldType );
-        if( simCntType ==  EVPbkSimGsmNumber
-		    || simCntType == EVPbkSimAdditionalNumber1
-			|| simCntType == EVPbkSimAdditionalNumber2
-			|| simCntType == EVPbkSimAdditionalNumber3
-			|| simCntType == EVPbkSimAdditionalNumberLast )
-            {
-            CVPbkSimCntField * field = NULL;
-            CVPbkSimContact::TFieldLookup lookup = 
-                   iSimContact->FindField( simCntType );
-
-            if( lookup.EndOfLookup() )
-                {
-                field= iSimContact->CreateFieldLC( simCntType );
-                field->SetDataL( KEmptyData );
-                tempFieldArray.Append( field );
-                CleanupStack::Pop();
-                }
-             else
-                {
-                field = contactFieldArray[lookup.Index()];
-                if( field->Data().Length() == 0 )
-                    {
-                    field->SetDataL( KEmptyData );
-                    }
-                if( simCntType == EVPbkSimAdditionalNumber1 
-                    || simCntType == EVPbkSimAdditionalNumber2
-                    || simCntType == EVPbkSimAdditionalNumber3 )
-                    {
-                    contactFieldArray.Remove( lookup.Index() );
-                    tempFieldArray.AppendL( field );
-                    }
-                }
-            }
-        }
-    TInt j = contactFieldArray.Count() - 1;
-    while( j >= 0 )  //  EVPbkSimAdditionalNumberLast type field will append at last.
-        {
-        if( contactFieldArray[j]->Type() == EVPbkSimAdditionalNumberLast )
-            {
-            tempFieldArray.AppendL( contactFieldArray[ j ] );
-            contactFieldArray.Remove( j );
-            }
-        j --;
-        }
-    for( int i = 0; i < tempFieldArray.Count(); i ++ )
-        {
-        contactFieldArray.AppendL( tempFieldArray[i]);
-        }
-    tempFieldArray.Reset();
-    CleanupStack::Pop();
-    }
-
-// -----------------------------------------------------------------------------
 // CContact::ParentObject
 // -----------------------------------------------------------------------------
 //
@@ -451,7 +301,7 @@
         VPbkSimStore::Panic( ESimFieldTypeNotFound ) );
 
     if ( simType == EVPbkSimGsmNumber || 
-         simType == EVPbkSimAdditionalNumberLast )  //the same field type as EVPbkSimGsmNumber
+         simType == EVPbkSimAdditionalNumber )
         {
         // EVPbkSimGsmNumber and EVPbkSimAdditionalNumber maps to same
         // VPbk field type. A sim contact can have only one EVPbkSimGsmNumber
@@ -470,7 +320,7 @@
             }
         else
             {
-            simType = EVPbkSimAdditionalNumberLast; 
+            simType = EVPbkSimAdditionalNumber;
             }
         }
 
@@ -571,10 +421,6 @@
             }
         // From the client point of view the MVPbkStoreContact is constant but
         // implementation needs a non const contact.
-        if( FeatureManager::FeatureSupported( KFeatureIdFfTdClmcontactreplicationfromphonebooktousimcard ) )
-            {
-            FillWithEmptyFieldsL();
-            }
         iStoreOperation = iSimContact->SaveL( const_cast<CContact&>( *this ));
         iObserver = &aObserver;
         }
@@ -652,12 +498,6 @@
     
     MVPbkContactObserver* observer = iObserver;
     ResetContactOperationState();
-    
-    // remove filled placeholder fields.
-    if( vpbkOpResult.iOpCode == MVPbkContactObserver::EContactCommit )
-    	{
-		RemoveAllEmptyFields( *iSimContact );
-    	}
     observer->ContactOperationCompleted( vpbkOpResult );
     }
 
@@ -676,12 +516,6 @@
     MVPbkContactObserver* observer = iObserver;
     ResetContactOperationState();
     MVPbkContactObserver::TContactOp op = ConvertContactOperation( aEvent );
-    
-    // remove filled placeholder fields.
-    if( op == MVPbkContactObserver::EContactCommit )
-    	{
-		RemoveAllEmptyFields( *iSimContact );
-    	}
     observer->ContactOperationFailed( op, aError, EFalse );
     } 
 
--- a/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CContactStore.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CContactStore.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -48,7 +48,6 @@
 #include <VPbkSimStoreTemplateFunctions.h>
 #include <CVPbkAsyncCallback.h>
 
-#include <featmgr.h>  
 namespace VPbkSimStore {
 
 // LOCAL
@@ -581,38 +580,17 @@
 void CContactStore::StoreReady( MVPbkSimCntStore& /*aStore*/ )
     {
     TVPbkGsmStoreProperty gsmProperties;
-    TInt res = KErrNone;  
-    if( !FeatureManager::FeatureSupported( KFeatureIdFfTdClmcontactreplicationfromphonebooktousimcard ) )
-        {
-        res= iNativeStore->GetGsmStoreProperties( gsmProperties );
-        if ( res == KErrNone )
-            {
-            delete iSupportedFieldTypes;
-            iSupportedFieldTypes = NULL;
-            TRAP( res, iSupportedFieldTypes = CSupportedFieldTypes::NewL(
-                    iStoreDomain.FieldTypeMappings(), gsmProperties ) );
-                    iSimStoreCapabilities = gsmProperties.iCaps;
-            }
-        }
-    else  // if contact replication from phonebook to usim card.
+    TInt res = iNativeStore->GetGsmStoreProperties( gsmProperties );
+
+    if ( res == KErrNone )
         {
-        TInt resGsm = iNativeStore->GetGsmStoreProperties( gsmProperties );
-        TVPbkUSimStoreProperty usimProperties;
-        TInt resUsim = iNativeStore->GetUSimStoreProperties( usimProperties );	
-        if( resGsm == KErrNone && resUsim == KErrNone )
-            {
-            delete iSupportedFieldTypes;
-            iSupportedFieldTypes = NULL;
-            TRAP( res, iSupportedFieldTypes = CSupportedFieldTypes::NewL(
-                    iStoreDomain.FieldTypeMappings(), gsmProperties, usimProperties ) ); 
-                    iSimStoreCapabilities = gsmProperties.iCaps;
-            }
-        else
-            {
-            res = ( resGsm != KErrNone ? resGsm : resUsim );
-            }
+        delete iSupportedFieldTypes;
+        iSupportedFieldTypes = NULL;
+        TRAP( res, iSupportedFieldTypes = CSupportedFieldTypes::NewL(
+            iStoreDomain.FieldTypeMappings(), gsmProperties ) );
+        iSimStoreCapabilities = gsmProperties.iCaps;
         }
-   
+
     if ( res != KErrNone )
         {
         iStoreState = EStoreNotAvailable;
--- a/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CContactStoreDomain.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CContactStoreDomain.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,13 +30,12 @@
 #include <RLocalizedResourceFile.h>
 #include <TVPbkContactStoreUriPtr.h>
 #include <VPbkDataCaging.hrh>
-#include <vpbksimstoreres.rsg>
+#include <VPbkSimStoreRes.rsg>
 #include <VPbkStoreUriLiterals.h>
 #include <VPbkUtil.h>
 
 #include <barsc.h>
 #include <barsread.h>
-#include <featmgr.h>
 
 namespace VPbkSimStore {
 
@@ -81,20 +80,10 @@
     
     VPbkEngUtils::RLocalizedResourceFile resFile;
     resFile.OpenLC( iFs, KVPbkRomFileDrive, KDC_RESOURCE_FILES_DIR, KResFile );
-    FeatureManager::InitializeLibL();
+    
     TResourceReader resReader;
-    
-    if ( !FeatureManager::FeatureSupported(
-            KFeatureIdFfTdClmcontactreplicationfromphonebooktousimcard ) )
-        {
-        resReader.SetBuffer( resFile.AllocReadLC(
-                R_VPBK_VERSIT_FIELD_TYPE_MAPPINGS ) );
-        }
-    else
-        {
-        resReader.SetBuffer( resFile.AllocReadLC(
-                R_VPBK_USIM_VERSIT_FIELD_TYPE_MAPPINGS ) );
-        }
+    resReader.SetBuffer( resFile.AllocReadLC( 
+        R_VPBK_VERSIT_FIELD_TYPE_MAPPINGS ) );
     // Read versit types
     iFieldTypeMappings->InitVersitMappingsL( resReader );
     resReader.SetBuffer( resFile.AllocReadLC( 
@@ -164,7 +153,6 @@
     delete iContactStoreList;
     delete iTextStore;
     iFs.Close();
-    FeatureManager::UnInitializeLib();
     }
 
 // -----------------------------------------------------------------------------
--- a/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CSupportedFieldTypes.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CSupportedFieldTypes.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,55 +44,23 @@
 //
 void CSupportedFieldTypes::ConstructL( 
     const CFieldTypeMappings& aFieldTypeMappings,
-    TVPbkGsmStoreProperty& aSimStoreProperty,
-    TVPbkUSimStoreProperty* aUSimStoreProperty )
+    TVPbkGsmStoreProperty& aSimStoreProperty )
     {
     // SIM supports always the name field
     const MVPbkFieldType* vpbkType = aFieldTypeMappings.Match( EVPbkSimName );
     iSupportedTypes.AppendL( vpbkType );
     // SIM supports always one number field
     vpbkType = aFieldTypeMappings.Match( EVPbkSimGsmNumber );
-    const MVPbkFieldType* vpbkGsmType = vpbkType;
     iSupportedTypes.AppendL( vpbkType );
     // USIM can support additional numbers
     if ( aSimStoreProperty.iCaps & VPbkSimStoreImpl::KAdditionalNumUsed )
         {
-        if( aUSimStoreProperty )
+        vpbkType = aFieldTypeMappings.Match( EVPbkSimAdditionalNumber );
+        // Check if the VPbk type is different than the type for
+        // already added EVPbkSimGsmNumber
+        if ( iSupportedTypes.Find( vpbkType ) == KErrNotFound )
             {
-            for( TInt i = 1; i <= aUSimStoreProperty->iMaxNumOfAnrs; i ++ )
-                {
-                TVPbkSimCntFieldType type;
-                switch( i )
-                    {
-                    case 1:  // first additional number field type 
-                        type = EVPbkSimAdditionalNumber1;
-                        break;
-                    case 2: // second additional number field type
-                        type = EVPbkSimAdditionalNumber2;
-                        break;
-                    case 3: // third additional number field type
-                        type = EVPbkSimAdditionalNumber3;
-                        break;
-                    default: // four and so on 
-                        type = EVPbkSimAdditionalNumberLast;
-                        break;
-                    }
-                vpbkType = aFieldTypeMappings.Match( type );
-                if( !( vpbkGsmType->IsSame( *vpbkType ) ) )   // if not the same as GSM type.
-                    {
-                    iSupportedTypes.AppendL( vpbkType );
-                    }
-                }
-            }
-        else
-            {
-            vpbkType = aFieldTypeMappings.Match( EVPbkSimAdditionalNumber );
-            // Check if the VPbk type is different than the type for
-            // already added EVPbkSimGsmNumber
-            if ( iSupportedTypes.Find( vpbkType ) == KErrNotFound )
-                {
-                iSupportedTypes.AppendL( vpbkType );
-                }
+            iSupportedTypes.AppendL( vpbkType );
             }
         }
     if ( aSimStoreProperty.iCaps & VPbkSimStoreImpl::KSecondNameUsed )
@@ -125,23 +93,6 @@
     return self;
     }
 
-// -----------------------------------------------------------------------------
-// CSupportedFieldTypes::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSupportedFieldTypes* CSupportedFieldTypes::NewL(
-    const CFieldTypeMappings& aFieldTypeMappings,
-    TVPbkGsmStoreProperty& aSimStoreProperty,
-    TVPbkUSimStoreProperty& aUSimStoreProperty )  
-    {
-    CSupportedFieldTypes* self = new( ELeave ) CSupportedFieldTypes;
-    CleanupStack::PushL( self );
-    self->ConstructL( aFieldTypeMappings, aSimStoreProperty, &aUSimStoreProperty );  
-    CleanupStack::Pop( self );
-    return self;
-    }
-
 // Destructor
 CSupportedFieldTypes::~CSupportedFieldTypes()
     {    
--- a/phonebookengines/VirtualPhonebook/VPbkSimStoreCommon/src/CVPbkSimFieldTypeFilter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreCommon/src/CVPbkSimFieldTypeFilter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -112,11 +112,8 @@
             ret = ESimFilterCriteriaGsmNumber;
             break;
             }
-         
-         case EVPbkSimAdditionalNumber1:  // FALLTHROUGH
-         case EVPbkSimAdditionalNumber2:  // FALLTHROUGH
-         case EVPbkSimAdditionalNumber3:  // FALLTHROUGH
-         case EVPbkSimAdditionalNumberLast: // the same as EVPbkSimAdditionalNumber.
+
+        case EVPbkSimAdditionalNumber:
             {
             ret = ESimFilterCriteriaAdditionalNumber;
             break;
--- a/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkETelCntConverter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkETelCntConverter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -61,10 +61,7 @@
             break;
             }
         case EVPbkSimGsmNumber: // FALLTHROUGH
-        case EVPbkSimAdditionalNumber1:  // FALLTHROUGH
-        case EVPbkSimAdditionalNumber2:  // FALLTHROUGH
-        case EVPbkSimAdditionalNumber3:  // FALLTHROUGH
-        case EVPbkSimAdditionalNumberLast:  // same as EVPbkSimAdditionalNumber
+        case EVPbkSimAdditionalNumber:
             {
             result = RMobilePhoneBookStore::ETagPBNumber;
             break;
@@ -190,10 +187,7 @@
     const TDesC& data = aField.Data();
     if ( data.Length() > 0 )
         {
-        if( aField.Type() == EVPbkSimAdditionalNumber1 
-                || aField.Type() == EVPbkSimAdditionalNumber2 
-                || aField.Type() == EVPbkSimAdditionalNumber3 
-                || aField.Type()== EVPbkSimAdditionalNumberLast ) // all these four types are all additional field types.
+        if ( aField.Type() == EVPbkSimAdditionalNumber )
             {
             // Additional number needs own tag that must be added before data
             aETelBuffer.AddNewNumberTag();
--- a/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimCntField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimCntField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -77,39 +77,36 @@
         TVPbkUSimStoreProperty uprop;
         TInt err = aStore.GetUSimStoreProperties( uprop );
         if( err == KErrNone )
-            {
-            switch ( aType )
-                {
-                case EVPbkSimAdditionalNumber1:  // FALLTHROUGH
-                case EVPbkSimAdditionalNumber2:  // FALLTHROUGH
-                case EVPbkSimAdditionalNumber3:  // FALLTHROUGH
-                case EVPbkSimAdditionalNumberLast: // same as EVPbkSimAdditionalNumber
-                    {
-                    result = uprop.iMaxAnrLength;
-                    break;
-                    }
-                case EVPbkSimReading:  // FALLTHROUGH
-                case EVPbkSimNickName:
-                    {
-                    result = uprop.iMaxScndNameLength;
-                    break;
-                    }
-                case EVPbkSimEMailAddress:
-                    {
-                    result = uprop.iMaxEmailLength;
-                    break;
-                    }
-                case EVPbkSimGroupName:
-                    {
-                    result = uprop.iMaxGroupNameLength;
-                    break;
-                    }
-                default:
-                    {
-                    break;
-                    }
-                }
-            }
+        	{
+	        switch ( aType )
+	            {
+	            case EVPbkSimAdditionalNumber:
+	                {
+	                result = uprop.iMaxAnrLength;
+	                break;
+	                }
+	            case EVPbkSimReading:
+	            case EVPbkSimNickName:
+	                {
+	                result = uprop.iMaxScndNameLength;
+	                break;
+	                }
+	            case EVPbkSimEMailAddress:
+	                {
+	                result = uprop.iMaxEmailLength;
+	                break;
+	                }
+	            case EVPbkSimGroupName:
+	                {
+	                result = uprop.iMaxGroupNameLength;
+	                break;
+	                }
+	            default:
+	                {
+	                break;
+	                }
+	            }
+        	}
         }
     return (TInt16)result;
     }
@@ -292,11 +289,7 @@
     
     // Max length must be calculated for number types only because other
     // types are not splitted in several records in SIM card.
-    if ( iType == EVPbkSimGsmNumber 
-            || iType == EVPbkSimAdditionalNumber1
-            || iType == EVPbkSimAdditionalNumber2
-            || iType == EVPbkSimAdditionalNumber3
-            || iType == EVPbkSimAdditionalNumberLast ) // same as EVPbkSimAdditionalNumber
+    if ( iType == EVPbkSimGsmNumber || iType == EVPbkSimAdditionalNumber )
         {
         TInt currentMaxLength = MaxLength( iType, 
             iParentContact.ParentStore() );
--- a/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimContact.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimContact.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,6 @@
 
 
 // INCLUDE FILES
-#include <featmgr.h>
 #include "CVPbkSimContact.h"
 
 #include "CVPbkSimCntField.h"
@@ -51,10 +50,6 @@
     if ( aETelContact )
         {
         SetL( *aETelContact );
-        if( FeatureManager::FeatureSupported( KFeatureIdFfTdClmcontactreplicationfromphonebooktousimcard ) )
-        	{
-			IndentifyAdditionalFields();
-        	}
         }
     }
 
@@ -239,37 +234,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CVPbkSimContact::IndentifyAdditionalFields()
-// -----------------------------------------------------------------------------
-//
-void CVPbkSimContact::IndentifyAdditionalFields()
-    {
-    TInt anrNumberFieldCount = 0;
-    for( int i = 0; i < iFieldArray.Count(); i ++ )
-        {
-        if( iFieldArray[i]->Type() == EVPbkSimAdditionalNumber )
-            {
-            anrNumberFieldCount ++;
-            switch( anrNumberFieldCount )
-                {
-                case 1:
-                    iFieldArray[i]->SetType( EVPbkSimAdditionalNumber1 );
-                    break;
-                case 2:
-                    iFieldArray[i]->SetType( EVPbkSimAdditionalNumber2 );
-                    break;
-                case 3:
-                    iFieldArray[i]->SetType( EVPbkSimAdditionalNumber3 );
-                    break;
-                default:
-                    iFieldArray[i]->SetType( EVPbkSimAdditionalNumberLast );
-                    break;
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
 // CVPbkSimContact::CreateETelContactL
 // -----------------------------------------------------------------------------
 // 
--- a/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimContactBase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimContactBase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -88,27 +88,11 @@
     aLookup.SetPos( KErrNotFound );
     for ( ; i < count; ++i )
         {
-        if( aLookup.Type() == EVPbkSimAdditionalNumber )
+        if ( ConstFieldAt( i ).Type() == aLookup.Type() )
             {
-            const CVPbkSimCntField& field = ConstFieldAt( i );
-            if ( field.Type() == EVPbkSimAdditionalNumber1 
-                    || field.Type() == EVPbkSimAdditionalNumber2
-                    || field.Type() == EVPbkSimAdditionalNumber3
-                    || field.Type() == EVPbkSimAdditionalNumberLast ) // the same as EVPbkSimAdditionalNumber
-                {
-                aLookup.SetIndex( i );
-                aLookup.SetPos( i + 1 );
-                break;
-                }
-            }
-        else
-            {
-            if ( ConstFieldAt( i ).Type() == aLookup.Type() )
-                {
-                aLookup.SetIndex( i );
-                aLookup.SetPos( i + 1 );
-                break;
-                }
+            aLookup.SetIndex( i );
+            aLookup.SetPos( i + 1 );
+            break;
             }
         }
     }
--- a/phonebookengines/VirtualPhonebook/VPbkVCardEng/inc/CVPbkVCardAttributeHandler.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkVCardEng/inc/CVPbkVCardAttributeHandler.h	Wed Oct 13 14:15:33 2010 +0300
@@ -36,11 +36,9 @@
         /**
          * Decides whether to create an attribute from aParameter or not.
          * @param aParameter Field type parameter
-		 * @param aFieldTypeName Field type name
          * @return ETrue if creates the attribute, otherwise EFalse.
          */
-        TBool CreateAttributeL( TVPbkFieldTypeParameter aParameter, 
-        		TVPbkFieldTypeName aFieldTypeName );
+        TBool CreateAttributeL( TVPbkFieldTypeParameter aParameter );
         
         /**
          * Returns the created attribute or NULL.
--- a/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardAttributeHandler.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardAttributeHandler.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,29 +36,14 @@
     delete iAttribute;
     }    
     
-TBool CVPbkVCardAttributeHandler::CreateAttributeL(TVPbkFieldTypeParameter aParameter, 
-		TVPbkFieldTypeName aFieldTypeName )
+TBool CVPbkVCardAttributeHandler::CreateAttributeL(TVPbkFieldTypeParameter aParameter)
     {
     TBool retval(EFalse);
     delete iAttribute;
     iAttribute = NULL;
-    if ( EVPbkVersitParamPREF == aParameter )
+    if (aParameter == EVPbkVersitParamPREF)
         {
-        if ( EVPbkVersitNameURL == aFieldTypeName )
-        	{
-			// Create default attribute for URL field.
-            iAttribute = CVPbkDefaultAttribute::NewL( EVPbkDefaultTypeOpenLink );
-        	}
-        else if ( EVPbkVersitNameIMPP == aFieldTypeName )
-        	{
-			// Create default attribute for IMPP field.
-            iAttribute = CVPbkDefaultAttribute::NewL( EVPbkDefaultTypeChat );
-        	}
-        else 
-        	{
-			// Create default attribute for other fields.
-            iAttribute = CVPbkDefaultAttribute::NewL( EVPbkDefaultTypePhoneNumber );
-        	}
+        iAttribute = CVPbkDefaultAttribute::NewL(EVPbkDefaultTypePhoneNumber);
         retval = ETrue;
         }
     return retval;
--- a/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardCompactBCardImporter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardCompactBCardImporter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include "CVPbkVCardCompactBCardImporter.h"
 #include "VPbkVCardEngError.h"
 #include "CVPbkVCardFieldTypeProperty.h"
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // From Virtual Phonebook engine
 #include <MVPbkContactFieldTextData.h>
--- a/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardData.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardData.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 
 #include <CVPbkContactManager.h>
 #include <VPbkDataCaging.hrh>
-#include <vpbkvcardeng.rsg>
+#include <VPbkVCardEng.rsg>
 #include <RLocalizedResourceFile.h>
 #include <CVPbkContactCopyPolicyManager.h>
 #include <VPbkStoreUriLiterals.h>
--- a/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardPropertyParser.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardPropertyParser.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -143,8 +143,7 @@
             TVPbkFieldTypeParameter fieldTypeParam = 
                 static_cast<TVPbkFieldTypeParameter>( 
                     TVPbkMappingsFindTool::FindIdByName( *name, paramArray ) );
-            if (!iAttributeHandler.CreateAttributeL(fieldTypeParam, 
-            		iVersitProperty.Name()))
+            if (!iAttributeHandler.CreateAttributeL(fieldTypeParam))
                 {
                 // No attribute created from fieldTypeParam,
                 // so add to parameters list
@@ -164,8 +163,7 @@
                 TVPbkFieldTypeParameter fieldTypeParam = 
                 static_cast<TVPbkFieldTypeParameter>( 
                     TVPbkMappingsFindTool::FindIdByName( *name, paramArray ) );
-                if (!iAttributeHandler.CreateAttributeL(fieldTypeParam, 
-                		iVersitProperty.Name()))
+                if (!iAttributeHandler.CreateAttributeL(fieldTypeParam))
                     {
                     // No attribute created from fieldTypeParam,
                     // so add to parameters list
--- a/phonebookengines/VirtualPhonebook/group/VPbkCntModel.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/group/VPbkCntModel.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -140,14 +140,14 @@
 
 LIBRARY         euser.lib efsrv.lib bafl.lib estor.lib
 LIBRARY         cntmodel.lib cntview.lib sysutil.lib
-LIBRARY         CommonEngine.lib diskspacereserver.lib ecom.lib
-LIBRARY         VPbkEng.lib VPbkEngUtils.lib pbkeng.lib
+LIBRARY         commonengine.lib diskspacereserver.lib ecom.lib
+LIBRARY         VPbkEng.lib VPbkEngUtils.lib PbkEng.lib
 LIBRARY         featmgr.lib cone.lib
 // Only SIND voice tags are supported and only if SIND AIW service
 // is not on. Dependency to NssVASApi.lib can be removed when RD_SIND_VIA_AIW
 // is removed from platform and SIND AIW service is always on.
 #if defined (__SIND) && !defined (RD_SIND_VIA_AIW)
-LIBRARY         nssvasapi.lib
+LIBRARY         NssVASApi.lib
 #endif
 
 #ifdef VPBK_ENABLE_PROFILE
--- a/phonebookengines/VirtualPhonebook/group/VPbkSimStore.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/group/VPbkSimStore.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -88,7 +88,7 @@
 
 // Dependencies to other Phonebook components
 LIBRARY         VPbkEng.lib  VPbkEngUtils.lib 
-LIBRARY         vpbksimstoreservice.lib VPbkSimStoreCommon.lib
+LIBRARY         VPbkSimStoreService.lib VPbkSimStoreCommon.lib 
 LIBRARY         VPbkSimStoreImpl.lib
 
 #ifdef VPBK_ENABLE_PROFILE
--- a/phonebookengines/VirtualPhonebook/group/VPbkSimStoreService.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/group/VPbkSimStoreService.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -48,7 +48,7 @@
 LIBRARY         VPbkSimStoreCommon.lib
 LIBRARY         euser.lib
 LIBRARY         estor.lib
-LIBRARY         featmgr.lib
+LIBRARY         FeatMgr.lib
 
 /////////////////////////////////////
 // DEBUG DEPENDENCIES
--- a/phonebookengines/VirtualPhonebook/inc/CVPbkSimContact.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/inc/CVPbkSimContact.h	Wed Oct 13 14:15:33 2010 +0300
@@ -178,12 +178,6 @@
     private:    // New functions
         /// Creates ETel contact from native fields
         void CreateETelContactL() const;
-        
-		/*
-		* Used to indentify the different additional number field types 
-		* according the order in the field array.
-		*/
-        void IndentifyAdditionalFields();
 
     private:    // Data
         /// The array for the fields
--- a/phonebookengines/VirtualPhonebook/inc/VPbkSimCntFieldTypes.hrh	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/inc/VPbkSimCntFieldTypes.hrh	Wed Oct 13 14:15:33 2010 +0300
@@ -30,11 +30,7 @@
     EVPbkSimReading = 5, // ETel ETagPBSecondName
     EVPbkSimEMailAddress = 6, // ETagPBEmailAddress
     EVPbkSimGroupName = 7, // ETel ETagPBGroupName
-    EVPbkSimUnknownType = 8,
-    EVPbkSimAdditionalNumber1 = 9,  // ETagPBAnrStart the first additional number
-    EVPbkSimAdditionalNumber2 = 10,  // ETagPBAnrStart the second additional number
-    EVPbkSimAdditionalNumber3 = 11,  // ETagPBAnrStart the third additional number
-    EVPbkSimAdditionalNumberLast = EVPbkSimAdditionalNumber  // ETagPBAnrStart the fourth additional number and so on.
+    EVPbkSimUnknownType = 8
     };
 
 
--- a/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_SelectorFactory/group/MT_VPbkEng_SelectorFactory.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_SelectorFactory/group/MT_VPbkEng_SelectorFactory.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -56,7 +56,7 @@
 #endif
 
 LIBRARY         euser.lib VPbkContactTestUtils.lib
-LIBRARY         StifTestInterface.lib serviceprovidersettings.lib
+LIBRARY         stiftestinterface.lib serviceprovidersettings.lib
 LIBRARY         stiftestengine.lib VPbkEng.lib VPbkEngUtils.lib efsrv.lib bafl.lib
 
 LANG            SC
--- a/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_SelectorFactory/inc/constants.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_SelectorFactory/inc/constants.h	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,7 @@
 #ifndef __SELECTOR_CONSTANTS_H
 #define __SELECTOR_CONSTANTS_H
 
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include "stifunitmacros.h"
 #include <CVPbkFieldTypeSelector.h>
 #include <MVPbkFieldType.h>
--- a/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_SelectorFactory/src/MT_VPbkEng_SelectorFactoryCases.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_SelectorFactory/src/MT_VPbkEng_SelectorFactoryCases.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <VPbkFieldTypeSelectorFactory.h>
 #include <rlocalizedresourcefile.h>
 #include <vpbkdatacaging.hrh>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <CVPbkFieldTypeSelector.h>
 #include <CVPbkContactTestUtils.h>
 #include <CVPbkContactManager.h>
@@ -47,6 +47,8 @@
 #include <f32file.h>
 #include <barsread.h>
 
+#include <VPbkEng.rsg>
+
 namespace {
 
 const TUint KSPSupportCallOutKey = 0x2000B160;
--- a/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/group/MT_VPbkEng_StrCntAnalyzer.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/group/MT_VPbkEng_StrCntAnalyzer.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -57,7 +57,7 @@
 #endif
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib VPbkEngUtils.lib VPbkEng.lib
 
 LANG            SC
--- a/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/src/MT_VPbkEng_StrCntAnalyzerCases.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/src/MT_VPbkEng_StrCntAnalyzerCases.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <MVPbkContactStoreList.h>
 #include <MVPbkStoreContact.h>
 #include <MVPbkFieldType.h>
-//#include <strcntanalyzer.rsg>
+//#include <StrCntAnalyzer.rsg>
 #include <vpbkeng.rsg>
 #include <CVPbkContactStoreProperties.h>
 
--- a/phonebookengines/contactsmodel/groupsql/app-engines_cntmodel.mrp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/contactsmodel/groupsql/app-engines_cntmodel.mrp	Wed Oct 13 14:15:33 2010 +0300
@@ -4,6 +4,12 @@
 
 exports	\sf\app\contacts\phonebookengines\contactsmodel\groupsql
 
+-export_file	\sf\app\contacts\phonebookengines\contactsmodel\documentation\contacts_connectivityapi.doc	\epoc32\engdoc\cntmodel\Contacts_ConnectivityAPI.doc
+-export_file	\sf\app\contacts\phonebookengines\contactsmodel\documentation\contacts_current_itemapi.doc	\epoc32\engdoc\cntmodel\Contacts_Current_ItemAPI.doc
+-export_file	\sf\app\contacts\phonebookengines\contactsmodel\documentation\contacts_group_supportapi.doc	\epoc32\engdoc\cntmodel\Contacts_Group_SupportAPI.DOC
+-export_file	\sf\app\contacts\phonebookengines\contactsmodel\documentation\contacts_multiple_templatesapi.doc	\epoc32\engdoc\cntmodel\Contacts_Multiple_TemplatesAPI.doc
+-export_file	\sf\app\contacts\phonebookengines\contactsmodel\documentation\contacts_own_card_supportapi.doc	\epoc32\engdoc\cntmodel\Contacts_Own_Card_SupportAPI.doc
+-export_file	\sf\app\contacts\phonebookengines\contactsmodel\documentation\contacts_sorting_view_supportapi.doc	\epoc32\engdoc\cntmodel\Contacts_sorting_view_supportAPI.doc
 notes_source	\component_defs\release.src
 
 
--- a/phonebookengines/contactsmodel/groupsql/cntmodel.iby	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/contactsmodel/groupsql/cntmodel.iby	Wed Oct 13 14:15:33 2010 +0300
@@ -33,9 +33,9 @@
 #define CONTACT_SERVER_MAX_HEAPSIZE  0x200000
 #endif
 
-file=ABI_DIR/BUILD_DIR/cntsrv.exe		System/Programs/cntsrv.exe       heapmax=CONTACT_SERVER_MAX_HEAPSIZE
-file=ABI_DIR/BUILD_DIR/cntmodel.dll		System/Libs/cntmodel.dll
-file=ABI_DIR/BUILD_DIR/cntview.dll		System/Libs/cntview.dll
+file=ABI_DIR\BUILD_DIR\cntsrv.exe		System\Programs\cntsrv.exe       heapmax=CONTACT_SERVER_MAX_HEAPSIZE
+file=ABI_DIR\BUILD_DIR\cntmodel.dll		System\Libs\cntmodel.dll
+file=ABI_DIR\BUILD_DIR\cntview.dll		System\Libs\cntview.dll
 
 ECOM_PLUGIN(cntvcard.dll,102035f8.rsc)
 ECOM_PLUGIN(cntphone.dll,102035fb.rsc)
--- a/phonebookengines/contactsmodel/inc/cntdef_internal.hrh	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/contactsmodel/inc/cntdef_internal.hrh	Wed Oct 13 14:15:33 2010 +0300
@@ -47,5 +47,4 @@
 /** @internalComponent */
 #define KIntFieldFlagFilterable4	0x100
 
-#endif //__CNTDEF_INTERNAL_HRH__
-
+#endif //__CNTDEF_INTERNAL_HRH__
\ No newline at end of file
--- a/phonebookengines/contactsmodel/tsrc/t_cnt_backup.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/contactsmodel/tsrc/t_cnt_backup.h	Wed Oct 13 14:15:33 2010 +0300
@@ -14,6 +14,7 @@
 //
 
 #include <e32property.h>
+#include <app-services/private/cbackuprestorenotification.h>
 
 //
 // Forward declarations.
--- a/phonebookengines/contactsmodel/tsrc/t_cnt_backup.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/contactsmodel/tsrc/t_cnt_backup.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -13,20 +13,18 @@
 // Description:
 //
 
-TARGET        t_cnt_backup.exe
-TARGETTYPE    EXE
-
+target		t_cnt_backup.exe
+targettype	EXE
 UID		0x10281846
 CAPABILITY	ReadUserData WriteUserData ReadDeviceData WriteDeviceData AllFiles
 VENDORID	0x70000001
 
 SOURCEPATH	../tsrc
 
-APP_LAYER_SYSTEMINCLUDE_SYMBIAN
-SYSTEMINCLUDE /epoc32/include/app-services/private
-USERINCLUDE ../inc 
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN 
+userinclude ../inc 
 
-SOURCE        t_cnt_backup.cpp
+source		t_cnt_backup.cpp
 
 LIBRARY		cntmodel.lib euser.lib edbms.lib efsrv.lib bafl.lib sbeclient.lib
 LIBRARY     pimtestclient.lib
--- a/phonebookengines/contactsmodel/tsrc/t_contenttype.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookengines/contactsmodel/tsrc/t_contenttype.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -13,21 +13,19 @@
 // Description:
 //
 
-TARGET          t_contenttype.exe
-TARGETTYPE      EXE
-
+target          t_contenttype.exe
+targettype      EXE
 CAPABILITY   ReadUserData WriteUserData
 UID		0x1000007a
 VENDORID 0x70000001
 
 SOURCEPATH	../tsrc
 
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/platform
-USERINCLUDE ../inc . 
+systeminclude /epoc32/include 
+userinclude ../inc . 
 
-SOURCE          t_contenttype.cpp
+source          t_contenttype.cpp
 
-LIBRARY         euser.lib efsrv.lib cntmodel.lib estor.lib
+library         euser.lib efsrv.lib cntmodel.lib estor.lib
 
 SMPSAFE
--- a/phonebookui/Phonebook/AIF/Phonebook_reg.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/AIF/Phonebook_reg.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,7 @@
 
 
 #include <appinfo.rh>
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 #include <PbkUID.h>
 
 UID2 KUidAppRegistrationResourceFile
--- a/phonebookui/Phonebook/App/rss/PbkAiwInterest.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/rss/PbkAiwInterest.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 #include <pbkconfig.hrh>
 
 #include <eikon.rsg>
-#include <avkon.rsg>
+#include <Avkon.rsg>
 #include <AiwCommon.rh>
 #include <AiwPoCParameters.hrh>
 
--- a/phonebookui/Phonebook/App/rss/Phonebook.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/rss/Phonebook.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 
 #include <eikon.rh>
 #include <eikon.rsg>
-#include <avkon.rsg>
+#include <Avkon.rsg>
 #include <Avkon.rh>
 #include <avkon.mbg>		//Icon in save query
 #include <avkon.loc>
@@ -37,7 +37,7 @@
 #include <PbkIcons.hrh>		// Phonebook icon mapping
 #include <AvkonIcons.hrh>
 #include <DigViewGraph.rh>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 
 #if defined(__SCALABLE_ICONS)
   #define num_aif_icons 1
--- a/phonebookui/Phonebook/App/src/CPbkAiwInterestItemCall.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkAiwInterestItemCall.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <MenuFilteringFlags.h>
 #include <MPbkAiwCommandObserver.h>
 #include "CPbkCallTypeSelector.h"
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 
 #include <cntdef.h>
 #include <AiwServiceHandler.h>
--- a/phonebookui/Phonebook/App/src/CPbkAiwInterestItemPoc.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkAiwInterestItemPoc.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,7 @@
 #include <MPbkAiwCommandObserver.h>
 #include <AiwPoCParameters.h>
 
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 #include <AiwServiceHandler.h>
 #include <AiwPoCParameters.hrh>
 #include <eikmenup.h>
--- a/phonebookui/Phonebook/App/src/CPbkAiwInterestItemSyncMl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkAiwInterestItemSyncMl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <MenuFilteringFlags.h>
 #include <MPbkAiwCommandObserver.h>
 
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 
 #include <cntdef.h>
 #include <AiwServiceHandler.h>
--- a/phonebookui/Phonebook/App/src/CPbkAppUi.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkAppUi.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <FeatMgr.h>
 #include <hlplch.h>          // HlpLauncher
 
-#include <phonebook.rsg>     // Phonebook resources
+#include <Phonebook.rsg>     // Phonebook resources
 #include "CPbkApplication.h" // Phonebook application class
 #include "CPbkDocument.h"    // Phonebook document class
 #include "PbkAppViewFactory.h"   // Application view factory
--- a/phonebookui/Phonebook/App/src/CPbkAssignToGroupCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkAssignToGroupCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include "CPbkAssignToGroupCmd.h"
 #include <eikprogi.h>
 #include <StringLoader.h>
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 #include <CPbkAssignToGroup.h>
 #include <CPbkContactViewListControl.h>
 #include <MPbkCommandObserver.h>
--- a/phonebookui/Phonebook/App/src/CPbkCodImageCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkCodImageCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <AknNoteWrappers.h>
 #include <SysUtil.h>
 #include <StringLoader.h>
-#include <pbkview.rsg>              // PbkView resource symbols
+#include <PbkView.rsg>              // PbkView resource symbols
 #include <CPbkContactItem.h>
 #include <MPbkMenuCommandObserver.h>
 #include <MGFetch.h>
--- a/phonebookui/Phonebook/App/src/CPbkContactInfoAppView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkContactInfoAppView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,8 +27,8 @@
 #include <PbkUID.h>
 
 // Phonebook.app include files
-#include <phonebook.rsg>
-#include <pbkview.rsg>
+#include <Phonebook.rsg>
+#include <PbkView.rsg>
 
 // Phone include files
 #include <SpdiaControl.h>
--- a/phonebookui/Phonebook/App/src/CPbkContactInfoBaseNavigationStrategy.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkContactInfoBaseNavigationStrategy.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,8 +28,8 @@
 #include <eikspane.h>
 
 // Phonebook.app include files
-#include <phonebook.rsg>
-#include <pbkview.rsg>
+#include <Phonebook.rsg>
+#include <PbkView.rsg>
 #include <pbkdebug.h>
 
 // PbkEng.dll include files
--- a/phonebookui/Phonebook/App/src/CPbkContactListAppView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkContactListAppView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -34,7 +34,7 @@
 #include <CPbkPhoneNumberSelect.h>
 #include <CPbkGroupBelongings.h>
 #include <CPbkConstants.h>
-#include <phonebook.rsg>            // Phonebook resources
+#include <Phonebook.rsg>            // Phonebook resources
 #include <MenuFilteringFlags.h>
 #include <CPbkAiwInterestArray.h>
 
--- a/phonebookui/Phonebook/App/src/CPbkDeleteContactsCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkDeleteContactsCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include "CPbkDeleteContactsCmd.h"
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 #include <eikprogi.h>
 #include <CPbkProgressNoteWrapper.h>
 #include <CPbkContactViewListControl.h>
--- a/phonebookui/Phonebook/App/src/CPbkGoToURLCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkGoToURLCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include "CPbkGoToURLCmd.h"
 #include <CPbkContactItem.h>
 #include <CPbkURLAddressSelect.h>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <SchemeHandler.h>
 #include <aknnotewrappers.h>
 #include <pbkdebug.h>
--- a/phonebookui/Phonebook/App/src/CPbkGroupMembersListAppView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkGroupMembersListAppView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 #include <sendnorm.rsg>					// for Send UI functionality
 #include <SenduiMtmUids.h>				// Send UI MTM uid's
 
-#include <phonebook.rsg>				// Phonebook resources
+#include <Phonebook.rsg>				// Phonebook resources
 #include <CPbkControlContainer.h>
 #include "CPbkAppUi.h"					// Phonebook application UI class
 #include "CPbkAssignToGroupCmd.h"
@@ -48,7 +48,7 @@
 #include <CPbkConstants.h>
 #include <CPbkAiwInterestArray.h>
 
-#include <pbkview.rsg>					// PbkView dll resources
+#include <PbkView.rsg>					// PbkView dll resources
 #include <CPbkViewState.h>
 #include <CPbkContactViewListControl.h>
 #include <CPbkGroupMembersFetchDlg.h>
--- a/phonebookui/Phonebook/App/src/CPbkGroupsListAppView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkGroupsListAppView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <StringLoader.h>
 
 // Phonebook.app APIs
-#include <phonebook.rsg>  // Phonebook resources
+#include <Phonebook.rsg>  // Phonebook resources
 #include <pbkdebug.h>
 #include "CPbkAppUi.h"
 #include <CPbkControlContainer.h>
@@ -43,7 +43,7 @@
 #include <CPbkAiwInterestArray.h>
 
 // PbkView.dll APIs
-#include <pbkview.rsg>                   // PbkView dll resources
+#include <PbkView.rsg>                   // PbkView dll resources
 #include <CPbkViewState.h>               // Phonebook view state object
 #include <CPbkContactViewListControl.h>
 #include <CPbkGroupNameQueryDlg.h>       // CPbkGroupNameQueryDlg
--- a/phonebookui/Phonebook/App/src/CPbkMenuFiltering.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkMenuFiltering.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <bldvariant.hrh>
 #include <MenuFilteringFlags.h>
 #include <Stringloader.h>
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 
 namespace {
 
--- a/phonebookui/Phonebook/App/src/CPbkNamesListAppView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkNamesListAppView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -33,7 +33,7 @@
 #include <SenduiMtmUids.h>           // Send UI MTM uid's
 
 // Phonebook.app include files
-#include <phonebook.rsg>             // Phonebook resources
+#include <Phonebook.rsg>             // Phonebook resources
 #include "CPbkAppUi.h"               // Phonebook application UI class
 #include "CPbkDeleteContactsCmd.h"
 #include "CPbkAssignToGroupCmd.h"
@@ -54,7 +54,7 @@
 #include <CPbkAiwInterestArray.h>
 
 // Phonebook view include files
-#include <pbkview.rsg>               // PbkView dll resources
+#include <PbkView.rsg>               // PbkView dll resources
 #include <CPbkViewState.h>           // Phonebook view state object
 #include <CPbkContactViewListControl.h>
 #include <CPbkAddToGroup.h>
--- a/phonebookui/Phonebook/App/src/CPbkRemoveFromGroupCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkRemoveFromGroupCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include <eikprogi.h>
 #include <StringLoader.h>
 #include <CPbkContactEngine.h>
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 #include <CPbkRemoveFromGroup.h>
 #include <CPbkProgressNoteWrapper.h>
 #include <CPbkContactViewListControl.h>
--- a/phonebookui/Phonebook/App/src/CPbkSendContactCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkSendContactCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 
 #include <BCardEng.h>
 #include <CPbkFieldInfo.h>
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 #include <CPbkContactEngine.h>
 #include <CPbkProgressNoteWrapper.h>
 #include <CPbkConstants.h>
--- a/phonebookui/Phonebook/App/src/CPbkSendMultipleMessageCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkSendMultipleMessageCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,7 +31,7 @@
 #include "TSingleDesCArray.h"
 #include "CPbkAppGlobals.h"
 #include <Phonebook.hrh>
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 #include <FeatMgr.h>
 #include <CPbkAttachmentFile.h>
 
--- a/phonebookui/Phonebook/App/src/CPbkSetToneToGroupCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkSetToneToGroupCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,8 +24,8 @@
 #include <AknNoteWrappers.h>
 #include <CPbkContactEngine.h>
 #include <cntitem.h>
-#include <phonebook.rsg>
-#include <pbkview.rsg>
+#include <Phonebook.rsg>
+#include <PbkView.rsg>
 #include <CPbkSetToneToGroup.h>
 #include <MPbkCommandObserver.h>
 
--- a/phonebookui/Phonebook/App/src/CPbkViewNavigator.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/App/src/CPbkViewNavigator.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -33,7 +33,7 @@
 #include <CPbkExtGlobals.h>
 #include <MPbkExtensionFactory.h>
 #include <PbkIconInfo.h>
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 
 // ================= MEMBER FUNCTIONS =======================
 
--- a/phonebookui/Phonebook/BCardEng/src/BCardEng.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/BCardEng/src/BCardEng.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -41,7 +41,7 @@
 #include <CPbkAttachmentFile.h>
 #include <CPbkConstants.h>
 
-#include <bcardeng.rsg>
+#include <BCardEng.rsg>
 #include "CBCardParserParamArray.h"
 #include "CBCardFieldAction.h"
 #include "CBCardFieldUidMapping.h"
--- a/phonebookui/Phonebook/Engine/rss/PbkEng.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/Engine/rss/PbkEng.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 
 /*============================================================================
 * NB. PbkEng resources MUST be defined in PbkEngCommon.rss 
-* because only one pbkeng.rsg file used with different language 
+* because only one PbkEng.rsg file used with different language 
 * specific ".rsc" files. Otherwise BC is broken.
 ============================================================================*/
 
--- a/phonebookui/Phonebook/Engine/rss/PbkEngChinese.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/Engine/rss/PbkEngChinese.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 
 /*============================================================================
 * NB. PbkEng resources MUST be defined in PbkEngCommon.rss 
-* because only one pbkeng.rsg file used with different language 
+* because only one PbkEng.rsg file used with different language 
 * specific ".rsc" files. Otherwise BC is broken.
 ============================================================================*/
 
--- a/phonebookui/Phonebook/Engine/rss/PbkEngJapanese.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/Engine/rss/PbkEngJapanese.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 
 /*============================================================================
 * NB. PbkEng resources MUST be defined in PbkEngCommon.rss 
-* because only one pbkeng.rsg file used with different language 
+* because only one PbkEng.rsg file used with different language 
 * specific ".rsc" files. Otherwise BC is broken.
 ============================================================================*/
 
--- a/phonebookui/Phonebook/Engine/src/CPbkConstants.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/Engine/src/CPbkConstants.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include    <f32file.h>
 #include    <barsc.h>
 #include    <barsread.h>
-#include    <pbkeng.rsg>
+#include    <PbkEng.rsg>
 #include    "CPbkLocalVariationManager.h"
 
 
--- a/phonebookui/Phonebook/Engine/src/CPbkContactEngine.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/Engine/src/CPbkContactEngine.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <PbkUID.h>
 #include <bautils.h>    // BaflUtils
 
-#include <pbkeng.rsg>    // Engine resources
+#include <PbkEng.rsg>    // Engine resources
 #include "CPbkFieldsInfo.h"
 #include "CPbkFieldInfo.h"
 #include "CPbkContactItem.h"
--- a/phonebookui/Phonebook/Engine/src/CPbkFieldsInfo.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/Engine/src/CPbkFieldsInfo.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include    <cntitem.h>
 #include    <cntmodel.rsg>
 
-#include    <pbkeng.rsg>
+#include    <PbkEng.rsg>
 #include    "CPbkFieldInfo.h"
 #include    "CPbkFieldInfoGroup.h"
 #include    "CPbkUidMap.h"
--- a/phonebookui/Phonebook/Engine/src/CPbkSortOrderManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/Engine/src/CPbkSortOrderManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <bldvariant.hrh>
 #include <CPbkContactEngine.h>
 #include <StringLoader.h>
-#include <pbkeng.rsg>
+#include <PbkEng.rsg>
 #include <barsread.h>    // TResourceReader
 #include <PbkGlobalSettingFactory.h>
 #include <MPbkGlobalSetting.h>
--- a/phonebookui/Phonebook/PbkAiwProviders/src/CPbkAiwCmdAssignProvider.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/PbkAiwProviders/src/CPbkAiwCmdAssignProvider.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,8 +24,8 @@
 #include <AiwCommon.h>
 #include <AiwCommon.hrh>
 #include <barsread.h>
-#include <pbkaiwprovidersres.rsg>
-#include <phonebook.rsg>
+#include <PbkAiwProvidersRes.rsg>
+#include <Phonebook.rsg>
 #include <CPbkContactEngine.h>
 #include <AknNoteWrappers.h>
 #include <CPbkMultipleEntryFetchDlg.h>
--- a/phonebookui/Phonebook/PbkAiwProviders/src/CPbkAiwProviderBase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/PbkAiwProviders/src/CPbkAiwProviderBase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,13 +21,13 @@
 #include "CPbkAiwProviderBase.h"
 
 #include <barsread.h>
-#include <phonebook.rsg>
+#include <Phonebook.rsg>
 #include <CPbkContactEngine.h>
 #include <AknNoteWrappers.h>
 #include <CPbkCommandStore.h>
 #include <aknnavide.h>
 #include "PbkDataCaging.hrh"
-#include <pbkaiwprovidersres.rsg>
+#include <PbkAiwProvidersRes.rsg>
 #include <pbkdebug.h>
 
 
--- a/phonebookui/Phonebook/PbkAiwProviders/src/CPbkAssignImageCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/PbkAiwProviders/src/CPbkAssignImageCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,8 +22,8 @@
 
 #include <aknnotedialog.h>
 #include <StringLoader.h>
-#include <pbkaiwprovidersres.rsg>
-#include <pbkview.rsg>
+#include <PbkAiwProvidersRes.rsg>
+#include <PbkView.rsg>
 #include <CPbkContactEngine.h>
 #include <AknNoteWrappers.h>
 #include <AknWaitDialog.h>
--- a/phonebookui/Phonebook/PbkAiwProviders/src/CPbkAssignRingingToneCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/PbkAiwProviders/src/CPbkAssignRingingToneCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,8 +22,8 @@
 
 #include <aknnotedialog.h>
 #include <StringLoader.h>
-#include <pbkaiwprovidersres.rsg>
-#include <pbkview.rsg>
+#include <PbkAiwProvidersRes.rsg>
+#include <PbkView.rsg>
 #include <CPbkContactEngine.h>
 #include <AknNoteWrappers.h>
 #include <AknWaitDialog.h>
--- a/phonebookui/Phonebook/PbkEngine_FM/rss/PbkEngine_FMChineseRes.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/PbkEngine_FM/rss/PbkEngine_FMChineseRes.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 
 /*============================================================================
 * NB. PbkEngine_FM resources MUST be defined in PbkEngine_FMCommonRes.rss 
-* because only one pbkengine_fmres.rsg file used with different language 
+* because only one PbkEngine_FMRes.rsg file used with different language 
 * specific ".rsc" files. Otherwise BC is broken.
 ============================================================================*/
 
--- a/phonebookui/Phonebook/PbkEngine_FM/rss/PbkEngine_FMJapaneseRes.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/PbkEngine_FM/rss/PbkEngine_FMJapaneseRes.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 
 /*============================================================================
 * NB. PbkEngine_FM resources MUST be defined in PbkEngine_FMCommonRes.rss 
-* because only one pbkengine_fmres.rsg file used with different language 
+* because only one PbkEngine_FMRes.rsg file used with different language 
 * specific ".rsc" files. Otherwise BC is broken.
 ============================================================================*/
 
--- a/phonebookui/Phonebook/PbkEngine_FM/rss/PbkEngine_FMRes.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/PbkEngine_FM/rss/PbkEngine_FMRes.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 
 /*============================================================================
 * NB. PbkEngine_FM resources MUST be defined in PbkEngine_FMCommonRes.rss 
-* because only one pbkengine_fmres.rsg file used with different language 
+* because only one PbkEngine_FMRes.rsg file used with different language 
 * specific ".rsc" files. Otherwise BC is broken.
 ============================================================================*/
 
--- a/phonebookui/Phonebook/PbkEngine_FM/src/Cfmpbkengineextension.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/PbkEngine_FM/src/Cfmpbkengineextension.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDES
 #include "Cfmpbkengineextension.h"
-#include <pbkengine_fmres.rsg> // Common for all langugages
+#include <PbkEngine_FMRes.rsg> // Common for all langugages
 #include <barsc.h>
 #include <bautils.h>
 #include <featmgr.h>
--- a/phonebookui/Phonebook/View/rss/PbkNonTouchableView.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/rss/PbkNonTouchableView.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <pbkconfig.hrh>
 #include <eikon.rh>
 #include <eikon.rsg>
-#include <avkon.rsg>
+#include <Avkon.rsg>
 #include <Avkon.hrh>
 #include <Avkon.rh>
 #include <avkon.mbg>	// Icon in save query
--- a/phonebookui/Phonebook/View/src/CPbkAddToGroup.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkAddToGroup.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <aknnotewrappers.h>    // AVKON Notes
 #include <StringLoader.h>       // StringLoader
 
-#include <pbkview.rsg>  // Phonebook view dll resource IDs
+#include <PbkView.rsg>  // Phonebook view dll resource IDs
 #include "CPbkGroupPopup.h"
 
 #include <CPbkContactEngine.h>  // Phonebook engine
--- a/phonebookui/Phonebook/View/src/CPbkContactEditorDateField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkContactEditorDateField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,7 +31,7 @@
 #include <coemain.h>
 #include <eikcapc.h>
 
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 
 
 /// Unnamed namespace for local definitons
--- a/phonebookui/Phonebook/View/src/CPbkContactEditorDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkContactEditorDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -54,7 +54,7 @@
 #include <CPbkFieldsInfo.h>
 #include <CPbkConstants.h>
 #include <CPbkFieldData.h>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <MPbkContactEditorExtension.h>
 #include <MPbkExtensionFactory.h>
 #include <CPbkExtGlobals.h>
--- a/phonebookui/Phonebook/View/src/CPbkContactEditorEditContact.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkContactEditorEditContact.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include "CPbkContactItem.h"
 #include "CPbkDeleteContactQuery.h"
 #include <CPbkFFSCheck.h>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <cshelp/phob.hlp.hrh>
 
 
--- a/phonebookui/Phonebook/View/src/CPbkContactEditorFieldArray.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkContactEditorFieldArray.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include "PbkIconInfo.h"
 #include "CPbkFieldInfo.h"
 #include "CPbkReadingEditorBinderVisitor.h"
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 
 #include <CPbkExtGlobals.h>
 #include <MPbkExtensionFactory.h>
--- a/phonebookui/Phonebook/View/src/CPbkContactEditorNewContact.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkContactEditorNewContact.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <eikmenup.h>
 #include <bldvariant.hrh>
 #include <featmgr.h>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include "CPbkContactEngine.h"
 #include <CPbkFFSCheck.h>
 #include <avkon.hrh>
--- a/phonebookui/Phonebook/View/src/CPbkContactEditorSyncField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkContactEditorSyncField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include "MPbkContactEditorUiBuilder.h"
 #include "MPbkFieldEditorVisitor.h"
 
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 
 #include <eikdialg.h>
 #include <eikedwin.h>
--- a/phonebookui/Phonebook/View/src/CPbkContactInfoControl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkContactInfoControl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <bautils.h>
 
 #include <PbkDebug.h>
-#include <pbkview.rsg>           // View resources
+#include <PbkView.rsg>           // View resources
 #include <PbkView.hrh>
 #include "CPbkViewState.h"
 #include "CPbkThumbnailPopup.h"
--- a/phonebookui/Phonebook/View/src/CPbkContactViewListControl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkContactViewListControl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <AknsDrawUtils.h>
 #include <featmgr.h>
 #include <bldvariant.hrh>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <AknDef.h>      // KEikDynamicLayoutVariantSwitch
 #include <AknUtils.h>
 
--- a/phonebookui/Phonebook/View/src/CPbkContextPaneIcon.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkContextPaneIcon.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <avkon.hrh>    // Status pane control UIDs
 #include <eikimage.h>   // CEikImage
 #include <akncontext.h> // CAknContextPane
-#include <pbkview.rsg>  // Phonebook view dll resource IDs
+#include <PbkView.rsg>  // Phonebook view dll resource IDs
 #include <AknsSkinInstance.h>
 #include <AknUtils.h>
 #include <AknsUtils.h>
--- a/phonebookui/Phonebook/View/src/CPbkDataSaveAppUi.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkDataSaveAppUi.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 
 // PbkView include files
 #include "PbkDataSaveAppUi.hrh"
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include "CPbkContactEditorDlg.h"
 #include "CPbkSingleEntryFetchDlg.h"
 #include "CPbkMemoryEntryAddItemDlg.h"
--- a/phonebookui/Phonebook/View/src/CPbkDeleteContactQuery.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkDeleteContactQuery.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include "CPbkDeleteContactQuery.h"
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <StringLoader.h>
 #include <CPbkContactItem.h>
 #include <CPbkContactEngine.h>
--- a/phonebookui/Phonebook/View/src/CPbkDrmManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkDrmManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <featmgr.h>
 #include <DRMCommon.h>
 #include <bldvariant.hrh>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <eikenv.h>
 #include <StringLoader.h>
 #include <aknnotewrappers.h>
--- a/phonebookui/Phonebook/View/src/CPbkEmailAddressSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkEmailAddressSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include    <avkon.hrh> // AVKON softkey codes
 #include    <aknnotewrappers.h>
 #include    <StringLoader.h>        // StringLoader
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkFieldInfo.h>
 #include    <CPbkContactItem.h>
 
--- a/phonebookui/Phonebook/View/src/CPbkEmailOverSmsAddressSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkEmailOverSmsAddressSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include    <avkon.rsg> // R_AVKON_SOFTKEYS_SELECT_CANCEL;
 #include    <aknnotewrappers.h>
 #include    <StringLoader.h>        // StringLoader
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkFieldInfo.h>
 #include    <CPbkContactItem.h>
 
--- a/phonebookui/Phonebook/View/src/CPbkFFSCheck.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkFFSCheck.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -59,12 +59,7 @@
 
 EXPORT_C TBool CPbkFFSCheck::FFSClCheckL(TInt aBytesToWrite/*=0*/)
     {
-    RFs* rfSession = NULL;
-    if ( iConeEnv )
-        {
-        rfSession = &iConeEnv->FsSession();
-        }
-    if (SysUtil::FFSSpaceBelowCriticalLevelL( rfSession, aBytesToWrite ) ||
+    if (SysUtil::FFSSpaceBelowCriticalLevelL(&iConeEnv->FsSession(),aBytesToWrite) ||
         DebugFailNext())
         {
         // Show not enough memory note
--- a/phonebookui/Phonebook/View/src/CPbkFetchDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkFetchDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <avkon.rsg>        // AVKON resource IDs
 #include <aknnavide.h>      // CAknNavigationDecorator
 #include <aknappui.h>       // CEikAppUi
-#include <pbkview.rsg>              // Phonebook view dll resource IDs
+#include <PbkView.rsg>              // Phonebook view dll resource IDs
 #include <AknUtils.h> 
 #include <CPbkContactIdSet.h>
 #include <TPbkContactViewIterator.h>
--- a/phonebookui/Phonebook/View/src/CPbkFieldFormatter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkFieldFormatter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include "CPbkFieldInfo.h"
 #include "CPbkSyncronizationConstants.h"
 #include <AknUtils.h>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 
 // ==================== LOCAL FUNCTIONS ====================
 
--- a/phonebookui/Phonebook/View/src/CPbkGroupBelongings.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkGroupBelongings.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <avkon.rsg>
 #include <StringLoader.h>
 
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include "CPbkGroupPopup.h"
 #include <CPbkContactEngine.h>
 #include <CPbkContactItem.h>
--- a/phonebookui/Phonebook/View/src/CPbkGroupMembersFetchDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkGroupMembersFetchDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include <cntview.h>
 
 // PbkView APIs
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include "CPbkFetchDlg.h"
 #include "MPbkFetchCallbacks.h"
 
--- a/phonebookui/Phonebook/View/src/CPbkGroupNameQueryDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkGroupNameQueryDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include    <cntitem.h>
 #include    <aknnotewrappers.h>
 #include    <StringLoader.h>
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkContactEngine.h>
 
 
--- a/phonebookui/Phonebook/View/src/CPbkIconArray.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkIconArray.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include <barsread.h>       // TResourceReader
 #include <gulicon.h>        // CGulIcon
 #include <coemain.h>        // CCoeEnv
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include "PbkIconInfo.h"
 
 #include <CPbkExtGlobals.h>
--- a/phonebookui/Phonebook/View/src/CPbkMemoryEntryAddItemDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkMemoryEntryAddItemDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include    <aknlists.h>    // EikControlFactory
 
 // PbkView classes
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkIconArray.h>
 
 // PbkEng classes
--- a/phonebookui/Phonebook/View/src/CPbkMemoryEntryDefaultsDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkMemoryEntryDefaultsDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <StringLoader.h>
 #include <featmgr.h>
 
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include "MPbkClipListBoxText.h"
 #include "CPbkFieldListBoxModel.h"
 #include <CPbkIconArray.h>
--- a/phonebookui/Phonebook/View/src/CPbkMemoryEntrySelectAddItemDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkMemoryEntrySelectAddItemDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 
 
 // PbkView classes
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkIconArray.h>
 #include    "TPbkAddItemWrapper.h"
 
--- a/phonebookui/Phonebook/View/src/CPbkMmsAddressSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkMmsAddressSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include    <avkon.rsg> // R_AVKON_SOFTKEYS_SELECT_CANCEL;
 #include    <aknnotewrappers.h>
 #include    <StringLoader.h>        // StringLoader
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkFieldInfo.h>
 #include    <CPbkContactItem.h>
 
--- a/phonebookui/Phonebook/View/src/CPbkMultipleEntryFetchDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkMultipleEntryFetchDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include "CPbkMultipleEntryFetchDlg.h"  // This class
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include "CPbkFetchDlg.h"
 #include "MPbkFetchDlgSelection.h"
 #include <CPbkContactEngine.h>
--- a/phonebookui/Phonebook/View/src/CPbkPhoneNumberSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkPhoneNumberSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include    <avkon.hrh>         // AVKON softkey codes
 #include    <aknnotewrappers.h> // AVKON Notes
 #include    <StringLoader.h>    // StringLoader
-#include    <pbkview.rsg>               // PbkView resources
+#include    <PbkView.rsg>               // PbkView resources
 #include    <CPbkContactItem.h>
 
 
--- a/phonebookui/Phonebook/View/src/CPbkPhoneNumberSelectBase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkPhoneNumberSelectBase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include    "CPbkPhoneNumberSelectBase.h"
 #include    <aknnotewrappers.h>
 #include    <StringLoader.h>        // StringLoader
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkFieldInfo.h>
 #include    <CPbkContactItem.h>
 
--- a/phonebookui/Phonebook/View/src/CPbkPhonebookInfoDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkPhonebookInfoDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include "CPbkPhonebookInfoDlg.h"
 
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <CPbkContactEngine.h>
 #include <StringLoader.h>
 #include <aknPopup.h>
--- a/phonebookui/Phonebook/View/src/CPbkPocAddressSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkPocAddressSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include    <avkon.rsg> // R_AVKON_SOFTKEYS_SELECT_CANCEL;
 #include    <aknnotewrappers.h>
 #include    <StringLoader.h>        // StringLoader
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkFieldInfo.h>
 #include    <CPbkContactItem.h>
 
--- a/phonebookui/Phonebook/View/src/CPbkRingingToneFetch.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkRingingToneFetch.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include    <cntfldst.h>
 #include    <coemain.h>
 #include    <CFLDFileListContainer.h>
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkContactEngine.h>
 #include    <CPbkFieldsInfo.h>
 #include    <CPbkFieldInfo.h>
--- a/phonebookui/Phonebook/View/src/CPbkSelectFieldDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkSelectFieldDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include    <eikclbd.h>     // CColumnListBoxData
 #include    <calslbs.h>     // AknTextUtils
 
-#include    <pbkview.rsg>   // View DLL resource Ids
+#include    <PbkView.rsg>   // View DLL resource Ids
 #include    "CPbkFieldListBoxModel.h"
 #include    "MPbkControlKeyObserver.h"
 #include    <CPbkIconArray.h>
--- a/phonebookui/Phonebook/View/src/CPbkSendKeyAddressSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkSendKeyAddressSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <avkon.hrh>         // AVKON softkey codes
 #include <aknnotewrappers.h> // AVKON Notes
 #include <StringLoader.h>    // StringLoader
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <CPbkContactItem.h>
 #include <CPbkContactEngine.h>
 #include <CPbkConstants.h>
--- a/phonebookui/Phonebook/View/src/CPbkSettingsDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkSettingsDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include "PbkUID.h"
 #include "PbkViewUtils.h"
 
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <CPbkContactEngine.h>
 #include <eikspane.h>
 #include <akntitle.h>
--- a/phonebookui/Phonebook/View/src/CPbkSettingsList.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkSettingsList.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include "CPbkSettingsList.h"			// This class
 #include "Cpbknameordersettingitem.h"
 #include <PbkView.hrh>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <CPbkContactEngine.h>
 
 /// Unnamed namespace for local definitons
--- a/phonebookui/Phonebook/View/src/CPbkSingleEntryFetchDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkSingleEntryFetchDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include "CPbkSingleEntryFetchDlg.h"  // This class
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include "CPbkFetchDlg.h"
 #include <CPbkContactEngine.h>
 
--- a/phonebookui/Phonebook/View/src/CPbkSingleItemFetchDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkSingleItemFetchDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <avkon.rsg>
 #include <StringLoader.h>
 
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include "CPbkFetchDlg.h"
 #include "MPbkFetchCallbacks.h"
 #include "CPbkSelectFieldDlg.h"
--- a/phonebookui/Phonebook/View/src/CPbkSwapContextPaneIcon.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkSwapContextPaneIcon.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <eikspane.h>   // CEikStatusPane
 #include <eikimage.h>   // CEikImage
 #include <akncontext.h> // CAknContextPane
-#include <pbkview.rsg>  // Phonebook view dll resource IDs
+#include <PbkView.rsg>  // Phonebook view dll resource IDs
 #include <AknsUtils.h>
 #include <AknsControlContext.h>
 #include <aknconsts.h>	// Context pane bitmap size
--- a/phonebookui/Phonebook/View/src/CPbkThumbnailCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkThumbnailCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <sysutil.h>
 #include <StringLoader.h>
 
-#include <pbkview.rsg>              // PbkView resource symbols
+#include <PbkView.rsg>              // PbkView resource symbols
 #include <PbkView.hrh>
 
 #include "CPbkThumbnailManager.h"
--- a/phonebookui/Phonebook/View/src/CPbkThumbnailPopup.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkThumbnailPopup.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include    <CPbkContactEngine.h>
 #include    <CPbkContactItem.h>
 #include    <CPbkConstants.h>
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <AknsUtils.h>
 #include <layoutmetadata.cdl.h>
 
--- a/phonebookui/Phonebook/View/src/CPbkThumbnailPopupControl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkThumbnailPopupControl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include    "CPbkThumbnailPopupControl.h"
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <barsread.h> // TResourceReader
 #include    <coemain.h> // CCoeEnv
 #include    <eikenv.h>  // CCoeMain
--- a/phonebookui/Phonebook/View/src/CPbkThumbnailPopupControlSlim.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkThumbnailPopupControlSlim.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include    "CPbkThumbnailPopupControlSlim.h"
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <barsread.h> // TResourceReader
 #include    <coemain.h> // CCoeEnv
 #include    <eikenv.h>  // CCoeMain
--- a/phonebookui/Phonebook/View/src/CPbkURLAddressSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkURLAddressSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include    <avkon.rsg> // R_AVKON_SOFTKEYS_SELECT_CANCEL;
 #include    <aknnotewrappers.h>
 #include    <StringLoader.h>        // StringLoader
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkFieldInfo.h>
 #include    <CPbkContactItem.h>
 
--- a/phonebookui/Phonebook/View/src/CPbkVideoNumberSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkVideoNumberSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include    <avkon.hrh>         // AVKON softkey codes
 #include    <aknnotewrappers.h> // AVKON Notes
 #include    <StringLoader.h>    // StringLoader
-#include    <pbkview.rsg>               // PbkView resources
+#include    <PbkView.rsg>               // PbkView resources
 #include    <CPbkContactItem.h>
 
 
--- a/phonebookui/Phonebook/View/src/CPbkVoipAddressSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/CPbkVoipAddressSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include    <avkon.rsg> // R_AVKON_SOFTKEYS_SELECT_CANCEL;
 #include    <aknnotewrappers.h>
 #include    <StringLoader.h>        // StringLoader
-#include    <pbkview.rsg>
+#include    <PbkView.rsg>
 #include    <CPbkFieldInfo.h>
 #include    <CPbkContactItem.h>
 
--- a/phonebookui/Phonebook/View/src/Cpbknameordersettingitem.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/Cpbknameordersettingitem.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include "Cpbknameordersettingitem.h"   // This class
 #include <CPbkContactEngine.h>
 #include <StringLoader.h>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 
 #include <PbkView.hrh>
 #include "PbkViewUtils.h"
--- a/phonebookui/Phonebook/View/src/PbkIconInfo.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/PbkIconInfo.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include <barsread.h>
 #include <coemain.h>
 #include <gulicon.h>
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <AknsUtils.h>
 #include <aknenv.h>
 
--- a/phonebookui/Phonebook/View/src/PbkViewUtils.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/View/src/PbkViewUtils.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include "PbkViewUtils.h"
-#include <pbkview.rsg>
+#include <PbkView.rsg>
 #include <StringLoader.h>
 #include <CPbkContactEngine.h>
 
--- a/phonebookui/Phonebook/group/BCardEng.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/group/BCardEng.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -64,12 +64,12 @@
 // Dependencies to system components
 LIBRARY         euser.lib bafl.lib estor.lib    // User libraries
 LIBRARY         efsrv.lib                       // file server
-LIBRARY		versit.lib vcard.lib            // Versit parser
-LIBRARY		cntmodel.lib                    // Contact model
-LIBRARY         imageconversion.lib             // Image handling
-LIBRARY         featmgr.lib	                // FeatureManager
+LIBRARY		    versit.lib vcard.lib            // Versit parser
+LIBRARY			cntmodel.lib                    // Contact model
+LIBRARY         ImageConversion.lib             // Image handling
+LIBRARY         featmgr.lib		                // FeatureManager
 
 // Dependencies to other components
-LIBRARY		pbkeng.lib pbkview.lib
+LIBRARY			PbkEng.lib PbkView.lib
 
 // End of File
--- a/phonebookui/Phonebook/group/PbkAiwProviders.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/group/PbkAiwProviders.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -59,9 +59,9 @@
 APP_LAYER_SYSTEMINCLUDE // macro that defines the platform system includes
 
 // Dependencies to other components
-LIBRARY         euser.lib cone.lib CommonEngine.lib diskspacereserver.lib eikcoctl.lib
+LIBRARY         euser.lib cone.lib commonengine.lib diskspacereserver.lib eikcoctl.lib
 LIBRARY         avkon.lib servicehandler.lib 
-LIBRARY         pbkeng.lib pbkview.lib PbkUi.lib
+LIBRARY         PbkEng.lib PbkView.lib PbkUi.lib
 LIBRARY         centralrepository.lib 
 LIBRARY         efsrv.lib  // RFs
 
--- a/phonebookui/Phonebook/group/PbkEng.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/group/PbkEng.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -135,12 +135,12 @@
 APP_LAYER_SYSTEMINCLUDE // macro that defines the platform system includes
 
 // Dependencies to system components
-LIBRARY         euser.lib bafl.lib estor.lib efsrv.lib ecom.lib
+LIBRARY         euser.lib bafl.lib estor.lib efsrv.lib ECom.lib
 LIBRARY         cntmodel.lib cntview.lib
-LIBRARY         centralrepository.lib
+LIBRARY         CentralRepository.lib
  
 // Dependencies to other components
-LIBRARY         sysutil.lib diskspacereserver.lib featmgr.lib cenrepnotifhandler.lib
+LIBRARY         SysUtil.lib diskspacereserver.lib featmgr.lib CenRepNotifHandler.lib
 
 // Debugging dependencies
 #ifdef PBK_ENABLE_DEBUG_LOGGER
--- a/phonebookui/Phonebook/group/PbkEngine_FM.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/group/PbkEngine_FM.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -73,9 +73,9 @@
 LIBRARY ecom.lib
 LIBRARY bafl.lib
 
-LIBRARY featmgr.lib
+LIBRARY FeatMgr.lib
 
-LIBRARY pbkeng.lib
+LIBRARY PbkEng.lib
 
 
 // End of File
--- a/phonebookui/Phonebook/group/PbkSINDHandler.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/group/PbkSINDHandler.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -55,7 +55,7 @@
 LIBRARY euser.lib
 LIBRARY efsrv.lib
 LIBRARY ecom.lib
-LIBRARY nssvasapi.lib
+LIBRARY NssVASApi.lib 
 
 LIBRARY flogger.lib
 
--- a/phonebookui/Phonebook/group/PbkView.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/group/PbkView.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -167,7 +167,7 @@
 LIBRARY euser.lib estor.lib efsrv.lib bafl.lib bitgdi.lib
 LIBRARY fbscli.lib cone.lib egul.lib eikcore.lib
 LIBRARY cntmodel.lib cntview.lib apgrfx.lib
-LIBRARY imageconversion.lib bitmaptransforms.lib
+LIBRARY ImageConversion.lib BitmapTransforms.lib
 
 // Dependencies to AVKON
 LIBRARY avkon.lib aknlayout.lib eikctl.lib eikcoctl.lib eikdlg.lib aknicon.lib
@@ -176,20 +176,20 @@
 LIBRARY AknLayout2Scalable.lib
 
 // Dependencies to Series60 platform components
-LIBRARY CommonEngine.lib sysutil.lib
-LIBRARY aknskins.lib aknjapanesereading.lib
-LIBRARY featmgr.lib FindUtil.lib numbergrouping.lib
+LIBRARY commonengine.lib sysutil.lib
+LIBRARY AknSkins.lib AknJapaneseReading.lib
+LIBRARY FeatMgr.lib FindUtil.lib numbergrouping.lib
 LIBRARY DrmHelper.lib apmime.lib centralrepository.lib
 LIBRARY diskspacereserver.lib
 LIBRARY hlplch.lib
 
 // Dependencies to other Phonebook components
-LIBRARY pbkeng.lib  // Phonebook Engine
+LIBRARY PbkEng.lib  // Phonebook Engine
 LIBRARY PbkExt.lib  // Phonebook Extension manager
 
 // Dependencies to other Series60 applications
-LIBRARY mgfetch.lib
-LIBRARY filelist.lib
+LIBRARY MGFetch.lib
+LIBRARY FileList.lib
 
 // DRM dependencies
 LIBRARY DrmParsers.lib DrmDcf.lib DrmRights.lib 
--- a/phonebookui/Phonebook/group/Phonebook.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook/group/Phonebook.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -153,25 +153,25 @@
 LIBRARY apgrfx.lib eikctl.lib
 
 // Dependencies to AVKON
-LIBRARY avkon.lib eikcoctl.lib
-LIBRARY aknskins.lib
+LIBRARY Avkon.lib eikcoctl.lib
+LIBRARY AknSkins.lib
 
 // Dependencies to Series60 platform components
-LIBRARY CommonEngine.lib diskspacereserver.lib
-LIBRARY ecom.lib featmgr.lib
+LIBRARY commonengine.lib diskspacereserver.lib
+LIBRARY ecom.lib FeatMgr.lib
 LIBRARY sendui.lib servicehandler.lib
 LIBRARY spdctrl.lib
 LIBRARY hlplch.lib
 
 // Dependencies to other Phonebook components
-LIBRARY pbkeng.lib      // Engine component
+LIBRARY PbkEng.lib      // Engine component
 LIBRARY PbkExt.lib      // Phonebook Extension manager
-LIBRARY bcardeng.lib    // Business card import/export component
-LIBRARY pbkview.lib     // View component
+LIBRARY BCardEng.lib    // Business card import/export component
+LIBRARY PbkView.lib     // View component
 LIBRARY PbkUI.lib       // Common Phonebook UI framework
 
 // Dependencies to other Series60 applications
-LIBRARY mgfetch.lib
+LIBRARY MGFetch.lib
 
 LIBRARY commonui.lib
 LIBRARY apmime.lib
--- a/phonebookui/Phonebook2/AIF/Pbk2ServerApp_reg.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/AIF/Pbk2ServerApp_reg.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,7 @@
 
 
 #include <appinfo.rh>
-#include <pbk2serverapp.rsg>
+#include <Pbk2ServerApp.rsg>
 #include <Pbk2InternalUID.h>
 
 UID2 KUidAppRegistrationResourceFile
--- a/phonebookui/Phonebook2/AIF/Phonebook2_reg.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/AIF/Phonebook2_reg.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,7 @@
 
 
 #include <appinfo.rh>
-#include <phonebook2.rsg>
+#include <Phonebook2.rsg>
 #include <Pbk2UID.h>
 
 UID2 KUidAppRegistrationResourceFile
--- a/phonebookui/Phonebook2/Application/rss/Pbk2MenuResources.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Application/rss/Pbk2MenuResources.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -18,8 +18,8 @@
 
 
 // INCLUDES
-#include <pbk2commands.rsg>     // menu pane definitions are here
-#include <pbk2uicontrols.rsg>   // CBA resources
+#include <Pbk2Commands.rsg>     // menu pane definitions are here
+#include <Pbk2UIControls.rsg>   // CBA resources
 
 // --------------------------------------------------------------------------
 // Names List View's main resource
@@ -106,7 +106,7 @@
             },
         MENU_TITLE
             {
-            menu_pane = R_AVKON_MENUPANE_MARK_MULTIPLE;
+            menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST;
             },            
         MENU_TITLE
             {
@@ -194,6 +194,37 @@
         };
     }
 
+// --------------------------------------------------------------------------
+// Names List View's Context sensitive menu bar
+// when items are marked
+// --------------------------------------------------------------------------
+//
+RESOURCE MENU_BAR r_phonebook2_nameslist_context_menubar_items_marked
+    {
+    titles =
+        {
+        MENU_TITLE
+            {
+            menu_pane = R_PHONEBOOK2_MARKABLE_LIST_CONTEXT_MENU;
+            },            
+        MENU_TITLE
+            {
+            menu_pane = R_PHONEBOOK2_NAMESLIST_COPY_CONTEXT_MENU;
+            },
+        MENU_TITLE
+            {
+            menu_pane = R_PHONEBOOK2_NAMESLIST_CONTEXT_MENU_MARKED_ITEMS;
+            },
+        MENU_TITLE
+            {
+            menu_pane = R_PHONEBOOK2_BCARD_SEND_MENU;
+            },            
+        MENU_TITLE
+            {
+            menu_pane = R_PHONEBOOK2_NAMELIST_CREATE_MESSAGE_MENU;
+            }
+        };
+    }
 
 // --------------------------------------------------------------------------
 // Contact Info View's menu bar
--- a/phonebookui/Phonebook2/Application/src/CPbk2AppUi.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Application/src/CPbk2AppUi.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -43,7 +43,7 @@
 #include <CPbk2FieldPropertyArray.h>
 #include <CPbk2TabGroupContainer.h>
 #include <MPbk2ContactViewSupplier.h>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <Pbk2UID.h>
 #include <Phonebook2PublicPSKeys.h> 
 
@@ -572,23 +572,9 @@
 // --------------------------------------------------------------------------
 //
 void CPbk2AppUi::LeavePbkInMemExitL()
-    {
-    PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING("CPbk2AppUi::LeavePbkInMemExitL"));
-    
-    TBool dlgOnTop = IsDisplayingMenuOrDialog();
-    // When Phonebook app is to leave in memory with a dialog displaying
-    // on the top of it, an escape key event will be simuliated to notify
-    // the dialog more earlier.
-    if ( dlgOnTop ) 
-        { 
-        TKeyEvent key; 
-        key.iRepeats = 0; 
-        key.iCode = EKeyEscape; 
-        key.iModifiers = 0; 
-        key.iScanCode = EStdKeyNull; 
-        iCoeEnv->SimulateKeyEventL(key, EEventKey); 
-        } 
-
+	{
+	PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING("CPbk2AppUi::LeavePbkInMemExitL"));
+	
 	// Diasable bring to foreground on view activation event
 	SetCustomControl(1);
 	
--- a/phonebookui/Phonebook2/Application/src/CPbk2ContactInfoAppView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Application/src/CPbk2ContactInfoAppView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,9 +26,9 @@
 #include "CPbk2ViewActivationTransaction.h"
 #include "Pbk2InternalCommands.hrh"
 #include "CPbk2ViewLoader.h"
-#include <phonebook2.rsg>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commands.rsg>
+#include <Phonebook2.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2Commands.rsg>
 #include <CPbk2ViewState.h>
 #include <MPbk2ContactNavigation.h>
 #include <Pbk2NavigatorFactory.h>
--- a/phonebookui/Phonebook2/Application/src/CPbk2SettingsView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Application/src/CPbk2SettingsView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,8 +36,8 @@
 #include <MPbk2CommandHandler.h>
 #include <MPbk2ApplicationServices.h>
 #include <csxhelp/phob.hlp.hrh>
-#include <phonebook2.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Phonebook2.rsg>
+#include <Pbk2UIControls.rsg>
 
 // System includes
 #include <StringLoader.h>
--- a/phonebookui/Phonebook2/Application/src/CPbk2StartupMonitor.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Application/src/CPbk2StartupMonitor.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,8 +30,8 @@
 #include <MPbk2StartupObserver.h>
 #include <MPbk2ApplicationServices.h>
 #include <MPbk2ContactViewSupplier.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commonui.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <CPbk2AppViewBase.h>
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/Application/src/CPbk2UIApplicationServices.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Application/src/CPbk2UIApplicationServices.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <CPbk2CommandHandler.h>
 #include <MPbk2ViewExplorer.h>
 #include <Pbk2ContactNameFormatterFactory.h>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <CPbk2StorePropertyArray.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <Pbk2MenuFilteringFlags.hrh>
--- a/phonebookui/Phonebook2/Application/src/CPbk2ViewExplorer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Application/src/CPbk2ViewExplorer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include "CPbk2AppViewFactory.h"
 #include "CPbk2AppUi.h"
 #include "CPbk2Document.h"
-#include <phonebook2.rsg>
+#include <Phonebook2.rsg>
 #include <CPbk2ViewGraph.h>
 #include <CPbk2AppViewBase.h>
 #include <CPbk2IconInfoContainer.h>
--- a/phonebookui/Phonebook2/BWINS/Pbk2CommandsU.DEF	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/BWINS/Pbk2CommandsU.DEF	Wed Oct 13 14:15:33 2010 +0300
@@ -37,6 +37,4 @@
 	?AttachL@CPbk2AiwInterestItemBase@@UAEXHHH@Z @ 36 NONAME ; void CPbk2AiwInterestItemBase::AttachL(int, int, int)
 	?InterestId@CPbk2AiwInterestItemBase@@UBEHXZ @ 37 NONAME ; int CPbk2AiwInterestItemBase::InterestId(void) const
 	?SetStore@CPbk2DriveSpaceCheck@@QAEXABVTDesC16@@@Z @ 38 NONAME ; void CPbk2DriveSpaceCheck::SetStore(class TDesC16 const &)
-	?CommandStore@CPbk2CommandHandler@@QAEPAVCPbk2CommandStore@@XZ @ 39 NONAME ; class CPbk2CommandStore * CPbk2CommandHandler::CommandStore(void)
-	?DestroyAllCommands@CPbk2CommandStore@@QAEXXZ @ 40 NONAME ; void CPbk2CommandStore::DestroyAllCommands(void)
 
--- a/phonebookui/Phonebook2/BWINS/Pbk2UiControlsU.DEF	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/BWINS/Pbk2UiControlsU.DEF	Wed Oct 13 14:15:33 2010 +0300
@@ -1,124 +1,124 @@
 EXPORTS
-	?ExecuteLD@CPbk2GeneralConfirmationQuery@@QAEHABVMVPbkBaseContact@@H@Z @ 1 NONAME ; int CPbk2GeneralConfirmationQuery::ExecuteLD(class MVPbkBaseContact const &, int)
-	?NewL@CPbk2ContactInfoControl@@SAPAV1@PBVCCoeControl@@AAVCVPbkContactManager@@AAVMPbk2ContactNameFormatter@@AAVMPbk2FieldPropertyArray@@AAVCPbk2StorePropertyArray@@PAVMPbk2ContactNavigation@@@Z @ 2 NONAME ; class CPbk2ContactInfoControl * CPbk2ContactInfoControl::NewL(class CCoeControl const *, class CVPbkContactManager &, class MPbk2ContactNameFormatter &, class MPbk2FieldPropertyArray &, class CPbk2StorePropertyArray &, class MPbk2ContactNavigation *)
-	?MapViewTypeToAddress@Pbk2AddressTools@@SA?AW4TPbk2FieldGroupId@@W4TActiveView@TPbk2ContactEditorParams@@@Z @ 3 NONAME ; enum TPbk2FieldGroupId Pbk2AddressTools::MapViewTypeToAddress(enum TPbk2ContactEditorParams::TActiveView)
-	??0TParams@CPbk2FetchDlg@@QAE@XZ @ 4 NONAME ; CPbk2FetchDlg::TParams::TParams(void)
-	?SetAllItemTextL@CPbk2StoreListQuery@@QAEXABVTDesC16@@H@Z @ 5 NONAME ; void CPbk2StoreListQuery::SetAllItemTextL(class TDesC16 const &, int)
-	??0TPbk2AddItemWrapper@@QAE@ABVMPbk2FieldProperty@@@Z @ 6 NONAME ; TPbk2AddItemWrapper::TPbk2AddItemWrapper(class MPbk2FieldProperty const &)
-	?ExecuteLD@CPbk2PhonebookInfoDlg@@QAEXAAVCVPbkContactStoreUriArray@@@Z @ 7 NONAME ; void CPbk2PhonebookInfoDlg::ExecuteLD(class CVPbkContactStoreUriArray &)
-	?SetTimeFormatL@CPbk2FieldFormatter@@QAEXABVTDesC16@@@Z @ 8 NONAME ; void CPbk2FieldFormatter::SetTimeFormatL(class TDesC16 const &)
-	?StopWait@CPbk2InputAbsorber@@QAEXXZ @ 9 NONAME ; void CPbk2InputAbsorber::StopWait(void)
-	??0TPbk2AddItemWrapper@@QAE@ABVCPbk2FieldPropertyGroup@@@Z @ 10 NONAME ; TPbk2AddItemWrapper::TPbk2AddItemWrapper(class CPbk2FieldPropertyGroup const &)
-	?RemoveDefaultsL@CPbk2DefaultAttributeProcess@@QAEXPAV?$CArrayFixFlat@W4TVPbkDefaultType@@@@@Z @ 11 NONAME ; void CPbk2DefaultAttributeProcess::RemoveDefaultsL(class CArrayFixFlat<enum TVPbkDefaultType> *)
-	?NewL@CPbk2DefaultAttributeProcess@@SAPAV1@AAVCVPbkContactManager@@AAVMVPbkStoreContact@@AAVMPbk2DefaultAttributeProcessObserver@@@Z @ 12 NONAME ; class CPbk2DefaultAttributeProcess * CPbk2DefaultAttributeProcess::NewL(class CVPbkContactManager &, class MVPbkStoreContact &, class MPbk2DefaultAttributeProcessObserver &)
-	?SetDefaultL@CPbk2DefaultAttributeProcess@@QAEXW4TVPbkDefaultType@@AAVMVPbkStoreContactField@@@Z @ 13 NONAME ; void CPbk2DefaultAttributeProcess::SetDefaultL(enum TVPbkDefaultType, class MVPbkStoreContactField &)
-	?ExecuteLD@CPbk2AddItemToContactDlg@@QAEHAAV?$RArray@VTPbk2AddItemWrapper@@@@PBVTPbk2AddItemDialogParams@@@Z @ 14 NONAME ; int CPbk2AddItemToContactDlg::ExecuteLD(class RArray<class TPbk2AddItemWrapper> &, class TPbk2AddItemDialogParams const *)
-	?SetFocusedStoreContact@CPbk2ContactUiControlSubstitute@@QAEXABVMVPbkStoreContact@@@Z @ 15 NONAME ; void CPbk2ContactUiControlSubstitute::SetFocusedStoreContact(class MVPbkStoreContact const &)
-	?NewL@CPbk2ThumbnailManager@@SAPAV1@AAVCVPbkContactManager@@@Z @ 16 NONAME ; class CPbk2ThumbnailManager * CPbk2ThumbnailManager::NewL(class CVPbkContactManager &)
-	?NewL@CPbk2SettingsListControl@@SAPAV1@PBVCCoeControl@@AAVCPbk2SortOrderManager@@AAVMPbk2SettingsControlExtension@@@Z @ 17 NONAME ; class CPbk2SettingsListControl * CPbk2SettingsListControl::NewL(class CCoeControl const *, class CPbk2SortOrderManager &, class MPbk2SettingsControlExtension &)
-	?NewL@CPbk2ContactUiControlSubstitute@@SAPAV1@XZ @ 18 NONAME ; class CPbk2ContactUiControlSubstitute * CPbk2ContactUiControlSubstitute::NewL(void)
-	?ExecuteLD@CPbk2GeneralConfirmationQuery@@QAEHHH@Z @ 19 NONAME ; int CPbk2GeneralConfirmationQuery::ExecuteLD(int, int)
-	?Wait@CPbk2InputAbsorber@@QAEXXZ @ 20 NONAME ; void CPbk2InputAbsorber::Wait(void)
-	?StopQuery@CPbk2GeneralConfirmationQuery@@QAEXXZ @ 21 NONAME ; void CPbk2GeneralConfirmationQuery::StopQuery(void)
-	?SetCba@CPbk2AddressSelect@@QAEXH@Z @ 22 NONAME ; void CPbk2AddressSelect::SetCba(int)
-	?LoadThumbnailL@CPbk2ThumbnailLoader@@QAEXPAVMVPbkContactLink@@PBVCEikListBox@@W4TPbk2ThumbnailLocation@@@Z @ 23 NONAME ; void CPbk2ThumbnailLoader::LoadThumbnailL(class MVPbkContactLink *, class CEikListBox const *, enum TPbk2ThumbnailLocation)
-	?NewL@CPbk2MemoryEntryDefaultsAssignDlg@@SAPAV1@XZ @ 24 NONAME ; class CPbk2MemoryEntryDefaultsAssignDlg * CPbk2MemoryEntryDefaultsAssignDlg::NewL(void)
-	?ExecuteLD@CPbk2GeneralConfirmationQuery@@QAEHABVMVPbkBaseContact@@HH@Z @ 25 NONAME ; int CPbk2GeneralConfirmationQuery::ExecuteLD(class MVPbkBaseContact const &, int, int)
-	??1CPbk2AddressSelect@@UAE@XZ @ 26 NONAME ; CPbk2AddressSelect::~CPbk2AddressSelect(void)
-	?MapVPbkFieldTypeToAddressGroupId@Pbk2AddressTools@@SA?AW4TPbk2FieldGroupId@@PBVMVPbkFieldType@@@Z @ 27 NONAME ; enum TPbk2FieldGroupId Pbk2AddressTools::MapVPbkFieldTypeToAddressGroupId(class MVPbkFieldType const *)
-	?GetAddressShortPreviewLC@Pbk2AddressTools@@SAXAAVMVPbkStoreContact@@W4TPbk2FieldGroupId@@AAVRBuf16@@@Z @ 28 NONAME ; void Pbk2AddressTools::GetAddressShortPreviewLC(class MVPbkStoreContact &, enum TPbk2FieldGroupId, class RBuf16 &)
-	?NewL@CPbk2NamesListControl@@SAPAV1@HPBVCCoeControl@@AAVCVPbkContactManager@@AAVMVPbkContactViewBase@@AAVMPbk2ContactNameFormatter@@AAVCPbk2StorePropertyArray@@PAVCPbk2ThumbnailManager@@@Z @ 29 NONAME ; class CPbk2NamesListControl * CPbk2NamesListControl::NewL(int, class CCoeControl const *, class CVPbkContactManager &, class MVPbkContactViewBase &, class MPbk2ContactNameFormatter &, class CPbk2StorePropertyArray &, class CPbk2ThumbnailManager *)
-	?AcceptDelayedFetchL@CPbk2FetchDlg@@QAEXABVTDesC8@@@Z @ 30 NONAME ; void CPbk2FetchDlg::AcceptDelayedFetchL(class TDesC8 const &)
-	?SetViewL@CPbk2NamesListControl@@QAEXAAVMVPbkContactViewBase@@@Z @ 31 NONAME ; void CPbk2NamesListControl::SetViewL(class MVPbkContactViewBase &)
-	?CreateTitlePanePictureLC@Pbk2TitlePanePictureFactory@@SAPAVCEikImage@@PBVMVPbkStoreContact@@AAVCPbk2StorePropertyArray@@@Z @ 32 NONAME ; class CEikImage * Pbk2TitlePanePictureFactory::CreateTitlePanePictureLC(class MVPbkStoreContact const *, class CPbk2StorePropertyArray &)
-	?SetCommandObserver@CPbk2InputAbsorber@@QAEXPAVMEikCommandObserver@@@Z @ 33 NONAME ; void CPbk2InputAbsorber::SetCommandObserver(class MEikCommandObserver *)
-	?InitializeL@CPbk2ContactEditorReadonlyField@@QAEXPAVMPbk2ContactEditorUIField@@@Z @ 34 NONAME ; void CPbk2ContactEditorReadonlyField::InitializeL(class MPbk2ContactEditorUIField *)
-	?SetCurrentGroupLinkL@CPbk2NamesListControl@@QAEXPAVMVPbkContactLink@@@Z @ 35 NONAME ; void CPbk2NamesListControl::SetCurrentGroupLinkL(class MVPbkContactLink *)
-	?Reset@CPbk2NamesListControl@@QAEXXZ @ 36 NONAME ; void CPbk2NamesListControl::Reset(void)
-	?RemoveObserver@CPbk2ContactInfoControl@@QAEXAAVMPbk2ControlObserver@@@Z @ 37 NONAME ; void CPbk2ContactInfoControl::RemoveObserver(class MPbk2ControlObserver &)
-	?NewL@CPbk2StoreListQuery@@SAPAV1@XZ @ 38 NONAME ; class CPbk2StoreListQuery * CPbk2StoreListQuery::NewL(void)
-	?NewLC@CPbk2InputAbsorber@@SAPAV1@H@Z @ 39 NONAME ; class CPbk2InputAbsorber * CPbk2InputAbsorber::NewLC(int)
-	?NewL@CPbk2MergePhotoConflictDlg@@SAPAV1@PAVMVPbkBaseContact@@0PAH@Z @ 40 NONAME ; class CPbk2MergePhotoConflictDlg * CPbk2MergePhotoConflictDlg::NewL(class MVPbkBaseContact *, class MVPbkBaseContact *, int *)
-	??0CPbk2NamesListControl@@QAE@PBVCCoeControl@@AAVCVPbkContactManager@@AAVMVPbkContactViewBase@@AAVMPbk2ContactNameFormatter@@AAVCPbk2StorePropertyArray@@@Z @ 41 NONAME ; CPbk2NamesListControl::CPbk2NamesListControl(class CCoeControl const *, class CVPbkContactManager &, class MVPbkContactViewBase &, class MPbk2ContactNameFormatter &, class CPbk2StorePropertyArray &)
-	?SetTextL@CPbk2ContactEditorReadonlyField@@QAEXPBVTDesC16@@@Z @ 42 NONAME ; void CPbk2ContactEditorReadonlyField::SetTextL(class TDesC16 const *)
-	?GiveViewL@CPbk2NamesListControl@@QAEXPAVMVPbkContactViewBase@@@Z @ 43 NONAME ; void CPbk2NamesListControl::GiveViewL(class MVPbkContactViewBase *)
-	?FieldLabel@CPbk2ContactEditorUIFieldBase@@UBEABVTDesC16@@XZ @ 44 NONAME ; class TDesC16 const & CPbk2ContactEditorUIFieldBase::FieldLabel(void) const
-	?RemoveDefaultL@CPbk2DefaultAttributeProcess@@QAEXW4TVPbkDefaultType@@@Z @ 45 NONAME ; void CPbk2DefaultAttributeProcess::RemoveDefaultL(enum TVPbkDefaultType)
-	?MassUpdateSkipProgressNote@CPbk2NamesListControl@@QAEXH@Z @ 46 NONAME ; void CPbk2NamesListControl::MassUpdateSkipProgressNote(int)
-	?MapAddressToVersitParam@Pbk2AddressTools@@SA?AW4TVPbkFieldTypeParameter@@W4TPbk2FieldGroupId@@@Z @ 47 NONAME ; enum TVPbkFieldTypeParameter Pbk2AddressTools::MapAddressToVersitParam(enum TPbk2FieldGroupId)
-	??0TPbk2AddressSelectParams@@QAE@AAVMVPbkStoreContact@@ABVCVPbkContactManager@@AAVMPbk2ContactNameFormatter@@ABVCPbk2FieldPropertyArray@@AAVTResourceReader@@H@Z @ 48 NONAME ; TPbk2AddressSelectParams::TPbk2AddressSelectParams(class MVPbkStoreContact &, class CVPbkContactManager const &, class MPbk2ContactNameFormatter &, class CPbk2FieldPropertyArray const &, class TResourceReader &, int)
-	?NewL@CPbk2MergeConflictsDlg@@SAPAV1@PAVMPbk2MergeResolver@@H@Z @ 49 NONAME ; class CPbk2MergeConflictsDlg * CPbk2MergeConflictsDlg::NewL(class MPbk2MergeResolver *, int)
-	?NewL@CPbk2ContactIconsUtils@@SAPAV1@AAVCPbk2StorePropertyArray@@PAVMPbk2ContactUiControlExtension@@@Z @ 50 NONAME ; class CPbk2ContactIconsUtils * CPbk2ContactIconsUtils::NewL(class CPbk2StorePropertyArray &, class MPbk2ContactUiControlExtension *)
-	?HandleCustomFieldCommandL@CPbk2ContactEditorUIFieldBase@@UAEHH@Z @ 51 NONAME ; int CPbk2ContactEditorUIFieldBase::HandleCustomFieldCommandL(int)
-	?NewL@CPbk2InputAbsorber@@SAPAV1@H@Z @ 52 NONAME ; class CPbk2InputAbsorber * CPbk2InputAbsorber::NewL(int)
-	??BTParams@CPbk2FetchDlg@@QAE?AVTCleanupItem@@XZ @ 53 NONAME ; CPbk2FetchDlg::TParams::operator class TCleanupItem(void)
-	?SetDefaultPriorities@TPbk2AddressSelectParams@@QAEXABVRVPbkContactFieldDefaultPriorities@@@Z @ 54 NONAME ; void TPbk2AddressSelectParams::SetDefaultPriorities(class RVPbkContactFieldDefaultPriorities const &)
-	?CreatePhoneNumberFormatterL@Pbk2PhoneNumberFormatterFactory@@SAPAVMPbk2PhoneNumberFormatter@@H@Z @ 55 NONAME ; class MPbk2PhoneNumberFormatter * Pbk2PhoneNumberFormatterFactory::CreatePhoneNumberFormatterL(int)
-	?RemoveObserver@CPbk2NamesListControl@@QAEXAAVMPbk2ControlObserver@@@Z @ 56 NONAME ; void CPbk2NamesListControl::RemoveObserver(class MPbk2ControlObserver &)
-	?HideThumbnail@CPbk2ThumbnailLoader@@QAEXXZ @ 57 NONAME ; void CPbk2ThumbnailLoader::HideThumbnail(void)
-	?CreateListboxIconArrayL@CPbk2ContactIconsUtils@@SAPAVCPbk2IconArray@@H@Z @ 58 NONAME ; class CPbk2IconArray * CPbk2ContactIconsUtils::CreateListboxIconArrayL(int)
-	?SetFieldLabelL@CPbk2ContactEditorUIFieldBase@@UAEXABVTDesC16@@@Z @ 59 NONAME ; void CPbk2ContactEditorUIFieldBase::SetFieldLabelL(class TDesC16 const &)
-	?NewL@CPbk2ThumbnailLoader@@SAPAV1@AAVCVPbkContactManager@@@Z @ 60 NONAME ; class CPbk2ThumbnailLoader * CPbk2ThumbnailLoader::NewL(class CVPbkContactManager &)
-	?NewL@CPbk2PhonebookInfoDlg@@SAPAV1@XZ @ 61 NONAME ; class CPbk2PhonebookInfoDlg * CPbk2PhonebookInfoDlg::NewL(void)
-	?NewL@CPbk2NamesListControl@@SAPAV1@HPBVCCoeControl@@AAVCVPbkContactManager@@AAVMVPbkContactViewBase@@AAVMPbk2ContactNameFormatter@@AAVCPbk2StorePropertyArray@@@Z @ 62 NONAME ; class CPbk2NamesListControl * CPbk2NamesListControl::NewL(int, class CCoeControl const *, class CVPbkContactManager &, class MVPbkContactViewBase &, class MPbk2ContactNameFormatter &, class CPbk2StorePropertyArray &)
-	?AllowPointerEvents@CPbk2NamesListControl@@QAEXH@Z @ 63 NONAME ; void CPbk2NamesListControl::AllowPointerEvents(int)
-	?GetIconIdsForContactL@CPbk2ContactIconsUtils@@QBEXABVMVPbkViewContact@@AAV?$RArray@VTPbk2IconId@@@@@Z @ 64 NONAME ; void CPbk2ContactIconsUtils::GetIconIdsForContactL(class MVPbkViewContact const &, class RArray<class TPbk2IconId> &) const
-	?ExecuteLD@CPbk2MemoryEntryDefaultsDlg@@QAEXXZ @ 65 NONAME ; void CPbk2MemoryEntryDefaultsDlg::ExecuteLD(void)
-	?NewL@CPbk2GeneralConfirmationQuery@@SAPAV1@XZ @ 66 NONAME ; class CPbk2GeneralConfirmationQuery * CPbk2GeneralConfirmationQuery::NewL(void)
-	?SetDefaultsL@CPbk2DefaultAttributeProcess@@QAEXPAV?$CArrayFixFlat@W4TVPbkDefaultType@@@@AAVMVPbkStoreContactField@@@Z @ 67 NONAME ; void CPbk2DefaultAttributeProcess::SetDefaultsL(class CArrayFixFlat<enum TVPbkDefaultType> *, class MVPbkStoreContactField &)
-	?NewL@CPbk2MemoryEntryDefaultsDlg@@SAPAV1@AAVCPbk2PresentationContact@@AAVCVPbkContactManager@@@Z @ 68 NONAME ; class CPbk2MemoryEntryDefaultsDlg * CPbk2MemoryEntryDefaultsDlg::NewL(class CPbk2PresentationContact &, class CVPbkContactManager &)
-	?AttemptExitL@CPbk2AddressSelect@@QAEXH@Z @ 69 NONAME ; void CPbk2AddressSelect::AttemptExitL(int)
-	?SetFocusedFieldIndex@CPbk2ContactUiControlSubstitute@@UAEXH@Z @ 70 NONAME ; void CPbk2ContactUiControlSubstitute::SetFocusedFieldIndex(int)
-	?SetUseDefaultDirectly@TPbk2AddressSelectParams@@QAEXH@Z @ 71 NONAME ; void TPbk2AddressSelectParams::SetUseDefaultDirectly(int)
-	?ExecuteLD@CPbk2ContactEditorDlg@@QAEXXZ @ 72 NONAME ; void CPbk2ContactEditorDlg::ExecuteLD(void)
-	?SetFocus@CPbk2ContactEditorUIFieldBase@@UAEXXZ @ 73 NONAME ; void CPbk2ContactEditorUIFieldBase::SetFocus(void)
-	?Refresh@CPbk2ThumbnailLoader@@QAEXXZ @ 74 NONAME ; void CPbk2ThumbnailLoader::Refresh(void)
-	?ExecuteLD@CPbk2FetchDlg@@QAEHXZ @ 75 NONAME ; int CPbk2FetchDlg::ExecuteLD(void)
-	?NewL@CPbk2UIFieldArray@@SAPAV1@ABVTDesC16@@AAVRFs@@AAVMPbk2UIFieldFactory@@@Z @ 76 NONAME ; class CPbk2UIFieldArray * CPbk2UIFieldArray::NewL(class TDesC16 const &, class RFs &, class MPbk2UIFieldFactory &)
-	?CommitSettingsL@CPbk2SettingsListControl@@QAEXXZ @ 77 NONAME ; void CPbk2SettingsListControl::CommitSettingsL(void)
-	?NewL@CPbk2AddressSelect@@SAPAV1@AAVTPbk2AddressSelectParams@@@Z @ 78 NONAME ; class CPbk2AddressSelect * CPbk2AddressSelect::NewL(class TPbk2AddressSelectParams &)
-	?Reset@CPbk2ThumbnailLoader@@QAEXXZ @ 79 NONAME ; void CPbk2ThumbnailLoader::Reset(void)
-	?ExecuteLD@CPbk2MemoryEntryDefaultsAssignDlg@@QAEHABVCPbk2PresentationContactFieldCollection@@ABVCVPbkContactManager@@ABVMPbk2FieldPropertyArray@@W4TVPbkContactActionTypeSelector@VPbkFieldTypeSelectorFactory@@@Z @ 80 NONAME ; int CPbk2MemoryEntryDefaultsAssignDlg::ExecuteLD(class CPbk2PresentationContactFieldCollection const &, class CVPbkContactManager const &, class MPbk2FieldPropertyArray const &, enum VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector)
-	?NewL@CPbk2AddressSelect@@SAPAV1@AAVTPbk2AddressSelectParams@@AAVCVPbkFieldTypeSelector@@PBV?$TArray@PAVMVPbkStoreContact@@@@PBV?$TArray@PAVCPbk2PresenceIconInfo@@@@@Z @ 81 NONAME ; class CPbk2AddressSelect * CPbk2AddressSelect::NewL(class TPbk2AddressSelectParams &, class CVPbkFieldTypeSelector &, class TArray<class MVPbkStoreContact *> const *, class TArray<class CPbk2PresenceIconInfo *> const *)
-	?PropertyCount@TPbk2AddItemWrapper@@QBEHXZ @ 82 NONAME ; int TPbk2AddItemWrapper::PropertyCount(void) const
-	?ExecuteLD@CPbk2AddressSelect@@QAEPAVMVPbkStoreContactField@@XZ @ 83 NONAME ; class MVPbkStoreContactField * CPbk2AddressSelect::ExecuteLD(void)
-	?ControlId@CPbk2ContactEditorUIFieldBase@@UAEHXZ @ 84 NONAME ; int CPbk2ContactEditorUIFieldBase::ControlId(void)
-	?IsWaiting@CPbk2InputAbsorber@@QBEHXZ @ 85 NONAME ; int CPbk2InputAbsorber::IsWaiting(void) const
-	??1CPbk2ContactEditorUIFieldBase@@UAE@XZ @ 86 NONAME ; CPbk2ContactEditorUIFieldBase::~CPbk2ContactEditorUIFieldBase(void)
-	?SetFocusedField@CPbk2ContactUiControlSubstitute@@QAEXABVMVPbkBaseContactField@@@Z @ 87 NONAME ; void CPbk2ContactUiControlSubstitute::SetFocusedField(class MVPbkBaseContactField const &)
-	?GetAddressPreviewLC@Pbk2AddressTools@@SAXAAVMVPbkStoreContact@@W4TPbk2FieldGroupId@@AAVRBuf16@@@Z @ 88 NONAME ; void Pbk2AddressTools::GetAddressPreviewLC(class MVPbkStoreContact &, enum TPbk2FieldGroupId, class RBuf16 &)
-	?NewL@CPbk2AddItemToContactDlg@@SAPAV1@XZ @ 89 NONAME ; class CPbk2AddItemToContactDlg * CPbk2AddItemToContactDlg::NewL(void)
-	?NewL@CPbk2FieldFormatter@@SAPAV1@ABVMPbk2FieldPropertyArray@@ABVMVPbkFieldTypeList@@@Z @ 90 NONAME ; class CPbk2FieldFormatter * CPbk2FieldFormatter::NewL(class MPbk2FieldPropertyArray const &, class MVPbkFieldTypeList const &)
-	?NewL@CPbk2PrependDlg@@SAPAV1@AAVTDes16@@@Z @ 91 NONAME ; class CPbk2PrependDlg * CPbk2PrependDlg::NewL(class TDes16 &)
-	?AddObserverL@CPbk2NamesListControl@@QAEXAAVMPbk2ControlObserver@@@Z @ 92 NONAME ; void CPbk2NamesListControl::AddObserverL(class MPbk2ControlObserver &)
-	?FormatFieldContentL@CPbk2FieldFormatter@@QAE?AVTPtrC16@@ABVMVPbkBaseContactField@@ABVMVPbkFieldType@@@Z @ 93 NONAME ; class TPtrC16 CPbk2FieldFormatter::FormatFieldContentL(class MVPbkBaseContactField const &, class MVPbkFieldType const &)
-	?SetTitleToIncludeContactName@TPbk2AddressSelectParams@@QAEXH@Z @ 94 NONAME ; void TPbk2AddressSelectParams::SetTitleToIncludeContactName(int)
-	?SetSelectedStore@CPbk2ContactUiControlSubstitute@@QAEXAAVMVPbkContactStore@@@Z @ 95 NONAME ; void CPbk2ContactUiControlSubstitute::SetSelectedStore(class MVPbkContactStore &)
-	?SetFocusedField@TPbk2AddressSelectParams@@QAEXPBVMVPbkStoreContactField@@@Z @ 96 NONAME ; void TPbk2AddressSelectParams::SetFocusedField(class MVPbkStoreContactField const *)
-	?GetAddressFieldsLC@Pbk2AddressTools@@SAXAAVMVPbkStoreContact@@W4TPbk2FieldGroupId@@AAV?$RHashMap@HVTPtrC16@@@@@Z @ 97 NONAME ; void Pbk2AddressTools::GetAddressFieldsLC(class MVPbkStoreContact &, enum TPbk2FieldGroupId, class RHashMap<int, class TPtrC16> &)
-	?SetParentUiControl@CPbk2ContactUiControlSubstitute@@QAEXAAVMPbk2ContactUiControl@@@Z @ 98 NONAME ; void CPbk2ContactUiControlSubstitute::SetParentUiControl(class MPbk2ContactUiControl &)
-	?ExecuteLD@CPbk2StoreListQuery@@QAEHABVTDesC16@@AAVCVPbkContactStoreUriArray@@@Z @ 99 NONAME ; int CPbk2StoreListQuery::ExecuteLD(class TDesC16 const &, class CVPbkContactStoreUriArray &)
-	?DenyDelayedFetchL@CPbk2FetchDlg@@QAEXABVTDesC8@@@Z @ 100 NONAME ; void CPbk2FetchDlg::DenyDelayedFetchL(class TDesC8 const &)
-	??0CPbk2ContactEditorUIFieldBase@@IAE@PAVMPbk2UIField@@AAVMPbk2ContactEditorUiBuilder@@AAVCPbk2IconInfoContainer@@H@Z @ 101 NONAME ; CPbk2ContactEditorUIFieldBase::CPbk2ContactEditorUIFieldBase(class MPbk2UIField *, class MPbk2ContactEditorUiBuilder &, class CPbk2IconInfoContainer &, int)
-	?LoadThumbnail@CPbk2ThumbnailLoader@@QAEXPAVMVPbkStoreContact@@PBVCEikListBox@@W4TPbk2ThumbnailLocation@@@Z @ 102 NONAME ; void CPbk2ThumbnailLoader::LoadThumbnail(class MVPbkStoreContact *, class CEikListBox const *, enum TPbk2ThumbnailLocation)
-	?LoadBitmapToFieldL@CPbk2ContactEditorUIFieldBase@@UAEXABVTPbk2IconId@@@Z @ 103 NONAME ; void CPbk2ContactEditorUIFieldBase::LoadBitmapToFieldL(class TPbk2IconId const &)
-	?MapCtrlTypeToAddress@Pbk2AddressTools@@SA?AW4TPbk2FieldGroupId@@H@Z @ 104 NONAME ; enum TPbk2FieldGroupId Pbk2AddressTools::MapCtrlTypeToAddress(int)
-	?MapAddressToOrdering@Pbk2AddressTools@@SAHW4TPbk2FieldGroupId@@@Z @ 105 NONAME ; int Pbk2AddressTools::MapAddressToOrdering(enum TPbk2FieldGroupId)
-	?SetOpeningCca@CPbk2NamesListControl@@QAEXH@Z @ 106 NONAME ; void CPbk2NamesListControl::SetOpeningCca(int)
-	?ConsumesKeyEvent@CPbk2ContactEditorUIFieldBase@@UAEHABUTKeyEvent@@W4TEventCode@@@Z @ 107 NONAME ; int CPbk2ContactEditorUIFieldBase::ConsumesKeyEvent(struct TKeyEvent const &, enum TEventCode)
-	?IsAddressPreviewEmptyL@Pbk2AddressTools@@SAHAAVMVPbkStoreContact@@W4TPbk2FieldGroupId@@@Z @ 108 NONAME ; int Pbk2AddressTools::IsAddressPreviewEmptyL(class MVPbkStoreContact &, enum TPbk2FieldGroupId)
-	?MapCtrlTypeToViewType@Pbk2AddressTools@@SA?AW4TActiveView@TPbk2ContactEditorParams@@H@Z @ 109 NONAME ; enum TPbk2ContactEditorParams::TActiveView Pbk2AddressTools::MapCtrlTypeToViewType(int)
-	?NewL@CPbk2AddItemToContactDlg@@SAPAV1@PAVMPbk2ApplicationServices@@@Z @ 110 NONAME ; class CPbk2AddItemToContactDlg * CPbk2AddItemToContactDlg::NewL(class MPbk2ApplicationServices *)
-	?SetQueryAlways@TPbk2AddressSelectParams@@QAEXH@Z @ 111 NONAME ; void TPbk2AddressSelectParams::SetQueryAlways(int)
-	?PropertyAt@TPbk2AddItemWrapper@@QBEABVMPbk2FieldProperty@@H@Z @ 112 NONAME ; class MPbk2FieldProperty const & TPbk2AddItemWrapper::PropertyAt(int) const
-	?Pbk2ControlKeyEventL@CPbk2AddressSelect@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 113 NONAME ; enum TKeyResponse CPbk2AddressSelect::Pbk2ControlKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?AddObserverL@CPbk2ContactInfoControl@@QAEXAAVMPbk2ControlObserver@@@Z @ 114 NONAME ; void CPbk2ContactInfoControl::AddObserverL(class MPbk2ControlObserver &)
-	?HandleViewForegroundEventL@CPbk2NamesListControl@@QAEXH@Z @ 115 NONAME ; void CPbk2NamesListControl::HandleViewForegroundEventL(int)
-	?NewL@CPbk2ContactEditorDlg@@SAPAV1@AAVTPbk2ContactEditorParams@@PAVMVPbkStoreContact@@AAVMPbk2EditedContactObserver@@PAVMPbk2ApplicationServices@@PAVHBufC16@@H@Z @ 116 NONAME ; class CPbk2ContactEditorDlg * CPbk2ContactEditorDlg::NewL(class TPbk2ContactEditorParams &, class MVPbkStoreContact *, class MPbk2EditedContactObserver &, class MPbk2ApplicationServices *, class HBufC16 *, int)
-	?UIField@CPbk2ContactEditorUIFieldBase@@UBEPAVMPbk2UIField@@XZ @ 117 NONAME ; class MPbk2UIField * CPbk2ContactEditorUIFieldBase::UIField(void) const
-	?SetSuppressWarnings@TPbk2AddressSelectParams@@QAEXH@Z @ 118 NONAME ; void TPbk2AddressSelectParams::SetSuppressWarnings(int)
-	?NewL@CPbk2FetchDlg@@SAPAV1@VTParams@1@AAVMPbk2FetchDlgObserver@@@Z @ 119 NONAME ; class CPbk2FetchDlg * CPbk2FetchDlg::NewL(class CPbk2FetchDlg::TParams, class MPbk2FetchDlgObserver &)
-	??1CPbk2ContactUiControlSubstitute@@UAE@XZ @ 120 NONAME ; CPbk2ContactUiControlSubstitute::~CPbk2ContactUiControlSubstitute(void)
-	?ControlText@CPbk2ContactEditorUIFieldBase@@UBEABVTDesC16@@XZ @ 121 NONAME ; class TDesC16 const & CPbk2ContactEditorUIFieldBase::ControlText(void) const
-	?NewL@CPbk2ContactEditorDlg@@SAPAV1@AAVTPbk2ContactEditorParams@@PAVMVPbkStoreContact@@AAVMPbk2EditedContactObserver@@@Z @ 122 NONAME ; class CPbk2ContactEditorDlg * CPbk2ContactEditorDlg::NewL(class TPbk2ContactEditorParams &, class MVPbkStoreContact *, class MPbk2EditedContactObserver &)
+	??0CPbk2NamesListControl@@QAE@PBVCCoeControl@@AAVCVPbkContactManager@@AAVMVPbkContactViewBase@@AAVMPbk2ContactNameFormatter@@AAVCPbk2StorePropertyArray@@@Z @ 1 NONAME ; CPbk2NamesListControl::CPbk2NamesListControl(class CCoeControl const *, class CVPbkContactManager &, class MVPbkContactViewBase &, class MPbk2ContactNameFormatter &, class CPbk2StorePropertyArray &)
+	??0TParams@CPbk2FetchDlg@@QAE@XZ @ 2 NONAME ; CPbk2FetchDlg::TParams::TParams(void)
+	??0TPbk2AddItemWrapper@@QAE@ABVCPbk2FieldPropertyGroup@@@Z @ 3 NONAME ; TPbk2AddItemWrapper::TPbk2AddItemWrapper(class CPbk2FieldPropertyGroup const &)
+	??0TPbk2AddItemWrapper@@QAE@ABVMPbk2FieldProperty@@@Z @ 4 NONAME ; TPbk2AddItemWrapper::TPbk2AddItemWrapper(class MPbk2FieldProperty const &)
+	??0TPbk2AddressSelectParams@@QAE@AAVMVPbkStoreContact@@ABVCVPbkContactManager@@AAVMPbk2ContactNameFormatter@@ABVCPbk2FieldPropertyArray@@AAVTResourceReader@@H@Z @ 5 NONAME ; TPbk2AddressSelectParams::TPbk2AddressSelectParams(class MVPbkStoreContact &, class CVPbkContactManager const &, class MPbk2ContactNameFormatter &, class CPbk2FieldPropertyArray const &, class TResourceReader &, int)
+	??1CPbk2AddressSelect@@UAE@XZ @ 6 NONAME ; CPbk2AddressSelect::~CPbk2AddressSelect(void)
+	??1CPbk2ContactUiControlSubstitute@@UAE@XZ @ 7 NONAME ; CPbk2ContactUiControlSubstitute::~CPbk2ContactUiControlSubstitute(void)
+	??BTParams@CPbk2FetchDlg@@QAE?AVTCleanupItem@@XZ @ 8 NONAME ; CPbk2FetchDlg::TParams::operator class TCleanupItem(void)
+	?AcceptDelayedFetchL@CPbk2FetchDlg@@QAEXABVTDesC8@@@Z @ 9 NONAME ; void CPbk2FetchDlg::AcceptDelayedFetchL(class TDesC8 const &)
+	?AddObserverL@CPbk2ContactInfoControl@@QAEXAAVMPbk2ControlObserver@@@Z @ 10 NONAME ; void CPbk2ContactInfoControl::AddObserverL(class MPbk2ControlObserver &)
+	?AddObserverL@CPbk2NamesListControl@@QAEXAAVMPbk2ControlObserver@@@Z @ 11 NONAME ; void CPbk2NamesListControl::AddObserverL(class MPbk2ControlObserver &)
+	?AttemptExitL@CPbk2AddressSelect@@QAEXH@Z @ 12 NONAME ; void CPbk2AddressSelect::AttemptExitL(int)
+	?CommitSettingsL@CPbk2SettingsListControl@@QAEXXZ @ 13 NONAME ; void CPbk2SettingsListControl::CommitSettingsL(void)
+	?CreatePhoneNumberFormatterL@Pbk2PhoneNumberFormatterFactory@@SAPAVMPbk2PhoneNumberFormatter@@H@Z @ 14 NONAME ; class MPbk2PhoneNumberFormatter * Pbk2PhoneNumberFormatterFactory::CreatePhoneNumberFormatterL(int)
+	?ExecuteLD@CPbk2AddItemToContactDlg@@QAEHAAV?$RArray@VTPbk2AddItemWrapper@@@@PBVTPbk2AddItemDialogParams@@@Z @ 15 NONAME ; int CPbk2AddItemToContactDlg::ExecuteLD(class RArray<class TPbk2AddItemWrapper> &, class TPbk2AddItemDialogParams const *)
+	?ExecuteLD@CPbk2AddressSelect@@QAEPAVMVPbkStoreContactField@@XZ @ 16 NONAME ; class MVPbkStoreContactField * CPbk2AddressSelect::ExecuteLD(void)
+	?ExecuteLD@CPbk2ContactEditorDlg@@QAEXXZ @ 17 NONAME ; void CPbk2ContactEditorDlg::ExecuteLD(void)
+	?ExecuteLD@CPbk2FetchDlg@@QAEHXZ @ 18 NONAME ; int CPbk2FetchDlg::ExecuteLD(void)
+	?ExecuteLD@CPbk2GeneralConfirmationQuery@@QAEHABVMVPbkBaseContact@@H@Z @ 19 NONAME ; int CPbk2GeneralConfirmationQuery::ExecuteLD(class MVPbkBaseContact const &, int)
+	?ExecuteLD@CPbk2GeneralConfirmationQuery@@QAEHHH@Z @ 20 NONAME ; int CPbk2GeneralConfirmationQuery::ExecuteLD(int, int)
+	?ExecuteLD@CPbk2MemoryEntryDefaultsAssignDlg@@QAEHABVCPbk2PresentationContactFieldCollection@@ABVCVPbkContactManager@@ABVMPbk2FieldPropertyArray@@@Z @ 21 NONAME ABSENT ; int CPbk2MemoryEntryDefaultsAssignDlg::ExecuteLD(class CPbk2PresentationContactFieldCollection const &, class CVPbkContactManager const &, class MPbk2FieldPropertyArray const &)
+	?ExecuteLD@CPbk2MemoryEntryDefaultsDlg@@QAEXXZ @ 22 NONAME ; void CPbk2MemoryEntryDefaultsDlg::ExecuteLD(void)
+	?ExecuteLD@CPbk2PhonebookInfoDlg@@QAEXAAVCVPbkContactStoreUriArray@@@Z @ 23 NONAME ; void CPbk2PhonebookInfoDlg::ExecuteLD(class CVPbkContactStoreUriArray &)
+	?ExecuteLD@CPbk2StoreListQuery@@QAEHABVTDesC16@@AAVCVPbkContactStoreUriArray@@@Z @ 24 NONAME ; int CPbk2StoreListQuery::ExecuteLD(class TDesC16 const &, class CVPbkContactStoreUriArray &)
+	?FormatFieldContentL@CPbk2FieldFormatter@@QAE?AVTPtrC16@@ABVMVPbkBaseContactField@@ABVMVPbkFieldType@@@Z @ 25 NONAME ; class TPtrC16 CPbk2FieldFormatter::FormatFieldContentL(class MVPbkBaseContactField const &, class MVPbkFieldType const &)
+	?HideThumbnail@CPbk2ThumbnailLoader@@QAEXXZ @ 26 NONAME ; void CPbk2ThumbnailLoader::HideThumbnail(void)
+	?IsWaiting@CPbk2InputAbsorber@@QBEHXZ @ 27 NONAME ; int CPbk2InputAbsorber::IsWaiting(void) const
+	?LoadThumbnail@CPbk2ThumbnailLoader@@QAEXPAVMVPbkStoreContact@@PBVCEikListBox@@W4TPbk2ThumbnailLocation@@@Z @ 28 NONAME ; void CPbk2ThumbnailLoader::LoadThumbnail(class MVPbkStoreContact *, class CEikListBox const *, enum TPbk2ThumbnailLocation)
+	?LoadThumbnailL@CPbk2ThumbnailLoader@@QAEXPAVMVPbkContactLink@@PBVCEikListBox@@W4TPbk2ThumbnailLocation@@@Z @ 29 NONAME ; void CPbk2ThumbnailLoader::LoadThumbnailL(class MVPbkContactLink *, class CEikListBox const *, enum TPbk2ThumbnailLocation)
+	?NewL@CPbk2AddItemToContactDlg@@SAPAV1@XZ @ 30 NONAME ; class CPbk2AddItemToContactDlg * CPbk2AddItemToContactDlg::NewL(void)
+	?NewL@CPbk2AddressSelect@@SAPAV1@AAVTPbk2AddressSelectParams@@@Z @ 31 NONAME ; class CPbk2AddressSelect * CPbk2AddressSelect::NewL(class TPbk2AddressSelectParams &)
+	?NewL@CPbk2ContactEditorDlg@@SAPAV1@AAVTPbk2ContactEditorParams@@PAVMVPbkStoreContact@@AAVMPbk2EditedContactObserver@@@Z @ 32 NONAME ; class CPbk2ContactEditorDlg * CPbk2ContactEditorDlg::NewL(class TPbk2ContactEditorParams &, class MVPbkStoreContact *, class MPbk2EditedContactObserver &)
+	?NewL@CPbk2ContactInfoControl@@SAPAV1@PBVCCoeControl@@AAVCVPbkContactManager@@AAVMPbk2ContactNameFormatter@@AAVMPbk2FieldPropertyArray@@AAVCPbk2StorePropertyArray@@PAVMPbk2ContactNavigation@@@Z @ 33 NONAME ; class CPbk2ContactInfoControl * CPbk2ContactInfoControl::NewL(class CCoeControl const *, class CVPbkContactManager &, class MPbk2ContactNameFormatter &, class MPbk2FieldPropertyArray &, class CPbk2StorePropertyArray &, class MPbk2ContactNavigation *)
+	?NewL@CPbk2ContactUiControlSubstitute@@SAPAV1@XZ @ 34 NONAME ; class CPbk2ContactUiControlSubstitute * CPbk2ContactUiControlSubstitute::NewL(void)
+	?NewL@CPbk2FetchDlg@@SAPAV1@VTParams@1@AAVMPbk2FetchDlgObserver@@@Z @ 35 NONAME ; class CPbk2FetchDlg * CPbk2FetchDlg::NewL(class CPbk2FetchDlg::TParams, class MPbk2FetchDlgObserver &)
+	?NewL@CPbk2FieldFormatter@@SAPAV1@ABVMPbk2FieldPropertyArray@@ABVMVPbkFieldTypeList@@@Z @ 36 NONAME ; class CPbk2FieldFormatter * CPbk2FieldFormatter::NewL(class MPbk2FieldPropertyArray const &, class MVPbkFieldTypeList const &)
+	?NewL@CPbk2GeneralConfirmationQuery@@SAPAV1@XZ @ 37 NONAME ; class CPbk2GeneralConfirmationQuery * CPbk2GeneralConfirmationQuery::NewL(void)
+	?NewL@CPbk2InputAbsorber@@SAPAV1@H@Z @ 38 NONAME ; class CPbk2InputAbsorber * CPbk2InputAbsorber::NewL(int)
+	?NewL@CPbk2MemoryEntryDefaultsAssignDlg@@SAPAV1@XZ @ 39 NONAME ; class CPbk2MemoryEntryDefaultsAssignDlg * CPbk2MemoryEntryDefaultsAssignDlg::NewL(void)
+	?NewL@CPbk2MemoryEntryDefaultsDlg@@SAPAV1@AAVCPbk2PresentationContact@@AAVCVPbkContactManager@@@Z @ 40 NONAME ; class CPbk2MemoryEntryDefaultsDlg * CPbk2MemoryEntryDefaultsDlg::NewL(class CPbk2PresentationContact &, class CVPbkContactManager &)
+	?NewL@CPbk2NamesListControl@@SAPAV1@HPBVCCoeControl@@AAVCVPbkContactManager@@AAVMVPbkContactViewBase@@AAVMPbk2ContactNameFormatter@@AAVCPbk2StorePropertyArray@@@Z @ 41 NONAME ; class CPbk2NamesListControl * CPbk2NamesListControl::NewL(int, class CCoeControl const *, class CVPbkContactManager &, class MVPbkContactViewBase &, class MPbk2ContactNameFormatter &, class CPbk2StorePropertyArray &)
+	?NewL@CPbk2PhonebookInfoDlg@@SAPAV1@XZ @ 42 NONAME ; class CPbk2PhonebookInfoDlg * CPbk2PhonebookInfoDlg::NewL(void)
+	?NewL@CPbk2PrependDlg@@SAPAV1@AAVTDes16@@@Z @ 43 NONAME ; class CPbk2PrependDlg * CPbk2PrependDlg::NewL(class TDes16 &)
+	?NewL@CPbk2SettingsListControl@@SAPAV1@PBVCCoeControl@@AAVCPbk2SortOrderManager@@AAVMPbk2SettingsControlExtension@@@Z @ 44 NONAME ; class CPbk2SettingsListControl * CPbk2SettingsListControl::NewL(class CCoeControl const *, class CPbk2SortOrderManager &, class MPbk2SettingsControlExtension &)
+	?NewL@CPbk2StoreListQuery@@SAPAV1@XZ @ 45 NONAME ; class CPbk2StoreListQuery * CPbk2StoreListQuery::NewL(void)
+	?NewL@CPbk2ThumbnailLoader@@SAPAV1@AAVCVPbkContactManager@@@Z @ 46 NONAME ; class CPbk2ThumbnailLoader * CPbk2ThumbnailLoader::NewL(class CVPbkContactManager &)
+	?NewLC@CPbk2InputAbsorber@@SAPAV1@H@Z @ 47 NONAME ; class CPbk2InputAbsorber * CPbk2InputAbsorber::NewLC(int)
+	?Pbk2ControlKeyEventL@CPbk2AddressSelect@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 48 NONAME ; enum TKeyResponse CPbk2AddressSelect::Pbk2ControlKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?PropertyAt@TPbk2AddItemWrapper@@QBEABVMPbk2FieldProperty@@H@Z @ 49 NONAME ; class MPbk2FieldProperty const & TPbk2AddItemWrapper::PropertyAt(int) const
+	?PropertyCount@TPbk2AddItemWrapper@@QBEHXZ @ 50 NONAME ; int TPbk2AddItemWrapper::PropertyCount(void) const
+	?Refresh@CPbk2ThumbnailLoader@@QAEXXZ @ 51 NONAME ; void CPbk2ThumbnailLoader::Refresh(void)
+	?RemoveObserver@CPbk2ContactInfoControl@@QAEXAAVMPbk2ControlObserver@@@Z @ 52 NONAME ; void CPbk2ContactInfoControl::RemoveObserver(class MPbk2ControlObserver &)
+	?RemoveObserver@CPbk2NamesListControl@@QAEXAAVMPbk2ControlObserver@@@Z @ 53 NONAME ; void CPbk2NamesListControl::RemoveObserver(class MPbk2ControlObserver &)
+	?Reset@CPbk2NamesListControl@@QAEXXZ @ 54 NONAME ; void CPbk2NamesListControl::Reset(void)
+	?Reset@CPbk2ThumbnailLoader@@QAEXXZ @ 55 NONAME ; void CPbk2ThumbnailLoader::Reset(void)
+	?SetAllItemTextL@CPbk2StoreListQuery@@QAEXABVTDesC16@@H@Z @ 56 NONAME ; void CPbk2StoreListQuery::SetAllItemTextL(class TDesC16 const &, int)
+	?SetCba@CPbk2AddressSelect@@QAEXH@Z @ 57 NONAME ; void CPbk2AddressSelect::SetCba(int)
+	?SetCommandObserver@CPbk2InputAbsorber@@QAEXPAVMEikCommandObserver@@@Z @ 58 NONAME ; void CPbk2InputAbsorber::SetCommandObserver(class MEikCommandObserver *)
+	?SetDefaultPriorities@TPbk2AddressSelectParams@@QAEXABVRVPbkContactFieldDefaultPriorities@@@Z @ 59 NONAME ; void TPbk2AddressSelectParams::SetDefaultPriorities(class RVPbkContactFieldDefaultPriorities const &)
+	?SetFocusedField@CPbk2ContactUiControlSubstitute@@QAEXABVMVPbkBaseContactField@@@Z @ 60 NONAME ; void CPbk2ContactUiControlSubstitute::SetFocusedField(class MVPbkBaseContactField const &)
+	?SetFocusedField@TPbk2AddressSelectParams@@QAEXPBVMVPbkStoreContactField@@@Z @ 61 NONAME ; void TPbk2AddressSelectParams::SetFocusedField(class MVPbkStoreContactField const *)
+	?SetFocusedFieldIndex@CPbk2ContactUiControlSubstitute@@UAEXH@Z @ 62 NONAME ; void CPbk2ContactUiControlSubstitute::SetFocusedFieldIndex(int)
+	?SetFocusedStoreContact@CPbk2ContactUiControlSubstitute@@QAEXABVMVPbkStoreContact@@@Z @ 63 NONAME ; void CPbk2ContactUiControlSubstitute::SetFocusedStoreContact(class MVPbkStoreContact const &)
+	?SetParentUiControl@CPbk2ContactUiControlSubstitute@@QAEXAAVMPbk2ContactUiControl@@@Z @ 64 NONAME ; void CPbk2ContactUiControlSubstitute::SetParentUiControl(class MPbk2ContactUiControl &)
+	?SetQueryAlways@TPbk2AddressSelectParams@@QAEXH@Z @ 65 NONAME ; void TPbk2AddressSelectParams::SetQueryAlways(int)
+	?SetSelectedStore@CPbk2ContactUiControlSubstitute@@QAEXAAVMVPbkContactStore@@@Z @ 66 NONAME ; void CPbk2ContactUiControlSubstitute::SetSelectedStore(class MVPbkContactStore &)
+	?SetTimeFormatL@CPbk2FieldFormatter@@QAEXABVTDesC16@@@Z @ 67 NONAME ; void CPbk2FieldFormatter::SetTimeFormatL(class TDesC16 const &)
+	?SetUseDefaultDirectly@TPbk2AddressSelectParams@@QAEXH@Z @ 68 NONAME ; void TPbk2AddressSelectParams::SetUseDefaultDirectly(int)
+	?SetViewL@CPbk2NamesListControl@@QAEXAAVMVPbkContactViewBase@@@Z @ 69 NONAME ; void CPbk2NamesListControl::SetViewL(class MVPbkContactViewBase &)
+	?StopWait@CPbk2InputAbsorber@@QAEXXZ @ 70 NONAME ; void CPbk2InputAbsorber::StopWait(void)
+	?Wait@CPbk2InputAbsorber@@QAEXXZ @ 71 NONAME ; void CPbk2InputAbsorber::Wait(void)
+	?CreateTitlePanePictureLC@Pbk2TitlePanePictureFactory@@SAPAVCEikImage@@PBVMVPbkStoreContact@@AAVCPbk2StorePropertyArray@@@Z @ 72 NONAME ; class CEikImage * Pbk2TitlePanePictureFactory::CreateTitlePanePictureLC(class MVPbkStoreContact const *, class CPbk2StorePropertyArray &)
+	?NewL@CPbk2DefaultAttributeProcess@@SAPAV1@AAVCVPbkContactManager@@AAVMVPbkStoreContact@@AAVMPbk2DefaultAttributeProcessObserver@@@Z @ 73 NONAME ; class CPbk2DefaultAttributeProcess * CPbk2DefaultAttributeProcess::NewL(class CVPbkContactManager &, class MVPbkStoreContact &, class MPbk2DefaultAttributeProcessObserver &)
+	?RemoveDefaultL@CPbk2DefaultAttributeProcess@@QAEXW4TVPbkDefaultType@@@Z @ 74 NONAME ; void CPbk2DefaultAttributeProcess::RemoveDefaultL(enum TVPbkDefaultType)
+	?RemoveDefaultsL@CPbk2DefaultAttributeProcess@@QAEXPAV?$CArrayFixFlat@W4TVPbkDefaultType@@@@@Z @ 75 NONAME ; void CPbk2DefaultAttributeProcess::RemoveDefaultsL(class CArrayFixFlat<enum TVPbkDefaultType> *)
+	?SetDefaultL@CPbk2DefaultAttributeProcess@@QAEXW4TVPbkDefaultType@@AAVMVPbkStoreContactField@@@Z @ 76 NONAME ; void CPbk2DefaultAttributeProcess::SetDefaultL(enum TVPbkDefaultType, class MVPbkStoreContactField &)
+	?SetDefaultsL@CPbk2DefaultAttributeProcess@@QAEXPAV?$CArrayFixFlat@W4TVPbkDefaultType@@@@AAVMVPbkStoreContactField@@@Z @ 77 NONAME ; void CPbk2DefaultAttributeProcess::SetDefaultsL(class CArrayFixFlat<enum TVPbkDefaultType> *, class MVPbkStoreContactField &)
+	?SetTitleToIncludeContactName@TPbk2AddressSelectParams@@QAEXH@Z @ 78 NONAME ; void TPbk2AddressSelectParams::SetTitleToIncludeContactName(int)
+	?GiveViewL@CPbk2NamesListControl@@QAEXPAVMVPbkContactViewBase@@@Z @ 79 NONAME ; void CPbk2NamesListControl::GiveViewL(class MVPbkContactViewBase *)
+	?SetSuppressWarnings@TPbk2AddressSelectParams@@QAEXH@Z @ 80 NONAME ; void TPbk2AddressSelectParams::SetSuppressWarnings(int)
+	?AllowPointerEvents@CPbk2NamesListControl@@QAEXH@Z @ 81 NONAME ; void CPbk2NamesListControl::AllowPointerEvents(int)
+	?CreateListboxIconArrayL@CPbk2ContactIconsUtils@@SAPAVCPbk2IconArray@@H@Z @ 82 NONAME ; class CPbk2IconArray * CPbk2ContactIconsUtils::CreateListboxIconArrayL(int)
+	?GetIconIdsForContactL@CPbk2ContactIconsUtils@@QBEXABVMVPbkViewContact@@AAV?$RArray@VTPbk2IconId@@@@@Z @ 83 NONAME ; void CPbk2ContactIconsUtils::GetIconIdsForContactL(class MVPbkViewContact const &, class RArray<class TPbk2IconId> &) const
+	?NewL@CPbk2ContactIconsUtils@@SAPAV1@AAVCPbk2StorePropertyArray@@PAVMPbk2ContactUiControlExtension@@@Z @ 84 NONAME ; class CPbk2ContactIconsUtils * CPbk2ContactIconsUtils::NewL(class CPbk2StorePropertyArray &, class MPbk2ContactUiControlExtension *)
+	?NewL@CPbk2AddressSelect@@SAPAV1@AAVTPbk2AddressSelectParams@@AAVCVPbkFieldTypeSelector@@PBV?$TArray@PAVMVPbkStoreContact@@@@PBV?$TArray@PAVCPbk2PresenceIconInfo@@@@@Z @ 85 NONAME ; class CPbk2AddressSelect * CPbk2AddressSelect::NewL(class TPbk2AddressSelectParams &, class CVPbkFieldTypeSelector &, class TArray<class MVPbkStoreContact *> const *, class TArray<class CPbk2PresenceIconInfo *> const *)
+	?MapViewTypeToAddress@Pbk2AddressTools@@SA?AW4TPbk2FieldGroupId@@W4TActiveView@TPbk2ContactEditorParams@@@Z @ 86 NONAME ; enum TPbk2FieldGroupId Pbk2AddressTools::MapViewTypeToAddress(enum TPbk2ContactEditorParams::TActiveView)
+	?GetAddressShortPreviewLC@Pbk2AddressTools@@SAXAAVMVPbkStoreContact@@W4TPbk2FieldGroupId@@AAVRBuf16@@@Z @ 87 NONAME ; void Pbk2AddressTools::GetAddressShortPreviewLC(class MVPbkStoreContact &, enum TPbk2FieldGroupId, class RBuf16 &)
+	?InitializeL@CPbk2ContactEditorReadonlyField@@QAEXPAVMPbk2ContactEditorUIField@@@Z @ 88 NONAME ; void CPbk2ContactEditorReadonlyField::InitializeL(class MPbk2ContactEditorUIField *)
+	?SetTextL@CPbk2ContactEditorReadonlyField@@QAEXPBVTDesC16@@@Z @ 89 NONAME ; void CPbk2ContactEditorReadonlyField::SetTextL(class TDesC16 const *)
+	?FieldLabel@CPbk2ContactEditorUIFieldBase@@UBEABVTDesC16@@XZ @ 90 NONAME ; class TDesC16 const & CPbk2ContactEditorUIFieldBase::FieldLabel(void) const
+	?MapAddressToVersitParam@Pbk2AddressTools@@SA?AW4TVPbkFieldTypeParameter@@W4TPbk2FieldGroupId@@@Z @ 91 NONAME ; enum TVPbkFieldTypeParameter Pbk2AddressTools::MapAddressToVersitParam(enum TPbk2FieldGroupId)
+	?HandleCustomFieldCommandL@CPbk2ContactEditorUIFieldBase@@UAEHH@Z @ 92 NONAME ; int CPbk2ContactEditorUIFieldBase::HandleCustomFieldCommandL(int)
+	?SetFieldLabelL@CPbk2ContactEditorUIFieldBase@@UAEXABVTDesC16@@@Z @ 93 NONAME ; void CPbk2ContactEditorUIFieldBase::SetFieldLabelL(class TDesC16 const &)
+	?SetFocus@CPbk2ContactEditorUIFieldBase@@UAEXXZ @ 94 NONAME ; void CPbk2ContactEditorUIFieldBase::SetFocus(void)
+	?NewL@CPbk2UIFieldArray@@SAPAV1@ABVTDesC16@@AAVRFs@@AAVMPbk2UIFieldFactory@@@Z @ 95 NONAME ; class CPbk2UIFieldArray * CPbk2UIFieldArray::NewL(class TDesC16 const &, class RFs &, class MPbk2UIFieldFactory &)
+	?ControlId@CPbk2ContactEditorUIFieldBase@@UAEHXZ @ 96 NONAME ; int CPbk2ContactEditorUIFieldBase::ControlId(void)
+	??1CPbk2ContactEditorUIFieldBase@@UAE@XZ @ 97 NONAME ; CPbk2ContactEditorUIFieldBase::~CPbk2ContactEditorUIFieldBase(void)
+	?GetAddressPreviewLC@Pbk2AddressTools@@SAXAAVMVPbkStoreContact@@W4TPbk2FieldGroupId@@AAVRBuf16@@@Z @ 98 NONAME ; void Pbk2AddressTools::GetAddressPreviewLC(class MVPbkStoreContact &, enum TPbk2FieldGroupId, class RBuf16 &)
+	?GetAddressFieldsLC@Pbk2AddressTools@@SAXAAVMVPbkStoreContact@@W4TPbk2FieldGroupId@@AAV?$RHashMap@HVTPtrC16@@@@@Z @ 99 NONAME ; void Pbk2AddressTools::GetAddressFieldsLC(class MVPbkStoreContact &, enum TPbk2FieldGroupId, class RHashMap<int, class TPtrC16> &)
+	??0CPbk2ContactEditorUIFieldBase@@IAE@PAVMPbk2UIField@@AAVMPbk2ContactEditorUiBuilder@@AAVCPbk2IconInfoContainer@@H@Z @ 100 NONAME ; CPbk2ContactEditorUIFieldBase::CPbk2ContactEditorUIFieldBase(class MPbk2UIField *, class MPbk2ContactEditorUiBuilder &, class CPbk2IconInfoContainer &, int)
+	?LoadBitmapToFieldL@CPbk2ContactEditorUIFieldBase@@UAEXABVTPbk2IconId@@@Z @ 101 NONAME ; void CPbk2ContactEditorUIFieldBase::LoadBitmapToFieldL(class TPbk2IconId const &)
+	?MapCtrlTypeToAddress@Pbk2AddressTools@@SA?AW4TPbk2FieldGroupId@@H@Z @ 102 NONAME ; enum TPbk2FieldGroupId Pbk2AddressTools::MapCtrlTypeToAddress(int)
+	?ConsumesKeyEvent@CPbk2ContactEditorUIFieldBase@@UAEHABUTKeyEvent@@W4TEventCode@@@Z @ 103 NONAME ; int CPbk2ContactEditorUIFieldBase::ConsumesKeyEvent(struct TKeyEvent const &, enum TEventCode)
+	?MapCtrlTypeToViewType@Pbk2AddressTools@@SA?AW4TActiveView@TPbk2ContactEditorParams@@H@Z @ 104 NONAME ; enum TPbk2ContactEditorParams::TActiveView Pbk2AddressTools::MapCtrlTypeToViewType(int)
+	?UIField@CPbk2ContactEditorUIFieldBase@@UBEPAVMPbk2UIField@@XZ @ 105 NONAME ; class MPbk2UIField * CPbk2ContactEditorUIFieldBase::UIField(void) const
+	?MapAddressToOrdering@Pbk2AddressTools@@SAHW4TPbk2FieldGroupId@@@Z @ 106 NONAME ; int Pbk2AddressTools::MapAddressToOrdering(enum TPbk2FieldGroupId)
+	?ControlText@CPbk2ContactEditorUIFieldBase@@UBEABVTDesC16@@XZ @ 107 NONAME ; class TDesC16 const & CPbk2ContactEditorUIFieldBase::ControlText(void) const
+	?ExecuteLD@CPbk2GeneralConfirmationQuery@@QAEHABVMVPbkBaseContact@@HH@Z @ 108 NONAME ; int CPbk2GeneralConfirmationQuery::ExecuteLD(class MVPbkBaseContact const &, int, int)
+	?SetCurrentGroupLinkL@CPbk2NamesListControl@@QAEXPAVMVPbkContactLink@@@Z @ 109 NONAME ; void CPbk2NamesListControl::SetCurrentGroupLinkL(class MVPbkContactLink *)
+	?NewL@CPbk2ThumbnailManager@@SAPAV1@AAVCVPbkContactManager@@@Z @ 110 NONAME ; class CPbk2ThumbnailManager * CPbk2ThumbnailManager::NewL(class CVPbkContactManager &)
+	?NewL@CPbk2NamesListControl@@SAPAV1@HPBVCCoeControl@@AAVCVPbkContactManager@@AAVMVPbkContactViewBase@@AAVMPbk2ContactNameFormatter@@AAVCPbk2StorePropertyArray@@PAVCPbk2ThumbnailManager@@@Z @ 111 NONAME ; class CPbk2NamesListControl * CPbk2NamesListControl::NewL(int, class CCoeControl const *, class CVPbkContactManager &, class MVPbkContactViewBase &, class MPbk2ContactNameFormatter &, class CPbk2StorePropertyArray &, class CPbk2ThumbnailManager *)
+	?ExecuteLD@CPbk2MemoryEntryDefaultsAssignDlg@@QAEHABVCPbk2PresentationContactFieldCollection@@ABVCVPbkContactManager@@ABVMPbk2FieldPropertyArray@@W4TVPbkContactActionTypeSelector@VPbkFieldTypeSelectorFactory@@@Z @ 112 NONAME ; int CPbk2MemoryEntryDefaultsAssignDlg::ExecuteLD(class CPbk2PresentationContactFieldCollection const &, class CVPbkContactManager const &, class MPbk2FieldPropertyArray const &, enum VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector)
+	?NewL@CPbk2ContactEditorDlg@@SAPAV1@AAVTPbk2ContactEditorParams@@PAVMVPbkStoreContact@@AAVMPbk2EditedContactObserver@@PAVMPbk2ApplicationServices@@PAVHBufC16@@H@Z @ 113 NONAME ; class CPbk2ContactEditorDlg * CPbk2ContactEditorDlg::NewL(class TPbk2ContactEditorParams &, class MVPbkStoreContact *, class MPbk2EditedContactObserver &, class MPbk2ApplicationServices *, class HBufC16 *, int)
+	?NewL@CPbk2AddItemToContactDlg@@SAPAV1@PAVMPbk2ApplicationServices@@@Z @ 114 NONAME ; class CPbk2AddItemToContactDlg * CPbk2AddItemToContactDlg::NewL(class MPbk2ApplicationServices *)
+	?NewL@CPbk2MergeConflictsDlg@@SAPAV1@PAVMPbk2MergeResolver@@H@Z @ 115 NONAME ; class CPbk2MergeConflictsDlg * CPbk2MergeConflictsDlg::NewL(class MPbk2MergeResolver *, int)
+	?NewL@CPbk2MergePhotoConflictDlg@@SAPAV1@PAVMVPbkBaseContact@@0PAH@Z @ 116 NONAME ; class CPbk2MergePhotoConflictDlg * CPbk2MergePhotoConflictDlg::NewL(class MVPbkBaseContact *, class MVPbkBaseContact *, int *)
+	?StopQuery@CPbk2GeneralConfirmationQuery@@QAEXXZ @ 117 NONAME ; void CPbk2GeneralConfirmationQuery::StopQuery(void)
+	?HandleViewForegroundEventL@CPbk2NamesListControl@@QAEXH@Z @ 118 NONAME ; void CPbk2NamesListControl::HandleViewForegroundEventL(int)
+	?MapVPbkFieldTypeToAddressGroupId@Pbk2AddressTools@@SA?AW4TPbk2FieldGroupId@@PBVMVPbkFieldType@@@Z @ 119 NONAME ; enum TPbk2FieldGroupId Pbk2AddressTools::MapVPbkFieldTypeToAddressGroupId(class MVPbkFieldType const *)
+	?IsAddressPreviewEmptyL@Pbk2AddressTools@@SAHAAVMVPbkStoreContact@@W4TPbk2FieldGroupId@@@Z @ 120 NONAME ; int Pbk2AddressTools::IsAddressPreviewEmptyL(class MVPbkStoreContact &, enum TPbk2FieldGroupId)
+	?MassUpdateSkipProgressNote@CPbk2NamesListControl@@QAEXH@Z @ 121 NONAME ; void CPbk2NamesListControl::MassUpdateSkipProgressNote(int)
+	?SetOpeningCca@CPbk2NamesListControl@@QAEXH@Z @ 122 NONAME ; void CPbk2NamesListControl::SetOpeningCca(int)
 
--- a/phonebookui/Phonebook2/Commands/inc/CPbk2CommandStore.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/inc/CPbk2CommandStore.h	Wed Oct 13 14:15:33 2010 +0300
@@ -73,7 +73,7 @@
          * Destroys all the commands in the iCommandArray.
          * by calling CommandFinished() on each one.
          */
-        IMPORT_C void DestroyAllCommands();
+        void DestroyAllCommands();
 
     public: // From MPbk2CommandList
         IMPORT_C void AddAndExecuteCommandL(
--- a/phonebookui/Phonebook2/Commands/inc/MPbk2CommandResourceRelease.h	Wed Sep 15 11:56:55 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  A command extension interface for release resource.
-*
-*/
-
-#ifndef MPBK2COMMANDRESOURCERELEASE_H_
-#define MPBK2COMMANDRESOURCERELEASE_H_
-
-/// Phonebook 2 Command MPbk2ResourceRelease interface UID
-#define MPbk2ResourceReleaseUID              0xE9D61489
-
-// CLASS DECLARATIONS
-
-/**
- * Phonebook 2 command release resource interface.
- */
-class MPbk2ResourceRelease
-    {
-    public:
-        /**
-         * Release resource.
-         */
-        virtual void ReleaseResource() = 0;
-     
-    };
-
-#endif /* MPBK2COMMANDRESOURCERELEASE_H_ */
--- a/phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemCall.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemCall.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,8 +27,8 @@
 #include "MPbk2CommandFactory.h"
 #include "CPbk2CallTypeSelector.h"
 #include <MPbk2ContactUiControl.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2Commands.rsg>
 #include <CPbk2FieldPropertyArray.h>
 #include <CPbk2AddressSelect.h>
 #include <TPbk2AddressSelectParams.h>
--- a/phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemOviSync.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemOviSync.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include <Pbk2Commands.hrh>
 #include <MPbk2Command.h>
 #include <MPbk2ContactUiControl.h>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include "Pbk2InternalCommands.hrh"
 
 // System includes
--- a/phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemPoc.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemPoc.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,8 +23,8 @@
 #include "CPbk2PocCmd.h"
 #include <TPbk2StoreContactAnalyzer.h>
 #include <MPbk2Command.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2Commands.rsg>
 #include <MPbk2ContactUiControl.h>
 #include <Pbk2UID.h>
 #include <MPbk2ApplicationServices.h>
--- a/phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemSyncMl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2AiwInterestItemSyncMl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <Pbk2Commands.hrh>
 #include <MPbk2Command.h>
 #include <MPbk2ContactUiControl.h>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 
 // System includes
 #include <AiwServiceHandler.h>
--- a/phonebookui/Phonebook2/Commands/src/CPbk2CallCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2CallCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -38,7 +38,7 @@
 #include <MVPbkFieldType.h>
 #include <MVPbkContactStore.h>
 #include <MVPbkContactStoreProperties.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MVPbkContactFieldUriData.h>
 
 // System includes
--- a/phonebookui/Phonebook2/Commands/src/CPbk2CallTypeSelector.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2CallTypeSelector.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 // Phonebook 2
 #include <MPbk2ContactUiControl.h>
 #include <Pbk2Commands.hrh>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <TPbk2StoreContactAnalyzer.h>
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/Commands/src/CPbk2CommandHandler.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2CommandHandler.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,8 +28,8 @@
 #include <CPbk2AppUiBase.h>
 #include <CPbk2UIExtensionManager.h>
 #include <MPbk2Command.h>
-#include <pbk2commands.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2ViewState.h>
 #include <CPbk2PhonebookInfoDlg.h>
 #include <TPbk2StoreContactAnalyzer.h>
@@ -511,9 +511,13 @@
                 {
                 aMenuPane->SetItemDimmed( EPbk2CmdDeleteMe, ETrue );
                 }
+            if ( aControl.ContactsMarked() )
+                {
+                aMenuPane->SetItemSpecific( EPbk2CmdDeleteMe, EFalse );
+                }
             break;
             }
-        
+
         case R_PHONEBOOK2_NAMELIST_CALL_CONTACT_MENU:
             {
             // Weed out commands not meant to be used with marked items
@@ -544,6 +548,7 @@
 
             if ( aControl.ContactsMarked() )
                 {
+                aMenuPane->SetItemDimmed( EPbk2CmdSend, ETrue );
                 aMenuPane->SetItemDimmed( EPbk2CmdGoToURL, ETrue );
                 }
             break;
@@ -1127,13 +1132,4 @@
     return index;
     }
 
-// --------------------------------------------------------------------------
-// CPbk2CommandHandler::CommandStore
-// --------------------------------------------------------------------------
-//
-EXPORT_C CPbk2CommandStore* CPbk2CommandHandler::CommandStore()
-    {
-    return iCommandStore;
-    }
-
 // End of File
--- a/phonebookui/Phonebook2/Commands/src/CPbk2CommandStore.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2CommandStore.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,6 @@
 
 // INCLUDE FILES
 #include "CPbk2CommandStore.h"
-#include "MPbk2CommandResourceRelease.h"
 
 // Phonebook 2
 #include <MPbk2Command.h>
@@ -223,25 +222,11 @@
             MPbk2Command* arrayCmd = iCommandArray[j];
             if (idleDestCmd == arrayCmd)
                 {
+                // Remove from command array
+                iCommandArray.Remove(j);
                 iIdleDestructableCommands.Remove(i);
-                                
-                // Try to get MPbk2ResourceRelease interface.
-                TUid uid;
-                uid.iUid = MPbk2ResourceReleaseUID;
-                MPbk2ResourceRelease* release = static_cast<MPbk2ResourceRelease *>(idleDestCmd->CommandExtension(uid));
-                if (release)
-                  {
-                    // Call ReleaseResource before delete.
-                    release->ReleaseResource();
-                  }
-              
-                // Remove from command array
-                iCommandArray.Remove(j);                
-                
                 delete idleDestCmd;
                 idleDestCmd = NULL;
-                
-                break;
                 }
             }
         }
@@ -252,7 +237,7 @@
 // CPbk2CommandStore::DestroyAllCommands
 // --------------------------------------------------------------------------
 //
-EXPORT_C void CPbk2CommandStore::DestroyAllCommands()
+void CPbk2CommandStore::DestroyAllCommands()
     {
     // Delete objects in idle commands array using CommandFinished
     for (TInt i = 0; i < iCommandArray.Count(); ++i)
--- a/phonebookui/Phonebook2/Commands/src/CPbk2PrependCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2PrependCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 // From Phonebook2
 #include "CPbk2CallCmd.h"
 #include "CPbk2AiwInterestArray.h"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2PrependDlg.h>
 #include <Pbk2Commands.hrh>
 #include <CPbk2ContactUiControlSubstitute.h>
--- a/phonebookui/Phonebook2/Commands/src/CPbk2SetToneBase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2SetToneBase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,8 +27,8 @@
 #include <Pbk2ProcessDecoratorFactory.h>
 #include <TPbk2StoreContactAnalyzer.h>
 #include <MVPbkContactFieldTextData.h>
-#include <pbk2commands.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2DriveSpaceCheck.h>
 #include <CPbk2AppUiBase.h>
 #include <MPbk2ApplicationServices.h>
@@ -40,7 +40,7 @@
 #include <CVPbkContactManager.h>
 #include <TVPbkFieldTypeMapping.h>
 #include <MVPbkFieldType.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <barsread.h>
--- a/phonebookui/Phonebook2/Commands/src/CPbk2SetToneCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/CPbk2SetToneCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -38,7 +38,7 @@
 #include <MPbk2AppUi.h>
 #include "CPbk2RingingToneFetch.h"
 
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <coemain.h>
 
 #include <Pbk2Debug.h>
--- a/phonebookui/Phonebook2/Commands/src/TPbk2CopyContactsResults.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/TPbk2CopyContactsResults.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 
 #include <StringLoader.h>
 #include <aknnotewrappers.h>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 
 namespace{
 
--- a/phonebookui/Phonebook2/Commands/src/cpbk2commandactivator.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/cpbk2commandactivator.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -188,20 +188,5 @@
     iObserver->CommandFinished( *this );
     }
   
-// --------------------------------------------------------------------------
-// CPbk2CommandActivator::CommandExtension
-// --------------------------------------------------------------------------
-//
-TAny* CPbk2CommandActivator::CommandExtension(TUid aExtensionUid )
-    {
-      if( iCommand )
-        {
-          return iCommand->CommandExtension(aExtensionUid);
-        }
-      else
-        {
-          return NULL;
-        }
-    }
 
 //  End of File  
--- a/phonebookui/Phonebook2/Commands/src/cpbk2storestatechecker.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Commands/src/cpbk2storestatechecker.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 #include "cpbk2storestatechecker.h"
 
 // Phonebook 2
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2ApplicationServices.h>
 #include <MPbk2AppUi.h>
 #include <CPbk2StoreProperty.h>
--- a/phonebookui/Phonebook2/CommandsExtension/inc/CPbk2SendContactCmd.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/inc/CPbk2SendContactCmd.h	Wed Oct 13 14:15:33 2010 +0300
@@ -20,9 +20,6 @@
 #define CPBK2SENDCONTACTCMD_H
 
 // INCLUDES
-
-#include "MPbk2CommandResourceRelease.h"
-
 #include <e32base.h>
 #include <MPbk2Command.h>
 #include <MVPbkSingleContactOperationObserver.h>
@@ -63,8 +60,7 @@
         public MPbk2Command,
         public MPbk2vCardConverterObserver,
         public MVPbkSingleContactOperationObserver,
-        private MPbk2ProcessDecoratorObserver,
-        public MPbk2ResourceRelease
+        private MPbk2ProcessDecoratorObserver
     {
     public: // Construction and destruction
         /**
@@ -85,14 +81,7 @@
         void AddObserver(
                 MPbk2CommandObserver& aObserver );
         void ResetUiControl(MPbk2ContactUiControl& aUiControl);
-        TAny* CommandExtension(TUid /*aExtensionUid*/);
-    public: // From MPbk2ResourceRelease
-        /*-
-         * Delete all temp files.
-         * @Remark It not return until finish deleting all files.
-         *         It is non-reentrant.  
-         */
-        void ReleaseResource();
+
     private: // From CActive
         void RunL();
         TInt RunError(
@@ -145,7 +134,7 @@
         void SendMsgUsingSendUI(
                 CMessageData* aMsgData );
         TBool IsMoreThanOneContact();
-        
+
     private: // Data structures
         /// Process states
         enum TState
@@ -154,8 +143,7 @@
             ERetrievingContact,
             ESelectingSentData,
             EStopping,
-            ECancelling,
-            EReleaseResource
+            ECancelling
             };
 
     private: // Data
@@ -197,9 +185,6 @@
         CPbk2ApplicationServices* iAppServices;
         /// Own: Send UI
         CSendUi* iSendUi;
-        /// Own:
-        CActiveSchedulerWait* iWaiter;
-       
     };
 
 #endif // CPBK2SENDCONTACTCMD_H
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyAddressToClipboardCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyAddressToClipboardCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,8 +30,8 @@
 #include <CPbk2PresentationContact.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <CPbk2PresentationContactFieldCollection.h>
-#include <pbk2commands.rsg>
-#include <pbk2cmdextres.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2CmdExtRes.rsg>
 #include <MVPbkContactFieldUriData.h>
 
 #include <txtetext.h>   // CPlainText
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyContactsCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyContactsCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <MPbk2CommandObserver.h>
 #include <MPbk2ContactUiControl.h>
 #include <Pbk2ProcessDecoratorFactory.h>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <MPbk2ContactNameFormatter.h>
 #include <CPbk2DriveSpaceCheck.h>
 #include <CPbk2AppUiBase.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyContactsStarterCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyContactsStarterCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,7 @@
 #include <MPbk2AppUi.h>
 #include <CPbk2ApplicationServices.h>
 #include <Pbk2Commands.hrh>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 
 // Virtual Phonebook
 #include <CVPbkContactManager.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyDetailToClipboardCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyDetailToClipboardCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,8 +30,8 @@
 #include <CPbk2PresentationContact.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <CPbk2PresentationContactFieldCollection.h>
-#include <pbk2commands.rsg>
-#include <pbk2cmdextres.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2CmdExtRes.rsg>
 #include <MVPbkContactFieldUriData.h>
 #include <Pbk2AddressTools.h>
 
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyNumberToClipboardCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CopyNumberToClipboardCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,8 +30,8 @@
 #include <CPbk2PresentationContact.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <CPbk2PresentationContactFieldCollection.h>
-#include <pbk2commands.rsg>
-#include <pbk2cmdextres.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2CmdExtRes.rsg>
 
 #include <txtetext.h>   // CPlainText
 #include <baclipb.h>    // CClipboard
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CreateNewContactCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2CreateNewContactCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,9 +26,9 @@
 #include <CPbk2StoreConfiguration.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <MPbk2FieldProperty.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commonui.rsg>
-#include <pbk2cmdextres.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2CommonUi.rsg>
+#include <Pbk2CmdExtRes.rsg>
 #include <MPbk2ContactUiControl.h>
 #include <CPbk2StoreProperty.h>
 #include <CPbk2StorePropertyArray.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2DeleteContactsCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2DeleteContactsCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,8 +23,8 @@
 #include <MPbk2CommandObserver.h>
 #include "MPbk2ProcessDecorator.h"
 #include "Pbk2ProcessDecoratorFactory.h"
-#include <pbk2commands.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2ContactUiControl.h>
 #include <MPbk2ContactNameFormatter.h>
 #include <CPbk2GeneralConfirmationQuery.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2GoToURLCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2GoToURLCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <CPbk2AddressSelect.h>
 #include <CPbk2ApplicationServices.h>
 #include <MPbk2AppUi.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2FieldPropertyArray.h>
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2ImageCmdBase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2ImageCmdBase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -38,7 +38,7 @@
 #include <MVPbkFieldType.h>
 #include <CVPbkContactManager.h>
 #include <MVPbkContactOperationBase.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System headers
 #include <coemain.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2InfoDialogCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2InfoDialogCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include "CPbk2InfoDialogCmd.h"
 
 // Phonebook 2
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <MPbk2CommandObserver.h>
 #include <CPbk2StoreListQuery.h>
 #include <CPbk2PhonebookInfoDlg.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeConflict.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeConflict.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,7 @@
 
 // Phonebook2 includes
 #include <Pbk2AddressTools.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2PresentationContact.h>
 #include <CPbk2PresentationContactFieldCollection.h>
 #include <CPbk2PresentationContactField.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeContactsCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeContactsCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,9 +44,9 @@
 #include <CPbk2MergeConflictsDlg.h>
 #include <CPbk2MergePhotoConflictDlg.h>
 
-#include <pbk2uicontrols.rsg> 
-#include <pbk2cmdextres.rsg>
-#include <pbk2commonui.rsg>
+#include <Pbk2UIControls.rsg> 
+#include <Pbk2CmdExtRes.rsg>
+#include <Pbk2CommonUi.rsg>
 //Virtual Phonebook
 #include <MVPbkContactLink.h>
 #include <MVPbkContactViewBase.h>
@@ -58,7 +58,7 @@
 #include <MVPbkStoreContact.h>
 #include <MVPbkContactFieldBinaryData.h>
 #include <MVPbkContactFieldTextData.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkContactGroup.h>
 
 //System
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeResolver.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeResolver.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -33,7 +33,7 @@
 #include <MVPbkContactFieldBinaryData.h>
 #include <vpbkeng.rsg>
 #include <VPbkSyncConstants.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // System includes
 #include <AknUtils.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2RemoveImageCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2RemoveImageCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include "CPbk2RemoveImageCmd.h"
 #include "CPbk2ImageManager.h"
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 
 #include <AknQueryDialog.h>
 #include <MVPbkStoreContact.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2RemoveSpeedDialCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2RemoveSpeedDialCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <CPbk2PresentationContact.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <CPbk2PresentationContactFieldCollection.h>
-#include <pbk2cmdextres.rsg>
+#include <Pbk2CmdExtRes.rsg>
 #include <CPbk2AppUiBase.h>
 
 // From Virtual Phonebook
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2SendContactCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2SendContactCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,8 +22,8 @@
 #include "Pbk2SendCmdUtils.h"
 #include "CPbk2vCardConverter.h"
 #include <MPbk2CommandObserver.h>
-#include <pbk2commands.rsg>
-#include <pbk2cmdextres.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2CmdExtRes.rsg>
 #include <Pbk2ProcessDecoratorFactory.h>
 #include <MPbk2ProcessDecorator.h>
 #include <MPbk2ContactLinkIterator.h>
@@ -42,7 +42,7 @@
 #include <MVPbkStoreContact.h>
 #include <MVPbkFieldType.h>
 #include <TVPbkFieldTypeMapping.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <txtrich.h>
@@ -369,7 +369,6 @@
         iUiControl->RegisterCommand( NULL );
         }
 
-    delete iWaiter;
     delete iSelectedContacts;
     delete iConverter;
     delete iVCardSender;
@@ -547,25 +546,6 @@
             ProcessDone( KErrCancel );
             break;
             }
-        case EReleaseResource:
-            {
-            CPbk2AttachmentFileArray& fileArray = iConverter->AttachmentFileArray();
-            TInt count = fileArray.Count();
-            TInt deleteIndex = count -1;
-            CPbk2AttachmentFile * file = fileArray.At(deleteIndex);
-            fileArray.Delete(deleteIndex);
-            delete file;
-            
-            if ( count > 1) 
-            {
-              IssueRequest();
-            }
-            else
-            {
-              iWaiter->AsyncStop();
-            }
-            break;
-            }
         }
     }
 
@@ -575,9 +555,6 @@
 //
 TInt CPbk2SendContactCmd::RunError(TInt aError)
     {
-    if( iWaiter && iWaiter->IsStarted() )
-        iWaiter->AsyncStop();
-    
     return FilterErrors(aError);
     }
 
@@ -587,9 +564,6 @@
 //
 void CPbk2SendContactCmd::DoCancel()
     {
-    if( iWaiter && iWaiter->IsStarted() )
-        iWaiter->AsyncStop();
-    
     delete iRetrieveOperation;
     iRetrieveOperation = NULL;
     }
@@ -1285,51 +1259,4 @@
     return result;
     }
 
-// --------------------------------------------------------------------------
-// CPbk2SendContactCmd::CommandExtension
-// --------------------------------------------------------------------------
-//
-TAny* CPbk2SendContactCmd::CommandExtension(TUid aExtensionUid )
-    {
-     if( aExtensionUid == TUid::Uid(MPbk2ResourceReleaseUID) )
-        {
-        return static_cast<MPbk2ResourceRelease *>(this);
-        }
-     else
-        {
-        return NULL;
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPbk2SendContactCmd::ReleaseResource
-// --------------------------------------------------------------------------
-//
-void CPbk2SendContactCmd::ReleaseResource()
-    {
-    Cancel();
-    if (iConverter)
-        {
-        iConverter->Cancel();
-        CPbk2AttachmentFileArray& fileArray = iConverter->AttachmentFileArray();        
-        if (fileArray.Count() > 0)
-            {
-            if ( !iWaiter )
-                {
-                TInt err( KErrNone );
-                TRAP( err,iWaiter = new (ELeave) CActiveSchedulerWait());
-                if ( err != KErrNone )
-                    {
-                    fileArray.ResetAndDestroy();
-                    return;
-                    }
-                 }
-            
-              iState = EReleaseResource;
-              IssueRequest();         
-              iWaiter->Start();
-            }
-       }
-    }
-
 // End of File
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2SendMessageCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2SendMessageCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,20 +26,20 @@
 #include <MPbk2CommandObserver.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <CPbk2AppUiBase.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <TPbk2AddressSelectParams.h>
 #include <CPbk2AddressSelect.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <Pbk2DataCaging.hrh>
 #include <RPbk2LocalizedResourceFile.h>
 #include <CPbk2AttachmentFile.h>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <CPbk2PresentationContact.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <CPbk2PresentationContactFieldCollection.h>
 #include <CPbk2DriveSpaceCheck.h>
 #include <CPbk2ApplicationServices.h>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // Virtual Phonebook
 #include <VPbkFieldType.hrh>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2SetImageCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2SetImageCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,13 +25,13 @@
 #include "CPbk2DrmManager.h"
 #include "Pbk2DataCaging.hrh"
 #include "Pbk2PresentationUtils.h"
-#include <pbk2commands.rsg>
-#include <pbk2commonui.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <MPbk2CommandObserver.h>
 #include <RPbk2LocalizedResourceFile.h>
 #include <CPbk2DriveSpaceCheck.h>
 #include <CPbk2AppUiBase.h>
-#include <pbk2cmdextres.rsg>
+#include <Pbk2CmdExtRes.rsg>
 
 // Virtual Phonebook
 #include <MVPbkStoreContact.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2SetThumbnailCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2SetThumbnailCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,8 +25,8 @@
 #include "CPbk2DrmManager.h"
 #include "Pbk2DataCaging.hrh"
 #include "Pbk2PresentationUtils.h"
-#include <pbk2commands.rsg>
-#include <pbk2commonui.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <MPbk2CommandObserver.h>
 #include <RPbk2LocalizedResourceFile.h>
 
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2ThumbnailCmdBase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2ThumbnailCmdBase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include "CPbk2ThumbnailCmdBase.h"
 
 // Phonebook 2
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <CPbk2ImageManager.h>
 #include <CPbk2ContactRelocator.h>
 #include <MPbk2CommandObserver.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2ViewImageCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2ViewImageCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,11 +22,11 @@
 
 // Phonebook 2
 #include "Pbk2DataCaging.hrh"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2CommandObserver.h>
 #include <TPbk2StoreContactAnalyzer.h>
-#include <pbk2commands.rsg>
-#include <pbk2cmdextres.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2CmdExtRes.rsg>
 
 // Virtual Phonebook
 #include <MVPbkStoreContact.h>
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbk2vCardConverter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbk2vCardConverter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,8 +21,8 @@
 // Phonebook 2
 #include "Pbk2SendCmdUtils.h"
 #include <CPbk2AttachmentFile.h>
-#include <pbk2commands.rsg>
-#include <pbk2cmdextres.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2CmdExtRes.rsg>
 #include <MPbk2ContactLinkIterator.h>
 
 // Virtual Phonebook
@@ -138,7 +138,6 @@
         delete iVcardFiles;
         }
     delete iVCardFile;
-    delete iRetrieveOperation;
     delete iVCardContact;
     iFileWriteStream.Close();
     delete iContactOperation;
--- a/phonebookui/Phonebook2/CommandsExtension/src/CPbkRclCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommandsExtension/src/CPbkRclCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 #include "CPbkRclCmd.h"
 
 // Phonebook 2
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <MPbk2CommandObserver.h>
 #include <MPbk2ContactUiControl.h>
 
--- a/phonebookui/Phonebook2/CommonUI/rss/Pbk2IconInfo.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommonUI/rss/Pbk2IconInfo.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -508,18 +508,6 @@
             maskId = qgn_prop_radiobutt_on_mask;
             skinIdMajor = EAknsMajorAvkon;
             skinIdMinor = EAknsMinorQgnPropRadiobuttOn;
-            },
-          PBK2_ICON_INFO
-            {
-            version = 0;
-            pbk2IconInfoId = PHONEBOOK2_ICON_ID
-                 {
-                 ownerUid = KPbk2UID3;
-                 id = EPbk2qgn_prop_phonebook2_unsync;
-                 };
-            mbmFileName = phonebook2_mbm_file_location;
-            iconId = qgn_prop_phonebook2_unsync;
-            maskId = qgn_prop_phonebook2_unsync_mask;
             }
         };
     }
--- a/phonebookui/Phonebook2/CommonUI/src/CPbk2ApplicationServices.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommonUI/src/CPbk2ApplicationServices.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <CPbk2CommandHandler.h>
 #include <MPbk2ViewExplorer.h>
 #include <Pbk2ContactNameFormatterFactory.h>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <CPbk2StorePropertyArray.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <Pbk2MenuFilteringFlags.hrh>
--- a/phonebookui/Phonebook2/CommonUI/src/CPbk2ContactNavigation.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommonUI/src/CPbk2ContactNavigation.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -141,14 +141,7 @@
         {
         decorator->SetNaviDecoratorObserver
             (  const_cast<CPbk2ContactNavigation*>( this ) );
-        CAknNavigationDecorator::TControlType controlType = 
-            decorator->ControlType();
-        // Set ScrollButtonVisible to ETrue except
-        // the controlType is CAknNavigationDecorator::ENaviLabel
-        if( CAknNavigationDecorator::ENaviLabel != controlType )
-            {
-            decorator->MakeScrollButtonVisible( ETrue );
-            }
+        decorator->MakeScrollButtonVisible( ETrue );
         }
 
     TInt index = 0;
--- a/phonebookui/Phonebook2/CommonUI/src/CPbk2ContactRelocator.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommonUI/src/CPbk2ContactRelocator.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <MPbk2ApplicationServices.h>
 #include <Phonebook2PrivateCRKeys.h>
 #include <MPbk2ContactRelocatorObserver.h>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <CPbk2StoreProperty.h>
 #include <CPbk2StorePropertyArray.h>
 #include <MPbk2ContactNameFormatter.h>
--- a/phonebookui/Phonebook2/CommonUI/src/CPbk2ContactViewSupplier.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommonUI/src/CPbk2ContactViewSupplier.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <CPbk2SortOrderManager.h>
 #include <CPbk2ContactViewBuilder.h>
 #include <RPbk2LocalizedResourceFile.h>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <Pbk2DataCaging.hrh>
 #include <CPbk2GroupFeaturePlugin.h>
 #include <Pbk2ViewId.hrh>
--- a/phonebookui/Phonebook2/CommonUI/src/CPbk2DrmManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommonUI/src/CPbk2DrmManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include "CPbk2DrmManager.h"
 
 // Phonebook 2
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // System includes
 #include <featmgr.h>
--- a/phonebookui/Phonebook2/CommonUI/src/CPbk2IconFactory.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommonUI/src/CPbk2IconFactory.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include "CPbk2IconInfo.h"
 #include <RPbk2LocalizedResourceFile.h>
 #include <Pbk2DataCaging.hrh>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <CPbk2IconInfoContainer.h>
 
 // System includes
--- a/phonebookui/Phonebook2/CommonUI/src/CPbk2RingingToneFetch.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommonUI/src/CPbk2RingingToneFetch.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 #include <CPbk2RingingToneFetch.h>
 
 // Phonebook 2
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // System includes
 #include <cntfldst.h>
--- a/phonebookui/Phonebook2/CommonUI/src/CPbk2StoreManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/CommonUI/src/CPbk2StoreManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <CPbk2StoreConfiguration.h>
 #include <RPbk2LocalizedResourceFile.h>
 #include <Pbk2DataCaging.hrh>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // Virtual Phonebook
 #include <CVPbkContactManager.h>
--- a/phonebookui/Phonebook2/EABI/Pbk2CommandsU.DEF	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/EABI/Pbk2CommandsU.DEF	Wed Oct 13 14:15:33 2010 +0300
@@ -73,6 +73,4 @@
 	_ZThn28_N24CPbk2AiwInterestItemBase7AttachLEiii @ 72 NONAME ; #<thunk>#
 	_ZThn28_NK24CPbk2AiwInterestItemBase10InterestIdEv @ 73 NONAME ; #<thunk>#
 	_ZN20CPbk2DriveSpaceCheck8SetStoreERK7TDesC16 @ 74 NONAME
-	_ZN17CPbk2CommandStore18DestroyAllCommandsEv @ 75 NONAME
-	_ZN19CPbk2CommandHandler12CommandStoreEv @ 76 NONAME
 
--- a/phonebookui/Phonebook2/EABI/Pbk2UiControlsU.DEF	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/EABI/Pbk2UiControlsU.DEF	Wed Oct 13 14:15:33 2010 +0300
@@ -1,207 +1,206 @@
 EXPORTS
-	_ZN13CPbk2FetchDlg17DenyDelayedFetchLERK6TDesC8 @ 1 NONAME
-	_ZN13CPbk2FetchDlg19AcceptDelayedFetchLERK6TDesC8 @ 2 NONAME
-	_ZN13CPbk2FetchDlg4NewLENS_7TParamsER21MPbk2FetchDlgObserver @ 3 NONAME
-	_ZN13CPbk2FetchDlg7TParamsC1Ev @ 4 NONAME
-	_ZN13CPbk2FetchDlg7TParamsC2Ev @ 5 NONAME
-	_ZN13CPbk2FetchDlg7TParamscv12TCleanupItemEv @ 6 NONAME
-	_ZN13CPbk2FetchDlg9ExecuteLDEv @ 7 NONAME
-	_ZN15CPbk2PrependDlg4NewLER6TDes16 @ 8 NONAME
-	_ZN16Pbk2AddressTools18GetAddressFieldsLCER17MVPbkStoreContact17TPbk2FieldGroupIdR8RHashMapIi7TPtrC16E @ 9 NONAME
-	_ZN16Pbk2AddressTools19GetAddressPreviewLCER17MVPbkStoreContact17TPbk2FieldGroupIdR6RBuf16 @ 10 NONAME
-	_ZN16Pbk2AddressTools20MapAddressToOrderingE17TPbk2FieldGroupId @ 11 NONAME
-	_ZN16Pbk2AddressTools20MapCtrlTypeToAddressEi @ 12 NONAME
-	_ZN16Pbk2AddressTools20MapViewTypeToAddressEN24TPbk2ContactEditorParams11TActiveViewE @ 13 NONAME
-	_ZN16Pbk2AddressTools21MapCtrlTypeToViewTypeEi @ 14 NONAME
-	_ZN16Pbk2AddressTools22IsAddressPreviewEmptyLER17MVPbkStoreContact17TPbk2FieldGroupId @ 15 NONAME
-	_ZN16Pbk2AddressTools23MapAddressToVersitParamE17TPbk2FieldGroupId @ 16 NONAME
-	_ZN16Pbk2AddressTools24GetAddressShortPreviewLCER17MVPbkStoreContact17TPbk2FieldGroupIdR6RBuf16 @ 17 NONAME
-	_ZN16Pbk2AddressTools32MapVPbkFieldTypeToAddressGroupIdEPK14MVPbkFieldType @ 18 NONAME
-	_ZN17CPbk2UIFieldArray4NewLERK7TDesC16R3RFsR19MPbk2UIFieldFactory @ 19 NONAME
-	_ZN18CPbk2AddressSelect12AttemptExitLEi @ 20 NONAME
-	_ZN18CPbk2AddressSelect20Pbk2ControlKeyEventLERK9TKeyEvent10TEventCode @ 21 NONAME
-	_ZN18CPbk2AddressSelect4NewLER24TPbk2AddressSelectParams @ 22 NONAME
-	_ZN18CPbk2AddressSelect4NewLER24TPbk2AddressSelectParamsR22CVPbkFieldTypeSelectorPK6TArrayIP17MVPbkStoreContactEPKS4_IP21CPbk2PresenceIconInfoE @ 23 NONAME
-	_ZN18CPbk2AddressSelect6SetCbaEi @ 24 NONAME
-	_ZN18CPbk2AddressSelect9ExecuteLDEv @ 25 NONAME
-	_ZN18CPbk2AddressSelectD0Ev @ 26 NONAME
-	_ZN18CPbk2AddressSelectD1Ev @ 27 NONAME
-	_ZN18CPbk2AddressSelectD2Ev @ 28 NONAME
-	_ZN18CPbk2InputAbsorber18SetCommandObserverEP19MEikCommandObserver @ 29 NONAME
-	_ZN18CPbk2InputAbsorber4NewLEi @ 30 NONAME
-	_ZN18CPbk2InputAbsorber4WaitEv @ 31 NONAME
-	_ZN18CPbk2InputAbsorber5NewLCEi @ 32 NONAME
-	_ZN18CPbk2InputAbsorber8StopWaitEv @ 33 NONAME
-	_ZN19CPbk2FieldFormatter14SetTimeFormatLERK7TDesC16 @ 34 NONAME
-	_ZN19CPbk2FieldFormatter19FormatFieldContentLERK21MVPbkBaseContactFieldRK14MVPbkFieldType @ 35 NONAME
-	_ZN19CPbk2FieldFormatter4NewLERK23MPbk2FieldPropertyArrayRK18MVPbkFieldTypeList @ 36 NONAME
-	_ZN19CPbk2StoreListQuery15SetAllItemTextLERK7TDesC16i @ 37 NONAME
-	_ZN19CPbk2StoreListQuery4NewLEv @ 38 NONAME
-	_ZN19CPbk2StoreListQuery9ExecuteLDERK7TDesC16R25CVPbkContactStoreUriArray @ 39 NONAME
-	_ZN19TPbk2AddItemWrapperC1ERK18MPbk2FieldProperty @ 40 NONAME
-	_ZN19TPbk2AddItemWrapperC1ERK23CPbk2FieldPropertyGroup @ 41 NONAME
-	_ZN19TPbk2AddItemWrapperC2ERK18MPbk2FieldProperty @ 42 NONAME
-	_ZN19TPbk2AddItemWrapperC2ERK23CPbk2FieldPropertyGroup @ 43 NONAME
-	_ZN20CPbk2ThumbnailLoader13HideThumbnailEv @ 44 NONAME
-	_ZN20CPbk2ThumbnailLoader13LoadThumbnailEP17MVPbkStoreContactPK11CEikListBox22TPbk2ThumbnailLocation @ 45 NONAME
-	_ZN20CPbk2ThumbnailLoader14LoadThumbnailLEP16MVPbkContactLinkPK11CEikListBox22TPbk2ThumbnailLocation @ 46 NONAME
-	_ZN20CPbk2ThumbnailLoader4NewLER19CVPbkContactManager @ 47 NONAME
-	_ZN20CPbk2ThumbnailLoader5ResetEv @ 48 NONAME
-	_ZN20CPbk2ThumbnailLoader7RefreshEv @ 49 NONAME
-	_ZN21CPbk2ContactEditorDlg4NewLER24TPbk2ContactEditorParamsP17MVPbkStoreContactR26MPbk2EditedContactObserver @ 50 NONAME
-	_ZN21CPbk2ContactEditorDlg4NewLER24TPbk2ContactEditorParamsP17MVPbkStoreContactR26MPbk2EditedContactObserverP24MPbk2ApplicationServicesP7HBufC16i @ 51 NONAME
-	_ZN21CPbk2ContactEditorDlg9ExecuteLDEv @ 52 NONAME
-	_ZN21CPbk2NamesListControl12AddObserverLER20MPbk2ControlObserver @ 53 NONAME
-	_ZN21CPbk2NamesListControl13SetOpeningCcaEi @ 54 NONAME
-	_ZN21CPbk2NamesListControl14RemoveObserverER20MPbk2ControlObserver @ 55 NONAME
-	_ZN21CPbk2NamesListControl18AllowPointerEventsEi @ 56 NONAME
-	_ZN21CPbk2NamesListControl20SetCurrentGroupLinkLEP16MVPbkContactLink @ 57 NONAME
-	_ZN21CPbk2NamesListControl26HandleViewForegroundEventLEi @ 58 NONAME
-	_ZN21CPbk2NamesListControl26MassUpdateSkipProgressNoteEi @ 59 NONAME
-	_ZN21CPbk2NamesListControl4NewLEiPK11CCoeControlR19CVPbkContactManagerR20MVPbkContactViewBaseR25MPbk2ContactNameFormatterR23CPbk2StorePropertyArray @ 60 NONAME
-	_ZN21CPbk2NamesListControl4NewLEiPK11CCoeControlR19CVPbkContactManagerR20MVPbkContactViewBaseR25MPbk2ContactNameFormatterR23CPbk2StorePropertyArrayP21CPbk2ThumbnailManager @ 61 NONAME
-	_ZN21CPbk2NamesListControl5ResetEv @ 62 NONAME
-	_ZN21CPbk2NamesListControl8SetViewLER20MVPbkContactViewBase @ 63 NONAME
-	_ZN21CPbk2NamesListControl9GiveViewLEP20MVPbkContactViewBase @ 64 NONAME
-	_ZN21CPbk2NamesListControlC1EPK11CCoeControlR19CVPbkContactManagerR20MVPbkContactViewBaseR25MPbk2ContactNameFormatterR23CPbk2StorePropertyArray @ 65 NONAME
-	_ZN21CPbk2NamesListControlC2EPK11CCoeControlR19CVPbkContactManagerR20MVPbkContactViewBaseR25MPbk2ContactNameFormatterR23CPbk2StorePropertyArray @ 66 NONAME
-	_ZN21CPbk2PhonebookInfoDlg4NewLEv @ 67 NONAME
-	_ZN21CPbk2PhonebookInfoDlg9ExecuteLDER25CVPbkContactStoreUriArray @ 68 NONAME
-	_ZN21CPbk2ThumbnailManager4NewLER19CVPbkContactManager @ 69 NONAME
-	_ZN22CPbk2ContactIconsUtils23CreateListboxIconArrayLEi @ 70 NONAME
-	_ZN22CPbk2ContactIconsUtils4NewLER23CPbk2StorePropertyArrayP30MPbk2ContactUiControlExtension @ 71 NONAME
-	_ZN22CPbk2MergeConflictsDlg4NewLEP18MPbk2MergeResolveri @ 72 NONAME
-	_ZN23CPbk2ContactInfoControl12AddObserverLER20MPbk2ControlObserver @ 73 NONAME
-	_ZN23CPbk2ContactInfoControl14RemoveObserverER20MPbk2ControlObserver @ 74 NONAME
-	_ZN23CPbk2ContactInfoControl4NewLEPK11CCoeControlR19CVPbkContactManagerR25MPbk2ContactNameFormatterR23MPbk2FieldPropertyArrayR23CPbk2StorePropertyArrayP22MPbk2ContactNavigation @ 75 NONAME
-	_ZN24CPbk2AddItemToContactDlg4NewLEP24MPbk2ApplicationServices @ 76 NONAME
-	_ZN24CPbk2AddItemToContactDlg4NewLEv @ 77 NONAME
-	_ZN24CPbk2AddItemToContactDlg9ExecuteLDER6RArrayI19TPbk2AddItemWrapperEPK24TPbk2AddItemDialogParams @ 78 NONAME
-	_ZN24CPbk2SettingsListControl15CommitSettingsLEv @ 79 NONAME
-	_ZN24CPbk2SettingsListControl4NewLEPK11CCoeControlR21CPbk2SortOrderManagerR29MPbk2SettingsControlExtension @ 80 NONAME
-	_ZN24TPbk2AddressSelectParams14SetQueryAlwaysEi @ 81 NONAME
-	_ZN24TPbk2AddressSelectParams15SetFocusedFieldEPK22MVPbkStoreContactField @ 82 NONAME
-	_ZN24TPbk2AddressSelectParams19SetSuppressWarningsEi @ 83 NONAME
-	_ZN24TPbk2AddressSelectParams20SetDefaultPrioritiesERK34RVPbkContactFieldDefaultPriorities @ 84 NONAME
-	_ZN24TPbk2AddressSelectParams21SetUseDefaultDirectlyEi @ 85 NONAME
-	_ZN24TPbk2AddressSelectParams28SetTitleToIncludeContactNameEi @ 86 NONAME
-	_ZN24TPbk2AddressSelectParamsC1ER17MVPbkStoreContactRK19CVPbkContactManagerR25MPbk2ContactNameFormatterRK23CPbk2FieldPropertyArrayR15TResourceReaderi @ 87 NONAME
-	_ZN24TPbk2AddressSelectParamsC2ER17MVPbkStoreContactRK19CVPbkContactManagerR25MPbk2ContactNameFormatterRK23CPbk2FieldPropertyArrayR15TResourceReaderi @ 88 NONAME
-	_ZN26CPbk2MergePhotoConflictDlg4NewLEP16MVPbkBaseContactS1_Pi @ 89 NONAME
-	_ZN27CPbk2MemoryEntryDefaultsDlg4NewLER24CPbk2PresentationContactR19CVPbkContactManager @ 90 NONAME
-	_ZN27CPbk2MemoryEntryDefaultsDlg9ExecuteLDEv @ 91 NONAME
-	_ZN27Pbk2TitlePanePictureFactory24CreateTitlePanePictureLCEPK17MVPbkStoreContactR23CPbk2StorePropertyArray @ 92 NONAME
-	_ZN28CPbk2DefaultAttributeProcess11SetDefaultLE16TVPbkDefaultTypeR22MVPbkStoreContactField @ 93 NONAME
-	_ZN28CPbk2DefaultAttributeProcess12SetDefaultsLEP13CArrayFixFlatI16TVPbkDefaultTypeER22MVPbkStoreContactField @ 94 NONAME
-	_ZN28CPbk2DefaultAttributeProcess14RemoveDefaultLE16TVPbkDefaultType @ 95 NONAME
-	_ZN28CPbk2DefaultAttributeProcess15RemoveDefaultsLEP13CArrayFixFlatI16TVPbkDefaultTypeE @ 96 NONAME
-	_ZN28CPbk2DefaultAttributeProcess4NewLER19CVPbkContactManagerR17MVPbkStoreContactR36MPbk2DefaultAttributeProcessObserver @ 97 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBase14SetFieldLabelLERK7TDesC16 @ 98 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBase16ConsumesKeyEventERK9TKeyEvent10TEventCode @ 99 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBase18LoadBitmapToFieldLERK11TPbk2IconId @ 100 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBase25HandleCustomFieldCommandLEi @ 101 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBase8SetFocusEv @ 102 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBase9ControlIdEv @ 103 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBaseC2EP12MPbk2UIFieldR27MPbk2ContactEditorUiBuilderR22CPbk2IconInfoContaineri @ 104 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBaseD0Ev @ 105 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBaseD1Ev @ 106 NONAME
-	_ZN29CPbk2ContactEditorUIFieldBaseD2Ev @ 107 NONAME
-	_ZN29CPbk2GeneralConfirmationQuery4NewLEv @ 108 NONAME
-	_ZN29CPbk2GeneralConfirmationQuery9ExecuteLDERK16MVPbkBaseContacti @ 109 NONAME
-	_ZN29CPbk2GeneralConfirmationQuery9ExecuteLDERK16MVPbkBaseContactii @ 110 NONAME
-	_ZN29CPbk2GeneralConfirmationQuery9ExecuteLDEii @ 111 NONAME
-	_ZN29CPbk2GeneralConfirmationQuery9StopQueryEv @ 112 NONAME
-	_ZN31CPbk2ContactEditorReadonlyField11InitializeLEP25MPbk2ContactEditorUIField @ 113 NONAME
-	_ZN31CPbk2ContactEditorReadonlyField8SetTextLEPK7TDesC16 @ 114 NONAME
-	_ZN31CPbk2ContactUiControlSubstitute15SetFocusedFieldERK21MVPbkBaseContactField @ 115 NONAME
-	_ZN31CPbk2ContactUiControlSubstitute16SetSelectedStoreER17MVPbkContactStore @ 116 NONAME
-	_ZN31CPbk2ContactUiControlSubstitute18SetParentUiControlER21MPbk2ContactUiControl @ 117 NONAME
-	_ZN31CPbk2ContactUiControlSubstitute20SetFocusedFieldIndexEi @ 118 NONAME
-	_ZN31CPbk2ContactUiControlSubstitute22SetFocusedStoreContactERK17MVPbkStoreContact @ 119 NONAME
-	_ZN31CPbk2ContactUiControlSubstitute4NewLEv @ 120 NONAME
-	_ZN31CPbk2ContactUiControlSubstituteD0Ev @ 121 NONAME
-	_ZN31CPbk2ContactUiControlSubstituteD1Ev @ 122 NONAME
-	_ZN31CPbk2ContactUiControlSubstituteD2Ev @ 123 NONAME
-	_ZN31Pbk2PhoneNumberFormatterFactory27CreatePhoneNumberFormatterLEi @ 124 NONAME
-	_ZN33CPbk2MemoryEntryDefaultsAssignDlg4NewLEv @ 125 NONAME
-	_ZN33CPbk2MemoryEntryDefaultsAssignDlg9ExecuteLDERK39CPbk2PresentationContactFieldCollectionRK19CVPbkContactManagerRK23MPbk2FieldPropertyArrayN28VPbkFieldTypeSelectorFactory30TVPbkContactActionTypeSelectorE @ 126 NONAME
-	_ZNK18CPbk2InputAbsorber9IsWaitingEv @ 127 NONAME
-	_ZNK19TPbk2AddItemWrapper10PropertyAtEi @ 128 NONAME
-	_ZNK19TPbk2AddItemWrapper13PropertyCountEv @ 129 NONAME
+	_ZN13CPbk2FetchDlg19AcceptDelayedFetchLERK6TDesC8 @ 1 NONAME
+	_ZN13CPbk2FetchDlg4NewLENS_7TParamsER21MPbk2FetchDlgObserver @ 2 NONAME
+	_ZN13CPbk2FetchDlg7TParamsC1Ev @ 3 NONAME
+	_ZN13CPbk2FetchDlg7TParamsC2Ev @ 4 NONAME
+	_ZN13CPbk2FetchDlg7TParamscv12TCleanupItemEv @ 5 NONAME
+	_ZN13CPbk2FetchDlg9ExecuteLDEv @ 6 NONAME
+	_ZN15CPbk2PrependDlg4NewLER6TDes16 @ 7 NONAME
+	_ZN18CPbk2AddressSelect12AttemptExitLEi @ 8 NONAME
+	_ZN18CPbk2AddressSelect20Pbk2ControlKeyEventLERK9TKeyEvent10TEventCode @ 9 NONAME
+	_ZN18CPbk2AddressSelect4NewLER24TPbk2AddressSelectParams @ 10 NONAME
+	_ZN18CPbk2AddressSelect6SetCbaEi @ 11 NONAME
+	_ZN18CPbk2AddressSelect9ExecuteLDEv @ 12 NONAME
+	_ZN18CPbk2AddressSelectD0Ev @ 13 NONAME
+	_ZN18CPbk2AddressSelectD1Ev @ 14 NONAME
+	_ZN18CPbk2AddressSelectD2Ev @ 15 NONAME
+	_ZN18CPbk2InputAbsorber18SetCommandObserverEP19MEikCommandObserver @ 16 NONAME
+	_ZN18CPbk2InputAbsorber4NewLEi @ 17 NONAME
+	_ZN18CPbk2InputAbsorber4WaitEv @ 18 NONAME
+	_ZN18CPbk2InputAbsorber5NewLCEi @ 19 NONAME
+	_ZN18CPbk2InputAbsorber8StopWaitEv @ 20 NONAME
+	_ZN19CPbk2FieldFormatter14SetTimeFormatLERK7TDesC16 @ 21 NONAME
+	_ZN19CPbk2FieldFormatter19FormatFieldContentLERK21MVPbkBaseContactFieldRK14MVPbkFieldType @ 22 NONAME
+	_ZN19CPbk2FieldFormatter4NewLERK23MPbk2FieldPropertyArrayRK18MVPbkFieldTypeList @ 23 NONAME
+	_ZN19CPbk2StoreListQuery15SetAllItemTextLERK7TDesC16i @ 24 NONAME
+	_ZN19CPbk2StoreListQuery4NewLEv @ 25 NONAME
+	_ZN19CPbk2StoreListQuery9ExecuteLDERK7TDesC16R25CVPbkContactStoreUriArray @ 26 NONAME
+	_ZN19TPbk2AddItemWrapperC1ERK18MPbk2FieldProperty @ 27 NONAME
+	_ZN19TPbk2AddItemWrapperC1ERK23CPbk2FieldPropertyGroup @ 28 NONAME
+	_ZN19TPbk2AddItemWrapperC2ERK18MPbk2FieldProperty @ 29 NONAME
+	_ZN19TPbk2AddItemWrapperC2ERK23CPbk2FieldPropertyGroup @ 30 NONAME
+	_ZN20CPbk2ThumbnailLoader13HideThumbnailEv @ 31 NONAME
+	_ZN20CPbk2ThumbnailLoader13LoadThumbnailEP17MVPbkStoreContactPK11CEikListBox22TPbk2ThumbnailLocation @ 32 NONAME
+	_ZN20CPbk2ThumbnailLoader14LoadThumbnailLEP16MVPbkContactLinkPK11CEikListBox22TPbk2ThumbnailLocation @ 33 NONAME
+	_ZN20CPbk2ThumbnailLoader4NewLER19CVPbkContactManager @ 34 NONAME
+	_ZN20CPbk2ThumbnailLoader5ResetEv @ 35 NONAME
+	_ZN20CPbk2ThumbnailLoader7RefreshEv @ 36 NONAME
+	_ZN21CPbk2ContactEditorDlg4NewLER24TPbk2ContactEditorParamsP17MVPbkStoreContactR26MPbk2EditedContactObserver @ 37 NONAME
+	_ZN21CPbk2ContactEditorDlg9ExecuteLDEv @ 38 NONAME
+	_ZN21CPbk2NamesListControl12AddObserverLER20MPbk2ControlObserver @ 39 NONAME
+	_ZN21CPbk2NamesListControl14RemoveObserverER20MPbk2ControlObserver @ 40 NONAME
+	_ZN21CPbk2NamesListControl4NewLEiPK11CCoeControlR19CVPbkContactManagerR20MVPbkContactViewBaseR25MPbk2ContactNameFormatterR23CPbk2StorePropertyArray @ 41 NONAME
+	_ZN21CPbk2NamesListControl5ResetEv @ 42 NONAME
+	_ZN21CPbk2NamesListControl8SetViewLER20MVPbkContactViewBase @ 43 NONAME
+	_ZN21CPbk2NamesListControlC1EPK11CCoeControlR19CVPbkContactManagerR20MVPbkContactViewBaseR25MPbk2ContactNameFormatterR23CPbk2StorePropertyArray @ 44 NONAME
+	_ZN21CPbk2NamesListControlC2EPK11CCoeControlR19CVPbkContactManagerR20MVPbkContactViewBaseR25MPbk2ContactNameFormatterR23CPbk2StorePropertyArray @ 45 NONAME
+	_ZN21CPbk2PhonebookInfoDlg4NewLEv @ 46 NONAME
+	_ZN21CPbk2PhonebookInfoDlg9ExecuteLDER25CVPbkContactStoreUriArray @ 47 NONAME
+	_ZN23CPbk2ContactInfoControl12AddObserverLER20MPbk2ControlObserver @ 48 NONAME
+	_ZN23CPbk2ContactInfoControl14RemoveObserverER20MPbk2ControlObserver @ 49 NONAME
+	_ZN23CPbk2ContactInfoControl4NewLEPK11CCoeControlR19CVPbkContactManagerR25MPbk2ContactNameFormatterR23MPbk2FieldPropertyArrayR23CPbk2StorePropertyArrayP22MPbk2ContactNavigation @ 50 NONAME
+	_ZN24CPbk2AddItemToContactDlg4NewLEv @ 51 NONAME
+	_ZN24CPbk2AddItemToContactDlg9ExecuteLDER6RArrayI19TPbk2AddItemWrapperEPK24TPbk2AddItemDialogParams @ 52 NONAME
+	_ZN24CPbk2SettingsListControl15CommitSettingsLEv @ 53 NONAME
+	_ZN24CPbk2SettingsListControl4NewLEPK11CCoeControlR21CPbk2SortOrderManagerR29MPbk2SettingsControlExtension @ 54 NONAME
+	_ZN24TPbk2AddressSelectParams14SetQueryAlwaysEi @ 55 NONAME
+	_ZN24TPbk2AddressSelectParams15SetFocusedFieldEPK22MVPbkStoreContactField @ 56 NONAME
+	_ZN24TPbk2AddressSelectParams20SetDefaultPrioritiesERK34RVPbkContactFieldDefaultPriorities @ 57 NONAME
+	_ZN24TPbk2AddressSelectParams21SetUseDefaultDirectlyEi @ 58 NONAME
+	_ZN24TPbk2AddressSelectParamsC1ER17MVPbkStoreContactRK19CVPbkContactManagerR25MPbk2ContactNameFormatterRK23CPbk2FieldPropertyArrayR15TResourceReaderi @ 59 NONAME
+	_ZN24TPbk2AddressSelectParamsC2ER17MVPbkStoreContactRK19CVPbkContactManagerR25MPbk2ContactNameFormatterRK23CPbk2FieldPropertyArrayR15TResourceReaderi @ 60 NONAME
+	_ZN27CPbk2MemoryEntryDefaultsDlg4NewLER24CPbk2PresentationContactR19CVPbkContactManager @ 61 NONAME
+	_ZN27CPbk2MemoryEntryDefaultsDlg9ExecuteLDEv @ 62 NONAME
+	_ZN29CPbk2GeneralConfirmationQuery4NewLEv @ 63 NONAME
+	_ZN29CPbk2GeneralConfirmationQuery9ExecuteLDERK16MVPbkBaseContacti @ 64 NONAME
+	_ZN29CPbk2GeneralConfirmationQuery9ExecuteLDEii @ 65 NONAME
+	_ZN31CPbk2ContactUiControlSubstitute15SetFocusedFieldERK21MVPbkBaseContactField @ 66 NONAME
+	_ZN31CPbk2ContactUiControlSubstitute16SetSelectedStoreER17MVPbkContactStore @ 67 NONAME
+	_ZN31CPbk2ContactUiControlSubstitute18SetParentUiControlER21MPbk2ContactUiControl @ 68 NONAME
+	_ZN31CPbk2ContactUiControlSubstitute20SetFocusedFieldIndexEi @ 69 NONAME
+	_ZN31CPbk2ContactUiControlSubstitute22SetFocusedStoreContactERK17MVPbkStoreContact @ 70 NONAME
+	_ZN31CPbk2ContactUiControlSubstitute4NewLEv @ 71 NONAME
+	_ZN31CPbk2ContactUiControlSubstituteD0Ev @ 72 NONAME
+	_ZN31CPbk2ContactUiControlSubstituteD1Ev @ 73 NONAME
+	_ZN31CPbk2ContactUiControlSubstituteD2Ev @ 74 NONAME
+	_ZN31Pbk2PhoneNumberFormatterFactory27CreatePhoneNumberFormatterLEi @ 75 NONAME
+	_ZN33CPbk2MemoryEntryDefaultsAssignDlg4NewLEv @ 76 NONAME
+	_ZN33CPbk2MemoryEntryDefaultsAssignDlg9ExecuteLDERK39CPbk2PresentationContactFieldCollectionRK19CVPbkContactManagerRK23MPbk2FieldPropertyArrayN28VPbkFieldTypeSelectorFactory30TVPbkContactActionTypeSelectorE @ 77 NONAME
+	_ZNK18CPbk2InputAbsorber9IsWaitingEv @ 78 NONAME
+	_ZNK19TPbk2AddItemWrapper10PropertyAtEi @ 79 NONAME
+	_ZNK19TPbk2AddItemWrapper13PropertyCountEv @ 80 NONAME
+	_ZTI13CPbk2FetchDlg @ 81 NONAME ; #<TI>#
+	_ZTI15CPbk2PrependDlg @ 82 NONAME ; #<TI>#
+	_ZTI18CPbk2AddressSelect @ 83 NONAME ; #<TI>#
+	_ZTI18CPbk2InputAbsorber @ 84 NONAME ; #<TI>#
+	_ZTI19CPbk2StoreListQuery @ 85 NONAME ; #<TI>#
+	_ZTI19CPbk2ThumbnailPopup @ 86 NONAME ; #<TI>#
+	_ZTI21CPbk2ContactEditorDlg @ 87 NONAME ; #<TI>#
+	_ZTI21CPbk2NamesListControl @ 88 NONAME ; #<TI>#
+	_ZTI21CPbk2PhonebookInfoDlg @ 89 NONAME ; #<TI>#
+	_ZTI23CPbk2ContactInfoControl @ 90 NONAME ; #<TI>#
+	_ZTI24CPbk2AddItemToContactDlg @ 91 NONAME ; #<TI>#
+	_ZTI24CPbk2SettingsListControl @ 92 NONAME ; #<TI>#
+	_ZTI25CPbk2ContactEditorDlgImpl @ 93 NONAME ; #<TI>#
+	_ZTI25CPbk2StoreInfoItemBuilder @ 94 NONAME ; #<TI>#
+	_ZTI27CPbk2MemoryEntryDefaultsDlg @ 95 NONAME ; #<TI>#
+	_ZTI29CPbk2GeneralConfirmationQuery @ 96 NONAME ; #<TI>#
+	_ZTI31CPbk2ContactUiControlSubstitute @ 97 NONAME ; #<TI>#
+	_ZTV13CPbk2FetchDlg @ 98 NONAME ; #<VT>#
+	_ZTV15CPbk2PrependDlg @ 99 NONAME ; #<VT>#
+	_ZTV18CPbk2AddressSelect @ 100 NONAME ; #<VT>#
+	_ZTV18CPbk2InputAbsorber @ 101 NONAME ; #<VT>#
+	_ZTV19CPbk2StoreListQuery @ 102 NONAME ; #<VT>#
+	_ZTV19CPbk2ThumbnailPopup @ 103 NONAME ; #<VT>#
+	_ZTV21CPbk2ContactEditorDlg @ 104 NONAME ; #<VT>#
+	_ZTV21CPbk2NamesListControl @ 105 NONAME ; #<VT>#
+	_ZTV21CPbk2PhonebookInfoDlg @ 106 NONAME ; #<VT>#
+	_ZTV23CPbk2ContactInfoControl @ 107 NONAME ; #<VT>#
+	_ZTV24CPbk2AddItemToContactDlg @ 108 NONAME ; #<VT>#
+	_ZTV24CPbk2SettingsListControl @ 109 NONAME ; #<VT>#
+	_ZTV25CPbk2ContactEditorDlgImpl @ 110 NONAME ; #<VT>#
+	_ZTV25CPbk2StoreInfoItemBuilder @ 111 NONAME ; #<VT>#
+	_ZTV27CPbk2MemoryEntryDefaultsDlg @ 112 NONAME ; #<VT>#
+	_ZTV29CPbk2GeneralConfirmationQuery @ 113 NONAME ; #<VT>#
+	_ZTV31CPbk2ContactUiControlSubstitute @ 114 NONAME ; #<VT>#
+	_ZThn52_N31CPbk2ContactUiControlSubstitute20SetFocusedFieldIndexEi @ 115 NONAME ; #<thunk>#
+	_ZThn52_N31CPbk2ContactUiControlSubstituteD0Ev @ 116 NONAME ; #<thunk>#
+	_ZThn52_N31CPbk2ContactUiControlSubstituteD1Ev @ 117 NONAME ; #<thunk>#
+	_ZN27Pbk2TitlePanePictureFactory24CreateTitlePanePictureLCEPK17MVPbkStoreContactR23CPbk2StorePropertyArray @ 118 NONAME
+	_ZN28CPbk2DefaultAttributeProcess11SetDefaultLE16TVPbkDefaultTypeR22MVPbkStoreContactField @ 119 NONAME
+	_ZN28CPbk2DefaultAttributeProcess12SetDefaultsLEP13CArrayFixFlatI16TVPbkDefaultTypeER22MVPbkStoreContactField @ 120 NONAME
+	_ZN28CPbk2DefaultAttributeProcess14RemoveDefaultLE16TVPbkDefaultType @ 121 NONAME
+	_ZN28CPbk2DefaultAttributeProcess15RemoveDefaultsLEP13CArrayFixFlatI16TVPbkDefaultTypeE @ 122 NONAME
+	_ZN28CPbk2DefaultAttributeProcess4NewLER19CVPbkContactManagerR17MVPbkStoreContactR36MPbk2DefaultAttributeProcessObserver @ 123 NONAME
+	_ZN24TPbk2AddressSelectParams28SetTitleToIncludeContactNameEi @ 124 NONAME
+	_ZN21CPbk2NamesListControl9GiveViewLEP20MVPbkContactViewBase @ 125 NONAME
+	_ZN24TPbk2AddressSelectParams19SetSuppressWarningsEi @ 126 NONAME
+	_ZN21CPbk2NamesListControl18AllowPointerEventsEi @ 127 NONAME
+	_ZN22CPbk2ContactIconsUtils23CreateListboxIconArrayLEi @ 128 NONAME
+	_ZN22CPbk2ContactIconsUtils4NewLER23CPbk2StorePropertyArrayP30MPbk2ContactUiControlExtension @ 129 NONAME
 	_ZNK22CPbk2ContactIconsUtils21GetIconIdsForContactLERK16MVPbkViewContactR6RArrayI11TPbk2IconIdE @ 130 NONAME
-	_ZNK29CPbk2ContactEditorUIFieldBase10FieldLabelEv @ 131 NONAME
-	_ZNK29CPbk2ContactEditorUIFieldBase11ControlTextEv @ 132 NONAME
-	_ZNK29CPbk2ContactEditorUIFieldBase7UIFieldEv @ 133 NONAME
-	_ZTI12CPbk2UIField @ 134 NONAME
-	_ZTI13CPbk2FetchDlg @ 135 NONAME
-	_ZTI15CPbk2PrependDlg @ 136 NONAME
-	_ZTI17CPbk2UIFieldArray @ 137 NONAME
-	_ZTI18CPbk2AddressSelect @ 138 NONAME
-	_ZTI18CPbk2InputAbsorber @ 139 NONAME
-	_ZTI19CPbk2StoreListQuery @ 140 NONAME
-	_ZTI19CPbk2ThumbnailPopup @ 141 NONAME
-	_ZTI21CPbk2ContactEditorDlg @ 142 NONAME
-	_ZTI21CPbk2NamesListControl @ 143 NONAME
-	_ZTI21CPbk2PhonebookInfoDlg @ 144 NONAME
-	_ZTI22CPbk2ContactIconsUtils @ 145 NONAME
-	_ZTI23CPbk2ContactInfoControl @ 146 NONAME
-	_ZTI24CPbk2AddItemToContactDlg @ 147 NONAME
-	_ZTI24CPbk2SettingsListControl @ 148 NONAME
-	_ZTI25CPbk2ContactEditorDlgImpl @ 149 NONAME
-	_ZTI25CPbk2StoreInfoItemBuilder @ 150 NONAME
-	_ZTI27CPbk2ContactEditorArrayItem @ 151 NONAME
-	_ZTI27CPbk2MemoryEntryDefaultsDlg @ 152 NONAME
-	_ZTI29CPbk2ContactEditorUIFieldBase @ 153 NONAME
-	_ZTI29CPbk2GeneralConfirmationQuery @ 154 NONAME
-	_ZTI30CPbk2ContactEditorFieldFactory @ 155 NONAME
-	_ZTI30CPbk2FilteredViewStackObserver @ 156 NONAME
-	_ZTI31CPbk2ContactEditorReadonlyField @ 157 NONAME
-	_ZTI31CPbk2ContactUiControlSubstitute @ 158 NONAME
-	_ZTI33CPbk2ContactViewCustomListBoxData @ 159 NONAME
-	_ZTI39CPbk2ContactViewCustomListBoxItemDrawer @ 160 NONAME
-	_ZTIN17CPbk2FetchResults20CFRConatactOperationE @ 161 NONAME
-	_ZTV12CPbk2UIField @ 162 NONAME
-	_ZTV13CPbk2FetchDlg @ 163 NONAME
-	_ZTV15CPbk2PrependDlg @ 164 NONAME
-	_ZTV17CPbk2UIFieldArray @ 165 NONAME
-	_ZTV18CPbk2AddressSelect @ 166 NONAME
-	_ZTV18CPbk2InputAbsorber @ 167 NONAME
-	_ZTV19CPbk2StoreListQuery @ 168 NONAME
-	_ZTV19CPbk2ThumbnailPopup @ 169 NONAME
-	_ZTV21CPbk2ContactEditorDlg @ 170 NONAME
-	_ZTV21CPbk2NamesListControl @ 171 NONAME
-	_ZTV21CPbk2PhonebookInfoDlg @ 172 NONAME
-	_ZTV22CPbk2ContactIconsUtils @ 173 NONAME
-	_ZTV23CPbk2ContactInfoControl @ 174 NONAME
-	_ZTV24CPbk2AddItemToContactDlg @ 175 NONAME
-	_ZTV24CPbk2SettingsListControl @ 176 NONAME
-	_ZTV25CPbk2ContactEditorDlgImpl @ 177 NONAME
-	_ZTV25CPbk2StoreInfoItemBuilder @ 178 NONAME
-	_ZTV27CPbk2ContactEditorArrayItem @ 179 NONAME
-	_ZTV27CPbk2MemoryEntryDefaultsDlg @ 180 NONAME
-	_ZTV29CPbk2ContactEditorUIFieldBase @ 181 NONAME
-	_ZTV29CPbk2GeneralConfirmationQuery @ 182 NONAME
-	_ZTV30CPbk2ContactEditorFieldFactory @ 183 NONAME
-	_ZTV30CPbk2FilteredViewStackObserver @ 184 NONAME
-	_ZTV31CPbk2ContactEditorReadonlyField @ 185 NONAME
-	_ZTV31CPbk2ContactUiControlSubstitute @ 186 NONAME
-	_ZTV33CPbk2ContactViewCustomListBoxData @ 187 NONAME
-	_ZTV39CPbk2ContactViewCustomListBoxItemDrawer @ 188 NONAME
-	_ZTVN17CPbk2FetchResults20CFRConatactOperationE @ 189 NONAME
-	_ZThn4_N29CPbk2ContactEditorUIFieldBase14SetFieldLabelLERK7TDesC16 @ 190 NONAME
-	_ZThn4_N29CPbk2ContactEditorUIFieldBase16ConsumesKeyEventERK9TKeyEvent10TEventCode @ 191 NONAME
-	_ZThn4_N29CPbk2ContactEditorUIFieldBase18LoadBitmapToFieldLERK11TPbk2IconId @ 192 NONAME
-	_ZThn4_N29CPbk2ContactEditorUIFieldBase25HandleCustomFieldCommandLEi @ 193 NONAME
-	_ZThn4_N29CPbk2ContactEditorUIFieldBase8SetFocusEv @ 194 NONAME
-	_ZThn4_N29CPbk2ContactEditorUIFieldBase9ControlIdEv @ 195 NONAME
-	_ZThn4_N29CPbk2ContactEditorUIFieldBaseD0Ev @ 196 NONAME
-	_ZThn4_N29CPbk2ContactEditorUIFieldBaseD1Ev @ 197 NONAME
-	_ZThn4_NK29CPbk2ContactEditorUIFieldBase10FieldLabelEv @ 198 NONAME
-	_ZThn4_NK29CPbk2ContactEditorUIFieldBase11ControlTextEv @ 199 NONAME
-	_ZThn4_NK29CPbk2ContactEditorUIFieldBase7UIFieldEv @ 200 NONAME
-	_ZThn52_N31CPbk2ContactUiControlSubstitute20SetFocusedFieldIndexEi @ 201 NONAME
-	_ZThn52_N31CPbk2ContactUiControlSubstituteD0Ev @ 202 NONAME
-	_ZThn52_N31CPbk2ContactUiControlSubstituteD1Ev @ 203 NONAME
-	_ZThn56_N31CPbk2ContactUiControlSubstituteD0Ev @ 204 NONAME
-	_ZThn56_N31CPbk2ContactUiControlSubstituteD1Ev @ 205 NONAME
+	_ZTI22CPbk2ContactIconsUtils @ 131 NONAME ; #<TI>#
+	_ZTV22CPbk2ContactIconsUtils @ 132 NONAME ; #<VT>#
+	_ZN18CPbk2AddressSelect4NewLER24TPbk2AddressSelectParamsR22CVPbkFieldTypeSelectorPK6TArrayIP17MVPbkStoreContactEPKS4_IP21CPbk2PresenceIconInfoE @ 133 NONAME
+	_ZTIN17CPbk2FetchResults20CFRConatactOperationE @ 134 NONAME ; #<TI>#
+	_ZTVN17CPbk2FetchResults20CFRConatactOperationE @ 135 NONAME ; #<VT>#
+	_ZThn56_N31CPbk2ContactUiControlSubstituteD0Ev @ 136 NONAME ; #<thunk>#
+	_ZThn56_N31CPbk2ContactUiControlSubstituteD1Ev @ 137 NONAME ; #<thunk>#
+	_ZN16Pbk2AddressTools18GetAddressFieldsLCER17MVPbkStoreContact17TPbk2FieldGroupIdR8RHashMapIi7TPtrC16E @ 138 NONAME
+	_ZN16Pbk2AddressTools19GetAddressPreviewLCER17MVPbkStoreContact17TPbk2FieldGroupIdR6RBuf16 @ 139 NONAME
+	_ZN16Pbk2AddressTools20MapAddressToOrderingE17TPbk2FieldGroupId @ 140 NONAME
+	_ZN16Pbk2AddressTools20MapCtrlTypeToAddressEi @ 141 NONAME
+	_ZN16Pbk2AddressTools20MapViewTypeToAddressEN24TPbk2ContactEditorParams11TActiveViewE @ 142 NONAME
+	_ZN16Pbk2AddressTools21MapCtrlTypeToViewTypeEi @ 143 NONAME
+	_ZN16Pbk2AddressTools23MapAddressToVersitParamE17TPbk2FieldGroupId @ 144 NONAME
+	_ZN16Pbk2AddressTools24GetAddressShortPreviewLCER17MVPbkStoreContact17TPbk2FieldGroupIdR6RBuf16 @ 145 NONAME
+	_ZN17CPbk2UIFieldArray4NewLERK7TDesC16R3RFsR19MPbk2UIFieldFactory @ 146 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBase14SetFieldLabelLERK7TDesC16 @ 147 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBase16ConsumesKeyEventERK9TKeyEvent10TEventCode @ 148 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBase18LoadBitmapToFieldLERK11TPbk2IconId @ 149 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBase25HandleCustomFieldCommandLEi @ 150 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBase8SetFocusEv @ 151 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBase9ControlIdEv @ 152 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBaseC2EP12MPbk2UIFieldR27MPbk2ContactEditorUiBuilderR22CPbk2IconInfoContaineri @ 153 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBaseD0Ev @ 154 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBaseD1Ev @ 155 NONAME
+	_ZN29CPbk2ContactEditorUIFieldBaseD2Ev @ 156 NONAME
+	_ZN31CPbk2ContactEditorReadonlyField11InitializeLEP25MPbk2ContactEditorUIField @ 157 NONAME
+	_ZN31CPbk2ContactEditorReadonlyField8SetTextLEPK7TDesC16 @ 158 NONAME
+	_ZNK29CPbk2ContactEditorUIFieldBase10FieldLabelEv @ 159 NONAME
+	_ZNK29CPbk2ContactEditorUIFieldBase11ControlTextEv @ 160 NONAME
+	_ZNK29CPbk2ContactEditorUIFieldBase7UIFieldEv @ 161 NONAME
+	_ZTI12CPbk2UIField @ 162 NONAME ; #<TI>#
+	_ZTI17CPbk2UIFieldArray @ 163 NONAME ; #<TI>#
+	_ZTI27CPbk2ContactEditorArrayItem @ 164 NONAME ; #<TI>#
+	_ZTI29CPbk2ContactEditorUIFieldBase @ 165 NONAME ; #<TI>#
+	_ZTI30CPbk2ContactEditorFieldFactory @ 166 NONAME ; #<TI>#
+	_ZTI31CPbk2ContactEditorReadonlyField @ 167 NONAME ; #<TI>#
+	_ZTV12CPbk2UIField @ 168 NONAME ; #<VT>#
+	_ZTV17CPbk2UIFieldArray @ 169 NONAME ; #<VT>#
+	_ZTV27CPbk2ContactEditorArrayItem @ 170 NONAME ; #<VT>#
+	_ZTV29CPbk2ContactEditorUIFieldBase @ 171 NONAME ; #<VT>#
+	_ZTV30CPbk2ContactEditorFieldFactory @ 172 NONAME ; #<VT>#
+	_ZTV31CPbk2ContactEditorReadonlyField @ 173 NONAME ; #<VT>#
+	_ZThn4_N29CPbk2ContactEditorUIFieldBase14SetFieldLabelLERK7TDesC16 @ 174 NONAME ; #<thunk>#
+	_ZThn4_N29CPbk2ContactEditorUIFieldBase16ConsumesKeyEventERK9TKeyEvent10TEventCode @ 175 NONAME ; #<thunk>#
+	_ZThn4_N29CPbk2ContactEditorUIFieldBase18LoadBitmapToFieldLERK11TPbk2IconId @ 176 NONAME ; #<thunk>#
+	_ZThn4_N29CPbk2ContactEditorUIFieldBase25HandleCustomFieldCommandLEi @ 177 NONAME ; #<thunk>#
+	_ZThn4_N29CPbk2ContactEditorUIFieldBase8SetFocusEv @ 178 NONAME ; #<thunk>#
+	_ZThn4_N29CPbk2ContactEditorUIFieldBase9ControlIdEv @ 179 NONAME ; #<thunk>#
+	_ZThn4_N29CPbk2ContactEditorUIFieldBaseD0Ev @ 180 NONAME ; #<thunk>#
+	_ZThn4_N29CPbk2ContactEditorUIFieldBaseD1Ev @ 181 NONAME ; #<thunk>#
+	_ZThn4_NK29CPbk2ContactEditorUIFieldBase10FieldLabelEv @ 182 NONAME ; #<thunk>#
+	_ZThn4_NK29CPbk2ContactEditorUIFieldBase11ControlTextEv @ 183 NONAME ; #<thunk>#
+	_ZThn4_NK29CPbk2ContactEditorUIFieldBase7UIFieldEv @ 184 NONAME ; #<thunk>#
+	_ZTI30CPbk2FilteredViewStackObserver @ 185 NONAME ; #<TI>#
+	_ZTV30CPbk2FilteredViewStackObserver @ 186 NONAME ; #<VT>#
+	_ZN29CPbk2GeneralConfirmationQuery9ExecuteLDERK16MVPbkBaseContactii @ 187 NONAME
+	_ZTI33CPbk2ContactViewCustomListBoxData @ 188 NONAME
+	_ZTI39CPbk2ContactViewCustomListBoxItemDrawer @ 189 NONAME
+	_ZTV33CPbk2ContactViewCustomListBoxData @ 190 NONAME
+	_ZTV39CPbk2ContactViewCustomListBoxItemDrawer @ 191 NONAME
+	_ZN21CPbk2NamesListControl20SetCurrentGroupLinkLEP16MVPbkContactLink @ 192 NONAME
+	_ZN21CPbk2NamesListControl4NewLEiPK11CCoeControlR19CVPbkContactManagerR20MVPbkContactViewBaseR25MPbk2ContactNameFormatterR23CPbk2StorePropertyArrayP21CPbk2ThumbnailManager @ 193 NONAME
+	_ZN21CPbk2ThumbnailManager4NewLER19CVPbkContactManager @ 194 NONAME
+	_ZN21CPbk2ContactEditorDlg4NewLER24TPbk2ContactEditorParamsP17MVPbkStoreContactR26MPbk2EditedContactObserverP24MPbk2ApplicationServicesP7HBufC16i @ 195 NONAME
+	_ZN24CPbk2AddItemToContactDlg4NewLEP24MPbk2ApplicationServices @ 196 NONAME
+	_ZN22CPbk2MergeConflictsDlg4NewLEP18MPbk2MergeResolveri @ 197 NONAME
+	_ZN26CPbk2MergePhotoConflictDlg4NewLEP16MVPbkBaseContactS1_Pi @ 198 NONAME
+	_ZN29CPbk2GeneralConfirmationQuery9StopQueryEv @ 199 NONAME
+	_ZN21CPbk2NamesListControl26HandleViewForegroundEventLEi @ 200 NONAME
+	_ZN16Pbk2AddressTools22IsAddressPreviewEmptyLER17MVPbkStoreContact17TPbk2FieldGroupId @ 201 NONAME
+	_ZN16Pbk2AddressTools32MapVPbkFieldTypeToAddressGroupIdEPK14MVPbkFieldType @ 202 NONAME
+	_ZN21CPbk2NamesListControl26MassUpdateSkipProgressNoteEi @ 203 NONAME
+	_ZN21CPbk2NamesListControl13SetOpeningCcaEi @ 204 NONAME
 
--- a/phonebookui/Phonebook2/GroupExtension/inc/CPguAddMembersCmd.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/inc/CPguAddMembersCmd.h	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,6 @@
 #include <MPbk2Command.h>
 #include <MVPbkContactSelector.h>
 #include <MPbk2ProcessDecorator.h>
-#include <mpgugroupcmd.h>
 
 // FORWARD DECLARATIONS
 class MPbk2ContactUiControl;
@@ -54,8 +53,7 @@
                           private MVPbkContactViewObserver,
                           private MVPbkContactSelector,
                           private MPbk2ContactRelocatorObserver,
-                          private MPbk2ProcessDecoratorObserver,
-                          public MPguGroupCmd
+                          private MPbk2ProcessDecoratorObserver
     {
     public: // Construction and destruction
 
@@ -74,9 +72,6 @@
          * Destructor.
          */
         ~CPguAddMembersCmd();
-        
-    public: //MPguGroupCmd
-        void Abort();
 
     public: // From MPbk2Command
         void ExecuteLD();
@@ -226,7 +221,6 @@
         TInt iContactsCounter;
         /// Own: Contact 
         MVPbkStoreContact* iContact;
-        TBool iAbort;
     };
 
 #endif // CPGUADDMEMBERSCMD_H
--- a/phonebookui/Phonebook2/GroupExtension/inc/CPguGroupMembersView.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/inc/CPguGroupMembersView.h	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,6 @@
 #include <vwsdef.h>
 #include <MPbk2UIExtensionView.h>
 #include <eiklbo.h>
-#include <aknmarkingmodeobserver.h>
 
 // FORWARD DECLARATIONS
 class CPbk2UIExtensionView;
@@ -83,8 +82,7 @@
 class CPguGroupMembersView : public CBase,
                              public MPbk2UIExtensionView,
                              public MEikListBoxObserver,
-                             private MPbk2GroupMembersViewActivationCallback,
-                             public MAknMarkingModeObserver 
+                             private MPbk2GroupMembersViewActivationCallback
                              
 
     {
@@ -127,23 +125,6 @@
                 const TPoint& aPenEventLocation,
                 const TPoint& aPenEventScreenLocation );
 
-    public: // From MAknMarkingModeObserver 
-            
-        /**
-         * This method is called when marking mode is activated or deactivated.
-         * 
-         * @param aActivated @c ETrue if marking mode was activate, @c EFalse
-         *                   if marking mode was deactivated.
-         */
-        void MarkingModeStatusChanged( TBool aActivated );
-
-        /**
-         * This method is called just before marking mode is closed. Client can 
-         * either accept or decline closing.
-         * 
-         * @return @c ETrue if marking mode should be closed, otherwise @c EFalse.
-         */
-        TBool ExitMarkingMode() const;
 
     protected: 
         // from MEikListBoxObserver
@@ -171,6 +152,7 @@
         void ReturnToPreviousViewL() const;
         void ShowContextMenuL();
 
+
     private: // Data
         /// Ref: View that contains this extension view
         CPbk2UIExtensionView& iView;
--- a/phonebookui/Phonebook2/GroupExtension/inc/CPguRemoveFromGroupCmd.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/inc/CPguRemoveFromGroupCmd.h	Wed Oct 13 14:15:33 2010 +0300
@@ -28,7 +28,6 @@
 #include <MVPbkSingleContactOperationObserver.h>
 #include <MVPbkContactViewObserver.h>
 #include <MVPbkContactSelector.h>
-#include <mpgugroupcmd.h>
 
 // FORWARD DECLARATIONS
 class MPbk2ContactUiControl;
@@ -98,8 +97,7 @@
         private MVPbkSingleContactOperationObserver,
         private MVPbkContactObserver,
         private MVPbkContactViewObserver,
-        private MProgressDialogCallback,
-        public MPguGroupCmd
+        private MProgressDialogCallback
 
     {
     public: // Construction and destruction
@@ -120,9 +118,6 @@
          */
         ~CPguRemoveFromGroupCmd();
 
-    public: //MPguGroupCmd
-            void Abort();    
-            
     public: // From MPbk2Command
         void ExecuteLD();
         void AddObserver(
--- a/phonebookui/Phonebook2/GroupExtension/inc/mpgugroupcmd.h	Wed Sep 15 11:56:55 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:  Phonebook 2 Group Extn command object interface.
-*
-*/
-
-
-#ifndef MPGUGROUPCMD_H
-#define MPGUGROUPCMD_H
-
-// INCLUDES
-#include <e32std.h>
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DECLARATION
-
-/**
- * Group extention command object interface. 
- * 
- * Pbk2 Group Extention cmd's are inherited from this interface
- * along with MPbk2Command  
- */
-class MPguGroupCmd
-    {
-    public: // Interface
-
-        /**
-         * Destructor.
-         */
-        virtual ~MPguGroupCmd()
-                {};
-
-        /**
-         * Aborts the Command
-         */
-        virtual void Abort() = 0;
-        
-    };
-
-#endif // MPGUGROUPCMD_H
-
-// End of File
--- a/phonebookui/Phonebook2/GroupExtension/rss/Pbk2GroupUiRes.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/rss/Pbk2GroupUiRes.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -24,11 +24,11 @@
 #include <avkon.rsg>
 #include <avkon.mbg>
 #include <AvkonIcons.hrh>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2UIControls.rh>
 #include <Pbk2UIControls.hrh>
 #include <Pbk2Commands.hrh>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <phonebook2.loc>
 #include "Pbk2GroupUi.hrh"
 #include "Pbk2UIExtension.rh"
--- a/phonebookui/Phonebook2/GroupExtension/rss/PguMembersListViewBase.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/rss/PguMembersListViewBase.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -54,6 +54,38 @@
         };
     }
 
+// ---------------------------------------------------------
+// Groups Members View's context menu bar
+// ---------------------------------------------------------
+//
+RESOURCE MENU_PANE r_phonebook2_groupmembers_markable_list_menu
+    {
+    items =
+        {
+        MENU_ITEM
+            {
+            command = EAknCmdMark;
+            txt = qtn_options_list_mark_one;
+            flags = EEikMenuItemSpecific;
+            },
+        MENU_ITEM
+            {
+            command = EAknCmdUnmark;
+            txt = qtn_options_list_unmark_one;
+            flags = EEikMenuItemSpecific;
+            },
+        MENU_ITEM
+            {
+            command = EAknMarkAll;
+            txt = qtn_options_list_mark_all;
+            },
+        MENU_ITEM
+            {
+            command = EAknUnmarkAll;
+            txt = qtn_options_list_unmark_all;
+            }
+        };
+    }
 
 // ---------------------------------------------------------
 // Groups Members View's menu bar
@@ -69,7 +101,7 @@
             },
         MENU_TITLE
             {
-            menu_pane = R_AVKON_MENUPANE_MARK_MULTIPLE;
+            menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST;
             },             
         MENU_TITLE
             {
@@ -108,5 +140,27 @@
         };
     }
     
+// ---------------------------------------------------------
+// Groups Members View's context menu bar
+// ---------------------------------------------------------
+//
+RESOURCE MENU_BAR r_phonebook2_groupmembers_context_menubar
+    {
+    titles = 
+        {
+        MENU_TITLE
+            {
+            menu_pane = R_PHONEBOOK2_MARKABLE_LIST_CONTEXT_MENU;
+            },                
+        MENU_TITLE
+            {
+            menu_pane = R_PHONEBOOK2_BCARD_SEND_MENU;
+            },
+        MENU_TITLE
+            {
+            menu_pane = r_phonebook2_groupmembers_context_menu;
+            }
+        };
+    }
 
 // End of File
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguAddMembersCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguAddMembersCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,9 +19,9 @@
 #include "CPguAddMembersCmd.h"
 
 // Phonebook 2
-#include <pbk2groupuires.rsg>
-#include <pbk2commands.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2GroupUIRes.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2FetchDlg.h>
 #include <MPbk2CommandObserver.h>
 #include <MPbk2ContactUiControl.h>
@@ -804,11 +804,6 @@
         iState = ECommitingTransaction;
         }
     
-    if ( iAbort )
-        {
-        iState = ECommitingTransaction;
-        }
-    
     IssueRequest();
     }
 
@@ -1022,15 +1017,4 @@
         IssueRequest();
         }
     }
-
-void CPguAddMembersCmd::Abort()
-    {
-    if ( iDecorator )
-        {
-        // iDecorator calls ProcessStopped to end this cmd
-        iDecorator->ProcessStopped();
-        iAbort = ETrue;
-        }
-    }
-
 // End of File
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguBelongsToGroupsCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguBelongsToGroupsCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,8 +20,8 @@
 
 // Phonebook 2
 #include "CPguGroupPopup.h"
-#include <pbk2groupuires.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2GroupUIRes.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2CommandObserver.h>
 #include <MPbk2ContactUiControl.h>
 #include <CPbk2StoreConfiguration.h>
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguCreateNewGroupCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguCreateNewGroupCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,8 +22,8 @@
 #include "CPguGroupNameQueryDlg.h"
 #include "Pbk2GroupConsts.h"
 #include <CPbk2InputAbsorber.h>
-#include <pbk2groupuires.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2GroupUIRes.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2CommandObserver.h>
 #include <MPbk2ContactUiControl.h>
 #include <CPbk2StoreConfiguration.h>
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguDeleteGroupCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguDeleteGroupCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,9 +23,9 @@
 #include <MPbk2ProcessDecorator.h>
 #include <Pbk2ProcessDecoratorFactory.h>
 #include <MPbk2CommandObserver.h>
-#include <pbk2groupuires.rsg>
-#include <pbk2commands.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2GroupUIRes.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2ContactUiControl.h>
 #include <MPbk2ContactNameFormatter.h>
 #include <CPbk2GeneralConfirmationQuery.h>
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguGroupMembersView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguGroupMembersView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,9 +22,9 @@
 #include "CPguAddMembersCmd.h"
 #include "CPguRemoveFromGroupCmd.h"
 #include "Pbk2GroupUi.hrh"
-#include <pbk2groupuires.rsg>
+#include <Pbk2GroupUIRes.rsg>
 #include <CPbk2AppUiBase.h>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <CPbk2UIExtensionView.h>
 #include <CPbk2DocumentBase.h>
 #include <CPbk2NamesListControl.h>
@@ -49,16 +49,14 @@
 #include <MPbk2ControlObserver.h>
 #include <MPbk2NavigationObserver.h>
 #include <MPbk2MenuCommandObserver.h>
-#include <pbk2commonui.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2CommonUi.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2PointerEventInspector.h>
 #include <MPbk2ApplicationServices.h>
 #include <MPbk2ContactViewSupplier.h>
 #include <CPbk2StoreConfiguration.h>
 #include <MPbk2AppUi.h>
 #include <Pbk2MenuFilteringFlags.hrh>
-#include <CPbk2CommandStore.h>
-#include <CPbk2CommandHandler.h>
 
 // Virtual Phonebook
 #include <MVPbkContactViewBase.h>
@@ -470,26 +468,10 @@
          */
         virtual ~CGroupMembersViewImpl()
             {}
-        
-    public:
-        
-        void SetMarkingModeOn( TBool aMarkingModeOn )
-            {
-            iMarkingModeOn = aMarkingModeOn;
-            }
-        
-        TBool IsMarkingModeOn()
-            {
-            return iMarkingModeOn;
-            }
 
     protected: // Implementation
-        CGroupMembersViewImpl() : iMarkingModeOn( EFalse )
+        CGroupMembersViewImpl()
             {}
-        
-    protected:
-        // Flag to indicate whether Marking mode is active
-        TBool iMarkingModeOn;
     };
 
 
@@ -744,10 +726,6 @@
         TBool iStylusPopupMenuLaunched;
         // Ref: Store management ptr
         CPbk2StoreConfiguration* iStoreConf;
-        //OWN: Active scheduler wait for waiting the completion
-        CActiveSchedulerWait    iWait;
-        // Ref: To the command. Doesn't Own.
-        MPguGroupCmd* iCommand;
     };
 
 // --------------------------------------------------------------------------
@@ -1101,12 +1079,6 @@
 CPguGroupMembersView::CGroupMembersAllGroupsReady::
         ~CGroupMembersAllGroupsReady()
     {    
-
-    if( iWait.IsStarted() )
-        {
-        iWait.AsyncStop();  
-        }
-
     iCommandHandler.RemoveMenuCommandObserver( *this );
 
     if ( iStoreConf )
@@ -1147,7 +1119,7 @@
     iCommandHandler.AddMenuCommandObserver(*this);
 
     iStoreConf = &( Phonebook2::Pbk2AppUi()->ApplicationServices().
-        StoreConfiguration() );
+    	StoreConfiguration() );
     iStoreConf->AddObserverL( *this );
 
     // Expand the group members view from the all groups view
@@ -1453,13 +1425,18 @@
             case EKeyEnter: // FALLTHROUGH
             case EKeyOK:
                 {
-                // The key will be handled by ListBox if there are contacts in this view
                 if ( !ShiftDown(aKeyEvent) ) // pure OK or ENTER key
-                    {
-                    if ( iControl->NumberOfContacts() == 0 )
-                        {
-                        result = ETrue;
-                        }
+					{	
+                    if ( iControl->ContactsMarked() && itemSpecEnabled )
+                    	{
+                    	iView.LaunchPopupMenuL(
+                    		R_PHONEBOOK2_GROUPMEMBERS_CONTEXT_MENUBAR);
+						result = ETrue;
+						}
+					else if ( iControl->NumberOfContacts() == 0 )
+						{
+						result = ETrue;
+						}
                     }
                 break;
                 }
@@ -1541,27 +1518,6 @@
             break;
             }
 
-        case R_AVKON_MENUPANE_MARK_MULTIPLE:
-                {
-                TInt markedContactCount = 0;
-                
-                CPbk2NamesListControl* nlctrl = static_cast <CPbk2NamesListControl*> (iControl);
-
-                CCoeControl* ctrl = nlctrl->ComponentControl(0);
-                CEikListBox* listbox=static_cast <CEikListBox*> (ctrl);
-                
-                if ( listbox )
-                    {
-                    markedContactCount = listbox->SelectionIndexes()->Count();
-                    }
-                // dim the makr all item if all contacts are marked. 
-                if ( markedContactCount > 0 && markedContactCount == iControl->NumberOfContacts() )
-                    {
-                    aMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkAll, ETrue );
-                    }
-                break;
-                }
-                
         case R_PHONEBOOK2_GROUPMEMBERS_MENU:
             {
             // Weed out commands not meant to be used with empty list
@@ -1575,6 +1531,7 @@
                 {
                 aMenuPane->SetItemDimmed( EPbk2CmdBelongsToGroups, ETrue );
                 aMenuPane->SetItemDimmed( EPbk2CmdAddMembers, ETrue );
+                aMenuPane->SetItemSpecific( EPbk2CmdRemoveFromGroup, EFalse );
                 }
             // Weed out commands not meant to be if names list is empty
             if ( Phonebook2::Pbk2AppUi()->ApplicationServices().
@@ -1592,12 +1549,9 @@
                 {
                 aMenuPane->SetItemDimmed( EPbk2CmdSend, ETrue );
                 }
-                
-            // When Marking mode is active,
-            // Send as business card item should be shown in pop up menu.
-            if( iMarkingModeOn )
+            if ( iControl->ContactsMarked() )
                 {
-                aMenuPane->SetItemSpecific( EPbk2CmdSend, ETrue );
+                aMenuPane->SetItemSpecific( EPbk2CmdSend, EFalse );
                 }
             break;
             }
@@ -1832,6 +1786,9 @@
                     R_PBK2_SOFTKEYS_OPTIONS_BACK_CONTEXT);
                 }
             iView.Cba()->DrawDeferred();
+            // Change context menu when marked items
+            iView.MenuBar()->SetContextMenuTitleResourceId
+                ( R_PHONEBOOK2_GROUPMEMBERS_CONTEXT_MENUBAR );
             }
         }
     }
@@ -1866,10 +1823,9 @@
                             CPguRemoveFromGroupCmd::NewLC(
                                 *iViewParent.FocusedContact(),
                                 *iControl);
-                    iCommandHandler.AddAndExecuteCommandL(cmd);                    
+                    iCommandHandler.AddAndExecuteCommandL(cmd);
+                    
                     CleanupStack::Pop(cmd);  // command handler takes the ownership
-                    //Store the reference here. Reset to NULL when Command is Completed.
-                    iCommand = cmd;
                     }
                 break;
                 }
@@ -1879,32 +1835,11 @@
                 CPguAddMembersCmd* cmd =
                         CPguAddMembersCmd::NewLC(*iViewParent.FocusedContact(),
                             *iControl);
-                iCommandHandler.AddAndExecuteCommandL(cmd);                
+                iCommandHandler.AddAndExecuteCommandL(cmd);
                 CleanupStack::Pop(cmd); // command handler takes the ownership
-                //Store the reference here. Reset to NULL when Command is Completed. 
-                iCommand = cmd;
                 break;
                 }
-           
-			case EAknCmdExit:
-        	case EAknSoftkeyExit:
-        	case EPbk2CmdExit:
-            case EAknCmdHideInBackground:
-                {
-                CPbk2CommandStore* cmdStore = static_cast<CPbk2CommandHandler*>(&iCommandHandler)->CommandStore();
-                if ( iCommand && cmdStore )
-                    {
-                    iCommand->Abort();
-                    cmdStore->DestroyAllCommands();
-                    
-                    if( !iWait.IsStarted() )
-                        {
-                        iWait.Start();  
-                        }  
-                    }                
-                break;
-                }    
-                
+    
             default:
                 {
                 // Do nothing
@@ -1965,6 +1900,11 @@
                     // Select key is mapped to "Open Contact" command
                     HandleCommandL( EPbk2CmdOpenCca );
                     }
+                else
+                    {
+                    iView.LaunchPopupMenuL(
+                            R_PHONEBOOK2_GROUPMEMBERS_CONTEXT_MENUBAR);
+                    }
                 break;
                 }
             default:
@@ -2013,7 +1953,12 @@
         if ( iControl->NumberOfContacts() > 0 && 
                 iPointerEventInspector->FocusedItemPointed() )
             {
-            if ( !iControl->ContactsMarked() )
+            if ( iControl->ContactsMarked() )
+                {
+                iView.LaunchPopupMenuL(
+                    R_PHONEBOOK2_GROUPMEMBERS_CONTEXT_MENUBAR );
+                }
+            else
                 {
                 // Open contact
                 HandleCommandL(EPbk2CmdOpenCca);
@@ -2049,7 +1994,7 @@
     {    
     if (iContainer && iContainer->Control())
         {
-        iContainer->Control()->HideThumbnail();        
+        iContainer->Control()->HideThumbnail();
         }
     }
 
@@ -2059,23 +2004,13 @@
 //
 void CPguGroupMembersView::CGroupMembersAllGroupsReady::PostCommandExecutionL
         ( const MPbk2Command& /*aCommand*/ )
-    { 
-    if ( iCommand )
-        {
-        iCommand = NULL;
-        }
-    
+    {    
     if ( iContainer && iContainer->Control() )
         {
         iContainer->Control()->ShowThumbnail();
         }
 
     UpdateCbasL();
-    if( iWait.IsStarted() )
-        {
-        iWait.AsyncStop();  
-        }
-    
     }
 
 // --------------------------------------------------------------------------
@@ -2252,15 +2187,11 @@
         }
 
     iViewImpl->CreateControlL(iView.ClientRect());
-
+    
     CPbk2NamesListControl* nlctrl=static_cast <CPbk2NamesListControl*> (iViewImpl->Control());
-
-    // It will return the listbox by calling nlctrl->ComponentControl(0),
-    // which is defined in CPbk2NamesListControl::ComponentControl(TInt aIndex).
     CCoeControl* ctrl=nlctrl->ComponentControl(0);
     CEikListBox* listbox=static_cast <CEikListBox*> (ctrl);
-    listbox->SetListBoxObserver( this );
-    listbox->SetMarkingModeObserver( this );
+    listbox->SetListBoxObserver( this ); 
 
     iPreviousViewId = aPrevViewId;
 
@@ -2346,7 +2277,7 @@
             {
             case EEventItemDoubleClicked:
             case EEventItemSingleClicked:
-            case EEventEnterKeyPressed:
+		    case EEventEnterKeyPressed:
                 {
 
                 if ( iViewImpl )
@@ -2375,11 +2306,10 @@
 void CPguGroupMembersView::HandlePointerEventL(
         const TPointerEvent& aPointerEvent)
     {
-    if ( iViewImpl && !iViewImpl->IsMarkingModeOn() )
+    if ( iViewImpl )
         {
-        // Route the pointer events to the view implementing the application
-        // view currently except the Marking mode is active, 
-        // because the event is handled by avkon when marking mode is active.
+        // route the pointer events to the view implementing the application
+        // view currently
         iViewImpl->HandlePointerEventL(aPointerEvent);
         }
     }
@@ -2401,46 +2331,6 @@
         }
     }
 
-// -----------------------------------------------------------------------------
-// CPguGroupMembersView::MarkingModeStatusChanged
-// -----------------------------------------------------------------------------
-//
-void CPguGroupMembersView::MarkingModeStatusChanged( TBool aActivated )
-    {
-    if( iViewImpl )
-        {
-        iViewImpl->SetMarkingModeOn( aActivated );
-        CPbk2NamesListControl* nlctrl = 
-            static_cast <CPbk2NamesListControl*> (iViewImpl->Control());
-        if( !aActivated )
-            {
-            // It will return the findbox by calling 
-            // nlctrl->ComponentControl(1), which is defined in 
-            // CPbk2NamesListControl::ComponentControl(TInt aIndex).
-            CCoeControl* ctrl=nlctrl->ComponentControl(1);
-            if( ctrl->IsVisible() )
-                {
-                // Clear the text of the FindBox
-                // when canceling from Marking mode.
-                TRAP_IGNORE( nlctrl->ResetFindL() );
-                }
-            }
-        nlctrl->SetMarkingMode( aActivated );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPguGroupMembersView::ExitMarkingMode
-// Called by avkon, if the return value is ETrue, 
-// the Marking mode will be canceled after any operation,
-// otherwise the Marking mode keep active.
-// -----------------------------------------------------------------------------
-//
-TBool CPguGroupMembersView::ExitMarkingMode() const
-    {
-    return ETrue; 
-    }
-
 // --------------------------------------------------------------------------
 // CPguGroupMembersView::TransformViewActivationStateToReady
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguGroupNameQueryDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguGroupNameQueryDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 // Phonebook 2
 #include "Pbk2GroupConsts.h"
 #include <MPbk2ContactNameFormatter.h>
-#include <pbk2groupuires.rsg>
+#include <Pbk2GroupUIRes.rsg>
 #include <Pbk2PresentationUtils.h>
 #include <CPbk2AppUiBase.h>
 #include <MPbk2StartupMonitor.h>
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguGroupView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguGroupView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,10 +28,10 @@
 #include <MPbk2ViewActivationTransaction.h>
 #include <MPbk2ViewExplorer.h>
 #include <CPbk2StoreConfiguration.h>
-#include <pbk2groupuires.rsg>
-#include <pbk2commonui.rsg>
-#include <pbk2commands.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2GroupUIRes.rsg>
+#include <Pbk2CommonUi.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2UIControls.rsg>
 #include <csxhelp/phob.hlp.hrh>
 #include <MPbk2CommandHandler.h>
 #include <Pbk2UID.h>
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguRemoveFromGroupCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguRemoveFromGroupCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 #include "CPguRemoveFromGroupCmd.h"
 
 // Phonebook2
-#include <pbk2groupuires.rsg>
+#include <Pbk2GroupUIRes.rsg>
 #include <MPbk2CommandObserver.h>
 #include <MPbk2ContactUiControl.h>
 #include <CPbk2GeneralConfirmationQuery.h>
@@ -748,19 +748,4 @@
     CleanupStack::Pop( iInputBlock );   
     }
 
-
-// --------------------------------------------------------------------------
-// CPguRemoveFromGroupCmd::Abort
-// --------------------------------------------------------------------------
-//
-void CPguRemoveFromGroupCmd::Abort()
-    {
-    if ( iProgressDialog && !iDialogDismissed )
-        {
-        // Delete the dialog
-        TRAP_IGNORE( iProgressDialog->ProcessFinishedL() );
-        iProgressDialog = NULL;
-        }
-    }
-
 //  End of File  
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguRenameGroupCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguRenameGroupCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 // Phonebook 2
 #include "CPguGroupNameQueryDlg.h"
 #include "Pbk2GroupConsts.h"
-#include <pbk2groupuires.rsg>
+#include <Pbk2GroupUIRes.rsg>
 #include <MPbk2CommandObserver.h>
 #include <MPbk2ContactUiControl.h>
 #include <CPbk2StoreConfiguration.h>
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguSendMessageGroupCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguSendMessageGroupCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <MPbk2ContactNameFormatter.h>
 #include <MPbk2ContactUiControl.h>
 #include <MPbk2CommandObserver.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <TPbk2AddressSelectParams.h>
 #include <CPbk2AddressSelect.h>
 #include <MPbk2AppUi.h>
@@ -380,14 +380,9 @@
             sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
         title = titlePane->Text()->AllocLC();
 
-        TRAPD( error, Phonebook2::Pbk2AppUi()->ApplicationServices().SendUiL()->
-            CreateAndSendMessageL( iMtmUid, iMessageData ) );
+        Phonebook2::Pbk2AppUi()->ApplicationServices().SendUiL()->
+            CreateAndSendMessageL( iMtmUid, iMessageData );
 
-        if ( error )
-            {
-            //Show Appropriate Error Note
-        
-            }
         if( !Layout_Meta_Data::IsLandscapeOrientation() )
             {
             sp->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL );
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguSetToneCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguSetToneCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,8 +22,8 @@
 // Phonebook 2
 #include <CPbk2ContactRelocator.h>
 #include <MPbk2ContactUiControl.h>
-#include <pbk2groupuires.rsg>
-#include <pbk2commonui.rsg>
+#include <Pbk2GroupUIRes.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // Virtual Phonebook
 #include <CVPbkContactManager.h>
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguSortOrder.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguSortOrder.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 
 // Phonebook 2
 #include <RPbk2LocalizedResourceFile.h>
-#include <pbk2groupuires.rsg>
+#include <Pbk2GroupUIRes.rsg>
 #include <Pbk2DataCaging.hrh>
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/MMCExtension/inc/CPmuCopyToMmcCmd.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MMCExtension/inc/CPmuCopyToMmcCmd.h	Wed Oct 13 14:15:33 2010 +0300
@@ -104,11 +104,7 @@
         TBool ShowMemorySelectionDialogL();
         void ShowResultsL();
         TInt HandleError( TInt aError );
-        /**
-         * Show result and do cleanup when copy complete.
-         */
-        void CommandCompleted();
-        
+
     private:  // Data
         /// Ref: UI control
         MPbk2ContactUiControl* iUiControl;
--- a/phonebookui/Phonebook2/MMCExtension/rss/Pbk2DriveUiRes.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MMCExtension/rss/Pbk2DriveUiRes.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 #include "Pbk2MmcUiUid.h"
 #include "PmuCommands.hrh"
 #include <Pbk2Commands.hrh>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <Pbk2UIExtension.rh>
 #include <Pbk2ViewId.hrh>
 #include <phonebook2.loc>
--- a/phonebookui/Phonebook2/MMCExtension/src/CPmuCopyFromDriveCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MMCExtension/src/CPmuCopyFromDriveCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,7 @@
 #include <MPbk2StoreValidityInformer.h>
 #include <MPbk2AppUi.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2mmcuires.rsg>
+#include <Pbk2MmcUIRes.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactOperationBase.h>
--- a/phonebookui/Phonebook2/MMCExtension/src/CPmuCopyToDriveCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MMCExtension/src/CPmuCopyToDriveCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <Pbk2ProcessDecoratorFactory.h>
 #include <MPbk2ProcessDecorator.h>
 #include <TPbk2CopyContactsResults.h>
-#include <pbk2mmcuires.rsg>
+#include <Pbk2MmcUIRes.rsg>
 #include <CPbk2DriveSpaceCheck.h>
 
 // Virtual Phonebook
@@ -239,14 +239,15 @@
                 }
             else
                 {
-                // Stop the process dialog when complete the process of copying 
-                iDecorator->ProcessStopped();
+                iState = EPmuCopyToMmcCmdComplete;
+                IssueRequest();
                 }
             break;
             }
         case EPmuCopyToMmcCmdComplete:
             {
-            CommandCompleted();
+            // Copy complete, decorator calls processdismissed
+            iDecorator->ProcessStopped();
             break;
             }
         default:
@@ -326,8 +327,19 @@
 //
 void CPmuCopyToMmcCmd::ProcessDismissed( TInt /*aCancelCode*/ )
     {
-    iState = EPmuCopyToMmcCmdComplete;
-    IssueRequest();
+    Cancel();
+    delete iRetrieveOperation;
+    iRetrieveOperation = NULL;
+    delete iExportOperation;
+    iExportOperation = NULL;
+
+    // It is a not big deal if result note is not shown to user
+    TRAP_IGNORE( ShowResultsL() );
+    if ( iUiControl )
+        {
+        iUiControl->UpdateAfterCommandExecution();
+        } 
+    iCommandObserver->CommandFinished( *this );
     }
 
 // --------------------------------------------------------------------------
@@ -641,25 +653,4 @@
     return err;
     }
 
-// --------------------------------------------------------------------------
-// CPmuCopyToMmcCmd::CommandCompleted
-// --------------------------------------------------------------------------
-//    
-void CPmuCopyToMmcCmd::CommandCompleted()
-    {
-    Cancel();
-    delete iRetrieveOperation;
-    iRetrieveOperation = NULL;
-    delete iExportOperation;
-    iExportOperation = NULL;
-
-    // It is a not big deal if result note is not shown to user
-    TRAP_IGNORE( ShowResultsL() );
-    if ( iUiControl )
-        {
-        iUiControl->UpdateAfterCommandExecution();
-        } 
-    iCommandObserver->CommandFinished( *this );
-    }
-
 // End of File
--- a/phonebookui/Phonebook2/MMCExtension/src/CPmuUIExtensionPlugin.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MMCExtension/src/CPmuUIExtensionPlugin.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,8 +27,8 @@
 #include <Pbk2Commands.hrh>
 #include <MPbk2ContactUiControl.h>
 #include <CPbk2AppViewBase.h>
-#include <pbk2commands.rsg>
-#include <pbk2mmcuires.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2MmcUIRes.rsg>
 
 // System includes
 #include <coemain.h>
@@ -82,22 +82,14 @@
         case R_PMU_CASCADING_COPY_CONTACT_CARD_MENU :
             {
             TBool marked = aControl.ContactsMarked();
-            // Menu item "To other memory" is not displayed if there is no marked item in the Names List
-            // Menu item "From other memory" is not displayed if there is marked item in the Names List
-            TInt pos = 0;
-            if ( marked )  
+            if ( !marked)  
                 {
-                if ( aMenuPane->MenuItemExists( EPmuCmdImportFromMemoryCard, pos ) )
-                    {
-                    aMenuPane->SetItemDimmed( EPmuCmdImportFromMemoryCard, ETrue );
-                    }
-                }
-            else
-                {
+				//Not displayed if no marked items in the Names List.                
+                TInt pos;
                 if ( aMenuPane->MenuItemExists( EPmuCmdExportToMemoryCard, pos ) )
-                    {
-                    aMenuPane->SetItemDimmed( EPmuCmdExportToMemoryCard, ETrue );
-                    }
+                	{
+                	aMenuPane->SetItemDimmed( EPmuCmdExportToMemoryCard, ETrue );
+                	}
                 }
             break;
             }
--- a/phonebookui/Phonebook2/MapExtension/inc/cpmapcmd.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/inc/cpmapcmd.h	Wed Oct 13 14:15:33 2010 +0300
@@ -37,7 +37,6 @@
 class MVPbkStoreContactField;
 class TLocality;
 class CMnMapView;
-class MPbk2DialogEliminator;
 
 enum TCurrentMapLaunchedByState
     {
@@ -300,14 +299,6 @@
 		TVPbkFieldTypeParameter iAddressType;
 		/// Own: Is already address is there?
 		TBool iNoAddress;
-		
-		/// Ref: For address select dialog's exit handling
-		///Doesnt Own
-		MPbk2DialogEliminator* iAddressSelectEliminator;
-		        
-		///Bool to denote whether the Current Obj has been deleted or not
-    	///Doesnt Own
-	    TBool *iThisPtrDestroyed;
     };
 
 #endif // CPMAPCMD_H
--- a/phonebookui/Phonebook2/MapExtension/inc/cpmapcontacteditorextension.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/inc/cpmapcontacteditorextension.h	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,6 @@
 #include <e32base.h>
 #include <MPbk2ContactEditorExtension.h>
 #include <MPbk2ContactEditorExtensionExtension.h>
-#include <MPbk2CommandObserver.h>
 #include <Pbk2FieldProperty.hrh>
 
 // FORWARD DECLARATIONS
@@ -35,8 +34,7 @@
 // CLASS DECLARATION
 class CPmapContactEditorExtension : public CBase,
 								    public MPbk2ContactEditorExtension,
-								    public MPbk2ContactEditorExtensionExtension,
-								    public MPbk2CommandObserver
+								    public MPbk2ContactEditorExtensionExtension
     {
     public:
         /**
@@ -92,10 +90,6 @@
                 TFailParams& aFailParams );
         TAny* ContactEditorExtensionExtension(
                         TUid /*aExtensionUid*/ );
-        
-    public: // From MPbk2CommandObserver
-        void CommandFinished(
-                        const MPbk2Command& aCommand );
 
     private: // Implementation
         CPmapContactEditorExtension(
@@ -115,8 +109,6 @@
         MPbk2ContactEditorControl& iEditorControl;
         /// Own: Map command controller
         MPbk2Command* iCmd;
-        /// Own: Mark if Map command is finished
-        TBool iMapCommandFinish;
 	};
 
 #endif // CPMAPCONTACTEDITOREXTENSION_H
--- a/phonebookui/Phonebook2/MapExtension/rss/pbk2mapuires.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/rss/pbk2mapuires.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -19,12 +19,12 @@
 #include "pbk2mapuiuid.h"
 #include "pbk2mapcommands.hrh"
 #include <Pbk2Commands.hrh>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <Pbk2UIExtension.rh>
 #include <Pbk2ViewId.hrh>
 #include <phonebook2.loc>
 #include "Pbk2UIControls.hrh"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include "Pbk2EditorLineIds.hrh" 
 #include "Pbk2FieldProperty.hrh" 
 #include "Pbk2UIFieldProperty.hrh"
--- a/phonebookui/Phonebook2/MapExtension/src/CPbk2ContactEditorUIAFMField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/src/CPbk2ContactEditorUIAFMField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,12 +22,12 @@
 #include "MPbk2ContactEditorFieldVisitor.h"
 #include "MPbk2ContactEditorUiBuilderExtension.h"
 #include "CPbk2IconInfoContainer.h"
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include "MPbk2UIField.h"
 #include "Pbk2EditorLineIds.hrh" 
 #include <Pbk2UIControls.hrh>
 #include "CPbk2ContactEditorReadonlyField.h"
-#include <pbk2mapuires.rsg>
+#include <Pbk2MapUIRes.rsg>
 // System includes
 #include <eikcapc.h>
 #include <eikedwin.h>
--- a/phonebookui/Phonebook2/MapExtension/src/cpmapcmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/src/cpmapcmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,18 +25,18 @@
 #include <MPbk2ApplicationServices.h>
 #include <MPbk2AppUi.h>
 #include <CPbk2FieldPropertyArray.h>
-#include <pbk2mapuires.rsg>
+#include <Pbk2MapUIRes.rsg>
 #include <MPbk2ContactEditorControl.h>
 #include <MPbk2ContactEditorField.h>
 #include <Pbk2UIControls.hrh>
 #include <Pbk2Commands.hrh>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <TPbk2AddressSelectParams.h>
 #include <CPbk2AddressSelect.h>
 #include <Pbk2AddressTools.h>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2ApplicationServices.h>
 #include <pbk2mapcommands.hrh>
-#include <MPbk2DialogEliminator.h>
 
 // Virtual Phonebook
 #include <MVPbkBaseContactField.h>
@@ -49,7 +49,7 @@
 #include <MVPbkStoreContactField.h>
 #include <MVPbkContactFieldData.h>
 #include <MVPbkContactFieldTextData.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkFieldType.h>
 #include <TVPbkFieldVersitProperty.h>
 #include <MVPbkStoreContactFieldCollection.h>
@@ -84,7 +84,8 @@
 // Debugging headers
 #include <Pbk2Debug.h>
 
-_LIT( KGeoSeparator, ",");
+_LIT(KGeoSeparator, ",");
+_LIT( KDecimalSepratorEnglish, "." );
 const TInt KGeoSeparatorLength = 1;
 const TReal32 KGeoHorizontalAccuracy = 0;
 const TInt KGeoMaxSize = 60;
@@ -126,11 +127,6 @@
 //
 CPmapCmd::~CPmapCmd()
     {
-    if ( iAddressSelectEliminator )
-        {
-        iAddressSelectEliminator->ForceExit();
-        }
-    
     Cancel();
     if(iMapView)
         {
@@ -144,13 +140,6 @@
 	    iUiControl->RegisterCommand( NULL );
 	    }
     delete iMapViewProvider;
-    
-    //Indication that the object has been deleted.
-    if ( iThisPtrDestroyed )
-        {
-        *iThisPtrDestroyed = ETrue;
-        }
-    
     }
 
 // --------------------------------------------------------------------------
@@ -270,9 +259,6 @@
     PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING
         ("CPmapCmd::ExecuteLD"));
 
-    TBool amIDestroyed( EFalse );
-    iThisPtrDestroyed = &amIDestroyed;  
-        
     iAddressUpdatePrompt = ETrue;
     TPbk2FieldGroupId groupId = EPbk2FieldGroupIdNone;
     if( !IsAddressInContact() )
@@ -324,15 +310,6 @@
     	{
     	groupId = SelectAddressL();
     	}
-        
-    //This object could have been deleted because of some external activity
-    //Dont proceed if this object is destroyed
-    if ( amIDestroyed )
-        {        
-        return;
-        }    
-    
-    iThisPtrDestroyed = NULL;
     
     if( groupId != EPbk2FieldGroupIdNone )
     	{
@@ -530,12 +507,6 @@
 
     CleanupStack::PopAndDestroy( appServices );
     CPbk2AddressSelect* addressSelect = CPbk2AddressSelect::NewL( params );
-    
-    // Execute
-    iAddressSelectEliminator = addressSelect;
-    iAddressSelectEliminator->ResetWhenDestroyed
-        ( &iAddressSelectEliminator );
-    
     MVPbkStoreContactField* selectedField = addressSelect->ExecuteLD();
     CleanupStack::PopAndDestroy(); // resReader
 
@@ -879,17 +850,43 @@
 TBool CPmapCmd::DoFillGeoLandmarkL(
 		CPosLandmark& aLandmark, const TDesC& aDataText )
 	{
+    HBufC* locationText = aDataText.AllocLC();
+    
 	TBool result = EFalse;
-	TInt separator = aDataText.Find( KGeoSeparator );
+    TInt separator = locationText->Find( KGeoSeparator );
 	if ( separator != KErrNotFound )
 		{
+    TLocale localeFethcer;
+    TChar currentDecimalSeparator = localeFethcer.DecimalSeparator();
+    TBuf<1> currentLangDecSeprator;
+    currentLangDecSeprator.Append( currentDecimalSeparator );
+    TBuf< KGeoMaxSize > strLatitude;
+    strLatitude.Copy( locationText->Left( separator ) );
+    
+    TInt descimalSepratorPos = strLatitude.Find( KDecimalSepratorEnglish );
+    if( descimalSepratorPos != KErrNotFound )
+        {
+        strLatitude.Delete( descimalSepratorPos, 1 );
+        strLatitude.Insert( descimalSepratorPos,currentLangDecSeprator );
+        }
+
 		TReal64 latitude = 0;
 		TReal64 logitude = 0;
-        TLex lexLatitude( aDataText.Left( separator ) );
-		TLex lexLogitude( aDataText.Right( aDataText.Length()
-				- separator - KGeoSeparatorLength ) );
-		if ( lexLatitude.Val( latitude ) == KErrNone
-				&& lexLogitude.Val( logitude ) == KErrNone )
+    TLex lexLatitude( strLatitude );
+    
+    TBuf< KGeoMaxSize > strLongitude;
+    strLongitude.Copy( locationText->Right( locationText->Length() 
+                        - separator - KGeoSeparatorLength ) );
+    descimalSepratorPos = strLongitude.Find( KDecimalSepratorEnglish );
+    if( descimalSepratorPos != KErrNotFound )
+        {
+        strLongitude.Delete( descimalSepratorPos, 1 );
+        strLongitude.Insert( descimalSepratorPos,currentLangDecSeprator );
+        }
+    
+    TLex lexLogitude( strLongitude );
+    if ( lexLatitude.Val( latitude, currentDecimalSeparator ) == KErrNone
+        && lexLogitude.Val( logitude, currentDecimalSeparator ) == KErrNone )
 			{
 			TLocality loc( TCoordinate( latitude, logitude ),
 					KGeoHorizontalAccuracy );
@@ -898,11 +895,14 @@
             if(separator2 != KErrNotFound)
                 {
                 separator += separator2;
-                aLandmark.SetPositionFieldL(EPositionFieldCountryCode,aDataText.Right( aDataText.Length() - separator - (KGeoSeparatorLength * 2) ));
+                aLandmark.SetPositionFieldL( EPositionFieldCountryCode,
+                locationText->Right( locationText->Length() 
+                        - separator - ( KGeoSeparatorLength * 2 ) ) );
                 }
             result = ETrue;
             }
 		}
+    CleanupStack::PopAndDestroy( locationText );
 	return result;
 	}
 
@@ -968,10 +968,31 @@
 	textNumber.CreateL( KGeoMaxSize );
 	TRealFormat format( KGeoFormatWidth );
 	textNumber.Num( latitude, format );
+	
+    TLocale localeFetcer;
+    TChar currentDecimalSeparator;
+
+    currentDecimalSeparator = localeFetcer.DecimalSeparator();
+    TInt descimalSepratorPos = textNumber.Locate( currentDecimalSeparator ); 
+
+    if( descimalSepratorPos != KErrNotFound )
+        {
+        textNumber.Replace( descimalSepratorPos , 1 , KDecimalSepratorEnglish );
+        }
+
+    
 	geoData = textNumber;
 	geoData += KGeoSeparator();
 	textNumber.Num( longitude, format );
-	geoData += textNumber;
+	
+    descimalSepratorPos = textNumber.Locate( currentDecimalSeparator );
+
+    if( descimalSepratorPos != KErrNotFound )
+        {
+        textNumber.Replace( descimalSepratorPos , 1 , KDecimalSepratorEnglish );
+        }
+		
+    geoData += textNumber;
 
     if(aLandmark.IsPositionFieldAvailable( EPositionFieldCountryCode ))
         {
@@ -1432,6 +1453,8 @@
                             EVPbkVersitSubFieldPostalCode, iAddressType );
             UpdateFieldL( *result, EPositionFieldLocality, 
                             EVPbkVersitSubFieldRegion, iAddressType );
+            UpdateFieldL( *result, EPositionFieldState, 
+                            EVPbkVersitSubFieldRegion, iAddressType );
             UpdateFieldL( *result, EPositionFieldNone, 
                             EVPbkVersitSubFieldPostOfficeAddress, iAddressType );
             UpdateFieldL( *result, EPositionFieldNone, 
--- a/phonebookui/Phonebook2/MapExtension/src/cpmapcontacteditorextension.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/src/cpmapcontacteditorextension.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,9 +19,9 @@
 
 // Phonebook 2
 #include <CPbk2UIExtensionPlugin.h>
-#include <pbk2usimuires.rsg>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commonui.rsg>
+#include <Pbk2USimUIRes.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <Pbk2UIControls.hrh>
 #include <MPbk2ContactEditorControl.h>
 #include <CPbk2StoreProperty.h>
@@ -52,9 +52,10 @@
 #include <Pbk2Commands.hrh>
 #include <MPbk2CommandHandler.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2mapuires.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2MapUIRes.rsg>
+#include <Pbk2Commands.rsg>
 #include <Pbk2UIControls.hrh>
+#include <Pbk2UIControls.rsg>
 #include <cpmapcontacteditorextension.h>
 #include <CPbk2ContactEditorDlgImpl.h>
 
@@ -113,7 +114,6 @@
 //
 inline void CPmapContactEditorExtension::ConstructL()
     {
-    iMapCommandFinish = ETrue;
     }
 
 // --------------------------------------------------------------------------
@@ -171,53 +171,31 @@
 TBool CPmapContactEditorExtension::ProcessCommandL
         ( TInt aCommandId )
     {
-    TBool result = EFalse;
-    
     switch( aCommandId )
         {
         case EPbk2ExtensionShowOnMap:
-            {
-            // Ignore new command if the previous command is not finished
-            if ( iMapCommandFinish )
-                {
-                if(iCmd)
-                    {
-                    delete iCmd;
-                    iCmd = NULL;
-                    }
-                iCmd = CPmapCmd::NewL( iEditorControl, iContact, aCommandId );
-                
-                // Observer if the Map command is finished
-                iCmd->AddObserver( *this );
-                iMapCommandFinish = EFalse;
-                
-                // Execute the command 
-                iCmd->ExecuteLD();
-                }
-            result = ETrue;
-            break;
+        	{
+        	if(iCmd)
+        	    {
+                delete iCmd;
+                iCmd = NULL;
+        	    }
+        	iCmd = CPmapCmd::NewL( iEditorControl, iContact, aCommandId );
+        	// Execute the command 
+        	iCmd->ExecuteLD();
+            return ETrue;
             }
         case EPbk2ExtensionAssignFromMap:
-            {
-            // Ignore new command if the previous command is not finished
-            if ( iMapCommandFinish )
+        	{
+        	if(iCmd)
                 {
-                if(iCmd)
-                    {
-                    delete iCmd;
-                    iCmd = NULL;
-                    }
-                iCmd = CPmapCmd::NewL( iEditorControl, iContact, aCommandId );
-                
-                // Observer if the Map command is finished
-                iCmd->AddObserver( *this );
-                iMapCommandFinish = EFalse;
-                
-                // Execute the command
-                iCmd->ExecuteLD();
+                delete iCmd;
+                iCmd = NULL;
                 }
-            result = ETrue;
-            break;
+        	iCmd = CPmapCmd::NewL( iEditorControl, iContact, aCommandId );
+        	// Execute the command
+        	iCmd->ExecuteLD();
+            return ETrue;
             }
         default:
             {
@@ -225,16 +203,7 @@
             break;
             }
         }
-    return result;
-    }
-
-// --------------------------------------------------------------------------
-// CPmapContactEditorExtension::CommandFinished
-// --------------------------------------------------------------------------
-//
-void CPmapContactEditorExtension::CommandFinished(const MPbk2Command& /*aCommand*/)
-    {
-    iMapCommandFinish = ETrue;
+    return EFalse;
     }
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/MapExtension/src/cpmapuiextensionplugin.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/src/cpmapuiextensionplugin.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,10 +24,10 @@
 #include <Pbk2Commands.hrh>
 #include <MPbk2CommandHandler.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2mapuires.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2MapUIRes.rsg>
+#include <Pbk2Commands.rsg>
 #include <Pbk2UIControls.hrh>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <cpmapcontacteditorextension.h>
 #include "cpmapcmd.h"
 
--- a/phonebookui/Phonebook2/NamesListExtension/inc/Pbk2NamesListExView.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/inc/Pbk2NamesListExView.h	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,6 @@
 #include <coemain.h>
 
 #include <Pbk2Commands.hrh> 
-#include <aknmarkingmodeobserver.h>
 
 // FORWARD DECLARATIONS
 template<class ControlType> class CPbk2ControlContainer;
@@ -71,8 +70,7 @@
                              public MCoeControlObserver,
                              public MEikListBoxObserver,
                              private MCoeForegroundObserver,
-                             public MPbk2UIExtensionView2,
-                             public MAknMarkingModeObserver
+                             public MPbk2UIExtensionView2
     {
     public: // Construction and destruction
 
@@ -164,24 +162,6 @@
                 CCoeControl* aControl,
                 TCoeEvent aEventType );
 
-    public: // From MAknMarkingModeObserver 
-            
-        /**
-         * This method is called when marking mode is activated or deactivated.
-         * 
-         * @param aActivated @c ETrue if marking mode was activate, @c EFalse
-         *                   if marking mode was deactivated.
-         */
-        void MarkingModeStatusChanged( TBool aActivated );
-
-        /**
-         * This method is called just before marking mode is closed. Client can 
-         * either accept or decline closing.
-         * 
-         * @return @c ETrue if marking mode should be closed, otherwise @c EFalse.
-         */
-        TBool ExitMarkingMode() const;  
-
     private: // Implementation
         CPbk2NamesListExView( 
             CPbk2UIExtensionView& aView,
@@ -282,10 +262,8 @@
         CSpbContentProvider&  iContentProvider;
         // Not own. CCA launcher connection
         MCCAConnection*& iCCAConnection;
-        // Own: Context launcher
+        /// Own: Context launcher
         CPbk2ContextLaunch* iContextLauncher;
-        // Flag to indicate whether Marking mode is active
-        TBool iMarkingModeOn;
     };
 
 #endif // CPBK2NAMESLISTEXVIEW_H
--- a/phonebookui/Phonebook2/NamesListExtension/rss/Pbk2ExNamesListRes.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/rss/Pbk2ExNamesListRes.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -35,12 +35,12 @@
 #include <Pbk2ViewGraph.rh>
 #include <Pbk2UIControls.rh>
 #include <Pbk2UIControls.hrh>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commands.rsg> 
+#include <Pbk2UIControls.rsg>
+#include <Pbk2Commands.rsg> 
 #include <Pbk2IconId.rh>
 #include <Pbk2ViewId.hrh>
 #include <Pbk2Commands.hrh>
-#include <phonebook2.rsg>
+#include <Phonebook2.rsg>
 #include <Pbk2UID.h>
 #include <Pbk2IconInfo.rh>
 #include <Pbk2IconArrayId.hrh>
@@ -367,8 +367,7 @@
             KPbk2ContactViewListControlDoubleRow;
     listbox = LISTBOX
         {
-        flags = EAknListBoxStylusMarkableList | EAknListBoxLoopScrolling |
-        EAknListBoxPointerMarkableList;    
+        flags = EAknListBoxStylusMarkableList | EAknListBoxLoopScrolling; 
         };
     iconArray = R_PBK2_CONTACT_LIST_ICONS;
     emptyIconId = PHONEBOOK2_ICON_ID
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2CmdItemAddTop.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2CmdItemAddTop.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <MPbk2AppUi.h>
 #include <Pbk2InternalUID.h>
 #include "Pbk2NamesListExUID.h"
-#include <pbk2exnameslistres.rsg>
+#include <Pbk2ExNamesListRes.rsg>
 #include <TPbk2IconId.h>
 #include "pbk2nameslistexiconid.hrh"
 #include "pbk2contactuicontroldoublelistboxextension.h"
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2CmdItemRemoteContactLookup.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2CmdItemRemoteContactLookup.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include "CPbk2RemoteContactLookupVisibility.h"
 #include <Pbk2Commands.hrh>
 #include <MPbk2AppUi.h>
-#include <pbk2exnameslistres.rsg>
+#include <Pbk2ExNamesListRes.rsg>
 
 // General
 #include <StringLoader.h>
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2DelayedWaitNote.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2DelayedWaitNote.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,7 @@
 
 //  INCLUDES
 #include <Pbk2ProcessDecoratorFactory.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <avkon.hrh>
 #include "CPbk2DelayedWaitNote.h"
 
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NameslistUiControlExtension.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NameslistUiControlExtension.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,12 +31,12 @@
 #include <MVPbkBaseContactField.h>
 #include <MVPbkFieldType.h>
 #include <MVPbkContactFieldData.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <CVPbkTopContactManager.h>
 #include <Pbk2InternalUID.h>
 #include <mpbk2commanditemupdater.h>
 #include <StringLoader.h>
-#include <pbk2exnameslistres.rsg>
+#include <Pbk2ExNamesListRes.rsg>
 
 //ECE
 #include <gulicon.h>
@@ -371,13 +371,6 @@
 			TRAP_IGNORE( AddMyCardThumbnailToIconArrayL() );
 			}
 		}
-    // Refresh mycard list item if thumbnail has changed
-    if( iCommandUpdater &&
-        ( aEvent == EStateThumbnailLoaded ||
-          aEvent == EStateThumbnailNotFound ) )
-        {
-        iCommandUpdater->UpdateCommandItem( EPbk2CmdOpenMyCard );
-        }
 	}
 
 // -----------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxAddToTopContactsCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxAddToTopContactsCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,10 +21,10 @@
 
 #include <StringLoader.h>
 #include <aknnotewrappers.h>
-#include <pbk2uicontrols.rsg> 
-#include <pbk2commonui.rsg>
-#include <pbk2cmdextres.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2UIControls.rsg> 
+#include <Pbk2CommonUi.rsg>
+#include <Pbk2CmdExtRes.rsg>
+#include <Pbk2Commands.rsg>
 
 #include <Pbk2ProcessDecoratorFactory.h>
 #include <CPbk2NamesListControl.h>
@@ -39,7 +39,7 @@
 #include <MVPbkContactOperationBase.h>
 #include <MVPbkContactLink.h>
 #include <MVPbkStoreContact.h>
-#include <pbk2exnameslistres.rsg>
+#include <Pbk2ExNamesListRes.rsg>
 #include <Phonebook2PrivateCRKeys.h>
 #include <centralrepository.h>
 #include <CVPbkTopContactManager.h>
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxMoveTopContactsCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxMoveTopContactsCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include "CPbk2NlxMoveTopContactsDlg.h"
 #include "CPbk2NlxReorderingModel.h"
 
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2ProcessDecoratorFactory.h>
 #include <MPbk2CommandObserver.h>
 #include <MPbk2ContactUiControl.h>
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxMoveTopContactsDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxMoveTopContactsDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include <MPbk2AppUi.h>
 #include <MPbk2ApplicationServices.h>
 #include <MPbk2ContactViewSupplier.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <CVPbkContactLinkArray.h>
@@ -43,7 +43,7 @@
 
 #include "CPbk2NlxReorderingModel.h"
 #include "Pbk2NlxUIControls.hrh"
-#include <pbk2exnameslistres.rsg> 
+#include <Pbk2ExNamesListRes.rsg> 
 
 #include <Pbk2Debug.h>
 
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxRemoveFromTopContactsCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxRemoveFromTopContactsCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <MVPbkBaseContact.h>
 #include <MVPbkContactOperationBase.h>
 #include <CVPbkTopContactManager.h>
-#include <pbk2uicontrols.rsg> 
+#include <Pbk2UIControls.rsg> 
 
 // Debugging headers
 #include <Pbk2Debug.h>
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxReorderingModel.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxReorderingModel.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,7 +28,7 @@
 #include <MVPbkContactLink.h>
 #include <MPbk2ContactNameFormatter.h>
 #include <MVPbkViewContact.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2IconArray.h>
 #include <MPbk2ContactUiControlExtension.h>
 #include <MPbk2ContactUiControlExtension2.h>
--- a/phonebookui/Phonebook2/NamesListExtension/src/NamesListExView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/NamesListExView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include "CPbk2CmdItemAddTop.h"
 #include "CPbk2CmdItemRemoteContactLookup.h"
 #include <cpbk2remotecontactlookupaccounts.h>
-#include <pbk2exnameslistres.rsg>
+#include <Pbk2ExNamesListRes.rsg>
 #include "Pbk2NlxMenuFiltering.h"
 #include "cpbk2cmditemmycard.h"
 #include "cpbk2mycard.h"
@@ -36,15 +36,14 @@
 #include <MPbk2ViewExplorer.h>
 #include "CPbk2ViewState.h"
 #include <MPbk2StartupMonitor.h>
-#include <phonebook2.rsg>
-#include <pbk2commands.rsg>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commonui.rsg>
+#include <Phonebook2.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <CPbk2ControlContainer.h>
 #include <CPbk2NamesListControl.h>
 #include <MPbk2CommandHandler.h>
 #include <Pbk2Commands.hrh>
-#include <PmuCommands.hrh>
 #include <MPbk2ViewActivationTransaction.h>
 #include <CPbk2ViewStateTransformer.h>
 #include <csxhelp/phob.hlp.hrh>
@@ -204,8 +203,7 @@
         iCtrlVisibleStateBeforeLosingForground( ETrue ),
         iFirstTimeActivated( ETrue ),
         iContentProvider( aStatusProvider ),
-        iCCAConnection( aCCAConnection ),
-        iMarkingModeOn( EFalse )
+        iCCAConnection( aCCAConnection )
     {
     }
 
@@ -420,9 +418,9 @@
         }
     
     if ( EPbk2CmdOpenCca == aCommandId )
-        {
+    	{
         iControl->SetOpeningCca( ETrue );
-        }
+    	}
 
     // Set focus, keep current focus on the area of the client screen
     // when scoll to the bottom of Names list view.
@@ -567,7 +565,7 @@
     // The application is set here to background if application exit occurs
     PBK2_PROFILE_START
         ( Pbk2Profile::ENamesListViewDoActivateNotifyViewActivatation );
-    
+
     // The application is set here to background if application exit occurs
     // When the device is powered on, Phonebook will start up automatically and
     // hide itself in the background. At the first time of names list view activation,
@@ -599,12 +597,9 @@
 
     PBK2_PROFILE_END(Pbk2Profile::ENamesListViewDoActivateL);
 
-    // It will return the listbox by calling iControl->ComponentControl(0),
-    // which is defined in CPbk2NamesListControl::ComponentControl(TInt aIndex).
     CCoeControl* ctrl=iControl->ComponentControl(0);
     CEikListBox* listbox=static_cast <CEikListBox*> (ctrl);
     listbox->SetListBoxObserver( this );
-    listbox->SetMarkingModeObserver( this );
 
     // iCtrlVisibleStateBeforeLosingForground records the names list control states before
     // losing foreground during a command execution. Set the iCtrlVisibleStateBeforeLosingForground
@@ -627,17 +622,17 @@
     // Check if there is need to create MyCard
     if( FeatureManager::FeatureSupported( KFeatureIdffContactsMycard ) &&
         ( !iMyCard && IsPhoneMemoryUsedL() ) )
-        {
-        // Get the phoneStore for MyCard
-        MVPbkContactStore* phoneStore = iContactManager->ContactStoresL()
-            .Find(VPbkContactStoreUris::DefaultCntDbUri() );
-        
-        if( phoneStore )
-            {
-            // Create MyCard if not already exist and the phone memory selected
-            iMyCard = CPbk2MyCard::NewL( *phoneStore );
-            }
-        }
+    	{				
+		// Get the phoneStore for MyCard
+		MVPbkContactStore* phoneStore = iContactManager->ContactStoresL()
+    		.Find(VPbkContactStoreUris::DefaultCntDbUri() );
+		
+		if( phoneStore )
+			{
+			// Create MyCard if not already exist and the phone memory selected
+			iMyCard = CPbk2MyCard::NewL( *phoneStore );
+			}
+    	}
     
     // Add the MyCard item to the top of the list
     if( iMyCard && IsPhoneMemoryUsedL() )
@@ -659,13 +654,13 @@
    // promotion item disabled until we can support command items at the bottom of the list
    // if ( IsRclOnL() )  
     if( 0 )
-        {
+	    {
         CPbk2CmdItemRemoteContactLookup* rclCmd = CPbk2CmdItemRemoteContactLookup::NewLC();
         // Add the command item to the bottom of the command list
         iControl->AddCommandItemL( rclCmd, commandCount ); // ownership transferred
         CleanupStack::Pop( rclCmd );
         commandCount++;
-        }
+	    }
     }
 
 // --------------------------------------------------------------------------
@@ -705,17 +700,17 @@
 // --------------------------------------------------------------------------
 //
 CPbk2MyCard* CPbk2NamesListExView::MyCard() const
-    {
-    TBool phoneMemory = EFalse;
-    
-    TRAP_IGNORE( phoneMemory = IsPhoneMemoryUsedL() );
-    
-    if( phoneMemory )
-        {
-        return iMyCard;
-        }
-    
-    return NULL;
+    {			
+	TBool phoneMemory = EFalse;
+	
+	TRAP_IGNORE( phoneMemory = IsPhoneMemoryUsedL() );
+	
+	if( phoneMemory )
+		{
+		return iMyCard;
+		}
+	
+	return NULL;
     }
 
 // --------------------------------------------------------------------------
@@ -765,15 +760,6 @@
     if (iContainer)
         {
         CCoeEnv::Static()->AppUi()->RemoveFromStack(iContainer);
-        if( iMarkingModeOn )
-            {
-            // It will return the listbox by calling
-            // iControl->ComponentControl(0), which is defined
-            // in CPbk2NamesListControl::ComponentControl(TInt aIndex).
-            CCoeControl* ctrl=iControl->ComponentControl(0);
-            CEikListBox* listbox=static_cast <CEikListBox*> (ctrl);
-            listbox->SetMarkingMode(EFalse);
-            }
         // Store current state, safe to ignore. There's no real harm,
         // if theres no stored state when activating this view again
         TRAP_IGNORE(StoreStateL());
@@ -806,74 +792,17 @@
     //there.
     switch (aResourceId)
         {
-        case R_AVKON_MENUPANE_MARK_MULTIPLE:
+        case R_PHONEBOOK2_NAMESLIST_SEND_URL_MENU:
             {
-            TInt pos;
-            TInt markedContactCount = 0;
-            
-            CPbk2ContactViewListBox* listbox = 
-                static_cast<CPbk2ContactViewListBox*>(iControl->ComponentControl(0));
-            
-            if ( listbox )
-                {
-                markedContactCount = listbox->SelectionIndexes()->Count();
-                }
-            // dim the makr all item if all contacts are marked. 
-            if ( markedContactCount > 0 && markedContactCount == iControl->NumberOfContacts() )
-                {
-                aMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkAll, ETrue );
-                }
-            if ( aMenuPane->MenuItemExists( EAknCmdMarkingModeEnter, pos ) &&
-                    iControl->NumberOfContacts() <= 0 )
-                {
-                aMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
-                }
+            DimItem( aMenuPane, EPbk2CmdGoToURL );
             break;
             }
-        case R_PHONEBOOK2_NAMESLIST_BACKUP_MENU_PLACEHOLDER:
-            {
-            TInt pos = 0;
-            // Checks whether there are marked contacts and
-            // whether menu pane contains the menu item
-            if ( iMarkingModeOn && iControl->ContactsMarked() &&
-                    aMenuPane->MenuItemExists( EPmuCmdCascadingBackup, pos ) )
-                {
-                // This item is shown in option menu but not in popup menu
-                CEikMenuBar* menuBar = static_cast<CEikMenuBar*>( aMenuPane->Parent() );
-                if ( menuBar && menuBar->GetMenuType() == CEikMenuBar::EMenuOptions )
-                    {
-                    aMenuPane->SetItemSpecific( EPmuCmdCascadingBackup, ETrue );
-                    }
-                else
-                    {
-                    aMenuPane->SetItemDimmed( EPmuCmdCascadingBackup, ETrue );
-                    }
-                }
-            break;
-            }
-        case R_PHONEBOOK2_NAMESLIST_SEND_URL_MENU:
-            {
-            TInt pos = 0;
-            DimItem( aMenuPane, EPbk2CmdGoToURL );
-            // Checks whether there are marked contacts and
-            // whether menu pane contains the menu item
-            if ( iMarkingModeOn && iControl->ContactsMarked() &&
-                    aMenuPane->MenuItemExists( EPbk2CmdSend, pos ) )
-                {
-                aMenuPane->SetItemDimmed( EPbk2CmdSend, EFalse );
-                }
-            break;
-            }
-        case R_PHONEBOOK2_NAMESLIST_COPY_MENU:  
+        case R_PHONEBOOK2_NAMELIST_CREATE_MESSAGE_MENU:
             {
             TInt pos;
-            if ( aMenuPane->MenuItemExists( EPbk2CmdCopy, pos ) && iMarkingModeOn
-                    && iControl->NumberOfContacts() > 0  )
+            if ( aMenuPane->MenuItemExists( EPbk2CmdWriteNoQuery, pos ) )
                 {
-                // Show Copy item both in pop up menu and Options
-                // when Marking mode is active.
-                aMenuPane->SetItemSpecific( EPbk2CmdCopy, ETrue );
-                aMenuPane->SetItemDimmed( EPbk2CmdCopy, EFalse );
+                aMenuPane->SetItemSpecific( EPbk2CmdWriteNoQuery, !iControl->ContactsMarked() );
                 }
             break;
             }
@@ -1020,10 +949,16 @@
                 {
                 if ( !ShiftDown(aKeyEvent) ) // pure OK key
                     {
-                    if ( iControl->ContactsMarked() && itemSpecEnabled )
+                    if ( iControl->ContactsMarked() && itemSpecEnabled )					
                         {
-                        result = EFalse;
+                        iView.LaunchPopupMenuL(
+                            R_PHONEBOOK2_NAMESLIST_CONTEXT_MENUBAR_ITEMS_MARKED);
+                        result = ETrue;
                         }
+                    //else if ( iControl->NumberOfContacts() == 0 )
+                    //    {
+                    //    result = ETrue;
+                    //    }
                     }
                 break;
                 }
@@ -1055,11 +990,11 @@
         switch ( aEventType )
             {
             case EEventItemSingleClicked:
-                {
+            	{
                 ShowContextMenuL();
                 break;
                 }
-#if 0                
+#if 0            	
             case EEventEmptyAreaClicked:  //An empty area of non-empty listbox was clicked 
             case EEventEmptyListClicked:  //An empty listbox was clicked                
                 {
@@ -1092,6 +1027,11 @@
                     // Select key is mapped to "Open Contact" command
                     HandleCommandL(EPbk2CmdOpenCca);
                     }
+                else if (iControl->ContactsMarked())
+            		{
+                	iView.LaunchPopupMenuL(
+                    	R_PHONEBOOK2_NAMESLIST_CONTEXT_MENUBAR_ITEMS_MARKED);
+                    }
                 break;
                 }
             default:
@@ -1174,7 +1114,13 @@
             {
             if ( iPointerEventInspector->FocusedItemPointed() )
                 {
-                if ( !iControl->ContactsMarked() )
+                if ( iControl->ContactsMarked() )
+                    {
+                    // Display marked items context menu
+                    iView.LaunchPopupMenuL
+                        ( R_PHONEBOOK2_NAMESLIST_CONTEXT_MENUBAR_ITEMS_MARKED );
+                    }
+                else
                     {
                     // cancel the long tap animation with pointer up event
                     TPointerEvent event;
@@ -1217,9 +1163,9 @@
             {
             MTouchFeedback* feedback = MTouchFeedback::Instance();
             if ( feedback )
-                {
-                feedback->InstantFeedback( ETouchFeedbackBasic );
-                }
+                   {
+                   feedback->InstantFeedback( ETouchFeedbackBasic );
+                   }			
             HandleCommandL( EPbk2CmdCreateNew );
             }
         }    
@@ -1329,22 +1275,22 @@
     Reset();
            
     if( iMyCard )
-        {
-        return;
-        }
+    	{
+		return;
+    	}
        
     if( FeatureManager::FeatureSupported( KFeatureIdffContactsMycard ) )
-        {
-        // Get the phoneStore for MyCard
-        TRAP_IGNORE( phoneStore = iContactManager->ContactStoresL().
-            Find( VPbkContactStoreUris::DefaultCntDbUri() ) );
-        }
+	   {    				
+		// Get the phoneStore for MyCard
+		TRAP_IGNORE( phoneStore = iContactManager->ContactStoresL().
+			Find( VPbkContactStoreUris::DefaultCntDbUri() ) );    		
+	   }
                
     if( !phoneStore )
-        {
+    	{
         TRAP_IGNORE( iContactManager->LoadContactStoreL( 
                 VPbkContactStoreUris::DefaultCntDbUri() ) );
-        }
+    	}
     }
 
 // --------------------------------------------------------------------------
@@ -1601,51 +1547,13 @@
         }
     }
 
-// -----------------------------------------------------------------------------
-// CPbk2NamesListExView::MarkingModeStatusChanged
-// -----------------------------------------------------------------------------
-//
-void CPbk2NamesListExView::MarkingModeStatusChanged( TBool aActivated )
-    {
-    iMarkingModeOn = aActivated;
-
-    // It will return the control findbox by calling
-    // iControl->ComponentControl(1), which is defined
-    // in CPbk2NamesListControl::ComponentControl(TInt aIndex).
-    if ( !iMarkingModeOn && iControl->ComponentControl(1)->IsVisible() )
-        {
-        // Clear the text of the FindBox, when canceling from Marking mode.
-        TRAP_IGNORE( iControl->ResetFindL() );
-        }
-    iControl->SetMarkingMode( aActivated );
-
-    // It will return the control listbox by calling
-    // iControl->ComponentControl(0), which is defined
-    // in CPbk2NamesListControl::ComponentControl(TInt aIndex).
-    CPbk2ContactViewListBox* listbox = 
-        static_cast<CPbk2ContactViewListBox*>(iControl->ComponentControl(0));
-    listbox->SetMarkingModeState( aActivated );
-    }
-
-// -----------------------------------------------------------------------------
-// CPbk2NamesListExView::ExitMarkingMode
-// Called by avkon, if the return value is ETrue, 
-// the Marking mode will be canceled after any operation, 
-// otherwise the Marking mode keep active.
-// -----------------------------------------------------------------------------
-//
-TBool CPbk2NamesListExView::ExitMarkingMode() const
-    {
-    return ETrue; 
-    }
-    
 //---------------------------------------------------------------------------
 // CPbk2NamesListExView::CreateControlsL
 // --------------------------------------------------------------------------
 //
 inline void CPbk2NamesListExView::CreateControlsL()
     {
-    
+	
     if (!iContainer)
         {
         PBK2_PROFILE_START(Pbk2Profile::ENamesListViewCreateControls);
@@ -1752,6 +1660,9 @@
             {
             // Set middle softkey as Context Icon
             iView.Cba()->SetCommandSetL( R_PBK2_SOFTKEYS_OPTIONS_EXIT_CONTEXT );
+            // Change context menu when marked items
+            iView.MenuBar()->SetContextMenuTitleResourceId
+                ( R_PHONEBOOK2_NAMESLIST_CONTEXT_MENUBAR_ITEMS_MARKED );
             }
         else // not listContainsContacts && not contactsMarked
             {
@@ -1977,25 +1888,25 @@
 // --------------------------------------------------------------------------
 //
 TBool CPbk2NamesListExView::IsPhoneMemoryUsedL() const
-    {
-    CPbk2ApplicationServices* appServices = CPbk2ApplicationServices::InstanceL();
-            
-    // Get current configuration
-    CPbk2StoreConfiguration& storeConfig = appServices->StoreConfiguration();
-    
-    CVPbkContactStoreUriArray* uriArray = storeConfig.CurrentConfigurationL();
-            
-    TVPbkContactStoreUriPtr contactUri( VPbkContactStoreUris::DefaultCntDbUri() );
-            
-    // Check is phone memory included
-    TBool phoneMemory = uriArray->IsIncluded( contactUri );
-    
-    delete uriArray;        
-    Release( appServices );
-    
-    return phoneMemory;
-    }
-    
+	{
+	CPbk2ApplicationServices* appServices = CPbk2ApplicationServices::InstanceL();
+			
+	// Get current configuration
+	CPbk2StoreConfiguration& storeConfig = appServices->StoreConfiguration();
+	
+	CVPbkContactStoreUriArray* uriArray = storeConfig.CurrentConfigurationL();
+			
+	TVPbkContactStoreUriPtr contactUri( VPbkContactStoreUris::DefaultCntDbUri() );		
+			
+	// Check is phone memory included
+	TBool phoneMemory = uriArray->IsIncluded( contactUri );
+	
+	delete uriArray;		
+	Release( appServices );
+	
+	return phoneMemory;
+	}
+	
 // --------------------------------------------------------------------------
 // CPbk2NamesListExView::HandleGainingForeground
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/NamesListExtension/src/NamesListUiExtensionPlugin.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/NamesListUiExtensionPlugin.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -48,13 +48,13 @@
 #include <CPbk2ViewState.h>
 
 #include <MPbk2ContactUiControlExtension.h>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <MVPbkBaseContact.h>
 #include <MVPbkBaseContactFieldCollection.h>
 #include <MVPbkBaseContactField.h>
 #include <MVPbkFieldType.h>
 #include <MVPbkContactFieldData.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <CVPbkTopContactManager.h>
 #include <VPbkContactStoreUris.h>
 #include <CVPbkContactStoreUriArray.h>
@@ -371,7 +371,41 @@
             break;
             }
 #endif            
-       
+        case R_AVKON_MENUPANE_MARKABLE_LIST_IMPLEMENTATION:
+        	{
+
+            if ( Pbk2NlxMenuFiltering::AddToFavoritesCmdSelected( aControl ) )
+                {
+                DimItem( aMenuPane, EAknCmdMark );
+                }
+            if ( Pbk2NlxMenuFiltering::MyCardCmdSelected( aControl ) )
+                {
+                DimItem( aMenuPane, EAknCmdMark );
+                }
+        	break;
+        	}
+        case R_PHONEBOOK2_MARKABLE_LIST_CONTEXT_MENU:
+            {
+            if ( Pbk2NlxMenuFiltering::AddToFavoritesCmdSelected( aControl ) )
+                {
+                DimItem( aMenuPane, EAknCmdMark );
+                DimItem( aMenuPane, EAknCmdUnmark );
+                }
+            if ( Pbk2NlxMenuFiltering::MyCardCmdSelected( aControl ) )
+                {
+                DimItem( aMenuPane, EAknCmdMark );
+                DimItem( aMenuPane, EAknCmdUnmark );
+                }
+            break;
+            }
+        case R_AVKON_MENUPANE_MARKABLE_LIST:
+            {
+            if ( !aControl.NumberOfContacts() )
+                {
+                DimItem( aMenuPane, EAknCmdEditListMenu );
+                }
+            break;
+            }
         case R_PHONEBOOK2_NAMESLIST_COPY_MENU:
             {
             MPbk2ContactUiControl2* tempControl = 
--- a/phonebookui/Phonebook2/NamesListExtension/src/cpbk2cmditemmycard.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/cpbk2cmditemmycard.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 // Pbk2
 #include "CPbk2AddFavoritesVisibility.h"
 #include <Pbk2Commands.hrh>
-#include <pbk2exnameslistres.rsg>
+#include <Pbk2ExNamesListRes.rsg>
 #include <MPbk2AppUi.h>
 #include <MPbk2ApplicationServices.h>
 #include "cpbk2mycard.h"
@@ -118,10 +118,23 @@
     return NULL;
     }
 
-void CPbk2CmdItemMyCard::MyCardEvent( MPbk2MyCardObserver::TMyCardStatusEvent /*aEvent*/ )
+void CPbk2CmdItemMyCard::MyCardEvent( MPbk2MyCardObserver::TMyCardStatusEvent aEvent )
     {
-    NotifyVisibiltyChange( IsEnabled() );
-    }
+	// always inform these
+    if( aEvent == EStateThumbnailLoaded ||
+    	aEvent == EStateThumbnailNotFound )
+    	{
+		if( iObserver )
+			{
+			iObserver->CmdItemVisibilityChanged( CommandId(), ETrue );
+			}
+    	}
+    // status change
+    else
+    	{
+		NotifyVisibiltyChange( IsEnabled() ) ;    
+    	}
+	}
 
 void CPbk2CmdItemMyCard::FormatDataL(
                 MPbk2DoubleListboxDataElement& aDataElement )
--- a/phonebookui/Phonebook2/NamesListExtension/src/cpbk2deletemycardcmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/cpbk2deletemycardcmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,12 +20,12 @@
 #include "cpbk2deletemycardcmd.h"
 #include <StringLoader.h>
 #include <AknQueryDialog.h>
-#include <pbk2exnameslistres.rsg>
+#include <Pbk2ExNamesListRes.rsg>
 
 // Phonebook2
 #include <CPbk2ApplicationServices.h>
 #include <MPbk2CommandObserver.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2ContactUiControl.h>
 #include <MPbk2ContactNameFormatter.h>
 #include <CPbk2GeneralConfirmationQuery.h>
--- a/phonebookui/Phonebook2/NamesListExtension/src/cpbk2mycard.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/cpbk2mycard.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -41,7 +41,7 @@
 // thumbnail loading
 #include <CPbk2ImageManager.h>
 #include <TPbk2ImageManagerParams.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <fbs.h>
 #include <AknUtils.h>
 #include <aknlayoutscalable_apps.cdl.h>
--- a/phonebookui/Phonebook2/NewContactLauncher/data/NewContactLauncher_reg.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NewContactLauncher/data/NewContactLauncher_reg.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,7 @@
 #include "NewContactLauncher.hrh"
 #include "NewContactLauncher.rls"
 #include <appinfo.rh>
-#include <newcontactlauncher.rsg>
+#include <NewContactLauncher.rsg>
 
 UID2 KUidAppRegistrationResourceFile
 UID3 _UID3
--- a/phonebookui/Phonebook2/NewContactLauncher/group/NewContactLauncher.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NewContactLauncher/group/NewContactLauncher.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -56,7 +56,7 @@
 LIBRARY		   cone.lib
 LIBRARY		   eikcore.lib
 LIBRARY		   avkon.lib
-LIBRARY		   CommonEngine.lib
+LIBRARY		   commonengine.lib
 LIBRARY		   efsrv.lib 
 LIBRARY		   estor.lib
 LIBRARY        aknnotify.lib
--- a/phonebookui/Phonebook2/NewContactLauncher/src/NewContactLauncherAppUi.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/NewContactLauncher/src/NewContactLauncherAppUi.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -37,7 +37,7 @@
 #include <AiwContactSelectionDataTypes.h>
 #include <AiwContactAssignDataTypes.h>
 #include <AiwVariant.h>
-#include <newcontactlauncher.rsg>
+#include <NewContactLauncher.rsg>
 #include <coemain.h>
 #include <coeutils.h>
 #include <sysutil.h>
--- a/phonebookui/Phonebook2/Presentation/inc/CPbk2FieldOrderingManager.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/inc/CPbk2FieldOrderingManager.h	Wed Oct 13 14:15:33 2010 +0300
@@ -76,7 +76,7 @@
             TFieldTypeOrder( TResourceReader& aReader );
             
             /**
-             * Field type resource id from vpbkeng.rsg
+             * Field type resource id from VPbkEng.rsg
              */
             TInt iFieldTypeResId;
             
--- a/phonebookui/Phonebook2/Presentation/inc/Pbk2FieldOrdering.rh	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/inc/Pbk2FieldOrdering.rh	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 //
 STRUCT PBK2_FIELDTYPE_PRESENTATION_ORDER
     {
-    /// Field type resource id from vpbkeng.rsg
+    /// Field type resource id from VPbkEng.rsg
     LONG fieldTypeResId;
     /// The number that specifies the location of this field type
     /// in contact presentation (defines the order of fields). 
--- a/phonebookui/Phonebook2/Presentation/rss/Pbk2FieldOrdering.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/rss/Pbk2FieldOrdering.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,7 @@
 */
 
 #include "Pbk2FieldOrdering.rh"
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // ---------------------------------------------------------------------------
 // R_PBK2_FIELDTYPE_PRESENTATION_ORDERS
--- a/phonebookui/Phonebook2/Presentation/rss/Pbk2Presentation.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/rss/Pbk2Presentation.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 
 /*============================================================================
 * NB. Pbk2Presentation resources MUST be defined in Pbk2PresentationCommon.rss
-* because only one pbk2presentation.rsg file used with different language 
+* because only one Pbk2Presentation.rsg file used with different language 
 * specific ".rsc" files. Otherwise BC is broken.
 ============================================================================*/
 
--- a/phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationChinese.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationChinese.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 
 /*============================================================================
 * NB. Pbk2Presentation resources MUST be defined in Pbk2PresentationCommon.rss
-* because only one pbk2presentation.rsg file used with different language 
+* because only one Pbk2Presentation.rsg file used with different language 
 * specific ".rsc" files. Otherwise BC is broken.
 ============================================================================*/
 
--- a/phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationChineseUnSync.rss	Wed Sep 15 11:56:55 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  Phonebook 2 presentation Chinese resources.
-*
-*/
-
-
-// INCLUDES
-#include "Pbk2ChineseFieldOrdering.hrh"    // Resources for default languages
-#include "Pbk2PresentationCommonUnSync.rss"   // Common resources for all languages
-
-/*============================================================================
-* NB. Pbk2Presentation resources MUST be defined in Pbk2PresentationCommon.rss
-* because only one Pbk2Presentation.rsg file used with different language 
-* specific ".rsc" files. Otherwise BC is broken.
-============================================================================*/
-
-// End of File
--- a/phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationCommon.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationCommon.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -40,7 +40,7 @@
 #include <VPbkContactView.rh>
 #include <VPbkFieldType.rh>
 #include <VPbkStoreUriDefinitions.hrh>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 #include <eikon.rh>
 
--- a/phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationCommonUnSync.rss	Wed Sep 15 11:56:55 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2159 +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:  Phonebook 2 presentation common resources for all languages.
-*
-*                Note that in order to retain BINARY COMPATIBILITY no new 
-*                resources must be declared in-between the existing resources.
-*                To make it sure after changes, compare the generated files
-*                before and after (Pbk2Presentation*.rsg)
-*
-*/
-
-
-#include "Pbk2PresentationString.rh"
-
-#include <Pbk2StoreProperty.rh>
-#include <Pbk2ContactView.hrh>
-#include <Pbk2StoreProperty.hrh>
-#include <Pbk2StoreInfo.hrh>
-#include <phonebook2.loc>
-#include <phonebook2ece.loc>
-#include <Pbk2IconId.hrh>
-#include <Pbk2UID.h>
-#include <Pbk2FieldProperty.hrh>
-#include <Pbk2FieldProperty.rh>
-#include <Pbk2ContentIdentifiers.hrh>
-#include <Pbk2IconId.rh>
-#include "pbk2wellknownservices.rh"
-
-#include <VPbkContactView.rh>
-#include <VPbkFieldType.rh>
-#include <VPbkStoreUriDefinitions.hrh>
-#include <VPbkEng.rsg>
-
-#include <eikon.rh>
-
-// RESOURCE IDENTIFIER
-NAME    PBPR    // Phonebook 2 Presentation
-
-// --------------------------------------------------------------------------
-// Standard resource signature
-// --------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// --------------------------------------------------------------------------
-// Name display order definition for last name first name ordering
-// --------------------------------------------------------------------------
-//
-RESOURCE VPBK_FIELD_TYPE_MAPPING_LIST
-        r_default_name_display_order_lastname_firstname
-    {
-    items =
-        {
-        /// Top contact indicator / Top contact internal order        
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameTopContact;
-                };
-            },
-        /// Last name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameN;
-                subField = EVPbkVersitSubFieldFamilyName;
-                };
-            },
-        /// First name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameN;
-                subField = EVPbkVersitSubFieldGivenName;
-                };
-            },
-        /// Company name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameORG;
-                subField = EVPbkVersitSubFieldOrgName;
-                };
-            },
-        /// Generic label
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY {};
-            nonVersitType = EVPbkNonVersitTypeGenericLabel;
-            }
-        };
-    }
-
-// --------------------------------------------------------------------------
-// Name display order definition for first name last name ordering
-// --------------------------------------------------------------------------
-//
-RESOURCE VPBK_FIELD_TYPE_MAPPING_LIST
-        r_default_name_display_order_firstname_lastname
-    {
-    items =
-        {
-        /// Top contact indicator / Top contact internal order        
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameTopContact;
-                };
-            },
-        /// First name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameN;
-                subField = EVPbkVersitSubFieldGivenName;
-                };
-            },
-        /// Last name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameN;
-                subField = EVPbkVersitSubFieldFamilyName;
-                };
-            },
-        /// Company name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameORG;
-                subField = EVPbkVersitSubFieldOrgName;
-                };
-            },
-        /// Generic label
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY {};
-            nonVersitType = EVPbkNonVersitTypeGenericLabel;
-            }
-        };
-    }
-
-// --------------------------------------------------------------------------
-// Japanese name display order definition for last name first name ordering
-// --------------------------------------------------------------------------
-//
-RESOURCE VPBK_FIELD_TYPE_MAPPING_LIST
-        r_japanese_name_display_order_lastname_firstname
-    {
-    items =
-        {
-        /// Top contact indicator / Top contact internal order        
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameTopContact;
-                };
-            },
-        /// Last name reading
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameSOUND;
-                subField = EVPbkVersitSubFieldFamilyNamePronunciation;
-                };
-            },
-        /// First name reading
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameSOUND;
-                subField = EVPbkVersitSubFieldGivenNamePronunciation;
-                };
-            },
-        /// Last name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameN;
-                subField = EVPbkVersitSubFieldFamilyName;
-                };
-            },
-        /// First name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameN;
-                subField = EVPbkVersitSubFieldGivenName;
-                };
-            },
-        /// company name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameORG;
-                subField = EVPbkVersitSubFieldOrgName;
-                };
-            },
-        /// Generic label
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY {};
-            nonVersitType = EVPbkNonVersitTypeGenericLabel;
-            }
-        };
-    }
-
-// --------------------------------------------------------------------------
-// Japanese name display order definition for first name last name ordering
-// --------------------------------------------------------------------------
-//
-RESOURCE VPBK_FIELD_TYPE_MAPPING_LIST
-        r_japanese_name_display_order_firstname_lastname
-    {
-    items =
-        {
-        /// Top contact indicator / Top contact internal order        
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameTopContact;
-                };
-            },
-        /// First name reading
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameSOUND;
-                subField = EVPbkVersitSubFieldGivenNamePronunciation;
-                };
-            },
-        /// Last name reading
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameSOUND;
-                subField = EVPbkVersitSubFieldFamilyNamePronunciation;
-                };
-            },
-        /// First name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameN;
-                subField = EVPbkVersitSubFieldGivenName;
-                };
-            },
-        /// Last name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameN;
-                subField = EVPbkVersitSubFieldFamilyName;
-                };
-            },
-        /// Company name
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY
-                {
-                name = EVPbkVersitNameORG;
-                subField = EVPbkVersitSubFieldOrgName;
-                };
-            },
-        /// Generic label
-        VPBK_FIELD_TYPE_MAPPING
-            {
-            versitProperty = VBK_FIELD_VERSIT_PROPERTY {};
-            nonVersitType = EVPbkNonVersitTypeGenericLabel;
-            }
-        };
-    }
-
-// --------------------------------------------------------------------------
-// Default name ordering configuration
-// --------------------------------------------------------------------------
-//
-RESOURCE PBK2_PRESENTATION_STRING r_qtn_phob_name_order
-    {
-    text = qtn_phob_name_order;
-    }
-
-// --------------------------------------------------------------------------
-// Default name ordering separator usage configuration
-// --------------------------------------------------------------------------
-//
-RESOURCE PBK2_PRESENTATION_STRING r_qtn_phob_name_separator_used
-    {
-    text = qtn_phob_name_separator_used;
-    }
-
-// --------------------------------------------------------------------------
-// Default name ordering separator character configuration
-// --------------------------------------------------------------------------
-//
-RESOURCE PBK2_PRESENTATION_STRING r_qtn_phob_name_separator_char
-    {
-    text = qtn_phob_name_separator_char;
-    }
-
-// --------------------------------------------------------------------------
-// Title field selector
-// --------------------------------------------------------------------------
-//
-RESOURCE VPBK_FIELD_TYPE_SELECTOR r_title_field_selector
-    {
-    versitProperties =
-        {
-        /// Last name
-        VBK_FIELD_VERSIT_PROPERTY
-            {
-            name = EVPbkVersitNameN;
-            subField = EVPbkVersitSubFieldFamilyName;
-            },
-        /// First name
-        VBK_FIELD_VERSIT_PROPERTY
-            {
-            name = EVPbkVersitNameN;
-            subField = EVPbkVersitSubFieldGivenName;
-            },
-        /// Company name
-        VBK_FIELD_VERSIT_PROPERTY
-            {
-            name = EVPbkVersitNameORG;
-            subField = EVPbkVersitSubFieldOrgName;
-            },
-        /// Last name reading
-        VBK_FIELD_VERSIT_PROPERTY
-            {
-            name = EVPbkVersitNameSOUND;
-            subField = EVPbkVersitSubFieldFamilyNamePronunciation;
-            },
-        /// First name reading
-        VBK_FIELD_VERSIT_PROPERTY
-            {
-            name = EVPbkVersitNameSOUND;
-            subField = EVPbkVersitSubFieldGivenNamePronunciation;
-            }
-        };
-    nonVersitType =
-        {
-        EVPbkNonVersitTypeGenericLabel
-        };
-    }
-
-// --------------------------------------------------------------------------
-// Phonebook 2 field properties
-// --------------------------------------------------------------------------
-//
-RESOURCE PHONEBOOK2_FIELD_PROPERTY_ARRAY r_phonebook_field_properties
-    {
-    items =
-        {
-        /// Last name
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_LASTNAME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagTemplateField | KPbk2FieldFlagUserCanAddField |
-                    KPbk2FieldFlagCanNotBeRemoved;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdLastName;
-            defaultLabel = qtn_phob_lbl_last_name;
-            },
-        /// Last name reading
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_LASTNAMEREADING;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeReadingEditor;
-            flags = KPbk2FieldFlagTemplateField | KPbk2FieldFlagUserCanAddField |
-                    KPbk2FieldFlagCanNotBeRemoved;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdLastName;
-            defaultLabel = qtn_phob_lbl_last_reading;
-            },
-        /// First name
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_FIRSTNAME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagTemplateField | KPbk2FieldFlagUserCanAddField |
-                    KPbk2FieldFlagCanNotBeRemoved;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdFirstName;
-            defaultLabel = qtn_phob_lbl_first_name;
-            },
-        /// First name reading
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_FIRSTNAMEREADING;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeReadingEditor;
-            flags = KPbk2FieldFlagTemplateField | KPbk2FieldFlagUserCanAddField |
-                    KPbk2FieldFlagCanNotBeRemoved;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdFirstName;
-            defaultLabel = qtn_phob_lbl_first_reading;
-            },
-        /// Prefix
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_PREFIX;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 10;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_prefix;
-            },
-        /// Suffix
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_SUFFIX;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 10;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_suffix;
-            },
-        /// Nick name
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_SECONDNAME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_simp_lbl_nick;
-            },
-        /// Landline phone (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_LANDPHONEHOME;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_phone;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationHome;
-            defaultLabel = qtn_phob_lbl_number_home;
-            },
-        /// Mobile phone (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_MOBILEPHONEHOME;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_mobile;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationHome;
-            defaultLabel = qtn_phob_lbl_number_mobile_home;
-            },
-        /// Video number (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_VIDEONUMBERHOME;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_video;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationHome;
-            defaultLabel = qtn_phob_lbl_video_home;
-            },
-        /// Fax number (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_FAXNUMBERHOME;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_fax;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationHome;
-            defaultLabel = qtn_phob_lbl_fax_home;
-            },
-        /// VOIP (Tel. Internet) (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_VOIPHOME;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 100;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_voip;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationHome;
-            defaultLabel = qtn_phob_lbl_voip_home;
-            },
-        /// Email address (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_EMAILHOME;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 150;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_email;
-                };
-            ctrlType = EPbk2FieldCtrlEmailEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationHome;
-            defaultLabel = qtn_phob_lbl_email_home;
-            },
-        /// URL (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_URLHOME;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 1000;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_url;
-                };
-            ctrlType = EPbk2FieldCtrlURLEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationHome;
-            defaultLabel = qtn_phob_lbl_url_home;
-            },
-        /// Address label (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRLABELHOME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 250;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_address;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagNull;
-            location = EPbk2FieldLocationHome;
-            defaultLabel = qtn_phob_lbl_address_home;
-            },
-        /// Address postoffice (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRPOHOME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 20;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_pobox_home;
-            location = EPbk2FieldLocationHome;
-            groupId = EPbk2FieldGroupIdHomeAddress;
-            defaultLabel = qtn_phob_lbl_pobox_home;
-            },
-        /// Address extension (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDREXTHOME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_extension_home;
-            location = EPbk2FieldLocationHome;
-            groupId = EPbk2FieldGroupIdHomeAddress;
-            defaultLabel = qtn_phob_lbl_extencion_home;
-            },
-        /// Address street (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRSTREETHOME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_street_home;
-            location = EPbk2FieldLocationHome;
-            groupId = EPbk2FieldGroupIdHomeAddress;
-            defaultLabel = qtn_phob_lbl_street_home;
-            },
-        /// Address city (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRLOCALHOME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_city_home;
-            location = EPbk2FieldLocationHome;
-            groupId = EPbk2FieldGroupIdHomeAddress;
-            defaultLabel = qtn_phob_lbl_city_home;
-            },
-        /// Address region (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRREGIONHOME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_state_home;
-            location = EPbk2FieldLocationHome;
-            groupId = EPbk2FieldGroupIdHomeAddress;
-            defaultLabel = qtn_phob_lbl_state_home;
-            },
-        /// Address postal code (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRPOSTCODEHOME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 20;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlPostalCodeEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_postal_code_home;
-            location = EPbk2FieldLocationHome;
-            groupId = EPbk2FieldGroupIdHomeAddress;
-            defaultLabel = qtn_phob_lbl_postal_code_home;
-            },
-        /// Address country (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRCOUNTRYHOME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_country_home;
-            location = EPbk2FieldLocationHome;
-            groupId = EPbk2FieldGroupIdHomeAddress;
-            defaultLabel = qtn_phob_lbl_country_home;
-            },
-        /// Job title
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_JOBTITLE;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_job_title;
-            },
-        /// Company name
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_COMPANYNAME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_company_name;
-            },
-        /// Landline phone (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_LANDPHONEWORK;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_phone;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationWork;
-            defaultLabel = qtn_phob_lbl_number_work;
-            },
-        /// Mobile phone (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_MOBILEPHONEWORK;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_mobile;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationWork;
-            defaultLabel = qtn_phob_lbl_number_mobile_work;
-            },
-        /// Video number (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_VIDEONUMBERWORK;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_video;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationWork;
-            defaultLabel = qtn_phob_lbl_video_work;
-            },
-        /// Fax number (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_FAXNUMBERWORK;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_fax;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationWork;
-            defaultLabel = qtn_phob_lbl_fax_work;
-            },
-        /// VOIP (Tel. Internet) (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_VOIPWORK;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 100;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_voip;
-                };
-            ctrlType = EPbk2FieldCtrlEmailEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationWork;
-            defaultLabel = qtn_phob_lbl_voip_work;
-            },
-        /// Email address (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_EMAILWORK;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 150;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_email;
-                };
-            ctrlType = EPbk2FieldCtrlEmailEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationWork;
-            defaultLabel = qtn_phob_lbl_email_work;
-            },
-        /// URL (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_URLWORK;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 1000;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_url;
-                };
-            ctrlType = EPbk2FieldCtrlURLEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationWork;
-            defaultLabel = qtn_phob_lbl_url_work;
-            },
-        /// Address label (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRLABELWORK;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 250;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_address;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagNull;
-            location = EPbk2FieldLocationWork;
-            defaultLabel = qtn_phob_lbl_address_work;
-            },
-        /// Address postoffice (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRPOWORK;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 20;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_pobox_work;
-            location = EPbk2FieldLocationWork;
-            groupId = EPbk2FieldGroupIdCompanyAddress;
-            defaultLabel = qtn_phob_lbl_pobox_work;
-            },
-        /// Address extension (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDREXTWORK;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_extension_work;
-            location = EPbk2FieldLocationWork;
-            groupId = EPbk2FieldGroupIdCompanyAddress;
-            defaultLabel = qtn_phob_lbl_extencion_work;
-            },
-        /// Address street (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRSTREETWORK;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_street_work;
-            location = EPbk2FieldLocationWork;
-            groupId = EPbk2FieldGroupIdCompanyAddress;
-            defaultLabel = qtn_phob_lbl_street_work;
-            },
-        /// Address city (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRLOCALWORK;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_city_work;
-            location = EPbk2FieldLocationWork;
-            groupId = EPbk2FieldGroupIdCompanyAddress;
-            defaultLabel = qtn_phob_lbl_city_work;
-            },
-        /// Address region (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRREGIONWORK;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_state_work;
-            location = EPbk2FieldLocationWork;
-            groupId = EPbk2FieldGroupIdCompanyAddress;
-            defaultLabel = qtn_phob_lbl_state_work;
-            },
-        /// Address postal code (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRPOSTCODEWORK;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 20;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlPostalCodeEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_postal_code_work;
-            location = EPbk2FieldLocationWork;
-            groupId = EPbk2FieldGroupIdCompanyAddress;
-            defaultLabel = qtn_phob_lbl_postal_code_work;
-            },
-        /// Address country (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRCOUNTRYWORK;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_country_work;
-            location = EPbk2FieldLocationWork;
-            groupId = EPbk2FieldGroupIdCompanyAddress;
-            defaultLabel = qtn_phob_lbl_country_work;
-            },
-        /// Landline phone (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_LANDPHONEGEN;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_phone;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_number_standard;
-            },
-        /// Mobile phone (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_MOBILEPHONEGEN;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_mobile;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_number_mobile;
-            },
-        /// Video number (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_VIDEONUMBERGEN;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_video;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_video;
-            },
-        /// Fax number (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_FAXNUMBERGEN;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_fax;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_fax;
-            },
-        /// VOIP (Tel. Internet) (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_VOIPGEN;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 100;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_voip;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_voip;
-            },
-        /// PTT (POC)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_POC;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 100;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_poc;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_poc;
-            },
-        /// SWIS (Share view)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_SWIS;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 100;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_swis;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_swis;
-            },
-        /// SIP
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_SIP;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 100;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_sip;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_sip;
-            },
-        /// Email address (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_EMAILGEN;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 150;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_email;
-                };
-            ctrlType = EPbk2FieldCtrlEmailEditor;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_email;
-            },
-        /// URL (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_URLGEN;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 1000;
-            editMode = EPbk2FieldEditModeLatinOnly;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_url;
-                };
-            ctrlType = EPbk2FieldCtrlURLEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_url;
-            },
-        /// Address label (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRLABELGEN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 250;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_address;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagNull;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_address;
-            },
-        /// Address postoffice (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRPOGEN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 20;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_pobox;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdPostalAddress;
-            defaultLabel = qtn_phob_lbl_address;
-            },
-        /// Address extension (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDREXTGEN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_extension;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdPostalAddress;
-            defaultLabel = qtn_phob_lbl_extencion;
-            },
-        /// Address street (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRSTREETGEN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_street;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdPostalAddress;
-            defaultLabel = qtn_phob_lbl_street;
-            },
-        /// Address city (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRLOCALGEN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_city;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdPostalAddress;
-            defaultLabel = qtn_phob_lbl_city;
-            },
-        /// Address region (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRREGIONGEN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_state;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdPostalAddress;
-            defaultLabel = qtn_phob_lbl_state;
-            },
-        /// Address postal code (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRPOSTCODEGEN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 20;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlPostalCodeEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_postal_code;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdPostalAddress;
-            defaultLabel = qtn_phob_lbl_postal_code;
-            },
-        /// Address country (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ADDRCOUNTRYGEN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            addItemText = qtn_phob_lbl2_country;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdPostalAddress;
-            defaultLabel = qtn_phob_lbl_country;
-            },
-        /// Pager number
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_PAGERNUMBER;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_pager;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_pager;
-            },
-        /// DTMF string
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_DTMFSTRING;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 60;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_phonebook2_unsync;
-                };
-            ctrlType = EPbk2FieldCtrlTypeDTMFEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_dtmf;
-            },
-
-        /// Wv(IM) address field - will be inserted by PEC & IM
-
-        /// Date
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_DATE;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeDate;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_date;
-                };
-            ctrlType = EPbk2FieldCtrlTypeDateEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_date;
-            },
-        /// Note
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_NOTE;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 1000;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_note;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_note;
-            },
-        /// Thumbnail photo
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_THUMBNAILPIC;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 0;
-            editMode = EPbk2FieldEditModeSelector;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeNone;
-            flags = KPbk2FieldFlagDisableEdit |
-                    KPbk2FieldFlagHideFromDetailsView;
-            location = EPbk2FieldLocationNone;
-            },
-        /// Ringing tone
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_RINGTONE;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 256;   
-            editMode = EPbk2FieldEditModeSelector;  // If editing happends with commands
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_phonebook2_unsync;
-                };
-            ctrlType = EPbk2FieldCtrlTypeRingtoneEditor;  
-            flags = KPbk2FieldFlagTemplateField | KPbk2FieldFlagCanNotBeRemoved | KPbk2FieldFlagUserCanAddField; 
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_tone;
-            },
-        /// Caller object image
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_CALLEROBJIMG;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 256;
-            editMode = EPbk2FieldEditModeSelector;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeImageEditor;  
-            flags = KPbk2FieldFlagTemplateField | KPbk2FieldFlagCanNotBeRemoved | KPbk2FieldFlagUserCanAddField; 
-            location = EPbk2FieldLocationNone;
-            defaultLabel = qtn_phob_lbl_image;
-            },
-        /// Middle name
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_MIDDLENAME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdLastName;
-            defaultLabel = qtn_phob_lbl_middle_name;
-            },
-        /// Department
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_DEPARTMENT;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_dept_name;
-            },
-        /// Assistant name
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ASSTNAME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_assistant_name;
-            },
-        /// Spouse
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_SPOUSE;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_spouse;
-            },
-        /// Children
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_CHILDREN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseText;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_children;
-            },
-        /// Assistant phone
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ASSTPHONE;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_assistant;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_number_assistant;
-            },
-        /// Car phone
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_CARPHONE;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 48;
-            editMode = EPbk2FieldEditModeNumeric;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_car;
-                };
-            ctrlType = EPbk2FieldCtrlTypePhoneNumberEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_car_tel;
-            },
-        /// Anniversary
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_ANNIVERSARY;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 0;
-            editMode = EPbk2FieldEditModeDate;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_date;
-                };
-            ctrlType = EPbk2FieldCtrlTypeDateEditor;
-            flags = KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_anniversary;
-            },
-        /// Synchronization
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_SYNCCLASS;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 10;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeChoiceItems;
-            flags = KPbk2FieldFlagTemplateField |
-                    KPbk2FieldFlagCanNotBeRemoved |
-                    KPbk2FieldFlagHideFromDetailsView;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            defaultLabel = qtn_phob_lbl_synchronization;
-            },
-        /// Top contact field
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_TOPCONTACT;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 0;
-            editMode = EPbk2FieldEditModeSelector;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeNone;
-            flags = KPbk2FieldFlagDisableEdit |
-                    KPbk2FieldFlagCanNotBeRemoved  |
-                    KPbk2FieldFlagHideFromDetailsView;
-            location = EPbk2FieldLocationNone;
-            },
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_IMPP;
-            multiplicity = EPbk2FieldMultiplicityMany;
-            maxLength = 100;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseLower;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeIMPPEditor;
-            flags = KPbk2FieldFlagTemplateField | KPbk2FieldFlagUserCanAddField;
-            location = EPbk2FieldLocationNone;
-            },
-        /// Geographic coordinates (home)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_GEOHOME;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagDisableEdit
-                | KPbk2FieldFlagHideFromDetailsView;
-            location = EPbk2FieldLocationHome;
-            groupId = EPbk2FieldGroupIdNone;
-            },
-        /// Geographic coordinates (work)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_GEOWORK;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagDisableEdit
-                | KPbk2FieldFlagHideFromDetailsView;
-            location = EPbk2FieldLocationWork;
-            groupId = EPbk2FieldGroupIdNone;
-            },
-        /// Geographic coordinates (general)
-        PHONEBOOK2_FIELD_PROPERTY
-            {
-            fieldTypeLink = R_VPBK_FIELD_TYPE_GEOGEN;
-            multiplicity = EPbk2FieldMultiplicityOne;
-            maxLength = 50;
-            editMode = EPbk2FieldEditModeAlpha;
-            defaultCase = EPbk2FieldDefaultCaseNone;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            ctrlType = EPbk2FieldCtrlTypeTextEditor;
-            flags = KPbk2FieldFlagDisableEdit
-                | KPbk2FieldFlagHideFromDetailsView;
-            location = EPbk2FieldLocationNone;
-            groupId = EPbk2FieldGroupIdNone;
-            }
-        };
-    }
-
-// --------------------------------------------------------------------------
-// Phonebook 2 field group array
-// --------------------------------------------------------------------------
-//
-RESOURCE PHONEBOOK2_FIELD_GROUP_ARRAY r_phonebook2_field_group_array
-    {
-    items =
-        {
-        PHONEBOOK2_FIELD_GROUP
-            {
-            id = EPbk2FieldGroupIdPostalAddress;
-            label = qtn_phob_header_address;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_address;
-                };
-            addItemOrdering = EPbk2AddItemOrderPostalAddress;
-            },
-        PHONEBOOK2_FIELD_GROUP
-            {
-            id = EPbk2FieldGroupIdHomeAddress;
-            label = qtn_phob_header_address_home;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_address;
-                };
-            addItemOrdering = EPbk2AddItemOrderHomeAddress;
-            },
-        PHONEBOOK2_FIELD_GROUP
-            {
-            id = EPbk2FieldGroupIdCompanyAddress;
-            label = qtn_phob_header_address_work;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_address;
-                };
-            addItemOrdering = EPbk2AddItemOrderCompanyAddress;
-            },
-        PHONEBOOK2_FIELD_GROUP
-            {
-            id = EPbk2FieldGroupIdFirstName;
-            label = qtn_phob_lbl_first_name;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            addItemOrdering = EPbk2AddItemOrderFirstName;
-            },
-        PHONEBOOK2_FIELD_GROUP
-            {
-            id = EPbk2FieldGroupIdLastName;
-            label = qtn_phob_lbl_last_name;
-            iconId = PHONEBOOK2_ICON_ID
-                {
-                ownerUid = KPbk2UID3;
-                id = EPbk2qgn_prop_nrtyp_empty;
-                };
-            addItemOrdering = EPbk2AddItemOrderLastName;
-            }
-        };
-    }
-
-// --------------------------------------------------------------------------
-// Contacts model store properties
-// --------------------------------------------------------------------------
-//
-RESOURCE PHONEBOOK2_STORE_PROPERTY_ARRAY r_phonebook2_store_properties
-    {
-    items =
-        {
-        PHONEBOOK2_STORE_PROPERTY
-            {
-            version = 0;
-            storeUri = KVPBK_DEFAULT_CNTDB_URI;
-            storeName = qtn_phob_set_memory_phone;
-            flags = KPbk2ShownInMemorySelectionList |
-                    KPbk2DefaultSavingStorageItem;
-            views =
-                {
-                PHONEBOOK2_STORE_VIEW
-                    {
-                    version = 0;
-                    viewType = EPbk2MainNamesList;
-                    viewLocation = EPbk2MergedMainList;
-                    viewDefinition = VPBK_CONTACT_VIEW
-                        {
-                        uri = KVPBK_DEFAULT_CNTDB_URI;
-                        flags = EVPbkContactViewFlagsNone;
-                        subViews = {};
-                        };
-                    iconId = PHONEBOOK2_ICON_ID { };
-                    },
-                PHONEBOOK2_STORE_VIEW
-                    {
-                    version = 0;
-                    viewType = EPbk2MainTopContactsList;  
-                    viewLocation = EPbk2MergedTopContactsList; 
-                    viewDefinition = VPBK_CONTACT_VIEW
-                        {
-                        uri = KVPBK_DEFAULT_CNTDB_URI;
-                        flags = EVPbkContactViewFlagsNone;
-                        subViews = {};
-                        };
-                    iconId = PHONEBOOK2_ICON_ID
-                        {
-                        //Icon provided by extension 
-                        };
-                    },
-                PHONEBOOK2_STORE_VIEW
-                    {
-                    version = 0;
-                    viewType = EPbk2MainGroupsList;
-                    viewLocation = EPbk2MergedMainList;
-                    viewDefinition = VPBK_CONTACT_VIEW
-                        {
-                        uri = KVPBK_DEFAULT_CNTDB_URI;
-                        type = EVPbkGroupsView;
-                        subViews = {};
-                        };
-                    iconId = PHONEBOOK2_ICON_ID
-                        {
-                        ownerUid = KPbk2UID3;
-                        id = EPbk2qgn_prop_group_small;
-                        };
-                    }
-                };
-            memoryInfoItemTypes = KPbk2StoreInfoNumberOfContacts |
-                KPbk2StoreInfoNumberOfGroups | KPbk2StoreInfoReservedMemory |
-                KPbk2StoreInfoFreeMemory;
-            localizedResourceStrings =
-                {
-                PHONEBOOK2_LOCALIZED_TEXT
-                    {
-                    context = EPbk2MemInfoPhone;
-                    text = qtn_phob_pb_info_memory_phone;
-                    },
-                PHONEBOOK2_LOCALIZED_TEXT
-                    {
-                    context = EPbk2CopyQueryItem;
-                    text = qtn_pbcop_copy_query_list_item_phone;
-                    },
-                PHONEBOOK2_LOCALIZED_TEXT
-                    {
-                    context = EPbk2MemInfoContacts;
-                    text = qtn_phob_pb_info_memory_phone_colon;
-                    }
-                };
-            }
-        };
-    }
-
-// --------------------------------------------------------------------------
-// Main contact view structure
-// --------------------------------------------------------------------------
-//
-RESOURCE VPBK_CONTACT_VIEW r_phonebook2_main_contact_view_structure
-    {
-    id = EPbk2RootViewId;
-    type = EVPbkCompositeView;
-    sortPolicy = EVPbkOrderedContactView;
-    subViews =
-        {
-        /// Placeholder for EPbk2OrderedPreList
-        VPBK_CONTACT_VIEW
-            {
-            id = EPbk2OrderedPreListPlaceHolder;
-            type = EVPbkCompositeView;
-            sortPolicy = EVPbkOrderedContactView;
-            subViews = {};
-            },
-
-        /// Placeholder for EPbk2MergedTopContactsList
-        VPBK_CONTACT_VIEW
-            {
-            id = EPbk2MergedTopContactsListPlaceHolder;
-            type = EVPbkCompositeView;
-            sortPolicy = EVPbkOrderedContactView;  //To retain user defined view
-            subViews = {};
-            },
-
-            /// Placeholder for EPbk2MergedMainList
-        VPBK_CONTACT_VIEW
-            {
-            id = EPbk2MergedMainListPlaceHolder;
-            type = EVPbkCompositeView;
-            sortPolicy = EVPbkSortedContactView;
-            subViews = {};
-            },
-            
-        /// Placeholder for EPbk2OrderedPostList
-        VPBK_CONTACT_VIEW
-            {
-            id = EPbk2OrderedPostListPlaceHolder;
-            type = EVPbkCompositeView;
-            sortPolicy = EVPbkOrderedContactView;
-            subViews = {};
-            }
-        };
-    }
-
-// --------------------------------------------------------------------------
-// Unnamed string
-// --------------------------------------------------------------------------
-//
-RESOURCE PBK2_PRESENTATION_STRING r_qtn_phob_unnamed
-    {
-    text = qtn_phob_unnamed;
-    }    
-
-// --------------------------------------------------------------------------
-// A boolean to copy SIM name to pbk first or last name
-// --------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_phob_sim_name_copy_to_first_name     
-    { 
-    buf = qtn_phob_sim_name_copy_to_first_name; 
-    }    
-
-// Additional resource files
-#include "Pbk2ImageManager.rss"
-#include "Pbk2ContactMerge.rss"
-#include "Pbk2FieldOrdering.rss"
-
-//In order to retain BINARY COMPATIBILITY the below needs to be declared 
-//AFTER the above.
-
-// --------------------------------------------------------------------------
-// Well known services definition. Service names must not be localized.
-// --------------------------------------------------------------------------
-//
-RESOURCE PHONEBOOK2_WELL_KNOWN_SERVICES r_phonebook2_well_known_services
-    {
-    services = 
-        {
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "Gizmo";
-            localizedName = qtn_xsp_gizmo;
-            },
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "Facebook";
-            localizedName = qtn_xsp_facebook;
-            },
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "MSN";
-            localizedName = qtn_xsp_msn;
-            },
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "Yahoo";
-            localizedName = qtn_xsp_yahoo;
-            },
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "Ovi";
-            localizedName = qtn_xsp_ovi;
-            },
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "Google";
-            localizedName = qtn_xsp_google;
-            },
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "Skype";
-            localizedName = qtn_xsp_skype;
-            },
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "AIM";
-            localizedName = qtn_xsp_aim;
-            },
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "MySpace";
-            localizedName = qtn_xsp_myspace;
-            },
-        PHONEBOOK2_WELL_KNOWN_SERVICE
-            {
-            serviceName = "ICQ";
-            localizedName = qtn_xsp_icq;
-            }
-        };
-    }
-
-// End of File
--- a/phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationJapanese.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/rss/Pbk2PresentationJapanese.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 
 /*============================================================================
 * NB. Pbk2Presentation resources MUST be defined in Pbk2PresentationCommon.rss
-* because only one pbk2presentation.rsg file used with different language 
+* because only one Pbk2Presentation.rsg file used with different language 
 * specific ".rsc" files. Otherwise BC is broken.
 ============================================================================*/
 
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2ContactMerge.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2ContactMerge.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <MPbk2FieldPropertyArray.h>
 #include <MPbk2FieldProperty.h>
 #include <RPbk2LocalizedResourceFile.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <Pbk2DataCaging.hrh>
 
 
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2ContactNameFormatter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2ContactNameFormatter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <MVPbkContactFieldData.h>
 #include <MVPbkContactFieldTextData.h>
 
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 
 
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2ContactViewBuilder.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2ContactViewBuilder.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include "CPbk2StorePropertyArray.h"
 #include "CPbk2StoreViewDefinition.h"
 #include <RPbk2LocalizedResourceFile.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <Pbk2DataCaging.hrh>
 
  #include <CVPbkFieldTypeSelector.h>
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2DuplicateContactFinder.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2DuplicateContactFinder.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,7 @@
 #include <MVPbkContactOperation.h>
 #include <MVPbkContactLinkArray.h>
 
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 namespace
     {
     #ifdef _DEBUG
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2EmbeddedImage.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2EmbeddedImage.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -40,7 +40,7 @@
 #include <RPbk2LocalizedResourceFile.h>
 #include "Pbk2DataCaging.hrh"
 
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 
 /// Unnamed namespace for local definitions
 namespace {
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2FieldGroupPropertyArray.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2FieldGroupPropertyArray.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include "Pbk2PresentationUtils.h"
 #include <MPbk2FieldPropertyArray.h>
 #include <RPbk2LocalizedResourceFile.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <MPbk2FieldProperty.h>
 #include <CPbk2FieldPropertyGroup.h>
 #include <Pbk2DataCaging.hrh>
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2FieldPropertyArray.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2FieldPropertyArray.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include "CPbk2FieldOrderingManager.h"
 #include <CPbk2ServiceManager.h>
 #include <RPbk2LocalizedResourceFile.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <CPbk2FieldPropertyGroup.h>
 #include <Pbk2DataCaging.hrh>
 
@@ -33,7 +33,7 @@
 #include <MVPbkFieldType.h>
 #include <TVPbkFieldVersitProperty.h>
 #include <CVPbkFieldTypeSelector.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <barsc.h>
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2PresentationContact.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2PresentationContact.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -34,7 +34,7 @@
 #include <MVPbkStoreContact2.h>
 #include <TVPbkFieldVersitProperty.h>
 #include <VPbkVariant.hrh>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <centralrepository.h>
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2ServiceManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2ServiceManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 #include <e32base.h>
 #include <barsread.h>
 #include <Pbk2DataCaging.hrh>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <RPbk2LocalizedResourceFile.h>
 #include "CPbk2ServiceManager.h"
 #include "Pbk2PresentationUtils.h"
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2SortOrderManagerImpl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2SortOrderManagerImpl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include "Pbk2DataCaging.hrh"
 #include <RPbk2LocalizedResourceFile.h>
 #include <Phonebook2PrivateCRKeys.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <Pbk2DataCaging.hrh>
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2StorePropertyArray.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2StorePropertyArray.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include "Pbk2PresentationUtils.h"
 #include "CPbk2StoreProperty.h"
 #include <RPbk2LocalizedResourceFile.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <Pbk2DataCaging.hrh>
 
 // From Virtual Phonebook
--- a/phonebookui/Phonebook2/Presentation/src/Pbk2ContactNameFormatterFactory.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/Pbk2ContactNameFormatterFactory.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include "CPbk2ChineseContactNameFormatter.h"
 #include "Pbk2PresentationUtils.h"
 #include <RPbk2LocalizedResourceFile.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 
 // From Virtual Phonebook
 #include <CVPbkFieldTypeSelector.h>
--- a/phonebookui/Phonebook2/Presentation/src/Pbk2PresentationUtils.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/Presentation/src/Pbk2PresentationUtils.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,8 +36,6 @@
 _LIT( KPbk2PresentationResFile, "Pbk2Presentation.rsc" );
 // Chinese presentation resource file 
 _LIT( KPbk2PresentationResFileChinese, "Pbk2PresentationChinese.rsc" );
-// UnSync Chinese presentation resource file 
-_LIT( KPbk2PresentationResFileChineseUnSync, "Pbk2PresentationChineseUnSync.rsc" );
 
 // ================= LOCAL FUNCTIONS =======================
 #ifdef _DEBUG
@@ -224,15 +222,7 @@
     {
     if (FeatureManager::FeatureSupported(KFeatureIdChinese))
         {
-       if ( FeatureManager::FeatureSupported(KFeatureIdFfTdUnSyncabPbfieldsInd) )
-            {
-            // The resource which can't be synchronized with a server.
-            return KPbk2PresentationResFileChineseUnSync;
-            }
-        else
-            {
-            return KPbk2PresentationResFileChinese;
-            }
+        return KPbk2PresentationResFileChinese;
         }
     return KPbk2PresentationResFile;
     }    
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2AddressSelectPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2AddressSelectPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -81,8 +81,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2AssignAttributePhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2AssignAttributePhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -79,8 +79,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2AttributeAddressSelectPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2AttributeAddressSelectPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -82,8 +82,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2CommAddressSelectPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2CommAddressSelectPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -127,8 +127,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2ContactAttributeAssigner.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2ContactAttributeAssigner.h	Wed Oct 13 14:15:33 2010 +0300
@@ -67,8 +67,6 @@
         void CancelService();
         void AcceptDelayedContactsL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedContactsL(
-                const TDesC8& aContactLinkBuffer );
         void ExitServiceL(
                 TInt aExitCommandId );
         void ServiceResults(TServiceResults* aResults) const;
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2ContactFetchPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2ContactFetchPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -89,8 +89,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2EntryFetcher.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2EntryFetcher.h	Wed Oct 13 14:15:33 2010 +0300
@@ -68,8 +68,6 @@
         void CancelService();
         void AcceptDelayedContactsL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedContactsL(
-                const TDesC8& aContactLinkBuffer );
         void ExitServiceL(
                 TInt aExitCommandId );
         void ServiceResults(TServiceResults* aResults) const;
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2ItemFetcher.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2ItemFetcher.h	Wed Oct 13 14:15:33 2010 +0300
@@ -71,8 +71,6 @@
         void CancelService();
         void AcceptDelayedContactsL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedContactsL(
-                const TDesC8& aContactLinkBuffer );
         void ExitServiceL(
                 TInt aExitCommandId );
         void ServiceResults(TServiceResults* aResults) const;
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2MultiAssignDataPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2MultiAssignDataPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -86,8 +86,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2MultiContactDataAssigner.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2MultiContactDataAssigner.h	Wed Oct 13 14:15:33 2010 +0300
@@ -68,8 +68,6 @@
         void CancelService();
         void AcceptDelayedContactsL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedContactsL(
-                const TDesC8& aContactLinkBuffer );
         void ExitServiceL(
                 TInt aExitCommandId );
         void ServiceResults(TServiceResults* aResults) const;
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2PrepareAttributeAssignPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2PrepareAttributeAssignPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -78,8 +78,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2PrepareMultipleAssignPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2PrepareMultipleAssignPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -81,8 +81,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2PrepareSingleAssignPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2PrepareSingleAssignPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -83,8 +83,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectCreateEmptyPropertyPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectCreateEmptyPropertyPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -72,8 +72,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         MVPbkStoreContact* TakeStoreContact();
         TInt ExtraResultData() const;
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectCreateNewPropertyPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectCreateNewPropertyPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -78,8 +78,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectMultiplePropertyPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectMultiplePropertyPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -73,8 +73,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectSinglePropertyPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectSinglePropertyPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -79,8 +79,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectUpdateEmptyPropertyPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SelectUpdateEmptyPropertyPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -76,8 +76,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         MVPbkStoreContact* TakeStoreContact();
         TInt ExtraResultData() const; 
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2ServerAppStoreManager.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2ServerAppStoreManager.h	Wed Oct 13 14:15:33 2010 +0300
@@ -191,8 +191,6 @@
         CVPbkSortOrderAcquirer* iSortOrderAcquirer;
         /// Ref: list of opened contact stores
         RPointerArray<MVPbkContactStore> iOpenedStores;
-		/// Not Own - Group View
-        MVPbkContactViewBase* iGroupView;
     };
 
 #endif // CPBK2SERVERAPPSTOREMANAGER_H
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SingleAssignDataPhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SingleAssignDataPhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -91,8 +91,6 @@
                 TInt aExitCommandId );
         void AcceptDelayedL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer );
         MVPbkContactLinkArray* Results() const;
         TInt ExtraResultData() const;
         MVPbkStoreContact* TakeStoreContact();
--- a/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SingleContactDataAssigner.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/CPbk2SingleContactDataAssigner.h	Wed Oct 13 14:15:33 2010 +0300
@@ -70,8 +70,6 @@
         void CancelService();
         void AcceptDelayedContactsL(
                 const TDesC8& aContactLinkBuffer );
-        void DenyDelayedContactsL(
-                const TDesC8& aContactLinkBuffer );
         void ExitServiceL(
                 TInt aExitCommandId );
         void ServiceResults(TServiceResults* aResults) const;
--- a/phonebookui/Phonebook2/ServerApplication/inc/MPbk2ServicePhase.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/MPbk2ServicePhase.h	Wed Oct 13 14:15:33 2010 +0300
@@ -68,18 +68,6 @@
                 const TDesC8& aContactLinkBuffer ) = 0;
 
         /**
-         * Notifies of delayed acception.
-         *
-         * Purpose: Sometimes client maybe deny the selected contact, 
-         * the function is used to deliver the client's feedback to phonebook.
-         * 
-         * @param aContactLinkBuffer    Buffer containing denied
-         *                              contact links.
-         */
-        virtual void DenyDelayedL(
-                const TDesC8& aContactLinkBuffer ) = 0;
-        
-        /**
          * Returns the results.
          *
          * @return  Results.
--- a/phonebookui/Phonebook2/ServerApplication/inc/MPbk2UiService.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/inc/MPbk2UiService.h	Wed Oct 13 14:15:33 2010 +0300
@@ -68,18 +68,6 @@
                 const TDesC8& aContactLinkBuffer ) = 0;
 
         /**
-         * Deny the delayed contacts as part of
-         * the contact set used in the service.
-         * 
-         * Purpose: Sometimes client maybe deny the selected contact, 
-         * the function is used to deliver the client's feedback to phonebook.
-         * 
-         * @param aContactLinkBuffer    Denied contacts.
-         */
-        virtual void DenyDelayedContactsL(
-                const TDesC8& aContactLinkBuffer) = 0;
-        
-        /**
          * Exits the service.
          *
          * @param aExitCommandId    The id of the exit command.
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2AddressSelectPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2AddressSelectPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,8 +25,8 @@
 #include <CPbk2AddressSelect.h>
 #include <TPbk2AddressSelectParams.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2Commands.rsg>
 #include <CPbk2StoreManager.h>
 
 // Virtual Phonebook
@@ -206,16 +206,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2AddressSelectPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2AddressSelectPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to deny
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2AddressSelectPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignAttributePhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignAttributePhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -164,16 +164,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2AssignAttributePhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2AssignAttributePhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2AssignAttributePhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignCreateNewProperty.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignCreateNewProperty.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,8 +20,8 @@
 
 // Phonebook 2
 #include "TPbk2AssignNoteService.h"
-#include <pbk2uicontrols.rsg>
-#include <pbk2serverapp.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2ServerApp.rsg>
 #include <MPbk2FieldProperty.h>
 #include <TPbk2AddItemWrapper.h>
 
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignMultiProperty.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignMultiProperty.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 
 // Phonebook 2
 #include "CPbk2ServerAppAppUi.h"
-#include <pbk2serverapp.rsg>
+#include <Pbk2ServerApp.rsg>
 #include <MPbk2FieldProperty.h>
 #include <TPbk2AddItemWrapper.h>
 #include <CPbk2FieldPropertyArray.h>
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignSingleProperty.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2AssignSingleProperty.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 // Phonebook 2
 #include "Pbk2AssignValidateField.h"
 #include "CPbk2ServerAppAppUi.h"
-#include <pbk2serverapp.rsg>
+#include <Pbk2ServerApp.rsg>
 #include <CPbk2FieldPropertyArray.h>
 #include <MPbk2FieldProperty.h>
 #include <TPbk2AddItemWrapper.h>
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2AttributeAddressSelectPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2AttributeAddressSelectPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <CPbk2AddressSelect.h>
 #include <TPbk2AddressSelectParams.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2StoreManager.h>
 
 // Virtual Phonebook
@@ -37,7 +37,7 @@
 #include <CVPbkSpeedDialAttribute.h>
 #include <VPbkFieldTypeSelectorFactory.h>
 #include <CVPbkFieldTypeSelector.h>
-#include <vpbkfieldtypeselectors.rsg>
+#include <VPbkFieldTypeSelectors.rsg>
 #include <VPbkContactViewFilterBuilder.h>
 
 // System includes
@@ -199,16 +199,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2AttributeAddressSelectPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2AttributeAddressSelectPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to deny
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2AttributeAddressSelectPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2CommAddressSelectPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2CommAddressSelectPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,8 +26,8 @@
 #include <TPbk2AddressSelectParams.h>
 #include <MPbk2ApplicationServices.h>
 #include <CPbk2PresenceIconInfo.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2Commands.rsg>
 #include <CPbk2StoreManager.h> 
 
 // Virtual Phonebook
@@ -45,7 +45,7 @@
 #include <CVPbkContactFieldIterator.h>
 #include <CVPbkFieldTypeSelector.h>
 #include <CVPbkFieldFilter.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <barsread.h>
@@ -307,16 +307,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2CommAddressSelectPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2CommAddressSelectPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to deny
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2CommAddressSelectPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactAttributeAssigner.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactAttributeAssigner.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,7 +31,7 @@
 #include "CPbk2AttributeAddressSelectPhase.h"
 #include "CPbk2PrepareAttributeAssignPhase.h"
 #include <CPbk2FetchDlg.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2DialogEliminator.h>
 #include <CPbk2StoreManager.h>
 #include <MPbk2ApplicationServices.h>
@@ -42,7 +42,7 @@
 #include <MVPbkContactLink.h>
 #include <CVPbkFieldTypeSelector.h>
 #include <VPbkPublicUid.h>
-#include <vpbkfieldtypeselectors.rsg>
+#include <VPbkFieldTypeSelectors.rsg>
 #include <VPbkFieldTypeSelectorFactory.h>
 #include <VPbkContactViewFilterBuilder.h>
 
@@ -268,16 +268,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2ContactAttributeAssigner::DenyDelayedContactsL
-// --------------------------------------------------------------------------
-//
-void CPbk2ContactAttributeAssigner::DenyDelayedContactsL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Do nothing
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2ContactAttributeAssigner::ExitServiceL
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactFetchPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactFetchPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -186,19 +186,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2ContactFetchPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2ContactFetchPhase::DenyDelayedL
-        ( const TDesC8& aContactLinkBuffer )
-    {
-    if ( iFetchDlg )
-        {
-        iFetchDlg->DenyDelayedFetchL( aContactLinkBuffer );
-        }
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2ContactFetchPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactImageAssigner.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactImageAssigner.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include <CVPbkContactManager.h>
 #include <MVPbkFieldType.h>
 #include <MVPbkContactFieldTextData.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <featmgr.h>
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactRingingToneAssigner.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ContactRingingToneAssigner.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 // Phonebook 2
 #include "MPbk2ContactAssignerObserver.h"
 #include <CPbk2DrmManager.h>
-#include <pbk2serverapp.rsg>
+#include <Pbk2ServerApp.rsg>
 
 // Virtual Phonebook
 #include <MVPbkStoreContact.h>
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2EntryFetcher.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2EntryFetcher.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -190,22 +190,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2EntryFetcher::DenyDelayedContactsL
-// --------------------------------------------------------------------------
-//
-void CPbk2EntryFetcher::DenyDelayedContactsL
-        ( const TDesC8& aContactLinkBuffer )
-    {
-    PBK2_DEBUG_PRINT( PBK2_DEBUG_STRING
-        ("CPbk2EntryFetcher::DenyDelayedContactsL()") );
-
-    if ( iFetchPhase )
-        {
-        iFetchPhase->DenyDelayedL( aContactLinkBuffer );
-        }
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2EntryFetcher::ExitServiceL
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2FetchService.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2FetchService.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -276,23 +276,13 @@
     TPckg<TBool> acceptedPkg( accepted );
     aMessage.ReadL( KAcceptServiceSlot, acceptedPkg );
 
-    if ( iUiService )
+    if ( iUiService && accepted )
         {
         HBufC8* buffer = HBufC8::NewLC(
             aMessage.GetDesMaxLengthL( KSelectedContactSlot ) );
         TPtr8 ptr = buffer->Des();
         aMessage.ReadL( KSelectedContactSlot, ptr );
-        
-        // If client accepts selected contact, call AcceptDelayedContacts
-        // Otherwise call DenyDelayedContactsL
-        if( accepted )
-            {
-            iUiService->AcceptDelayedContactsL( *buffer );
-            }
-        else
-            {
-            iUiService->DenyDelayedContactsL( *buffer );
-            }
+        iUiService->AcceptDelayedContactsL( *buffer );
         CleanupStack::PopAndDestroy(); // buffer
         }
 
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2ItemFetcher.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ItemFetcher.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include "CPbk2ContactFetchPhase.h"
 #include "CPbk2AddressSelectPhase.h"
 #include <CPbk2StoreManager.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <TPbk2AddressSelectParams.h>
 #include <Pbk2IPCPackage.h>
 #include <MPbk2ApplicationServices.h>
@@ -409,31 +409,6 @@
         iFetchPhase->AcceptDelayedL( aContactLinkBuffer );
         }
     }
-// --------------------------------------------------------------------------
-// CPbk2ItemFetcher::DenyDelayedContactsL
-// --------------------------------------------------------------------------
-//
-void CPbk2ItemFetcher::DenyDelayedContactsL
-        ( const TDesC8& aContactLinkBuffer )
-    {
-    PBK2_DEBUG_PRINT( PBK2_DEBUG_STRING
-        ("CPbk2ItemFetcher::DenyDelayedContactsL()") );
-
-    if ( iAddressSelectPhase )
-        {
-        iAddressSelectPhase->DenyDelayedL( aContactLinkBuffer );
-        }
-
-    if ( iCommAddressSelectPhase )
-        {
-        iCommAddressSelectPhase->DenyDelayedL( aContactLinkBuffer );
-        }
-
-    if ( iFetchPhase )
-        {
-        iFetchPhase->DenyDelayedL( aContactLinkBuffer );
-        }
-    }
 
 // --------------------------------------------------------------------------
 // CPbk2ItemFetcher::ExitServiceL
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2MultiAssignDataPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2MultiAssignDataPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -33,7 +33,7 @@
 #include <CPbk2FieldPropertyArray.h>
 #include <CPbk2PresentationContact.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2serverapp.rsg>
+#include <Pbk2ServerApp.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactLink.h>
@@ -206,16 +206,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2MultiAssignDataPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2MultiAssignDataPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2MultiAssignDataPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2MultiContactDataAssigner.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2MultiContactDataAssigner.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,8 +31,8 @@
 #include "MPbk2SelectFieldProperty.h"
 #include <CPbk2FetchDlg.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2serverapp.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2ServerApp.rsg>
 
 // Virtual Phonebook
 #include <CVPbkContactManager.h>
@@ -231,16 +231,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2MultiContactDataAssigner::AcceptDelayedContactsL
-// --------------------------------------------------------------------------
-//
-void CPbk2MultiContactDataAssigner::DenyDelayedContactsL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Do nothing
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2MultiContactDataAssigner::ExitServiceL
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2PrepareAttributeAssignPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2PrepareAttributeAssignPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include "CPbk2KeyEventDealer.h"
 #include <TPbk2StoreContactAnalyzer.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactLink.h>
@@ -204,16 +204,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2PrepareAttributeAssignPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2PrepareAttributeAssignPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2PrepareAttributeAssignPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2PrepareSingleAssignPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2PrepareSingleAssignPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,7 +28,7 @@
 #include "CPbk2KeyEventDealer.h"
 #include <TPbk2DestructionIndicator.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2serverapp.rsg>
+#include <Pbk2ServerApp.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactLink.h>
@@ -191,16 +191,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2PrepareSingleAssignPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2PrepareSingleAssignPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2PrepareSingleAssignPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectCreateEmptyPropertyPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectCreateEmptyPropertyPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -127,16 +127,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2SelectCreateEmptyPropertyPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2SelectCreateEmptyPropertyPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2SelectCreateEmptyPropertyPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectCreateNewPropertyPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectCreateNewPropertyPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -153,16 +153,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2SelectCreateNewPropertyPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2SelectCreateNewPropertyPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2SelectCreateNewPropertyPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectMultiplePropertyPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectMultiplePropertyPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -180,16 +180,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2SelectMultiplePropertyPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2SelectMultiplePropertyPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2SelectMultiplePropertyPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectSinglePropertyPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectSinglePropertyPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -182,16 +182,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2SelectSinglePropertyPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2SelectSinglePropertyPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2SelectSinglePropertyPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectUpdateEmptyPropertyPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2SelectUpdateEmptyPropertyPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -162,16 +162,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2SelectUpdateEmptyPropertyPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2SelectUpdateEmptyPropertyPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2SelectUpdateEmptyPropertyPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2ServerAppMonitor.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ServerAppMonitor.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,8 +28,8 @@
 #include <CPbk2AppUiBase.h>
 #include <MPbk2StartupObserver.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2commonui.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2CommonUi.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactStore.h>
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2ServerAppStoreManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ServerAppStoreManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -219,8 +219,6 @@
             ( aStoreUris, *this, *sortOrder,
               aViewFilter, aFlags );
         
-        iGroupView = result;
-        
         CleanupStack::Pop(); // result
         }
 
@@ -348,13 +346,10 @@
 // --------------------------------------------------------------------------
 //
 void CPbk2ServerAppStoreManager::ContactAddedToView
-        ( MVPbkContactViewBase& aView, TInt /*aIndex*/,
+        ( MVPbkContactViewBase& /*aView*/, TInt /*aIndex*/,
           const MVPbkContactLink& /*aContactLink*/ )
     {
-    if ( iGroupView && aView.Type() == EVPbkContactsView )
-        {
-        iGroupView->RefreshL();
-        }    
+    // Do nothing
     }
 
 // --------------------------------------------------------------------------
@@ -362,13 +357,10 @@
 // --------------------------------------------------------------------------
 //
 void CPbk2ServerAppStoreManager::ContactRemovedFromView
-        ( MVPbkContactViewBase& aView, TInt /*aIndex*/,
+        ( MVPbkContactViewBase& /*aView*/, TInt /*aIndex*/,
           const MVPbkContactLink& /*aContactLink*/ )
     {
-        if ( iGroupView && aView.Type() == EVPbkContactsView )
-            {
-            iGroupView->RefreshL();
-            }
+    // Do nothing
     }
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2SingleAssignDataPhase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2SingleAssignDataPhase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,8 +31,8 @@
 #include <TPbk2DestructionIndicator.h>
 #include <CPbk2StoreConfiguration.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2serverapp.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2ServerApp.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactLink.h>
@@ -174,16 +174,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2SingleAssignDataPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2SingleAssignDataPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2SingleAssignDataPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2SingleContactDataAssigner.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2SingleContactDataAssigner.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,8 +30,8 @@
 #include "CPbk2SelectCreateNewPropertyPhase.h"
 #include "CPbk2PrepareSingleAssignPhase.h"
 #include "MPbk2SelectFieldProperty.h"
-#include <pbk2uicontrols.rsg>
-#include <pbk2serverapp.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2ServerApp.rsg>
 #include <CPbk2StoreManager.h>
 #include <CPbk2StoreConfiguration.h>
 #include <MPbk2ApplicationServices.h>
@@ -236,16 +236,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2SingleContactDataAssigner::DenyDelayedContactsL
-// --------------------------------------------------------------------------
-//
-void CPbk2SingleContactDataAssigner::DenyDelayedContactsL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Do nothing
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2SingleContactDataAssigner::ExitServiceL
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ServerApplication/src/Pbk2AssignValidateField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/Pbk2AssignValidateField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <MVPbkContactStoreProperties.h>
 #include <MVPbkContactFieldTextData.h>
 #include <MVPbkFieldType.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 
 /// Unnamed namespace for local definitions
--- a/phonebookui/Phonebook2/ServerApplication/src/TPbk2AssignNoteService.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/TPbk2AssignNoteService.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,9 +22,9 @@
 #include <MPbk2ContactNameFormatter.h>
 #include <CPbk2StorePropertyArray.h>
 #include <CPbk2StoreProperty.h>
-#include <pbk2serverapp.rsg>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commonui.rsg>
+#include <Pbk2ServerApp.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactStore.h>
--- a/phonebookui/Phonebook2/ServerApplication/src/TPbk2ServerMessageDataRetriever.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/TPbk2ServerMessageDataRetriever.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include <Pbk2IPCPackage.h>
 #include <Pbk2MimeTypeHandler.h>
 #include <CPbk2StoreConfiguration.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <CVPbkContactManager.h>
--- a/phonebookui/Phonebook2/ServerApplication/src/TPbk2TitlePaneOperator.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/TPbk2TitlePaneOperator.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 
 // Phonebook 2
 #include <Pbk2UID.h>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // Virtual Phonebook
 
--- a/phonebookui/Phonebook2/ServerApplication/src/cpbk2preparemultipleassignphase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/cpbk2preparemultipleassignphase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <TPbk2DestructionIndicator.h>
 #include <CPbk2ContactRelocator.h>
 #include <MPbk2ApplicationServices.h>
-#include <pbk2serverapp.rsg>
+#include <Pbk2ServerApp.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactLink.h>
@@ -212,16 +212,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2PrepareMultipleAssignPhase::DenyDelayed
-// --------------------------------------------------------------------------
-//
-void CPbk2PrepareMultipleAssignPhase::DenyDelayedL
-        ( const TDesC8& /*aContactLinkBuffer*/ )
-    {
-    // Nothing to do
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2PrepareMultipleAssignPhase::Results
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/UIControls/inc/CPbk2AdaptiveSearchGridFiller.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/CPbk2AdaptiveSearchGridFiller.h	Wed Oct 13 14:15:33 2010 +0300
@@ -140,9 +140,6 @@
         TBool GridFromPsEngineL( const MVPbkContactViewBase& aView );
         // Check whether the title is empty or not.
         TBool IsActualTitleEmpty( const MVPbkViewContact& aContact );
-        // Sort the Adaptive Search Grid.
-        void SortGridL( TBool aAddSpace );
-       
     private: // Data
     	
 		/// Own: Containts adaptive search grid.
@@ -183,10 +180,7 @@
 
 		/// Used to save the contacts' title which include drgraphs
 		RPointerArray<HBufC> iDigraphContactsTitleArray;
-        
-        /// Used to get the status of feature manager
-        TBool iFeatureManagerInitialized;	
-
+		
 	    /// Own: Number of contacts in view
 	    TInt iViewItemCount;
 	    
--- a/phonebookui/Phonebook2/UIControls/inc/CPbk2ContactEditorDlgImpl.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/CPbk2ContactEditorDlgImpl.h	Wed Oct 13 14:15:33 2010 +0300
@@ -354,7 +354,7 @@
         void ClearControls();
         TBool ContactHasAddress(TPbk2FieldGroupId aAddressGroup);
         void AddGroupFieldsL(TPbk2FieldGroupId aGroupId);
-        TBool AreAllFieldsEmptyL();
+        TBool AreAllFieldsEmpty();
         TBool IsUIDataChanged();
         TBool IsAddressValidated(TPbk2FieldGroupId aGroupId);
         void DeleteActiveAddressGeoCoords();
@@ -373,8 +373,6 @@
                 TEventCode aType );
         void RestorePrevNaviDecoratorL();
         void RestoreStatusPaneL(); 
-        static TInt DelayDlgDeleteCallBack( TAny* aCallBack );
-        void DelayDlgDelete();
 
     private: // Data structures
 
@@ -465,24 +463,15 @@
         HBufC* iTitleText;
         /// Own: Converts text between Unicode and SMS 7-bit 
         CCnvCharacterSetConverter* iConverter;
+        /// Ref: A pointer to stack variable in CloseDialog() for knowing
+        /// if the destructor has already been called
+        TBool* iDestroyedPtr;
         /// Ref: Holds the TopMost NaviDecorator before pushing 
         /// the empty one on to the top.
         /// Doesnt Own.
         CAknNavigationDecorator* iPrevNaviDecorator;
         
         TInt iCurrentstatuspane;
-        /// Own: For asynchronously delete editordlg.
-        CIdle* iDelayDelete;
-        // Own: Exit app ui after deleting the dialog
-        TBool iExitApp;
-        // Own: Whether the partial input screen is Opened
-        TBool iIsInputPaneOpen;
-        /// Ref: A pointer to stack variable in CloseDialog() for knowing
-        /// if the destructor has already been called
-        TBool* iDestroyedPtrForCloseDlg;
-        /// Ref: A pointer to stack variable in AddItemToContactL() for knowing
-        /// if the destructor has already been called
-        TBool* iDestroyedPtrForAddItem;
     };
 
 #endif // CPBK2CONTACTEDITORDLGIMPL_H
--- a/phonebookui/Phonebook2/UIControls/inc/CPbk2ContactViewListBox.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/CPbk2ContactViewListBox.h	Wed Oct 13 14:15:33 2010 +0300
@@ -178,24 +178,6 @@
         void HandlePopupCharacter( CWindowGc* aGc,
                                    const TRect& aRectOfListBoxItem ) const;
 
-        /**
-         * Set the state of the Marking mode 
-         */
-        inline void SetMarkingModeState( TBool aActived )
-            {
-            iMarkingModeOn = aActived;
-            }
-
-        /**
-         * Reset the value of iShowPopupChar, i.e. set its value to EFalse.
-         * As for iShowPopupChar, ETrue indicates showing the scrollbar popup char;
-         * EFalse indicates the opposite. 
-         */
-        inline void ResetShowPopupChar()
-            {
-            iShowPopupChar = EFalse;
-            }
-
     public: // From MPbk2ClipListBoxText
         TBool ClipFromBeginning(
                 TDes& aBuffer,
@@ -244,9 +226,6 @@
 
         TBool IsContact( TInt aIndex ) const;
         
-    private:
-        void RecalcWidthInMarkingMode( TInt& aWidth, const CFont& aFont, TChar aChar );
-        
     private: // Data structures
         /// Data loaded from resources
         struct TResourceData
@@ -287,8 +266,6 @@
         CPbk2PredictiveSearchFilter &iSearchFilter;
         // ref: used fro checking command item count
         CCoeControl& iContainer;
-        // Flag to indicate whether Marking mode is active
-        TBool iMarkingModeOn;
         
     };
 
--- a/phonebookui/Phonebook2/UIControls/inc/CPbk2FetchResults.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/CPbk2FetchResults.h	Wed Oct 13 14:15:33 2010 +0300
@@ -35,7 +35,6 @@
 class MPbk2FetchDlgPages;
 class MPbk2FetchDlgObserver;
 class MPbk2FetchResultsObserver;
-class CAknInputBlock;
 
 // CLASS DECLARATION
 
@@ -89,15 +88,7 @@
          */
         void AppendDelayedL(
                 const MVPbkContactLink& aLink );
-
-        /**
-         * Deny to Append a delayed contact link to selection.
-         *
-         * @param aLink     The link to deny append.
-         */
-        void DenyAppendDelayedL(
-                const MVPbkContactLink& aLink );
-
+        
         /**
          * Appends a contact link to fetch results.
          *
@@ -119,10 +110,6 @@
          */
         void ResetAndDestroy();
 
-        /**
-         * Wait operations to complete
-         */
-        void WaitOperationsCompleteL();
     public: // From MVPbkContactLinkArray
         TInt Count() const;
         const MVPbkContactLink& At(
@@ -246,12 +233,6 @@
         CArrayFixFlat<CFRConatactOperation*>* iOperationQueue;
         /// Own: Contact retrieve operation
         MVPbkContactOperationBase* iRetrieveOperation;
-        /// Own: Is it waiting the acceptance, initialized to EFalse
-        TBool iWaitingForDelayedAppend;
-        /// Own: Wait until finish contact store operation
-        CActiveSchedulerWait* iWaitForAllOperationComplete;
-        /// Own: User input blocker
-        CAknInputBlock* iInputBlock;
     };
 
 #endif // CPBK2FETCHRESULTS_H
--- a/phonebookui/Phonebook2/UIControls/inc/CPbk2NamesListEmptyState.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/CPbk2NamesListEmptyState.h	Wed Oct 13 14:15:33 2010 +0300
@@ -187,8 +187,7 @@
         TInt CalculateListboxIndex(TInt aCommandIndex) const;       
         void UnsubscribeCmdItemsVisibility() const;					
         void SubscribeCmdItemsVisibility();							
-        void HandleListboxEventL(TInt aEvent, TInt aListboxIndex, TBool aMantainFocus);
-        TInt EnabledCommandCount() const; 
+        void HandleListboxEventL(TInt aEvent, TInt aListboxIndex, TBool aMantainFocus);  
 
     private: // Data
         /// Ref: Parent coecontrol
--- a/phonebookui/Phonebook2/UIControls/inc/CPbk2NamesListFilteredState.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/CPbk2NamesListFilteredState.h	Wed Oct 13 14:15:33 2010 +0300
@@ -208,8 +208,7 @@
         TInt CalculateListboxIndex(TInt aCommandIndex) const;       
         void UnsubscribeCmdItemsVisibility() const;					
         void SubscribeCmdItemsVisibility();							
-        void HandleListboxEventL(TInt aEvent, TInt aListboxIndex, TBool aMantainFocus);
-        TInt EnabledCommandCount() const; 
+        void HandleListboxEventL(TInt aEvent, TInt aListboxIndex, TBool aMantainFocus);  
 
     private: // Data
         /// Ref: Parent coecontrol
--- a/phonebookui/Phonebook2/UIControls/inc/CPbk2SettingsListState.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/CPbk2SettingsListState.h	Wed Oct 13 14:15:33 2010 +0300
@@ -55,13 +55,6 @@
          * @return  Selection item list.
          */
         CSelectionItemList& SelectionItemList();
-        
-        /**
-         * Returns a copy of selection item list.
-         *
-         * @return old item list state.
-         */
-        CSelectionItemList& ItemListState();
 
         /**
          * Returns supported store configuration.
--- a/phonebookui/Phonebook2/UIControls/inc/cpbk2contactviewcustomlistboxdata.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/cpbk2contactviewcustomlistboxdata.h	Wed Oct 13 14:15:33 2010 +0300
@@ -102,8 +102,8 @@
          */
         TRgb iHighlightedBack;
         };
-
-public: 
+//Start of Code Added for PhoneBook2
+public: //Function below are added to suit PhoneBook2 Requirements
     
     /**
      * Set internal data model to work with special PCS data
@@ -148,11 +148,12 @@
      */
     void SetListCommands( const RPointerArray<MPbk2UiControlCmdItem>* aCommands );
     
+private:
     TBool IsContactAtListboxIndex( TInt aListboxIndex ) const;
-	
-private:    
     TInt CommandItemCount() const;
     
+//End of Code Added for PhoneBook2
+    
 public:
 
     /**
--- a/phonebookui/Phonebook2/UIControls/inc/cpbk2contactviewcustomlistboxitemdrawer.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/cpbk2contactviewcustomlistboxitemdrawer.h	Wed Oct 13 14:15:33 2010 +0300
@@ -200,7 +200,17 @@
 
 protected:
 
+#ifndef RD_TOUCH2
+    /**
+     * Draw the item background.
+     *
+     * Internal member, not intended for use.
+     *
+     * @param aRect Drawing area. 
+     */
+    void DrawCurrentItemRect(const TRect& aRect) const;
 
+#endif
     
     /** 
      * Array of properties.
--- a/phonebookui/Phonebook2/UIControls/rss/Pbk2AddressSelect.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/rss/Pbk2AddressSelect.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,7 @@
 
 
 #include "Pbk2AddressSelect.rh"
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // --------------------------------------------------------------------------
 //  Phone number select
--- a/phonebookui/Phonebook2/UIControls/rss/Pbk2IconResources.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/rss/Pbk2IconResources.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -208,11 +208,6 @@
             {
             ownerUid = KPbk2UID3;
             id = EPbk2qgn_prop_blid_waypoint;
-            },
-        PHONEBOOK2_ICON_ID
-            {
-            ownerUid = KPbk2UID3;
-            id = EPbk2qgn_prop_phonebook2_unsync;
             }
         };
     }
--- a/phonebookui/Phonebook2/UIControls/rss/Pbk2Settings.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/rss/Pbk2Settings.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2AdaptiveSearchGridFiller.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2AdaptiveSearchGridFiller.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -124,12 +124,6 @@
 	delete iSearchString;
 	delete iFindUtil;
 	iDigraphContactsTitleArray.ResetAndDestroy();
-
-    if (iFeatureManagerInitialized)
-        {
-        // It can be safely called UnInitializeLib as it has been really intialized.
-        FeatureManager::UnInitializeLib();  // Decreases ref.count
-        }
     }
 
 
@@ -156,10 +150,6 @@
     {
 	iKeyMap = HBufC::NewL( KAdaptiveSearchKeyMapGranularity );
 	iFindUtil = CFindUtil::NewL();
-
-    // Initialize feature manager
-    FeatureManager::InitializeLibL();
-    iFeatureManagerInitialized = ETrue;
     // UI Language
 	TLanguage uiLanguage = User::Language();
 	if ( uiLanguage != ELangJapanese && uiLanguage != ELangPrcChinese && 
@@ -424,16 +414,40 @@
 
 void CPbk2AdaptiveSearchGridFiller::SetAdaptiveGridCharsL(
         const TInt aMaxSpacesNumber, const TInt aSearchStringSpacesNumber )
-    {
+	{
+	TPtr ptr = iKeyMap->Des();
+
+	// Do upper case for all characters
+	ptr.UpperCase();
+	CDesCArray* array = new (ELeave) CDesCArrayFlat( KAdaptiveSearchKeyMapGranularity );
+	CleanupStack::PushL( array );
+	TInt length = ptr.Length();
+
+	for( TInt ii = 0; ii < length; ii++ )
+	    {
+	    array->AppendL( ptr.Mid( ii, 1 ) );
+	    }
+
+	// Alphabetical sort
+	array->Sort( ECmpCollated );
+	ptr.Zero();
+
     // Add space character only if:
 	// - user typed already some characters in the find pane,
 	// - and more spaces can be found in contacts than in the current search string,
 	// - and space is not the last character in the search string.
-    TBool addSpace = ( iSearchString->Length() > 0 
-                       && aMaxSpacesNumber > aSearchStringSpacesNumber
-                       && (*iSearchString)[iSearchString->Length() - 1] != TChar( ' ' ) );
-
-    SortGridL( addSpace ); 
+    if ( iSearchString->Length() > 0 
+         && aMaxSpacesNumber > aSearchStringSpacesNumber
+         && (*iSearchString)[iSearchString->Length() - 1] != TChar( ' ' ) )
+        {
+        ptr.Append( TChar( ' ' ) );
+        }
+     
+	for( TInt ii = 0; ii < length; ii++ )
+	    {
+	    ptr.Append(array->MdcaPoint( ii ));
+	    }
+	CleanupStack::PopAndDestroy();//array
 
 	if( iCurrentGrid )
 		{
@@ -465,36 +479,6 @@
 
 	}
 
-void CPbk2AdaptiveSearchGridFiller::SortGridL( TBool aAddSpace )
-    {
-    TPtr ptr = iKeyMap->Des();
-
-    // Do upper case for all characters
-    ptr.UpperCase();
-    CDesCArray* array = new (ELeave) CDesCArrayFlat( KAdaptiveSearchKeyMapGranularity );
-    CleanupStack::PushL( array );
-    TInt length = ptr.Length();
-
-    for( TInt ii = 0; ii < length; ii++ )
-        {
-        array->AppendL( ptr.Mid( ii, 1 ) );
-        }
-
-    // Alphabetical sort
-    array->Sort( ECmpCollated );
-    ptr.Zero();
-
-    if ( aAddSpace )
-        {
-        ptr.Append( TChar( ' ' ) );
-        }
-     
-    for( TInt ii = 0; ii < length; ii++ )
-        {
-        ptr.Append( array->MdcaPoint( ii ) );
-        }
-    CleanupStack::PopAndDestroy();//array
-    }
 
 CDesC16Array* CPbk2AdaptiveSearchGridFiller::SplitContactFieldTextIntoArrayLC(
         const TDesC& aText )
@@ -528,23 +512,7 @@
         // Scan for next word
         beg = end;
         }
-    
-    // consonent based adaptive search:
-    if ( FeatureManager::FeatureSupported( KFeatureIdKorean ) )
-       {
-       /*
-       When user has a contact with first name "??" and last name "?",
-       It should be displayed with "? ??" in Korea variant.
-       That means it should be found with search keyword, "?" or "??".
-       Thus, need to put the "? ??" in the item list which is delivered to FindUtil.
-       no need to care about just one word like "???"
-       */       
-       if ( array->MdcaCount() != 1 )
-           {
-           array->AppendL( aText );
-           }
-        }
-	
+
     return array;
     }
 
@@ -781,8 +749,6 @@
             iKeyMap = iKeyMap->ReAllocL( gridChars.Length() );
             }
         iKeyMap->Des().Copy( gridChars );
-        // Sort the grid, space is not needed
-        SortGridL( EFalse );
         
         delete iCurrentGrid;
         iCurrentGrid = NULL;
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2AddItemToContactDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2AddItemToContactDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 // Phonebook 2
 #include <TPbk2AddItemDialogParams.h>
 #include <TPbk2AddItemWrapper.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2IconArray.h>
 #include <TPbk2AppIconId.h>
 #include <CPbk2UIExtensionManager.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2AddressSelect.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2AddressSelect.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,8 +28,8 @@
 #include <MPbk2ApplicationServices2.h>
 #include <CPbk2ServiceManager.h>
 #include <MPbk2AppUi.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2Commands.rsg>
 #include <CPbk2ApplicationServices.h>
 #include <TPbk2StoreContactAnalyzer.h>
 
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDTMFField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDTMFField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -124,10 +124,6 @@
     iControl->CreateTextViewL();
     iCaptionedCtrl = iUiBuilder.LineControl(ControlId());
     iCaptionedCtrl->SetTakesEnterKey(ETrue);
-    
-    // Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);
     }
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDateField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDateField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include "MPbk2ContactEditorFieldVisitor.h"
 #include <MPbk2FieldProperty.h>
 #include <CPbk2PresentationContactField.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactFieldDateTimeData.h>
@@ -98,8 +98,6 @@
         }
     iControl->ConstructL( minimumDate, maximumDate, time, EFalse );
 
-    // Enable partial screen input
-    iControl->SetFeature(CEikMfne::EPartialScreenInput, ETrue);
     iUiBuilder.LoadBitmapToFieldL
         ( iContactField.FieldProperty(), iIconInfoContainer, ControlId() );
 
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDlgImpl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDlgImpl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 #include <MPbk2FieldProperty.h>
 #include <MPbk2FieldProperty2.h>
 #include <CPbk2FieldPropertyArray.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2ContactNameFormatter.h>
 #include <MPbk2ContactEditorExtension.h>
 #include <CPbk2StoreConfiguration.h>
@@ -70,7 +70,6 @@
 #include <Pbk2UID.h>
 #include <pbk2mapcommands.hrh>
 #include <MPbk2StartupMonitor.h>
-#include <featmgr.h>
 
 // Virtual Phonebook
 #include <CVPbkContactManager.h>
@@ -82,7 +81,7 @@
 #include <MVPbkFieldType.h>
 #include <TVPbkFieldVersitProperty.h>
 
-#include <vpbkeng.rsg> 
+#include <VPbkEng.rsg> 
 #include <VPbkFieldType.hrh>
 #include <VPbkContactStoreUris.h>
 
@@ -97,7 +96,6 @@
 #include <aknnavide.h>
 #include <akninputblock.h>
 #include <charconv.h>
-#include <aknpriv.hrh>
 
 /// Unnamed namespace for local definitions
 namespace {
@@ -177,9 +175,7 @@
         iEndKeyWasPressed( EFalse ),
         iAddressViewStandalone( EFalse ),
         iAppServices( aAppServices ),
-        iTitleText( aTitleText ),
-        iExitApp( EFalse ),
-        iIsInputPaneOpen( EFalse )
+        iTitleText( aTitleText )
     {
     // Exit is approved by default
     iExitRecord.Set( EExitApproved );
@@ -205,26 +201,20 @@
         *iSelfPtr = NULL;
         }
     // Make the variable in CloseDialog() to ETrue.
-    if ( iDestroyedPtrForCloseDlg )
+    if ( iDestroyedPtr )
         {
-        *iDestroyedPtrForCloseDlg = ETrue;
-        }
-    
-    // Make the variable in AddItemToContactL() to ETrue.
-    if ( iDestroyedPtrForAddItem )
-        {
-        *iDestroyedPtrForAddItem = ETrue;
+        *iDestroyedPtr = ETrue;
         }
     
     if( iAppServices )
-        {
-        iAppServices->StoreObservationRegister().DeregisterStoreEvents( *this );
-        }
+    	{
+    	iAppServices->StoreObservationRegister().DeregisterStoreEvents( *this );
+    	}
     else
-        {
-        Phonebook2::Pbk2AppUi()->ApplicationServices().
-                StoreObservationRegister().DeregisterStoreEvents( *this );
-        }
+    	{
+    	Phonebook2::Pbk2AppUi()->ApplicationServices().
+    	        StoreObservationRegister().DeregisterStoreEvents( *this );
+    	}
               
     if ( iEikonEnv && iContextMenuBar )
         {
@@ -238,7 +228,7 @@
     if (iNaviContainer)
         {
         iNaviContainer->Pop();
-        TRAP_IGNORE(RestorePrevNaviDecoratorL());
+        TRAP_IGNORE(RestorePrevNaviDecoratorL());        
         }
 
     delete iStoreContact;
@@ -247,20 +237,12 @@
     delete iEditorExtension;
     delete iUiFieldArray;
     Release(iExtensionManager);
-    delete iTitleText;    
+	delete iTitleText;    
     iTitleText = NULL;
     delete iStoredTitlePaneText;
     iStoredTitlePaneText = NULL;
 
     delete iConverter;
-    delete iDelayDelete;
-    
-    // The if-expression is used here to Exit Phonebook2 for the case 
-    // that Exit phonebook2 with the EditorDlg opened.
-    if ( iExitApp )
-        {
-        TRAP_IGNORE( ((CAknViewAppUi*)CEikonEnv::Static()->EikAppUi())->ProcessCommandL( EAknCmdExit ) );
-        }
     }
 
 // --------------------------------------------------------------------------
@@ -274,7 +256,7 @@
         MPbk2EditedContactObserver& aContactObserver,
         MPbk2ContactEditorStrategy& aEditorStrategy,
         MPbk2ContactEditorContactRelocator& aRelocator)
-    {    
+    {	
     CPbk2ContactEditorDlgImpl* self =
         new ( ELeave ) CPbk2ContactEditorDlgImpl(aParams, aContact,
             aFieldProperties, aContactObserver,
@@ -290,24 +272,24 @@
 // --------------------------------------------------------------------------
 //
 CPbk2ContactEditorDlgImpl* CPbk2ContactEditorDlgImpl::NewL(
-        TPbk2ContactEditorParams& aParams,
-        CPbk2PresentationContact& aContact,
-        CPbk2FieldPropertyArray& aFieldProperties,
-        MPbk2EditedContactObserver& aContactObserver,
-        MPbk2ContactEditorStrategy& aEditorStrategy,
-        MPbk2ContactEditorContactRelocator& aRelocator,
-        MPbk2ApplicationServices* aAppServices,
-        HBufC* aTitleText )
-    {
-    CPbk2ContactEditorDlgImpl* self =
-        new ( ELeave ) CPbk2ContactEditorDlgImpl(aParams, aContact,
-            aFieldProperties, aContactObserver,
-            aEditorStrategy, aRelocator, aAppServices, aTitleText );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
+		TPbk2ContactEditorParams& aParams,
+		CPbk2PresentationContact& aContact,
+		CPbk2FieldPropertyArray& aFieldProperties,
+		MPbk2EditedContactObserver& aContactObserver,
+		MPbk2ContactEditorStrategy& aEditorStrategy,
+		MPbk2ContactEditorContactRelocator& aRelocator,
+		MPbk2ApplicationServices* aAppServices,
+		HBufC* aTitleText )
+	{
+	CPbk2ContactEditorDlgImpl* self =
+		new ( ELeave ) CPbk2ContactEditorDlgImpl(aParams, aContact,
+			aFieldProperties, aContactObserver,
+			aEditorStrategy, aRelocator, aAppServices, aTitleText );
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
 
 // --------------------------------------------------------------------------
 // CPbk2ContactEditorDlgImpl::ConstructL
@@ -353,20 +335,20 @@
     // iContact's store becomes unavailable.
     
     /*
-     * Use iAppServices if provided. This is to enable editor use outside from pbk2 context
-     */
+	 * Use iAppServices if provided. This is to enable editor use outside from pbk2 context
+	 */
     if( iAppServices )
-        {
-        iAppServices->StoreObservationRegister().RegisterStoreEventsL( *this );
-        iNameFormatter = &iAppServices->NameFormatter();
-        }
+    	{
+    	iAppServices->StoreObservationRegister().RegisterStoreEventsL( *this );
+    	iNameFormatter = &iAppServices->NameFormatter();
+    	}
     else
-        {
-        Phonebook2::Pbk2AppUi()->ApplicationServices().
-            StoreObservationRegister().RegisterStoreEventsL( *this );
-        iNameFormatter =
-                &Phonebook2::Pbk2AppUi()->ApplicationServices().NameFormatter();
-        }
+    	{
+    	Phonebook2::Pbk2AppUi()->ApplicationServices().
+			StoreObservationRegister().RegisterStoreEventsL( *this );
+    	iNameFormatter =
+    	        &Phonebook2::Pbk2AppUi()->ApplicationServices().NameFormatter();
+    	}
 
    
     StoreTitlePaneTextL();
@@ -375,24 +357,24 @@
     iExtensionManager = CPbk2UIExtensionManager::InstanceL();
     
     /*
-     * Use iAppServices if provided. This is to enable editor use outside from pbk2 context
-     */
+	 * Use iAppServices if provided. This is to enable editor use outside from pbk2 context
+	 */
     CVPbkContactManager* manager = NULL;
     if( iAppServices )
-        {
-        manager = &iAppServices->ContactManager();
-        }
+    	{
+    	manager = &iAppServices->ContactManager();
+    	}
     else
-        {
-        manager = &Phonebook2::Pbk2AppUi()->ApplicationServices().ContactManager();
-        }
+    	{
+    	manager = &Phonebook2::Pbk2AppUi()->ApplicationServices().ContactManager();
+    	}
     
     iEditorExtension = iExtensionManager->FactoryL()->
         CreatePbk2ContactEditorExtensionL( *manager, iContact, *this );
 
     iFieldFactory = CPbk2ContactEditorFieldFactory::NewL(*this, *iEditorExtension);
     iUiFieldArray = CPbk2ContactEditorFieldArray::NewL(
-    *manager, iContact, *this, *iFieldFactory, iAppServices );    
+    *manager, iContact, *this, *iFieldFactory, iAppServices );	
     
     iUseState = EUseReady;
     }
@@ -512,64 +494,19 @@
 //
 void CPbk2ContactEditorDlgImpl::HandleResourceChange( TInt aType )
     {
-    switch ( aType )
+    // Handle change in layout orientation
+    if ( aType == KEikDynamicLayoutVariantSwitch )
         {
-        case KEikDynamicLayoutVariantSwitch: // Handle change in layout orientation
+        // Set status pane layout to the Phonebook 2 one
+        CEikStatusPane* statusPane = iAvkonAppUi->StatusPane();
+        if ( statusPane )
             {
-            // Set status pane layout to the Phonebook 2 one
-            CEikStatusPane* statusPane = iAvkonAppUi->StatusPane();
-            if ( statusPane )
+            iCurrentstatuspane = statusPane->CurrentLayoutResId();
+            if( iCurrentstatuspane != R_AVKON_STATUS_PANE_LAYOUT_USUAL )
                 {
-                iCurrentstatuspane = statusPane->CurrentLayoutResId();
-                if( iCurrentstatuspane != R_AVKON_STATUS_PANE_LAYOUT_USUAL )
-                    {
-                    TRAP_IGNORE( 
-                        statusPane->SwitchLayoutL(
-                            R_AVKON_STATUS_PANE_LAYOUT_USUAL )
-                        );
-                    }
+                TRAP_IGNORE( statusPane->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_USUAL) );
                 }
             }
-            break;
-        case KAknSplitInputEnabled:     // Handle split input keyboard
-            {
-            // Sometimes this function will be called continuously
-            // with the same parameter.
-            // Add a flag iIsInputPaneOpen to ensure the dialog
-            // only draw one time.
-            if( !iIsInputPaneOpen )
-                {
-                Layout();
-                DrawNow();
-                iIsInputPaneOpen = ETrue;
-                }
-            }
-            break;
-        case KAknSplitInputDisabled:
-            {
-            // Sometimes this function will be called continuously
-            // with the same parameter.
-            // Add a flag iIsInputPaneOpen to ensure the dialog
-            // only draw one time.
-            if( iIsInputPaneOpen )
-                {
-                // Set status pane layout to the Phonebook 2 one
-                Layout();
-                DrawNow();
-                CEikStatusPane* statusPane = iAvkonAppUi->StatusPane();
-                if ( statusPane )
-                    {
-                    TRAP_IGNORE(
-                            statusPane->SwitchLayoutL(
-                                    R_AVKON_STATUS_PANE_LAYOUT_USUAL )
-                        );
-                    }
-                iIsInputPaneOpen = EFalse;
-                }
-            }
-            break;
-        default:
-            break;
         }
     
     CAknForm::HandleResourceChange( aType );
@@ -584,9 +521,6 @@
         const TDesC& aFieldTypeXspName, 
         TBool aSetFocus )
     {
-    // For knowing whether the destructor has been called
-    TBool destroyed = EFalse;
-    iDestroyedPtrForAddItem = &destroyed;
     // Store the original parameter value, since it is
     // changed by AddFieldsL
     TInt origParam = aFieldTypeResourceId;
@@ -597,77 +531,70 @@
     CleanupStack::PushL(addItemManager);
     CPbk2AddItemManager::TReturnValue ret = addItemManager->AddFieldsL(
             aFieldTypeResourceId, xSpName);
-    
-    // In case that pop list for adding item is closed by FSW, this object 
-    // will be destructed by CPbk2ContactEditorOperator::ForceExit().
-    // If this object is destructed, don't execute the following anymore.
-    if ( !destroyed )
+
+    if (ret.iControlId == KErrAlreadyExists)
         {
-        if (ret.iControlId == KErrAlreadyExists)
+        // cannot add more than one of this field type
+        // find and focus that
+        TInt fieldArrayCount( iUiFieldArray->Count() );
+        for (TInt i(0); i < fieldArrayCount && ret.iControlId
+                == KErrAlreadyExists; ++i)
             {
-            // cannot add more than one of this field type
-            // find and focus that
-            TInt fieldArrayCount( iUiFieldArray->Count() );
-            for (TInt i(0); i < fieldArrayCount && ret.iControlId
-                    == KErrAlreadyExists; ++i)
+            if (!iUiFieldArray->At(i).ContactEditorField())
                 {
-                if (!iUiFieldArray->At(i).ContactEditorField())
-                    {
-                    continue;
-                    }
-                const MVPbkFieldType* fieldType =
-                    iUiFieldArray->At(i).ContactEditorField()->ContactField().
-                        BestMatchingFieldType();
-                if(fieldType && fieldType->FieldTypeResId() == aFieldTypeResourceId)
-                    {
-                    ret.iControlId = iUiFieldArray->At(i).ControlId();
-                    }
+                continue;
+                }
+            const MVPbkFieldType* fieldType =
+                iUiFieldArray->At(i).ContactEditorField()->ContactField().
+                    BestMatchingFieldType();
+            if(fieldType && fieldType->FieldTypeResId() == aFieldTypeResourceId)
+                {
+                ret.iControlId = iUiFieldArray->At(i).ControlId();
                 }
             }
-    
-        if (ret.iControlId > 0)
+        }
+
+    if (ret.iControlId > 0)
+        {
+        if (aSetFocus)
             {
-            if (aSetFocus)
-                {
-                TryChangeFocusL(ret.iControlId);
-                MPbk2ContactEditorField* editorField = iUiFieldArray->Find( ret.iControlId )->ContactEditorField();
-                MVPbkStoreContactField& storeContactField = editorField->ContactField();
-                iParams.iFocusedContactField = &storeContactField;
-                // Call this after adding or deleting lines
-                UpdatePageL( ETrue );
-                // Must be DrawNow and not DrawDeferred otherwise field label
-                // and content of the following field will be incorrect
-                DrawNow();
-                }
-            }
-        else if (ret.iControlId == KErrNotSupported && origParam == KErrNotFound)
-            {
-            iUiFieldArray->SaveFieldsL();
-            iRelocator.RelocateContactL(aFieldTypeResourceId, xSpName,
-                Pbk2ContactRelocator::EPbk2DisplayStoreDoesNotSupportQuery);
+            TryChangeFocusL(ret.iControlId);
+            MPbk2ContactEditorField* editorField = iUiFieldArray->Find( ret.iControlId )->ContactEditorField();
+            MVPbkStoreContactField& storeContactField = editorField->ContactField();
+            iParams.iFocusedContactField = &storeContactField;
+            // Call this after adding or deleting lines
+            UpdatePageL( ETrue );
+            // Must be DrawNow and not DrawDeferred otherwise field label
+            // and content of the following field will be incorrect
+            DrawNow();
             }
-        else if ( iParams.iActiveView == TPbk2ContactEditorParams::EEditorView )
+        }
+    else if (ret.iControlId == KErrNotSupported && origParam == KErrNotFound)
+        {
+        iUiFieldArray->SaveFieldsL();
+        iRelocator.RelocateContactL(aFieldTypeResourceId, xSpName,
+            Pbk2ContactRelocator::EPbk2DisplayStoreDoesNotSupportQuery);
+        }
+    else if ( iParams.iActiveView == TPbk2ContactEditorParams::EEditorView )
+        {
+        switch( ret.iGruopId )
             {
-            switch( ret.iGruopId )
-                {
-                case EPbk2FieldGroupIdPostalAddress:
-                    if(iUiFieldArray->Count())
-                        {
-                        iUiFieldArray->AddNewFieldL( ret.iGruopId );
-                        ExecuteAddressDlgL( TPbk2ContactEditorParams::EEditorAddressView );
-                        }
-                    break;
-                case EPbk2FieldGroupIdHomeAddress:
+            case EPbk2FieldGroupIdPostalAddress:
+                if(iUiFieldArray->Count())
+                    {
                     iUiFieldArray->AddNewFieldL( ret.iGruopId );
-                    ExecuteAddressDlgL( TPbk2ContactEditorParams::EEditorAddressHomeView );
-                    break;
-                case EPbk2FieldGroupIdCompanyAddress:
-                    iUiFieldArray->AddNewFieldL( ret.iGruopId );
-                    ExecuteAddressDlgL( TPbk2ContactEditorParams::EEditorAddressOfficeView );
-                    break;
-                }
+                    ExecuteAddressDlgL( TPbk2ContactEditorParams::EEditorAddressView );
+                    }
+                break;
+            case EPbk2FieldGroupIdHomeAddress:
+                iUiFieldArray->AddNewFieldL( ret.iGruopId );
+                ExecuteAddressDlgL( TPbk2ContactEditorParams::EEditorAddressHomeView );
+                break;
+            case EPbk2FieldGroupIdCompanyAddress:
+                iUiFieldArray->AddNewFieldL( ret.iGruopId );
+                ExecuteAddressDlgL( TPbk2ContactEditorParams::EEditorAddressOfficeView );
+                break;
             }
-        iDestroyedPtrForAddItem = NULL;
         }
     CleanupStack::PopAndDestroy(addItemManager);
     }
@@ -759,14 +686,6 @@
          return EKeyWasConsumed;
          }*/
 
-     // When the end key is pressed and OfferKeyEventL() is called for the first time,
-     // set the edit dialog to be not editable to close the partial input
-     // screen if it is open.
-     if( aKeyEvent.iCode == EKeyEscape && !iEndKeyWasPressed )
-         {
-         SetEditableL( EFalse );
-         }
-
     // Display menu bar if the focused control doesnt consume selection keys
     CPbk2ContactEditorArrayItem* currentField = iUiFieldArray->Find(
             IdOfFocusControl());
@@ -796,37 +715,19 @@
         ret = EKeyWasConsumed;
         }
 
-    if ( ret != EKeyWasConsumed )
+    if ( ret != EKeyWasConsumed && !iEndKeyWasPressed )
         {
-        // If the iEndKeyWasPressed equels to true, which illustrates
-        // the EditorDlgImpl get the Escape key event one more time 
-        // for the case that Exit phonebook2 with the EditorDlg opened,
-        // sush as save VOIP settings,there will be two event,
-        // one is to close dialog and the other is to exit phonebook2. 
-        if ( iEndKeyWasPressed )
+        if ( aKeyEvent.iCode == EKeyEscape )
             {
-            if ( aKeyEvent.iCode == EKeyEscape && iAvkonAppUi->IsAppShutterRunning() )
-                {
-                // Use the iExitApp to record whether the AppShutter is running.
-                // According to the value of iExitApp to Exit Phonebook2 app ui 
-                // after the EditorDlg close completely. 
-                iExitApp = ETrue;
-                }
+            iEditorStrategy.StopQuery();
+            iEndKeyWasPressed = ETrue;
             }
-        else
+        ret = CAknForm::OfferKeyEventL( aKeyEvent, aType );
+        if ( ret == EKeyWasConsumed && 
+            aKeyEvent.iCode != EKeyPhoneEnd && aKeyEvent.iCode != EKeyEscape )
             {
-            if ( aKeyEvent.iCode == EKeyEscape )
-                {
-                iEditorStrategy.StopQuery();
-                iEndKeyWasPressed = ETrue;
-                }
-            ret = CAknForm::OfferKeyEventL( aKeyEvent, aType );
-            if ( ret == EKeyWasConsumed && aKeyEvent.iCode != EKeyPhoneEnd
-                && aKeyEvent.iCode != EKeyEscape )
-                {
-                UpdateCbasL();
-                }
-            }
+            UpdateCbasL();
+            }        
         }
 
     return ret;
@@ -880,7 +781,7 @@
     iEditorExtension->ModifyButtonGroupContainerL(ButtonGroupContainer());
 
     ConstructNaviPaneL();
-    UpdateTitleL();
+	UpdateTitleL();
     UpdateTitlePictureL();
     }
 
@@ -1257,37 +1158,6 @@
     iAddressView = NULL;
     iParams.iActiveView = TPbk2ContactEditorParams::EEditorView;
     UpdateControlsL();
-    
-    // The if-expression refers to the situation that need to
-    // delete editor dialog after address dialog exit completely,
-    // such as the store-unavailable situation    
-    if ( iDelayDelete )
-        {
-        iDelayDelete->Start( TCallBack( &DelayDlgDeleteCallBack, this ) );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPbk2ContactEditorDlgImpl::DelayDlgDeleteCallBack
-// --------------------------------------------------------------------------
-//
-TInt CPbk2ContactEditorDlgImpl::DelayDlgDeleteCallBack( TAny* aCallBack )
-    {
-    static_cast<CPbk2ContactEditorDlgImpl*>( aCallBack )->DelayDlgDelete();
-    return EFalse;    
-    }
-
-// --------------------------------------------------------------------------
-// CPbk2ContactEditorDlgImpl::DelayDlgDelete
-// --------------------------------------------------------------------------
-//
-void CPbk2ContactEditorDlgImpl::DelayDlgDelete()
-    {
-    // Need to inform editor-observer that contact editing is
-    // aborted, at the same time, exit editor dialog directly 
-    // without saving the changes.
-    iContactObserver.ContactEditingAborted();
-    delete this;
     }
 
 // --------------------------------------------------------------------------
@@ -1315,7 +1185,7 @@
 // CPbk2ContactEditorDlgImpl::AreAllFieldsEmpty
 // --------------------------------------------------------------------------
 //
-TBool CPbk2ContactEditorDlgImpl::AreAllFieldsEmptyL()
+TBool CPbk2ContactEditorDlgImpl::AreAllFieldsEmpty()
     {
     TBool result(ETrue);
     TInt countAll = iContact.PresentationFields().FieldCount();
@@ -1745,12 +1615,7 @@
                  RestorePrevNaviDecoratorL();
                  iNaviContainer = NULL;
                  }
-            
-            if ( !iAvkonAppUi->IsAppShutterRunning() )
-                {
-                MakeVisible( EFalse );
-                }
-           
+            MakeVisible( EFalse );
             MPbk2ContactEditorEventObserver::TParams params;
             params.iFlags = EPbk2EditorKeyCode;
             params.iKeyCode = aKeycode;
@@ -2068,8 +1933,8 @@
 // --------------------------------------------------------------------------
 //
 void CPbk2ContactEditorDlgImpl::CloseDialog()
-    {
-    // Ignore error and close editor without further user interaction
+	{
+    // Ignor error and close editor without further user interaction
     MVPbkContactObserver::TContactOpResult exitResult;
     exitResult.iExtension = NULL;
     exitResult.iStoreContact = NULL;
@@ -2092,7 +1957,7 @@
         }
       
     ContactEditorOperationCompleted(exitResult, exitParams);
-    }
+	}
 
 // --------------------------------------------------------------------------
 // CPbk2ContactEditorDlgImpl::ContactEditorOperationFailed
@@ -2464,22 +2329,24 @@
     {
     if ( &aContactStore == &iContact.ParentStore() )
         {
-        // Use iAppServices if provided. This is to enable editor use outside from pbk2 context		
+        /*
+		 * Use iAppServices if provided. This is to enable editor use outside from pbk2 context
+		 */
         const CPbk2StoreProperty* property = NULL;
         if( iAppServices )
-            {
-            property =
-                    iAppServices->StoreProperties().FindProperty
-                            ( aContactStore.StoreProperties().Uri() );
-            }
+        	{
+        	property =
+					iAppServices->StoreProperties().FindProperty
+							( aContactStore.StoreProperties().Uri() );
+        	}
         else
-            {
-            property =
-                    Phonebook2::Pbk2AppUi()->ApplicationServices().
-                        StoreProperties().FindProperty
-                            ( aContactStore.StoreProperties().Uri() );
-            }
-
+        	{
+        	property =
+					Phonebook2::Pbk2AppUi()->ApplicationServices().
+						StoreProperties().FindProperty
+							( aContactStore.StoreProperties().Uri() );
+        	}
+        
 
         TPtrC storeName;
         if ( property )
@@ -2491,27 +2358,11 @@
         // Cannot do anything about that
         TRAP_IGNORE( ShowStoreNotAvailableNoteL( storeName ) );
 
-        // If the address dialog is opened, delete address dialog first,
-        // then after address dialog exit completely, delete the editor dialog
-        // via DelayDlgDeleteCallBack; if there isn't the address dialog, 
-        // delete editor dialog directly.         
-        if (iAddressView )
-            {
-            // Create the CIdle object to delete editor dialog later.
-            if ( !iDelayDelete )
-                {
-                iDelayDelete = CIdle::NewL( CActive::EPriorityStandard );
-                }
-            delete iAddressView;
-            iAddressView = NULL;
-            }
-       else
-            {
-            // At the store unavailable situation, informs editor observer 
-            // that contact editing is aborted without saving the changes.
-            iContactObserver.ContactEditingAborted();
-            delete this;
-            }
+        // Close editor if store which came unavailable is iContact's store
+        iContactObserver.ContactEditingAborted();
+        // TryExitL is not called because it would call OkToExitL
+        // which is not wanted
+        delete this;
         }
     }
 
@@ -2624,24 +2475,24 @@
         switch (iParams.iActiveView)
             {
             case TPbk2ContactEditorParams::EEditorAddressView:
-                if( !iTitleText )
-                    {
-                    title = StringLoader::LoadL(R_QTN_PHOB_HEADER_ADDRESS);
-                    }
+            	if( !iTitleText )
+            		{
+            		title = StringLoader::LoadL(R_QTN_PHOB_HEADER_ADDRESS);
+            		}
                 break;
             case TPbk2ContactEditorParams::EEditorAddressHomeView:
-                if( !iTitleText )
-                    {
-                    title = StringLoader::LoadL(
-                            R_QTN_PHOB_HEADER_ADDRESS_HOME);
-                    }
+            	if( !iTitleText )
+            		{
+            		title = StringLoader::LoadL(
+            				R_QTN_PHOB_HEADER_ADDRESS_HOME);
+            		}
                 break;
             case TPbk2ContactEditorParams::EEditorAddressOfficeView:
-                if( !iTitleText )
-                    {
-                    title = StringLoader::LoadL(
-                            R_QTN_PHOB_HEADER_ADDRESS_WORK);
-                    }
+            	if( !iTitleText )
+            		{
+            		title = StringLoader::LoadL(
+            				R_QTN_PHOB_HEADER_ADDRESS_WORK);
+            		}
                 break;
             case TPbk2ContactEditorParams::EEditorView:
                 {
@@ -2678,10 +2529,10 @@
                         }
                     }
                 if( !iTitleText )
-                    {
-                    title = iNameFormatter->GetContactTitleOrNullL(iStoreContact->Fields(),
-                            KEditorNameFormatFlags);
-                    }
+                	{
+                	title = iNameFormatter->GetContactTitleOrNullL(iStoreContact->Fields(),
+                			KEditorNameFormatFlags);
+                	}
                 break;
                 }
             default:
@@ -2690,20 +2541,20 @@
         
         // if custom title text is provided
         if( iTitleText )
-            {
-            iTitlePane->SetTextL( iTitleText->Des() );
-            }
+        	{
+        	iTitlePane->SetTextL( iTitleText->Des() );
+        	}
         else 
-            {
-             if (title)
-                {
-                iTitlePane->SetText(title);
-                }
-            else
-                {
-                iTitlePane->SetTextL(iEditorStrategy.DefaultTitle());
-                }
-            }
+        	{
+        	 if (title)
+				{
+				iTitlePane->SetText(title);
+				}
+			else
+				{
+				iTitlePane->SetTextL(iEditorStrategy.DefaultTitle());
+				}
+        	}
         }
     CEikStatusPane* statusPane = iAvkonAppUi->StatusPane();
     
@@ -2729,24 +2580,24 @@
         // Update picture in title pane
         
         /*
-         * Use iAppServices if provided. This is to enable editor use outside from pbk2 context
-         */
+		 * Use iAppServices if provided. This is to enable editor use outside from pbk2 context
+		 */
         CEikImage* image = NULL;
         if( iAppServices )
-            {
-            image =
-                Pbk2TitlePanePictureFactory::CreateTitlePanePictureLC
-                    ( &iContact.StoreContact(),
-                            iAppServices->StoreProperties() );
-            }
+        	{
+        	image =
+				Pbk2TitlePanePictureFactory::CreateTitlePanePictureLC
+					( &iContact.StoreContact(),
+							iAppServices->StoreProperties() );
+        	}
         else
-            {
-            image =
-                Pbk2TitlePanePictureFactory::CreateTitlePanePictureLC
-                    ( &iContact.StoreContact(),
-                      Phonebook2::Pbk2AppUi()->ApplicationServices().
-                        StoreProperties() );
-            }
+        	{
+        	image =
+				Pbk2TitlePanePictureFactory::CreateTitlePanePictureLC
+					( &iContact.StoreContact(),
+					  Phonebook2::Pbk2AppUi()->ApplicationServices().
+						StoreProperties() );
+        	}
         
         
         // ownership of the picture is transfered to title pane
@@ -2768,7 +2619,7 @@
     {
     // For knowing if the destructor has been called
     TBool destroyed = EFalse;
-    iDestroyedPtrForCloseDlg = &destroyed;
+    iDestroyedPtr = &destroyed;
 
     if (aInformObserver && iParams.iActiveView
             == TPbk2ContactEditorParams::EEditorView || iAddressViewStandalone)
@@ -2801,21 +2652,22 @@
     // In VOIP/new contacts/exit case, this object will be destructed by
     // iContactObserver.ContactEditingComplete() above.
     // If this object is destructed, don't excute the following anymore
-    if ( !destroyed )
+    if ( destroyed )
         {
-        // Don't save any contact data (already saved)
-        iExitRecord.Set(EOkToExitWithoutHandlingIt);
-        iExitRecord.Clear(EExitOrdered);
-    
-        // Close dialog using TryExitL and returning ETrue from OkToExit
-        TInt err = KErrNone;
-            TRAP( err, TryExitL( EAknSoftkeyBack ) );
-        if (err != KErrNone)
-            {
-            // If not nicely then use the force.
-            delete this;
-            }
-        iDestroyedPtrForCloseDlg = NULL;
+        return;
+        }
+
+    // Don't save any contact data (already saved)
+    iExitRecord.Set(EOkToExitWithoutHandlingIt);
+    iExitRecord.Clear(EExitOrdered);
+
+    // Close dialog using TryExitL and returning ETrue from OkToExit
+    TInt err = KErrNone;
+        TRAP( err, TryExitL( EAknSoftkeyBack ) );
+    if (err != KErrNone)
+        {
+        // If not nicely then use the force.
+        delete this;
         }
     }
 
@@ -2835,7 +2687,7 @@
 
         // Dialog is closed so there is nothing to do if
         // HandleCommandL leaves. 
-        TRAP_IGNORE(CEikonEnv::Static()->EikAppUi()->HandleCommandL(aCommandId)); 
+		TRAP_IGNORE(CEikonEnv::Static()->EikAppUi()->HandleCommandL(aCommandId)); 
         }
     }
 
@@ -2965,59 +2817,30 @@
                 case EPbk2FieldCtrlTypeExtAddressEditor:
                 case EPbk2FieldCtrlTypeExtAddressHomeEditor:
                 case EPbk2FieldCtrlTypeExtAddressOfficeEditor:
-                    {
-                	TInt iconId = 0;
-                    // UnSync feature indicator flag and chinese flag
-                    TBool supportUnSyncFeature = 
-                          FeatureManager::FeatureSupported( 
-                          KFeatureIdFfTdUnSyncabPbfieldsInd );
-                    TBool supportChinese = 
-                        FeatureManager::FeatureSupported( KFeatureIdChinese ); 
-                    // Valid address
-                    TBool addressValidated = 
-                         IsAddressValidated( 
-                            Pbk2AddressTools::MapCtrlTypeToAddress(
-                            uiField->UIField()->CtrlType()));
-                    if(supportChinese && supportUnSyncFeature)
+                    if(IsAddressValidated(Pbk2AddressTools::MapCtrlTypeToAddress(
+                            uiField->UIField()->CtrlType())))
                         {
-                        // Unsync icon
-                        iconId = EPbk2qgn_prop_phonebook2_unsync;
+                        TPbk2IconId iconID(TUid::Uid(KPbk2UID3), EPbk2qgn_prop_locev_map);
+                        uiField->LoadBitmapToFieldL(iconID);
                         }
                     else
                         {
-                        iconId = addressValidated ?
-                            EPbk2qgn_prop_locev_map : EPbk2qgn_prop_pb_no_valid_lm;
+                        TPbk2IconId iconID(TUid::Uid(KPbk2UID3), EPbk2qgn_prop_pb_no_valid_lm);
+                        uiField->LoadBitmapToFieldL(iconID);
                         }
-                    TPbk2IconId pbkIconId(TUid::Uid(KPbk2UID3),iconId);
-                    uiField->LoadBitmapToFieldL(pbkIconId); 
-                    }
                     break;
                 case EPbk2FieldCtrlTypeExtAssignFromMapsEditor:
-                    {
-                    // UnSync feature indicator flag and chinese flag
-                    TBool supportUnSyncFeature = 
-                           FeatureManager::FeatureSupported(
-                           KFeatureIdFfTdUnSyncabPbfieldsInd );
-                    TBool supportChinese = 
-                           FeatureManager::FeatureSupported( KFeatureIdChinese ); 
-
-                    TBool addressValidated = 
-                           IsAddressValidated( 
-                           Pbk2AddressTools::MapViewTypeToAddress( iParams.iActiveView ));
-                    TInt iconId = 0;
-                    if( supportChinese && supportUnSyncFeature )
+                    if(IsAddressValidated( Pbk2AddressTools::MapViewTypeToAddress(iParams.iActiveView)))
                         {
-                        iconId = EPbk2qgn_prop_phonebook2_unsync;
-                        }
-                    else
-                        {
-                        iconId = addressValidated ?
-                            EPbk2qgn_prop_locev_map : EPbk2qgn_prop_pb_no_valid_lm;
-                        }
-                    TPbk2IconId pbkIconId(TUid::Uid(KPbk2UID3),iconId);
-                    uiField->LoadBitmapToFieldL(pbkIconId); 
-                    }
-                    break;
+                          TPbk2IconId iconID(TUid::Uid(KPbk2UID3), EPbk2qgn_prop_locev_map);
+                          uiField->LoadBitmapToFieldL(iconID);
+                          }
+                      else
+                          {
+                          TPbk2IconId iconID(TUid::Uid(KPbk2UID3), EPbk2qgn_prop_pb_no_valid_lm);
+                          uiField->LoadBitmapToFieldL(iconID);
+                          }
+                    break;  
                 default:
                     return;
                 }
@@ -3113,7 +2936,7 @@
             {
             // Estimate all field are empty by UI field.
         if (( AreAllControlsEmpty() && !iAddressViewStandalone )||
-            (iAddressViewStandalone && AreAllFieldsEmptyL()))
+            (iAddressViewStandalone && AreAllFieldsEmpty()))
                 {
                 if (iEditorExtension->OkToDeleteContactL(aParams))
                     {
@@ -3158,9 +2981,9 @@
                         CloseDialog();
                         }
                     else
-                        {
-                        iExitRecord.Clear( EExitOrdered );
-                        }
+                    	{
+                    	iExitRecord.Clear( EExitOrdered );
+                    	}
                     }
                 }
             }
@@ -3285,14 +3108,13 @@
     {
     TBool okToExit = ETrue;
 
-    // The exit callback must be invoked only once when editor dlg is exiting.
-    if ( (iParams.iActiveView == TPbk2ContactEditorParams::EEditorView || 
-            iAddressViewStandalone) && iParams.iExitCallback )
+    // If exit callback returned EFalse, the exit is cancelled
+    if ( iParams.iExitCallback &&
+         !iParams.iExitCallback->OkToExitL( aCommandId ) )
         {
-        okToExit = iParams.iExitCallback->OkToExitL( aCommandId );
+        okToExit = EFalse;
         }
-    
-    // If exit callback returned EFalse, the exit is cancelled
+
     if ( !okToExit )
         {
         iExitRecord.Clear( EExitApproved );
@@ -3538,8 +3360,8 @@
 //    
 void CPbk2ContactEditorDlgImpl::CheckCurrentFieldTextL( 
         CPbk2ContactEditorArrayItem* aCurrentField,
-        const TKeyEvent& aKeyEvent, 
-        TEventCode aType )
+		const TKeyEvent& aKeyEvent, 
+		TEventCode aType )
     {
     MPbk2ContactEditorField* editorField = aCurrentField->ContactEditorField();
     if ( editorField )
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorEditContact.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorEditContact.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 
 // Phonebook 2
 #include "CPbk2InputAbsorber.h"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <TPbk2ContactEditorParams.h>
 #include <CPbk2PresentationContact.h>
 #include <CPbk2GeneralConfirmationQuery.h>
@@ -37,7 +37,7 @@
 #include <MVPbkStoreContact.h>
 #include <MVPbkFieldType.h>
 #include <MVPbkContactFieldData.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <avkon.rsg>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorEmailField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorEmailField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -147,10 +147,6 @@
     iControl->CreateTextViewL();
     iCaptionedCtrl = iUiBuilder.LineControl(ControlId());
     iCaptionedCtrl->SetTakesEnterKey(EFalse);
-    
-    // Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);
     }
     
 // End of File  
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorFieldArray.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorFieldArray.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,12 +23,12 @@
 #include "Pbk2ContactEditorFieldFactory.h"
 #include "MPbk2ContactEditorField.h"
 #include "MPbk2ContactEditorUiBuilder.h"
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <CPbk2PresentationContact.h>
 #include <CPbk2PresentationContactFieldCollection.h>
 #include <CPbk2PresentationContactField.h>
 #include <MPbk2FieldProperty.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2AppUi.h>
 #include <CPbk2ServiceManager.h>
 #include "TPbk2ContactEditorParams.h"
@@ -47,7 +47,7 @@
 #include <MVPbkContactStore.h>
 #include <MVPbkContactStoreProperties.h>
 #include <CVPbkFieldTypeSelector.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkFieldType.h>
 #include <VPbkFieldType.hrh>
 #include <TVPbkFieldVersitProperty.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorImageField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorImageField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -35,7 +35,7 @@
 #include <MVPbkContactFieldTextData.h>
 #include <VPbkFieldType.hrh>
 #include <MVPbkFieldType.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // System includes
 #include <eikcapc.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorImpplField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorImpplField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -157,10 +157,6 @@
     iControl->CreateTextViewL();
     iCaptionedCtrl = iUiBuilder.LineControl(ControlId());
     iCaptionedCtrl->SetTakesEnterKey(EFalse);
-    
-    // Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);
     }
     
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorNewContact.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorNewContact.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include "CPbk2ContactEditorNewContact.h"
 
 // Phonebook 2
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <TPbk2ContactEditorParams.h>
 #include <CPbk2PresentationContact.h>
 #include "CPbk2InputAbsorber.h"
@@ -224,14 +224,14 @@
         ( "CPbk2ContactEditorNewContact::HandleIdleDelete(0x%x)" ), this );
 
     iInputAbsorber->StopWait();
-    // Notify client asynchronously to let Delete Operation complete firstly and
-    // then the client will be notified to do the other things in the RunL() function.
-    iLatestResult.iExtension = NULL;
-    iLatestResult.iStoreContact = NULL;
-    iLatestResult.iOpCode = MVPbkContactObserver::EContactDelete;
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
-    SetActive();
+    MPbk2ContactEditorEventObserver* observer = iObserver;
+    iObserver = NULL;
+    MVPbkContactObserver::TContactOpResult result;
+    // Disable warnings by nulling the data members
+    result.iStoreContact = NULL;
+    result.iExtension = NULL;
+    result.iOpCode = MVPbkContactObserver::EContactDelete;
+    observer->ContactEditorOperationCompleted( result, iEditorParams );
     }
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorNumberField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorNumberField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -105,11 +105,7 @@
         // foreign characters if necessary
         AknTextUtils::DisplayTextLanguageSpecificNumberConversion(text);
         }
-
-	// Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);
-    
+        
     if (iContactField.FieldProperty().EditMode() == EPbk2FieldEditModeNumeric)
         {
         iControl->SetAknEditorNumericKeymap(EAknEditorPlainNumberModeKeymap);
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorPhoneNumberField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorPhoneNumberField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -187,10 +187,6 @@
     iControl->CreateTextViewL();
     iCaptionedCtrl = iUiBuilder.LineControl(ControlId());
     iCaptionedCtrl->SetTakesEnterKey(ETrue);
-    
-    // Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);
     }
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorPostalCodeField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorPostalCodeField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -152,10 +152,6 @@
     iControl->CreateTextViewL();
     iCaptionedCtrl = iUiBuilder.LineControl(ControlId());
     iCaptionedCtrl->SetTakesEnterKey(ETrue);
-    
-    // Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);
     }
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorReadingField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorReadingField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -137,10 +137,6 @@
     iControl->CreateTextViewL();
     iCaptionedCtrl = iUiBuilder.LineControl(ControlId());
     iCaptionedCtrl->SetTakesEnterKey(ETrue);
-    
-    // Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);
     }
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorRingtoneField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorRingtoneField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -35,7 +35,7 @@
 #include <MVPbkContactFieldTextData.h>
 #include <VPbkFieldType.hrh>
 #include <MVPbkFieldType.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // System includes
 #include <eikcapc.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorSyncField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorSyncField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include "MPbk2ContactEditorFieldVisitor.h"
 #include <MPbk2FieldProperty.h>
 #include <CPbk2PresentationContactField.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include "Pbk2UIControls.hrh"
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorTextField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorTextField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -99,10 +99,6 @@
     // T9 should be deactivated in all contact editors always
     DeactivateT9(iContactField.FieldProperty().EditMode());
 
-    // Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);
-    
     if (iContactField.FieldProperty().EditMode() == 
         EPbk2FieldEditModeLatinOnly)
         {
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUIAddressField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUIAddressField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,12 +22,12 @@
 #include "MPbk2ContactEditorFieldVisitor.h"
 #include "MPbk2ContactEditorUiBuilderExtension.h"
 #include "CPbk2IconInfoContainer.h"
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include "MPbk2UIField.h"
 #include "Pbk2EditorLineIds.hrh" 
 #include <Pbk2UIControls.hrh>
 #include "CPbk2ContactEditorReadonlyField.h"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 // System includes
 #include <eikcapc.h>
 #include <eikedwin.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUIAddressHomeField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUIAddressHomeField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,12 +22,12 @@
 #include "MPbk2ContactEditorFieldVisitor.h"
 #include "MPbk2ContactEditorUiBuilderExtension.h"
 #include "CPbk2IconInfoContainer.h"
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include "MPbk2UIField.h"
 #include "Pbk2EditorLineIds.hrh" 
 #include <Pbk2UIControls.hrh>
 #include "CPbk2ContactEditorReadonlyField.h"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 // System includes
 #include <eikcapc.h>
 #include <eikedwin.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUIAddressOfficeField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUIAddressOfficeField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,12 +22,12 @@
 #include "MPbk2ContactEditorFieldVisitor.h"
 #include "MPbk2ContactEditorUiBuilderExtension.h"
 #include "CPbk2IconInfoContainer.h"
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 #include "MPbk2UIField.h"
 #include "Pbk2EditorLineIds.hrh" 
 #include <Pbk2UIControls.hrh>
 #include "CPbk2ContactEditorReadonlyField.h"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 // System includes
 #include <eikcapc.h>
 #include <eikedwin.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUrlField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorUrlField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -99,10 +99,6 @@
     // T9 should be deactivated in all contact editors always
     DeactivateT9(iContactField.FieldProperty().EditMode());
 
-    // Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);    
-    
     if (iContactField.FieldProperty().EditMode() == 
             EPbk2FieldEditModeLatinOnly)
         {
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactIconsUtils.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactIconsUtils.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <CPbk2UIExtensionManager.h>
 #include <MPbk2UIExtensionIconSupport.h>
 
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2PresentationUtils.h>
 #include "Pbk2NamesListExUID.h"
 
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactInfoControl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactInfoControl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include "CPbk2ContactFieldDynamicProperties.h"
 #include "CPbk2ThumbnailLoader.h"
 #include "Pbk2TitlePanePictureFactory.h"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2UIControls.hrh>
 #include <CPbk2IconArray.h>
 #include <MPbk2ContactNameFormatter.h>
@@ -57,7 +57,7 @@
 #include <CVPbkFieldTypeSelector.h>
 #include <CVPbkContactStoreUriArray.h>
 #include <MVPbkContactFieldTextData.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <akntitle.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactInfoListBox.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactInfoListBox.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include "CPbk2FieldListBoxModel.h"
 #include <CPbk2PresentationContactField.h>
 #include <CPbk2PresentationContactFieldCollection.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2UIExtensionManager.h>
 #include <MPbk2UIExtensionIconSupport.h>
 #include <Pbk2Profile.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactViewListBox.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactViewListBox.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -41,7 +41,6 @@
 
 #include <aknappui.h>
 #include <aknViewAppUi.h>
-#include <aknlayoutscalable_avkon.cdl.h>
 
 // Debugging headers
 #include <Pbk2Debug.h>
@@ -60,7 +59,6 @@
 // LOCAL FUNCTIONS
 
 _LIT( KTabChar, "\t" );
-const TInt KCheckboxMargin = 1; // Checkbox margin pixels
 
 /**
  * Returns icon array from given list box.
@@ -111,8 +109,7 @@
                 iContainer(aContainer), 
                 iChangedIndexes( 1 ), // allocation granularity
                 iUiExtension( aUiExtension ),
-                iSearchFilter( aSearchFilter ),
-                iMarkingModeOn( EFalse )
+                iSearchFilter( aSearchFilter )
     {
     }
 
@@ -445,28 +442,9 @@
 TBool CPbk2ContactViewListBox::ClipFromBeginning
         ( TDes& aBuffer, TInt aItemIndex, TInt aSubCellNumber )
     {
-    CColumnListBoxData *data = ItemDrawer()->ColumnData();
-    const CFont *font =
-        data->Font(ItemDrawer()->Properties(aItemIndex), aSubCellNumber);
-    // The width of the subcell displaying the characters.
-    TInt cellWidth = data->ColumnWidthPixel(aSubCellNumber);
-    // The margin of the subcell.
-    TMargins margin = data->ColumnMargins(aSubCellNumber);
-    // The valid width width displaying the characters.
-    TInt width = cellWidth - margin.iLeft - margin.iRight;
-    // If Marking mode is active, recalculate the valid width displaying characters.
-    // contact entry of name list view in marking mode
-    //
-    // |checkbox|Icon|name  |
-    // |        |    |number|
-    if( iMarkingModeOn )
-        {
-        RecalcWidthInMarkingMode(width, *font, aBuffer[0]);
-        }
-    TInt clipGap = data->ColumnTextClipGap(aSubCellNumber);
-    
-    return AknTextUtils::ClipToFit(
-        aBuffer, *font, width, AknTextUtils::EClipFromBeginning, width + clipGap);
+    return AknTextUtils::ClipToFit( aBuffer,
+        AknTextUtils::EClipFromBeginning, this,  aItemIndex,
+        aSubCellNumber );
     }
 
 // --------------------------------------------------------------------------
@@ -553,9 +531,9 @@
         }
     // Wrap the original model.
     iListboxModelDecorator = DoCreateDecoratorL( 
-            *IconArray( *this ),
-            iResourceData.iEmptyIconId,
-            iResourceData.iDefaultIconId );
+    		*IconArray( *this ),
+			iResourceData.iEmptyIconId,
+			iResourceData.iDefaultIconId );
     
     
     iListboxModelDecorator->SetDecoratedModel( *iModel );
@@ -579,15 +557,15 @@
 // --------------------------------------------------------------------------
 //
 CPbk2ListboxModelCmdDecorator* CPbk2ContactViewListBox::DoCreateDecoratorL( 
-                const CPbk2IconArray& aIconArray,
-                TPbk2IconId aEmptyIconId,
-                TPbk2IconId aDefaultIconId )
-    {
-    return CPbk2ListboxModelCmdDecorator::NewL(
-                aIconArray,
-                aEmptyIconId,
-                aDefaultIconId );
-    }
+        		const CPbk2IconArray& aIconArray,
+        		TPbk2IconId aEmptyIconId,
+        		TPbk2IconId aDefaultIconId )
+	{
+	return CPbk2ListboxModelCmdDecorator::NewL(
+				aIconArray,
+				aEmptyIconId,
+				aDefaultIconId );
+	}
 
 
 // --------------------------------------------------------------------------
@@ -644,7 +622,7 @@
 //
 void CPbk2ContactViewListBox::HandleGainingForeground()
     {
-    DrawDeferred();
+	DrawDeferred();
     }
 
 // --------------------------------------------------------------------------
@@ -726,7 +704,7 @@
         textLayout.LayoutText(layout.Rect(), AknLayoutScalable_Apps::popup_navstr_preview_pane_t1(0).LayoutLine());
 
         TPtrC desc(Model()->ItemTextArray()->MdcaPoint(View()->TopItemIndex()));
-        
+		
         //Add "if-clause" to avaid the error that argument of Mid() out of range.
         TInt index = desc.Find( KTabChar );
         if ( index != KErrNotFound && index < desc.Length()-1 )
@@ -742,56 +720,4 @@
             }
         }
     }
-
-// --------------------------------------------------------------------------
-// CPbk2ContactViewListBox::RecalcWidthInMarkingMode
-// Recalculate the width of space displaying the third column of the schema
-// below when Marking Mode is active.
-// contact entry of name list view in marking mode
-// The schema:
-// |checkbox|Icon|name  |
-// |        |    |number|
-// --------------------------------------------------------------------------
-//
-void CPbk2ContactViewListBox::RecalcWidthInMarkingMode(
-                              TInt& aWidth,
-                              const CFont& aFont,
-                              TChar aChar )
-    {
-    if( aWidth > 0 )
-        {
-        aWidth -= KCheckboxMargin;
-        // Get the coordinate for the right margin of the checkbox.
-        TInt checkBoxRight = AknLayoutScalable_Avkon::list_single_graphic_pane_t1( 0 ).r();
-        // Get the coordinate for the left margin of the checkbox.
-        TInt checkBoxLeft = AknLayoutScalable_Avkon::list_single_graphic_pane_t1( 0 ).l();
-        // The width to display one char.
-        TInt charWidth = aFont.CharWidthInPixels(aChar);
-        TInt checkBoxWidth = checkBoxRight - checkBoxLeft;
-        if( 0 > checkBoxWidth )
-            {
-            checkBoxWidth *= -1; // To make sure the value is positive.
-            }
-        if( charWidth > 0 && checkBoxWidth > 0 )
-            {
-            // The width of the characters which should be dropped, when marking
-            // mode is active.
-            TInt width;
-            if( 0 == checkBoxWidth%charWidth )
-                {
-                width = checkBoxWidth;
-                }
-            else
-                {
-                // The width should be divisible by charWidth.
-                width = ( checkBoxWidth/charWidth + 1 ) * charWidth;
-                }
-            // When marking mode is on,
-            // the width should minus the part of checkbox in the front of
-            // a listbox item.
-            aWidth -= width;
-            }
-        }
-    }
-
 // End of File
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactViewListBoxModel.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactViewListBoxModel.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include <CPbk2StorePropertyArray.h>
 #include <MPbk2ContactUiControlExtension.h>
 #include <MPbk2ContactUiControlExtension2.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2PresentationUtils.h>
 #include <CPbk2ContactIconsUtils.h>
 #include "Pbk2NamesListExUID.h"
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2DefaultSavingStorageSettingItem.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2DefaultSavingStorageSettingItem.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <CPbk2StoreConfiguration.h>
 #include <CPbk2StorePropertyArray.h>
 #include <CPbk2StoreProperty.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2StoreProperty.hrh>
 #include <Phonebook2InternalCRKeys.h>
 
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include <Pbk2UIControls.hrh>
 #include <MPbk2ContactUiControl.h>
 #include <MPbk2FetchDlgObserver.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2ContactLinkIterator.h>
 #include <CPbk2IconInfoContainer.h>
 #include <Pbk2UID.h>
@@ -149,8 +149,7 @@
 inline CPbk2FetchDlg::CPbk2FetchDlg
         ( TParams aParams, MPbk2FetchDlgObserver& aObserver ) :
             iParams( aParams ),
-            iObserver( aObserver ),
-            iSelectPermitted( ETrue )
+            iObserver( aObserver )
     {
     }
 
@@ -259,7 +258,6 @@
         ( aContactLink, Phonebook2::Pbk2AppUi()->ApplicationServices().
             ContactManager().ContactStoresL() );
 
-    // Append the selected contact to results.
     if ( linkArray->Count() > 0 )
         {
         const MVPbkContactLink& link = linkArray->At( KFirstElement );
@@ -270,28 +268,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2FetchDlg::AcceptDelayedFetchL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CPbk2FetchDlg::DenyDelayedFetchL
-        ( const TDesC8& aContactLink )
-    {
-    CVPbkContactLinkArray* linkArray = CVPbkContactLinkArray::NewLC
-        ( aContactLink, Phonebook2::Pbk2AppUi()->ApplicationServices().
-            ContactManager().ContactStoresL() );
-
-    // Unmark the selected contact
-    if ( linkArray->Count() > 0 )
-        {
-        const MVPbkContactLink& link = linkArray->At( KFirstElement );
-        iResults->DenyAppendDelayedL( link );
-        iPages->SelectContactL( link, EFalse );
-        }
-
-    CleanupStack::PopAndDestroy(); // linkArray
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2FetchDlg::ExecuteLD
 // --------------------------------------------------------------------------
 //
@@ -412,12 +388,6 @@
             }
         }
 
-    // Only multiple fetch needs to wait buffered operations finished
-    if ( !canceled && ( iParams.iFlags & EFetchMultiple ) )
-        {
-        iResults->WaitOperationsCompleteL();
-        }
-    
     // Notify observer
     if ( canceled )
         {
@@ -465,11 +435,6 @@
         // Reset results
         iResults->ResetAndDestroy();
         }
-    else
-        {
-        // Permit selection again
-        iSelectPermitted = ETrue;
-        }
     
     iExitRecord.Set( EExitOrdered );    // exit is now ordered and
                                         // when client later requests
@@ -560,12 +525,6 @@
         }
     else
         {
-        // EKeyApplicationF means left softkey is pressed
-        if ( EKeyApplicationF == aKeyEvent.iCode && 
-                ( iParams.iFlags & EFetchMultiple ) )
-            {
-            iSelectPermitted = EFalse;
-            }
         if( !Phonebook2::Pbk2AppUi()->KeyEventHandler().Pbk2ProcessKeyEventL( aKeyEvent, aType ) )
             {
             
@@ -829,14 +788,6 @@
         	}
         }
     }
-// --------------------------------------------------------------------------
-// CPbk2FetchDlg::IsSelectPermitted
-// --------------------------------------------------------------------------
-//
-TBool CPbk2FetchDlg::IsSelectPermitted()
-    {
-    return iSelectPermitted;
-    }
 
 // --------------------------------------------------------------------------
 // CPbk2FetchDlg::HandleControlEventL
@@ -1327,21 +1278,6 @@
 //
 void CPbk2FetchDlg::RestoreSelectionsL()
     {
-    // Remove selections in all pages. Selections will be restored later.
-    // In case of sort order change the selections will be in a new position,
-    // that's why they need to be removed.
-    if ( iPages )
-        {
-        const TInt pageCount = iPages->DlgPageCount();
-        for ( TInt i = 0; i < pageCount; i++ )
-            {
-            if ( iPages->DlgPageAt(i).Control().ContactsMarked() )
-                {
-                iPages->DlgPageAt(i).Control().ClearMarks();
-                }
-            }
-        }
-    
     if ( iResults )
         {
         for ( TInt i = 0; i < iResults->Count(); ++i )
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlgGroupPage.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlgGroupPage.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <CPbk2StoreConfiguration.h>
 #include <MPbk2Command.h>
 #include <Pbk2UIControls.hrh>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2ViewState.h>
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlgPage.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlgPage.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <CPbk2StoreConfiguration.h>
 #include <MPbk2Command.h>
 #include <Pbk2UIControls.hrh>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2ViewState.h>
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FetchResults.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FetchResults.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -38,7 +38,6 @@
 
 // System includes
 #include <coemain.h>
-#include <akninputblock.h>
 
 // Debugging headers
 #include <Pbk2Debug.h>
@@ -57,9 +56,7 @@
                 iFetchDlg( aFetchDlg ),
                 iPages( aPages ),
                 iObserver( aObserver ),
-                iResultsObserver( aResultsObserver ),
-                iWaitingForDelayedAppend( EFalse ),
-                iInputBlock( NULL )
+                iResultsObserver( aResultsObserver )
     {
     }
 
@@ -89,8 +86,6 @@
         
         delete iOperationQueue;
         }
-    
-    delete iWaitForAllOperationComplete;
     }
 
 // --------------------------------------------------------------------------
@@ -112,8 +107,6 @@
         }
     
     iOperationQueue = new (ELeave) CArrayFixFlat<CFRConatactOperation*>(4);
-    
-    iWaitForAllOperationComplete = new (ELeave) CActiveSchedulerWait();
     }
 
 // --------------------------------------------------------------------------
@@ -140,17 +133,10 @@
 // --------------------------------------------------------------------------
 //
 void CPbk2FetchResults::AppendL( const MVPbkContactLink& aLink )
-    { 
-    if ( iFetchDlg.IsSelectPermitted() )
-        {
-        CFRConatactOperation* newAppendOperation = CFRConatactOperation::NewL( aLink, CFRConatactOperation::EAppendContact );
-        AppendContactOperationL(newAppendOperation);
-        ProcessNextContactOperationL();
-        }
-    else
-        {
-        iPages.SelectContactL( aLink, EFalse );
-        }
+    {
+    CFRConatactOperation* newAppendOperation = CFRConatactOperation::NewL( aLink, CFRConatactOperation::EAppendContact );
+    AppendContactOperationL(newAppendOperation);
+    ProcessNextContactOperationL();
     }
 
 // --------------------------------------------------------------------------
@@ -159,24 +145,8 @@
 //
 void CPbk2FetchResults::AppendDelayedL( const MVPbkContactLink& aLink )
     {
-    // Add the feedback contact's operation to the head of the queue
-    // in order to ensure that the checked contact's operation to be
-    // handled firstly when phonebook receives the client feedback.
     CFRConatactOperation* newAppendOperation = CFRConatactOperation::NewL( aLink, CFRConatactOperation::EAppendContactDelayed );
-    iOperationQueue->InsertL( 0, newAppendOperation ); 
-    // Waiting is over.
-    iWaitingForDelayedAppend = EFalse;
-    ProcessNextContactOperationL();
-    }
-
-// --------------------------------------------------------------------------
-// CPbk2FetchResults::DenyAppendDelayedL
-// --------------------------------------------------------------------------
-//
-void CPbk2FetchResults::DenyAppendDelayedL( const MVPbkContactLink& aLink )
-    {
-    // Waiting is over, process next contact operation
-    iWaitingForDelayedAppend = EFalse;
+    AppendContactOperationL(newAppendOperation);
     ProcessNextContactOperationL();
     }
 
@@ -206,21 +176,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2FetchResults::WaitOperationsCompleteL
-// --------------------------------------------------------------------------
-//
-void CPbk2FetchResults::WaitOperationsCompleteL()
-    {
-    if ( iWaitingForDelayedAppend || iOperationQueue->Count()>0 )
-        {
-        iInputBlock = CAknInputBlock::NewLC();
-        CleanupStack::Pop( iInputBlock );
-        
-        iWaitForAllOperationComplete->Start();
-        }
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2FetchResults::Count
 // --------------------------------------------------------------------------
 //
@@ -373,13 +328,6 @@
         {
         // Observer needs to asked
         accept = iObserver.AcceptFetchSelectionL( count, *link );
-        // Determine whether accept query is needed
-        if ( MPbk2FetchDlgObserver::EFetchDelayed == accept )
-            {
-            // Start to wait client feedback, block the operation queue,
-            // process next operation until receive client feedback.
-            iWaitingForDelayedAppend = ETrue;
-            }
         }
 
     if ( accept == MPbk2FetchDlgObserver::EFetchNo )
@@ -541,6 +489,8 @@
     // Remove executed operation from queue
     RemoveCurrentContactOperation();
     
+    // Initialize next operation from queue
+    ProcessNextContactOperationL();   
     
     /**********************************************************************/
     /**************! Dont use class members after SWITCH !*****************/
@@ -555,26 +505,17 @@
         case CFRConatactOperation::EAppendContact:
             {
             DoAppendContactL( *aContact, EFalse );
-            // Check whether next operation can be processed
-            // after sending check request to client.
-            ProcessNextContactOperationL();
             break;
             }
             
         case CFRConatactOperation::EAppendContactDelayed:
             {
-            // Process new contact opretation before appending 
-            // the delayed contact to results. It can save time.
-            ProcessNextContactOperationL();   
             DoAppendContactL( *aContact, ETrue );
             break;
             }
         
         case CFRConatactOperation::ERemoveContact:
             {
-            // Process new contact opretation before removing contact 
-            // from results. It can save time.
-            ProcessNextContactOperationL();   
             DoRemoveContactL( *aContact );
             break;
             }
@@ -589,7 +530,7 @@
 //
 void CPbk2FetchResults::ProcessNextContactOperationL()
     {
-    if( !iRetrieveOperation && !iWaitingForDelayedAppend )
+    if( !iRetrieveOperation )
         {        
         // No operation is executing -> process next one
         
@@ -597,23 +538,13 @@
             {
             // Start asynchronous contact retrieve operation, which completes
             // in CPbk2FetchResults::HandleContactOperationCompleteL.
-			iRetrieveOperation =  iContactManager.RetrieveContactL( 
-                    *( GetCurrentContactOperation()->GetContactLink() ),
-                    *this );
+            iRetrieveOperation =  iContactManager.RetrieveContactL( *( GetCurrentContactOperation()->GetContactLink() ),
+                                                                   *this );
             }
         else
             {
-            if ( !iWaitingForDelayedAppend )
-                {
-                // Every seleced contacts' operation finishes,
-                // stop the scheduler waiting for every operation.
-                if (iWaitForAllOperationComplete->IsStarted())
-                    iWaitForAllOperationComplete->AsyncStop();
-                
-                // Stop blocking input 
-                delete iInputBlock;
-                iInputBlock = NULL;
-                }
+            // Empty operation queue -> do nothing
+            PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING( "CPbk2FetchResults::ProcessNextContactOperationL emtpy queue" ));
             }
         }
     else
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FieldAnalyzer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FieldAnalyzer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include <CVPbkContactManager.h>
 #include <CVPbkSpeedDialAttribute.h>
 #include <MVPbkStoreContactFieldCollection.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkFieldType.h>
 #include <CVPbkContactFieldIterator.h>
 #include <MVPbkContactFieldUriData.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FieldFormatter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FieldFormatter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 #include <Pbk2PhoneNumberFormatterFactory.h>
 #include <MPbk2PhoneNumberFormatter.h>
 #include <Pbk2PresentationUtils.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <CVPbkContactManager.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FieldListBoxModel.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FieldListBoxModel.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -34,9 +34,9 @@
 #include <MPbk2FieldPropertyArray.h>
 #include <MPbk2FieldProperty.h>
 #include <TPbk2StoreContactAnalyzer.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include "Pbk2AddressTools.h"
-#include <featmgr.h>
+
 // Virtual Phonebook
 #include <MVPbkFieldType.h>
 #include <TVPbkFieldVersitProperty.h>
@@ -45,10 +45,9 @@
 #include <CVPbkContactManager.h>
 #include <MVPbkContactFieldData.h>
 #include <VPbkUtils.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkStoreContact.h>
 
-#include <Pbk2Config.hrh> // For unSync
 /// Unnamed namespace for local definitions
 namespace {
 
@@ -698,25 +697,18 @@
     // Format icon index
     TBuf<KMaxFormattedTIntLength> iconText; 
     TInt iconIndex = KErrNotFound;
-    TInt iconId = 0;
-    // UnSync feature indicator flag and chinese flag
-    TBool supportUnSyncFeature = FeatureManager::FeatureSupported(
-    		KFeatureIdFfTdUnSyncabPbfieldsInd);
-    TBool supportChinese = FeatureManager::FeatureSupported(KFeatureIdChinese);
-    // Valid address
-    TBool addressValidated = IsGeoFieldForAddressL( aField );
-    if( supportChinese && supportUnSyncFeature)
+    
+    if ( IsGeoFieldForAddressL( aField ) )
         {
-        // UnSync Icon
-        iconId = EPbk2qgn_prop_phonebook2_unsync;
+        iconIndex = aParams.iIconArray.FindIcon(
+            TPbk2AppIconId( EPbk2qgn_prop_locev_map ) );
         }
     else
-        {
-        iconId = addressValidated ?
-            EPbk2qgn_prop_locev_map : EPbk2qgn_prop_pb_no_valid_lm;
-        }
-    TPbk2IconId pbkIconId(TUid::Uid(KPbk2UID3), iconId);
-    iconIndex = aParams.iIconArray.FindIcon(pbkIconId); 
+    	{
+        iconIndex = aParams.iIconArray.FindIcon(
+    	    TPbk2AppIconId( EPbk2qgn_prop_pb_no_valid_lm ) );
+    	}
+
     iconText.Num( iconIndex );
     aRow.AppendColumnL( iconText );
     }
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2GeneralConfirmationQuery.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2GeneralConfirmationQuery.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include <MPbk2AppUi.h>
 #include <CPbk2ApplicationServices.h>
 #include <MPbk2ContactNameFormatter.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <MVPbkBaseContact.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2MemoryEntryDefaultsAssignDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2MemoryEntryDefaultsAssignDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include "CPbk2FieldListBoxModel.h"
 #include <CPbk2IconInfo.h>
 #include <CPbk2IconArray.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2PresentationContact.h>
 #include <CPbk2PresentationContactField.h>
 #include <CPbk2PresentationContactFieldCollection.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2MemoryEntryDefaultsDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2MemoryEntryDefaultsDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include "CPbk2FieldSelector.h"
 #include <CPbk2MemoryEntryDefaultsAssignDlg.h>
 #include <CPbk2IconArray.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2PresentationContact.h>
 #include <CPbk2PresentationContactField.h>
 #include <CPbk2PresentationContactFieldCollection.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2MemorySelectionSettingItem.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2MemorySelectionSettingItem.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <CPbk2StoreProperty.h>
 #include <MPbk2ApplicationServices.h>
 #include <MPbk2AppUi.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <CVPbkContactStoreUriArray.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2MergeConflictsDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2MergeConflictsDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <StringLoader.h>
 #include <aknnavide.h>
 #include <akntitle.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2MergeResolver.h>
 #include <MPbk2MergeConflict.h>
 #include "CPbk2MergeConflictsDlg.h"
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2MergePhotoConflictDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2MergePhotoConflictDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,13 +29,13 @@
 #include <aknnavide.h>
 #include <akntitle.h>
 #include <avkon.mbg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2MergeConflict.h>
 #include <CPbk2ImageManager.h>
 #include <TPbk2ImageManagerParams.h>
 #include <MVPbkBaseContact.h>
 #include <MVPbkFieldType.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MPbk2AppUi.h>
 #include <MPbk2ApplicationServices.h>
 #include <CVPbkContactManager.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2NameOrderSettingItem.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2NameOrderSettingItem.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include "CPbk2NameOrderSettingItem.h"   // This class
 
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2SortOrderManager.h>
 #include <StringLoader.h>
 
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListControl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListControl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -42,8 +42,8 @@
 #include "CPbk2PredictiveSearchFilter.h"
 #include "cpbk2contactviewdoublelistbox.h"
 #include <CPbk2ThumbnailManager.h>
-#include <pbk2commonui.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2CommonUi.rsg>
+#include <Pbk2UIControls.rsg>
 #include "CPbk2AppUi.h"
 
 // Virtual Phonebook
@@ -331,7 +331,7 @@
        
        /**
         * Call this function to skip the showing of blocking progress note.
-        * When done MassUpdateSkipProgressNote( EFalse ) must be called to reset.
+		* When done MassUpdateSkipProgressNote( EFalse ) must be called to reset.
         */
       void MassUpdateSkipProgressNote( TBool aSkip );       
 
@@ -347,14 +347,14 @@
         static TInt HandleMassUpdateTimerCallBack(TAny* aAny);
 
     private:
-        CEikListBox& iListBox;
+		CEikListBox& iListBox;
         TBool iHandleMassUpdateDetected;
         TTime iHandleMassUpdateFirst;
         TTime iHandleMassUpdatePrev;
         TInt  iHandleMassUpdateCount;
         TBool iHandleMassUpdateSkipDialog;        
         CPeriodic* iHandleMassUpdateTimer;
-        CAknWaitDialog*  iHandleMassUpdateDialog;
+		CAknWaitDialog*  iHandleMassUpdateDialog;
     };
 
 // --------------------------------------------------------------------------
@@ -714,8 +714,8 @@
 //
 TBool CPbk2HandleMassUpdate::MassUpdateDetected()
     {
-    return iHandleMassUpdateDetected;
-    }
+	return iHandleMassUpdateDetected;
+	}
 
 // --------------------------------------------------------------------------
 // CPbk2HandleMassUpdate::MassUpdateSkipProgressNote
@@ -877,8 +877,7 @@
                 iNameFormatter( aNameFormatter ),
                 iStoreProperties( aStoreProperties ),
                 iAllowPointerEvents( ETrue ),
-                iOpeningCca( EFalse ),
-                iMarkingModeOn( EFalse )
+                iOpeningCca( EFalse )
     {
     }
 
@@ -936,7 +935,7 @@
         }
     iObservers.Reset();
     iCommandItems.ResetAndDestroy();
-    delete iCheckMassUpdate;
+	delete iCheckMassUpdate;
     delete iListBoxSelectionObserver;
     delete iStateFactory;
     delete iListBox;
@@ -1112,9 +1111,6 @@
     iListBox->SetObserver( this );
     iListBox->SetScrollEventObserver( this );
     iListBox->SetListBoxObserver(this);
-    
-    iListBox->SetMarkingModeObserver( this );
-    
     iUiExtension->SetContactUiControlUpdate( this );
     // set command item updater
     TAny* ext = iUiExtension->ContactUiControlExtensionExtension(
@@ -1205,6 +1201,9 @@
     PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING("CPbk2NamesListControl::Reset(0x%x) - IN"),
         this );
 
+    // Unmark all contacts and reset the toolbar so that the Call button
+    // won't be dimmed
+    TRAP_IGNORE( ProcessCommandL( EAknUnmarkAll ) );
     // Reset find box
     TRAP_IGNORE( ResetFindL() );
     // Destroy all the filtered views from the stack
@@ -1221,9 +1220,6 @@
     TRAP_IGNORE( iCurrentState->SetFocusedContactIndexL( firstContactIndex ) );
     //scroll listbox into beginning (ignore focus that may be below promotion items)
     iListBox->SetTopItemIndex(firstContactIndex);
-    
-    //cancel the marking mode
-    iListBox->SetMarkingMode( EFalse );
 
     // Switch to the background state. This enables the next state to avtivate fully (ActivateStateL()) once phonebook
     // comes from the background.
@@ -1441,8 +1437,6 @@
 void CPbk2NamesListControl::SizeChanged()
     {
     iCurrentState->SizeChanged();
-    // Reset the popup char flag so that the char will not be shown.
-    iListBox->ResetShowPopupChar();
     }
 
 // --------------------------------------------------------------------------
@@ -1493,7 +1487,7 @@
     {
     if( !iAllowPointerEvents )
         {
-        //Passing event to listbox needed even if iCurrentState would be skipped (fix for ou1cimx1#316139)
+		//Passing event to listbox needed even if iCurrentState would be skipped (fix for ou1cimx1#316139)
         iListBox->HandlePointerEventL( aPointerEvent ); 
         return;
         }
@@ -1691,7 +1685,7 @@
 void CPbk2NamesListControl::ClearMarks()
     {
     iCurrentState->ClearMarks();
-    ClearMarkedContactsInfo();
+	ClearMarkedContactsInfo();
     }
 
 // --------------------------------------------------------------------------
@@ -2095,7 +2089,7 @@
 // --------------------------------------------------------------------------
 //
 void CPbk2NamesListControl::FilteredContactRemovedFromView(
-        MVPbkContactViewBase& /*aView*/ )
+		MVPbkContactViewBase& /*aView*/ )
     {    
     DrawDeferred();
     }
@@ -2253,11 +2247,11 @@
 //
 void CPbk2NamesListControl::DoHandleContactAdditionL( TInt aIndex )
     {
-    //Prevent messing with focus with always-on when Phonebook hidden in
-    //reseted state. Otherwise background-added contacts will change focus.
-    //This would cause Phonebook not to look like freshly started when opened again.
-    //And also make sure foreground-added contact will show the new contact
-    //even though the focus is not seen.
+	//Prevent messing with focus with always-on when Phonebook hidden in
+	//reseted state. Otherwise background-added contacts will change focus.
+	//This would cause Phonebook not to look like freshly started when opened again.
+	//And also make sure foreground-added contact will show the new contact
+	//even though the focus is not seen.
     if( (static_cast<CPbk2AppUi*>(
             CEikonEnv::Static()->AppUi()))->IsForeground() )
         {
@@ -2410,7 +2404,7 @@
     TRAPD( res,
         {
         // This will reset back to base view, however retain original view
-        //when opening CCA
+		//when opening CCA
         if( !iOpeningCca ) 
             {
             iCurrentState->ResetFindL(); 
@@ -2429,18 +2423,13 @@
             {
             if( iCurrentState->NamesListState() == EStateEmpty )
                 {
-                // Trap the function because it may leave.
-                TRAPD( res, SelectAndChangeReadyStateL() );
-                HandleError( res );
+                SelectAndChangeReadyStateL();
                 }
             }
         else
             {              
-            if( !iMarkingModeOn )
-                {
-                Reset();
-                }
-            }
+            Reset();
+            }	
         }
 
     // Do not handle contact addition here (DoHandleContactAdditionL),
@@ -2553,29 +2542,9 @@
     TRAP_IGNORE(iCurrentState->HandleControlEventL( aSearchField, MCoeControlObserver::EEventStateChanged, ETrue));
     }
 
-
-// -----------------------------------------------------------------------------
-// CPbk2NamesListControl::MarkingModeStatusChanged
-// -----------------------------------------------------------------------------
-//
-void CPbk2NamesListControl::MarkingModeStatusChanged( TBool /*aActivated*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPbk2NamesListControl::ExitMarkingMode
-// Called by avkon, if the return value is ETrue, 
-// the Marking mode will be canceled after any operation, 
-// otherwise the Marking mode keep active.
-// -----------------------------------------------------------------------------
-//
-TBool CPbk2NamesListControl::ExitMarkingMode() const
-    {
-    return ETrue;
-    }
-    
 // --------------------------------------------------------------------------
 // CPbk2NamesListControl::HandleForegroundEventL
+//
 // --------------------------------------------------------------------------
 //
 void CPbk2NamesListControl::HandleForegroundEventL(TBool aForeground)
@@ -2659,9 +2628,9 @@
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CPbk2NamesListControl::SetOpeningCca( TBool aIsOpening )
-    {
-    iOpeningCca = aIsOpening;
-    }
+	{
+	iOpeningCca = aIsOpening;
+	}
 
 // ---------------------------------------------------------------------------
 // CPbk2NamesListControlBgTask::CPbk2NamesListControlBgTask
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListEmptyState.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListEmptyState.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -41,10 +41,6 @@
 // Debugging headers
 #include <Pbk2Debug.h>
 
-#include <aknnavi.h>
-#include <aknnavide.h> 
-#include <aknnavilabel.h>
-
 
 /// Unnamed namespace for local definitions
 namespace {
@@ -128,35 +124,12 @@
 //
 void CPbk2NamesListEmptyState::ActivateStateL()
     {
-    AllowCommandsToShowThemselves( ETrue );
-    CPbk2NamesListControl& namesListControl = 
-        reinterpret_cast<CPbk2NamesListControl&>(CoeControl());
-    if( namesListControl.GetMarkingMode() )
-        {
-        // If NamesListEmptyState and Marking mode are both active,
-        // the Marking mode should be canceled. 
-        iListBox.SetMarkingMode(EFalse);
-        CEikonEnv* eikonEnv = CEikonEnv::Static();
-        if ( eikonEnv && eikonEnv->AppUiFactory() )
-            {
-            CEikStatusPane* statusPane = eikonEnv->AppUiFactory()->StatusPane();
-            if ( statusPane )
-                {
-
-                CAknNavigationControlContainer* naviPane =
-                        (CAknNavigationControlContainer *)statusPane->ControlL(
-                                TUid::Uid(EEikStatusPaneUidNavi));
-                CAknNavigationDecorator* decorator = naviPane->Top();
-                        naviPane->Pop( decorator );
-                naviPane->DrawDeferred();
-                }
-            }
-        }
-
-    // hide findbox since there is no contact
+    AllowCommandsToShowThemselves( ETrue );  
+	
+	// hide findbox since there is no contact
     if ( iFindBox && iFindBox->IsVisible() )
         {
-        iFindBox->MakeVisible( EFalse );
+        iFindBox->MakeVisible( EFalse );                
         }
 
     }
@@ -167,8 +140,8 @@
 //
 void CPbk2NamesListEmptyState::DeactivateState()
     {
-    AllowCommandsToShowThemselves( EFalse );
-
+    AllowCommandsToShowThemselves( EFalse );  	
+	
     if ( iFindBox && !iFindBox->IsFocused() )
         {
         iFindBox->SetFocus( ETrue );
@@ -324,7 +297,7 @@
 //
 void CPbk2NamesListEmptyState::HandleListboxEventL
         (TInt aEvent, TInt aListboxIndex,
-        TBool /*aMantainFocus*/) 
+		TBool /*aMantainFocus*/) 
     {
     iListBox.HandleEventL( aEvent, aListboxIndex );
     iParent.DrawDeferred();
@@ -376,9 +349,9 @@
     // The listbox can also have command items.
     TInt result = iListBox.NumberOfItems() - CommandItemCount();
     if ( result < 0 )
-        {
-        result = KNumberOfContacts; // No contacts 
-        }
+    	{
+    	result = KNumberOfContacts; // No contacts 
+    	}
     return result;
     }
 
@@ -518,53 +491,53 @@
 MVPbkContactLinkArray*
         CPbk2NamesListEmptyState::SelectedContactsOrFocusedContactL() const
     {
-    CVPbkContactLinkArray* array = NULL;
-    // my card is showing on empty list, check if the wanted contact is it
-    TInt currentItem = iListBox.CurrentItemIndex();
-    // if focused index is command item
-    if( currentItem < CommandItemCount() )
-        {
-        // check if the command is my card ( this search is copied from CommandItemAt - function to avoid const cast)
-        // Some of the commands might be disabled. Skip those.
-        TInt enabledCount = 0;
-        TInt indexOfResult = KErrNotFound;
-        for ( TInt n = 0; n < iCommandItems.Count() && indexOfResult == KErrNotFound; ++n )
-            {
-            if ( iCommandItems[ n ]->IsEnabled() )
-                {
-                enabledCount++;
-                if ( enabledCount-1 == currentItem )
-                    {
-                    indexOfResult = n;
-                    }
-                }
-            }
-        MPbk2UiControlCmdItem* item = iCommandItems[ indexOfResult ];
-        // check if the command item was a my card
-        if( item->CommandId() == EPbk2CmdOpenMyCard )
-            {
-            // get extension point and my card link
-            TAny* object = item->ControlCmdItemExtension( TUid::Uid( KPbk2ControlCmdItemExtensionUID ) );
-            if(  object )
-                {
-                MPbk2DoubleListboxCmdItemExtension* extension = 
-                        static_cast<MPbk2DoubleListboxCmdItemExtension*>( object );
-                // if extension exists
-                if( extension )
-                    {
-                    const MVPbkContactLink* link = extension->Link();
-                    // if link exists, add it to the array
-                    if( link )
-                        {
-                        array = CVPbkContactLinkArray::NewLC();
-                        array->AppendL( link->CloneLC() );
-                        CleanupStack::Pop( 2 );    // array, link
-                        }
-                    }
-                }
-            }
-        }
-    return array;
+	CVPbkContactLinkArray* array = NULL;
+	// my card is showing on empty list, check if the wanted contact is it
+	TInt currentItem = iListBox.CurrentItemIndex();
+	// if focused index is command item
+	if( currentItem < CommandItemCount() )
+		{
+		// check if the command is my card ( this search is copied from CommandItemAt - function to avoid const cast)
+		// Some of the commands might be disabled. Skip those.
+		TInt enabledCount = 0;
+		TInt indexOfResult = KErrNotFound;
+		for ( TInt n = 0; n < iCommandItems.Count() && indexOfResult == KErrNotFound; ++n )
+			{
+			if ( iCommandItems[ n ]->IsEnabled() )
+				{
+				enabledCount++;
+				if ( enabledCount-1 == currentItem )
+					{
+					indexOfResult = n;
+					}
+				}
+			}
+		MPbk2UiControlCmdItem* item = iCommandItems[ indexOfResult ];
+		// check if the command item was a my card
+		if( item->CommandId() == EPbk2CmdOpenMyCard )
+			{
+			// get extension point and my card link
+			TAny* object = item->ControlCmdItemExtension( TUid::Uid( KPbk2ControlCmdItemExtensionUID ) );
+			if(  object )
+				{
+				MPbk2DoubleListboxCmdItemExtension* extension = 
+						static_cast<MPbk2DoubleListboxCmdItemExtension*>( object );
+				// if extension exists
+				if( extension )
+					{
+					const MVPbkContactLink* link = extension->Link();
+					// if link exists, add it to the array
+					if( link )
+						{
+						array = CVPbkContactLinkArray::NewLC();
+						array->AppendL( link->CloneLC() );
+						CleanupStack::Pop( 2 );	// array, link
+						}
+					}
+				}
+			}
+		}
+	return array;
     }
 
 // --------------------------------------------------------------------------
@@ -634,17 +607,17 @@
 // --------------------------------------------------------------------------
 //
 TInt CPbk2NamesListEmptyState::CommandItemCount() const
-    {
+	{
     // Some of the commands might be disabled. Don't count those.
-    TInt enabledCommandCount = 0;
-    for ( TInt n = 0; n < iCommandItems.Count(); ++n ) 
-        {
-        if ( iCommandItems[ n ]->IsEnabled() )
-            {
-            enabledCommandCount++;
-            }
-        }
-    return enabledCommandCount;
+	TInt enabledCommandCount = 0;
+	for ( TInt n = 0; n < iCommandItems.Count(); ++n ) 
+		{
+		if ( iCommandItems[ n ]->IsEnabled() )
+			{
+			enabledCommandCount++;
+			}
+		}
+	return enabledCommandCount;
     }
 
 // --------------------------------------------------------------------------
@@ -653,24 +626,24 @@
 //
 const MPbk2UiControlCmdItem&
 CPbk2NamesListEmptyState::CommandItemAt( TInt aIndex ) const
-    {
+	{
     // Some of the commands might be disabled. Skip those.
-    TInt enabledCount = 0;
-    TInt indexOfResult = KErrNotFound;
-    for ( TInt n = 0; n < iCommandItems.Count()&& indexOfResult == KErrNotFound; ++n ) 
-    
-        {
-        if ( iCommandItems[ n ]->IsEnabled() )
-            {
-            enabledCount++;
-            if ( enabledCount-1 == aIndex )
-                {
-                indexOfResult = n;
-                }
-            }
-        }
-    return *iCommandItems[ indexOfResult ];
-    }
+	TInt enabledCount = 0;
+	TInt indexOfResult = KErrNotFound;
+	for ( TInt n = 0; n < iCommandItems.Count()&& indexOfResult == KErrNotFound; ++n ) 
+	
+		{
+		if ( iCommandItems[ n ]->IsEnabled() )
+			{
+			enabledCount++;
+			if ( enabledCount-1 == aIndex )
+				{
+				indexOfResult = n;
+				}
+			}
+		}
+	return *iCommandItems[ indexOfResult ];
+	}
 
 // --------------------------------------------------------------------------
 // CPbk2NamesListEmptyState::FocusedCommandItem
@@ -678,9 +651,9 @@
 //
 const MPbk2UiControlCmdItem*
 CPbk2NamesListEmptyState::FocusedCommandItem() const
-    {
-    const MPbk2UiControlCmdItem* cmdItem = NULL;
-    // Is the focus on a command item:
+	{
+	const MPbk2UiControlCmdItem* cmdItem = NULL;
+	// Is the focus on a command item:
     TInt focusListIndex = iListBox.CurrentItemIndex();
     const TInt commandItemCount = CommandItemCount();
     if ( focusListIndex != KErrNotFound && focusListIndex < commandItemCount )
@@ -688,7 +661,7 @@
         // Yes it's a command item.
         cmdItem = &CommandItemAt(focusListIndex); 
         }
-    return cmdItem;
+	return cmdItem;
     }
 
 // --------------------------------------------------------------------------
@@ -696,7 +669,7 @@
 // --------------------------------------------------------------------------
 //
 void CPbk2NamesListEmptyState::DeleteCommandItemL( TInt /*aIndex*/ )
-    {
+	{
     // ownership & management of iCommandItems is wasted in names list
     // control. Do nothing here
     }
@@ -709,7 +682,7 @@
     {
     // ownership & management of iCommandItems is wasted in names list
     // control. Do nothing here
-    }    
+	}	
 
 // --------------------------------------------------------------------------
 // CPbk2NamesListEmptyState::DynInitMenuPaneL
@@ -725,9 +698,13 @@
     TInt pos; // Stores the position of the searched menu item.
             // This position is not needed or used anywhere
     
-    if ( aMenuPane->MenuItemExists ( EAknCmdMarkingModeEnter, pos ) )
+    if (aMenuPane->MenuItemExists(EAknUnmarkAll, pos))
         {
-        aMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
+        aMenuPane->SetItemDimmed(EAknUnmarkAll, ETrue);
+        }
+    if (aMenuPane->MenuItemExists(EAknMarkAll, pos))
+        {
+        aMenuPane->SetItemDimmed(EAknMarkAll, ETrue);
         }
     }
 
@@ -967,9 +944,9 @@
         // ownership not transferred
         iListBox.SetListCommands( &iCommandItems );
         SubscribeCmdItemsVisibility();        
-        UpdateCommandEnabled( EPbk2CmdRcl, ETrue );             
+        UpdateCommandEnabled( EPbk2CmdRcl, ETrue ); 			
         UpdateCommandEnabled( EPbk2CmdAddFavourites, EFalse ); 
-        //MyCard is stored separately and may also contain data         
+		//MyCard is stored separately and may also contain data         
         UpdateCommandEnabled( EPbk2CmdOpenMyCard, ETrue ); 
         }
     else
@@ -985,20 +962,9 @@
 void CPbk2NamesListEmptyState::CmdItemVisibilityChanged( TInt aCmdItemId, TBool aVisible ) 
     {
     TInt cmdItemIndex = FindCommand(aCmdItemId);
-    TRAP_IGNORE(
-        // If command item is changed to be visible, set its hidden selection to ETrue.
-        if( aVisible )
-            {
-            TInt enableCmdCount = EnabledCommandCount();
-            TListItemProperties prop( iListBox.ItemDrawer()->Properties(enableCmdCount) );
-            prop.SetHiddenSelection(aVisible);
-            iListBox.ItemDrawer()->SetPropertiesL(enableCmdCount-1, prop);
-            }
-    
-        HandleCommandEventL(
+    TRAP_IGNORE( HandleCommandEventL(
                 (aVisible ? EItemAdded : EItemRemoved),
-                 cmdItemIndex);
-        );
+                 cmdItemIndex) );		
     }
 
 // --------------------------------------------------------------------------
@@ -1083,21 +1049,4 @@
         }
     }
 
-// --------------------------------------------------------------------------
-// CPbk2NamesListEmptyState::EnabledCommandCount
-// --------------------------------------------------------------------------
-// 
-TInt CPbk2NamesListEmptyState::EnabledCommandCount() const
-    {
-    TInt result = 0;
-    for ( TInt i = 0; i < iCommandItems.Count(); ++i )
-        {
-        if(iCommandItems[i]->IsEnabled())
-            {
-            result++;
-            }
-        }
-    return result;    
-    }
-
 //  End of File
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListFilteredState.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListFilteredState.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -1130,21 +1130,9 @@
 void CPbk2NamesListFilteredState::CmdItemVisibilityChanged( TInt aCmdItemId, TBool aVisible ) 
     {
     TInt cmdItemIndex = FindCommand(aCmdItemId);
-    TInt cmdListBoxIndex = EnabledCommandCount();
-    if( aVisible )
-        {
-        cmdListBoxIndex--;
-        }
-    // Update the HiddenSelection property of the command items.
-    TListItemProperties prop( iListBox.ItemDrawer()->Properties(cmdListBoxIndex) );
-    prop.SetHiddenSelection(aVisible);
-    TRAP_IGNORE(        
-        iListBox.ItemDrawer()->SetPropertiesL(cmdListBoxIndex, prop);
-    
-        HandleCommandEventL(
+    TRAP_IGNORE( HandleCommandEventL(
                 (aVisible ? EItemAdded : EItemRemoved),
-                 cmdItemIndex);
-        );		
+                 cmdItemIndex) );		
     }
 
 // --------------------------------------------------------------------------
@@ -1229,21 +1217,4 @@
         }
     }
 
-// --------------------------------------------------------------------------
-// CPbk2NamesListFilteredState::EnabledCommandCount
-// --------------------------------------------------------------------------
-//  
-TInt CPbk2NamesListFilteredState::EnabledCommandCount() const
-    {
-    TInt result = 0;
-    for ( TInt i = 0; i < iCommandItems.Count(); ++i )
-        {
-        if(iCommandItems[i]->IsEnabled())
-            {
-            result++;
-            }
-        }
-    return result;    
-    }
-
 //  End of File
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListNotReadyState.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListNotReadyState.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include "CPbk2ContactViewListBox.h"
 #include "CPbk2NamesListControl.h"
 #include <Pbk2MenuFilteringFlags.hrh>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // System includes
 #include <AknsDrawUtils.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListReadyState.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListReadyState.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -1496,21 +1496,56 @@
 void CPbk2NamesListReadyState::DynInitMenuPaneL(
         TInt aResourceId, CEikMenuPane* aMenuPane) const
     {
-    TInt commandItemCount = CommandItemCount();
-	
-    // Stores the position of the searched menu item.
-    // This position is not needed or used anywhere
-    TInt pos; 
+    AknSelectionService::HandleMarkableListDynInitMenuPane
+        (aResourceId, aMenuPane, &iListBox);
+    
+    TInt focusedItem = iListBox.View()->CurrentItemIndex();
+    TBool markHidden = iListBox.View()->ItemIsSelected( focusedItem );
+    TBool unmarkHidden = !iListBox.View()->ItemIsSelected( focusedItem );
+    TBool markAllHidden = ( iListBox.Model()->NumberOfItems() == 0 ) || 
+        ( iListBox.SelectionIndexes()->Count() == iListBox.Model()->NumberOfItems() );
+    TBool unmarkAllHidden = ( iListBox.Model()->NumberOfItems() == 0 ) || 
+        ( iListBox.SelectionIndexes()->Count() == 0 );
+    
+    TInt position;
+    if (aMenuPane->MenuItemExists(EAknCmdMark, position))
+        {
+        aMenuPane->SetItemDimmed(EAknCmdMark, markHidden);
+        }
+    if (aMenuPane->MenuItemExists(EAknCmdUnmark, position))
+        {
+        aMenuPane->SetItemDimmed(EAknCmdUnmark, unmarkHidden);
+        }
+    if (aMenuPane->MenuItemExists(EAknMarkAll, position))
+        {
+        aMenuPane->SetItemDimmed(EAknMarkAll, markAllHidden);
+        }
+    if (aMenuPane->MenuItemExists(EAknUnmarkAll, position))
+        {
+        aMenuPane->SetItemDimmed(EAknUnmarkAll, unmarkAllHidden);
+        }
+    
+    // When all contacts are marked in the listbox, the command items are not marked.
+    // This code snippet dims out the  Mark All menu item which is shown since the
+    // list box cannot differentiate a command and a contact item
 
-    if ((iListBox.SelectionIndexes()->Count() + commandItemCount ) 
-            == iListBox.Model()->NumberOfItems())
+    TInt commandItemCount = CommandItemCount();
+
+
+    if ((iListBox.SelectionIndexes()->Count() + commandItemCount ) == iListBox.Model()->NumberOfItems())
         {
-        if (aMenuPane->MenuItemExists( EAknCmdMarkingModeEnter, pos ) )
+        TInt i; // Stores the position of the searched menu item.
+                // This position is not needed or used anywhere
+        if (aMenuPane->MenuItemExists(EAknMarkAll, i))
             {
-            aMenuPane->SetItemDimmed( EAknCmdMarkingModeEnter, ETrue );
+            aMenuPane->SetItemDimmed(EAknMarkAll, ETrue);
             }
         }
 
+    // If there's any, command items are always placed at the top of the list box.
+    // By comparing the list box current item index with the command item count, we are trying to find out
+    // if the current focused item is command item or not.
+
     }
 
 // --------------------------------------------------------------------------
@@ -1896,14 +1931,36 @@
     // HandleItemRemovalL because they reset markings
     TBool marked = ContactsMarked();
 
-    // Handle list box changes
-    // Promotion item "Add to favourites" should not be visible if top view is 
-	// not base view (iViewStack.Level() !== 0). Remote search may be shown when there
-	// is text entered in find box. MyCard enabled similarly as add favorites.
-    TBool addFavoOk = iViewStack.Level() == 0 && !(iFindBox && iFindBox->TextLength());
-    UpdateCommandEnabled( EPbk2CmdAddFavourites, addFavoOk );
-    UpdateCommandEnabled( EPbk2CmdRcl, !addFavoOk );    
-    UpdateCommandEnabled( EPbk2CmdOpenMyCard, addFavoOk );
+    // Promotion item "Add to favourites" and "My card" should be visible,
+    // the conditions are as following:  
+    // 1. Top view is base view (iViewStack.Level() == 0).
+    // 2. There is no text entered in find box.
+    // 3. There is text entered in find box, but the text is space.
+    // When promotion item "Add to favourites" and "My card" are visible,
+    // remote search should not be shown.
+    TBool showFavAndMyCard = ETrue;
+    if ( iFindBox )
+        {
+        RBuf searchText;
+        searchText.CreateL ( iFindBox->TextLength() );
+        iFindBox->GetSearchText( searchText ); 
+        CleanupClosePushL( searchText );
+        searchText.TrimLeft();
+        if ( searchText.Length() != 0 )
+            {
+            showFavAndMyCard = EFalse;
+            }
+        CleanupStack::PopAndDestroy( &searchText );
+        }
+    if ( iViewStack.Level() != 0 )
+        {
+        showFavAndMyCard = EFalse;
+        }
+    
+    // Update the list box.
+    UpdateCommandEnabled( EPbk2CmdAddFavourites, showFavAndMyCard );
+    UpdateCommandEnabled( EPbk2CmdRcl, !showFavAndMyCard );    
+    UpdateCommandEnabled( EPbk2CmdOpenMyCard, showFavAndMyCard );
 
     if ( countAfter > countBefore )    //count does not contain command items 
         {
@@ -2042,22 +2099,9 @@
 void CPbk2NamesListReadyState::CmdItemVisibilityChanged( TInt aCmdItemId, TBool aVisible )
     {
     TInt cmdItemIndex = FindCommand(aCmdItemId);
-    TInt cmdListBoxIndex = EnabledCommandCount();
-    if( aVisible )
-        {
-        cmdListBoxIndex--;
-        }
-    // Update the HiddenSelection property of the command items.
-    TListItemProperties prop( iListBox.ItemDrawer()->Properties(cmdListBoxIndex) );
-    prop.SetHiddenSelection(aVisible);
-    
-    TRAP_IGNORE(
-        iListBox.ItemDrawer()->SetPropertiesL(cmdListBoxIndex, prop);
-    
-        HandleCommandEventL(
-            (aVisible ? EItemAdded : EItemRemoved),
-            cmdItemIndex);
-        );
+    TRAP_IGNORE( HandleCommandEventL(
+                (aVisible ? EItemAdded : EItemRemoved),
+                cmdItemIndex) );
     }
 
 // --------------------------------------------------------------------------
@@ -2103,40 +2147,19 @@
     PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING
         ("CPbk2NamesListReadyState::RestoreMarkedItemsL: %d items"),
         aSelectedItems.Count() );
-    
+
+    DisableRedrawEnablePushL();
+    iListBox.ClearSelection();
     const TInt count = aSelectedItems.Count();
-    if ( count > 0 )
+    for ( TInt i = 0; i < count; ++i )
         {
-        CListBoxView::CSelectionIndexArray* updateSelections = 
-                    new(ELeave) CArrayFixFlat<TInt>( count );
-        CleanupStack::PushL( updateSelections );
-        
-        // Get the index of each selected item. If one of items could not be found, break.
-        for ( TInt i = 0; i < count; ++i )
+        TInt index = iViewStack.IndexOfBookmarkL( aSelectedItems.At( i ) ) + CommandItemCount();
+        if ( index >= 0 )
             {
-            TInt index = iViewStack.IndexOfBookmarkL( aSelectedItems.At( i ) ) + CommandItemCount();
-            if ( index >= 0 )
-                {
-                updateSelections->AppendL( index );
-                }
-            else
-                {
-                break;
-                }
+            iListBox.View()->SelectItemL( index );
             }
-    
-        // If all the selected items can be found in iViewStack, update the list box.
-        // The list box will change nothing if some of selected items are not found in iViewStack.
-        if ( updateSelections->Count() == count )
-            {
-            DisableRedrawEnablePushL();
-            iListBox.ClearSelection();
-            iListBox.SetSelectionIndexesL( updateSelections );
-            CleanupStack::PopAndDestroy();  // DisableRedrawEnablePushL
-            }
-        
-        CleanupStack::PopAndDestroy( updateSelections );  // Destroy updateSelections
         }
+    CleanupStack::PopAndDestroy();  // DisableRedrawEnablePushL
     }
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2PhonebookInfoDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2PhonebookInfoDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 
 #include "CPbk2StoreInfoItemBuilder.h"
 #include "MPbk2StoreInfoUiItem.h"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2StorePropertyArray.h>
 #include <CPbk2StoreProperty.h>
 #include <MPbk2ApplicationServices.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2PredictiveSearchFilter.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2PredictiveSearchFilter.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 #include <txtetext.h>
 #include <eikenv.h>
 #include <eikappui.h>
-#include <eikcoctl.rsg>
+#include <EIKCOCTL.rsg>
 #include <eikedwin.h>
 #include <featmgr.h>
 #include <AknFepInternalCRKeys.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ReadingFieldEditorVisitor.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ReadingFieldEditorVisitor.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 // Phonebook 2
 #include <MPbk2ContactEditorField.h>
 #include <CPbk2PresentationContactField.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <MVPbkFieldType.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2SelectFieldDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2SelectFieldDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <CPbk2StorePropertyArray.h>
 #include <CPbk2UIExtensionManager.h>
 #include <MPbk2UIExtensionIconSupport.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2PresenceIconInfo.h>
 #include "CPbk2FieldAnalyzer.h"
 #include <CPbk2ApplicationServices.h>
@@ -338,9 +338,9 @@
     {
     if ( aKeyEvent.iCode == EKeyEscape )
         {
-        // When the popup list is prompting for selection, if the user closes Phonebook application from FSW, 
-        // the dialog is to be closed otherwise re-enter Phonebook would result in wrong UI behavior.
-        AttemptExitL( EFalse);
+        // when popup is pending for selection, contact is closed from FSW
+        // after application key is long pressed, dialog has to be closed
+        AttemptExitL( EFalse );
         }
     else
         {
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2SettingsListControl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2SettingsListControl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,7 +28,7 @@
 #include "Phonebook2PrivateCRKeys.h"
 
 // From Phonebook 2
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2UIExtensionManager.h>
 #include <MPbk2UIExtensionFactory.h>
 #include <MPbk2SettingsControlExtension.h>
@@ -38,8 +38,6 @@
 #include <centralrepository.h>
 #include <featmgr.h>
 #include <AknFepInternalCRKeys.h>
-#include <akncheckboxsettingpage.h>
-#include <sysutil.h>
 
 //Pbk2Debug
 #include "Pbk2Debug.h"
@@ -311,26 +309,6 @@
         //Edit selection setting item 
         //result is ETrue if OK pressed
         result = iSelectionSettingItem->EditItemL();
-        
-        TBool driveSpaceFull( EFalse );
-        driveSpaceFull = SysUtil::FFSSpaceBelowCriticalLevelL( &CCoeEnv::Static()->FsSession() );
-        if ( driveSpaceFull )
-            {
-            //If the disk is full, a write operation cannot complete. So restore 
-            //the previous state.
-            iEikonEnv->HandleError(KErrDiskFull);
-            CSelectionItemList& oldItem( iSettingListState->ItemListState() );
-            CSelectionItemList& item( iSettingListState->SelectionItemList() );
-            TInt count = item.Count();
-            for ( TInt i(0); i < count; ++i )
-                {
-                TBool select = oldItem.At(i)->SelectionStatus();
-                item.At(i)->SetSelectionStatus( select );
-                }
-            iSelectionSettingItem->RestoreStateL();
-            result = EFalse;
-            }
-        
         if ( result )
             {
             //Is selection setting list changed by user
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2SettingsListState.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2SettingsListState.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -135,16 +135,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2SettingsListState::ItemListState
-// --------------------------------------------------------------------------
-//
-CSelectionItemList& CPbk2SettingsListState::ItemListState()
-    {
-    __ASSERT_DEBUG( iItemListState, Panic(EPanicItemListStateNULL));
-    return *iItemListState;
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2SettingsListState::SupportedStores
 // --------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2StoreInfoItemBuilder.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2StoreInfoItemBuilder.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <RPbk2LocalizedResourceFile.h>
 #include <Pbk2DataCaging.hrh>
 #include <CPbk2StoreProperty.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2StorePropertyContentStoreName.h>
 #include <Pbk2StoreProperty.hrh>
 
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2StoreListQuery.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2StoreListQuery.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 
 #include <aknlistquerydialog.h>
 
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2ApplicationServices.h>
 #include <MPbk2AppUi.h>
 #include <CPbk2StoreProperty.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ThumbnailManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ThumbnailManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,7 +44,7 @@
 #include <MVPbkContactViewBase.h>
 
 //Pbk2
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2UID.h>
 
 namespace {
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ThumbnailPopup.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ThumbnailPopup.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,7 +28,7 @@
 #include <CPbk2IconInfoContainer.h>
 #include <TPbk2AppIconId.h>
 #include <TPbk2ImageManagerParams.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <MVPbkBaseContact.h>
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2UIFieldArray.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2UIFieldArray.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,7 @@
 
 #include "CPbk2UIFieldArray.h"
 #include "CPbk2UIField.h"
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Phonebook 2
 #include <RPbk2LocalizedResourceFile.h>
--- a/phonebookui/Phonebook2/UIControls/src/Pbk2AddressTools.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/Pbk2AddressTools.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,7 @@
 #include "Pbk2AddressTools.h"
 
 // Phonebook 2
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include "Pbk2UIFieldProperty.hrh"
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/UIControls/src/Pbk2ContactEditorFieldFactory.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/Pbk2ContactEditorFieldFactory.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -38,7 +38,7 @@
 #include "CPbk2ContactEditorUIAddressOfficeField.h"
 #include <MPbk2ContactEditorExtensionExtension.h>
 #include "CPbk2IconInfoContainer.h"
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 #include <MPbk2ContactEditorExtension.h>
 #include <Pbk2FieldProperty.hrh>
--- a/phonebookui/Phonebook2/UIControls/src/Pbk2ImageCommands.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/Pbk2ImageCommands.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,9 +36,9 @@
 #include <RPbk2LocalizedResourceFile.h>
 #include "Pbk2DataCaging.hrh"
 #include "Pbk2PresentationUtils.h"
-#include <pbk2commonui.rsg>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2CommonUi.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2Commands.rsg>
 
 #include <MPbk2ImageOperationObservers.h>   // MPbk2ImageSetObserver
 #include <AknServerApp.h>                   // MAknServerAppExitObserver
@@ -49,7 +49,7 @@
 #include <CVPbkContactManager.h>
 #include <TVPbkFieldTypeMapping.h>
 #include <MVPbkFieldType.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <barsread.h>
@@ -60,7 +60,7 @@
 #include <MGFetch.h>
 #include <DocumentHandler.h>            // CDocumentHandler
 #include <apmstd.h>                     // TDataType
-#include <pbk2cmdextres.rsg>
+#include <Pbk2CmdExtRes.rsg>
 #include <sysutil.h>
 #include <CPbk2ApplicationServices.h>
 #include <AknProgressDialog.h>
@@ -619,34 +619,27 @@
         services.ContactManager() );
 	CleanupStack::PushL( imageManager );
 	
-	const MVPbkFieldType* thumbType = services.ContactManager().FieldTypes().Find(
-	                R_VPBK_FIELD_TYPE_THUMBNAILPIC );
-	
-	// show a confirmation query if contact has an image
-	if (thumbType && imageManager->HasImage( *aContact, *thumbType ) )
-	    {
-	    if ( CAknQueryDialog::NewL()->ExecuteLD( 
-	            R_PHONEBOOK2_REMOVE_IMAGE_CONFIRMATION_DIALOG ) )
-	        {
-	        TPbk2StoreContactAnalyzer analyzer(
-	                services.ContactManager(), aContact );
-	        TInt imageIndex = analyzer.HasFieldL( R_PHONEBOOK2_IMAGE_SELECTOR );
+    if( CAknQueryDialog::NewL()->ExecuteLD(
+            R_PHONEBOOK2_REMOVE_IMAGE_CONFIRMATION_DIALOG ) )
+        {
+        TPbk2StoreContactAnalyzer analyzer(
+            services.ContactManager(), aContact );
+        TInt imageIndex = analyzer.HasFieldL( R_PHONEBOOK2_IMAGE_SELECTOR );
         
-	        if ( imageIndex != KErrNotFound )
-	            {
-	            //aContact->RemoveField( imageIndex );
-	            //Instead of above we don't remove the field, just zero it's data
-	            MVPbkContactFieldData& data(aContact->Fields().
-	                    FieldAt( imageIndex ).FieldData());
-	            MVPbkContactFieldTextData::Cast( data ).SetTextL(KNullDesC);
-	            }
+        if ( imageIndex != KErrNotFound )
+            {
+            //aContact->RemoveField( imageIndex );
+            //Instead of above we don't remove the field, just zero it's data
+            MVPbkContactFieldData& data(aContact->Fields().
+                FieldAt( imageIndex ).FieldData());
+            MVPbkContactFieldTextData::Cast( data ).SetTextL(KNullDesC);
+            }
         
-	        const MVPbkFieldType* thumbFieldType = ThumbnailFieldTypeL(services);
-	        imageManager->RemoveImage( *aContact, *thumbFieldType );
-	        }
-	    }
-	
+        const MVPbkFieldType* thumbFieldType = ThumbnailFieldTypeL(services);
+        imageManager->RemoveImage( *aContact, *thumbFieldType );
+        }
     CleanupStack::PopAndDestroy( imageManager );
+
     CleanupStack::PopAndDestroy(); // services
     
     return NULL; // synchronous operation
--- a/phonebookui/Phonebook2/UIControls/src/Pbk2RingtoneCommands.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/Pbk2RingtoneCommands.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,9 +29,9 @@
 #include <MPbk2ApplicationServices.h>
 #include <TPbk2StoreContactAnalyzer.h>
 
-#include <pbk2commonui.rsg>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2CommonUi.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2Commands.rsg>
 
 // VPbk includes
 #include <MVPbkStoreContact.h>
@@ -39,7 +39,7 @@
 #include <CVPbkContactManager.h>
 #include <TVPbkFieldTypeMapping.h>
 #include <MVPbkFieldType.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <AknQueryDialog.h>
--- a/phonebookui/Phonebook2/UIControls/src/Pbk2TitlePanePictureFactory.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/Pbk2TitlePanePictureFactory.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <CPbk2StoreProperty.h>
 #include <CPbk2StorePropertyArray.h>
 #include <CPbk2StoreViewDefinition.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // Virtual Phonebook
 #include <CVPbkContactViewDefinition.h>
--- a/phonebookui/Phonebook2/UIControls/src/TPbk2DeleteItemManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/TPbk2DeleteItemManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 // Phonebook 2
 #include "MPbk2ContactEditorFieldArray.h"
 #include <MPbk2ContactEditorField.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2PresentationContact.h>
 #include <CPbk2PresentationContactFieldCollection.h>
 #include <CPbk2PresentationContactField.h>
--- a/phonebookui/Phonebook2/UIControls/src/cpbk2contacteditornewowncontact.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/cpbk2contacteditornewowncontact.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -224,15 +224,16 @@
     {
     PBK2_DEBUG_PRINT( PBK2_DEBUG_STRING
         ( "CPbk2ContactEditorNewOwnContact::HandleIdleDelete(0x%x)" ), this );
-    iInputAbsorber->StopWait();   
-    // Notify client asynchronously to let Delete Operation complete firstly and
-    // then the client will be notified to do the other things in the RunL() function.
-    iLatestResult.iExtension = NULL;
-    iLatestResult.iStoreContact = NULL;
-    iLatestResult.iOpCode = MVPbkContactObserver::EContactDelete;
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
-    SetActive();
+
+    iInputAbsorber->StopWait();
+    MPbk2ContactEditorEventObserver* observer = iObserver;
+    iObserver = NULL;
+    MVPbkContactObserver::TContactOpResult result;
+    // Disable warnings by nulling the data members
+    result.iStoreContact = NULL;
+    result.iExtension = NULL;
+    result.iOpCode = MVPbkContactObserver::EContactDelete;
+    observer->ContactEditorOperationCompleted( result, iEditorParams );
     }
 
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/src/cpbk2contactviewcustomlistboxdata.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/cpbk2contactviewcustomlistboxdata.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -364,7 +364,9 @@
     
     iKineticScrolling = CAknPhysics::FeatureEnabled();
 
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     LoadMarkingIconsL();
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
 
     }
 
@@ -589,10 +591,12 @@
 //
 void CPbk2ContactViewCustomListBoxDataExtension::SkinChangedL()
     {
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     DeleteAnim();
     TryCreateAnimation();
     CreateColorBitmapsL();
     LoadMarkingIconsL();
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     }
 // -----------------------------------------------------------------------------
 // CPbk2ContactViewCustomListBoxDataExtension::SkinChanged
@@ -1184,6 +1188,7 @@
 //
 void CPbk2ContactViewCustomListBoxDataExtension::LoadMarkingIconsL()
     {
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     if ( !iMarkingIconArray )
         {
         iMarkingIconArray = new ( ELeave ) CAknIconArray( 2 );
@@ -1212,6 +1217,7 @@
     CleanupStack::PushL( icon );
     iMarkingIconArray->AppendL( icon );
     CleanupStack::Pop( icon );
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     }
 
 CCoeControl *CPbk2ContactViewCustomListBoxData::Control() const 
@@ -2035,6 +2041,7 @@
 
     TRgb aTextColor = aHighlight ? aColors.iHighlightedText : aColors.iText;
     
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     TBool markingMode = EFalse;
     TRect itemRect( aRect );
     
@@ -2050,6 +2057,7 @@
                     AknLayoutScalable_Avkon::list_single_graphic_pane_t1( 0 ).LayoutLine().il;
             }
         }
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
 
     MAknsSkinInstance *skin = AknsUtils::SkinInstance();
     MAknsControlContext *cc = AknsDrawUtils::ControlContext( Control() );
@@ -2065,8 +2073,13 @@
     
     if ( iExtension->iSubCellsMightIntersect )
         {
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
         CheckIfSubCellsIntersectL( &textLines[0], &rectClipped[0], *aText, itemRect );
         }
+#else
+        CheckIfSubCellsIntersectL( &textLines[0], &rectClipped[0], *aText, aRect );
+        }
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
     MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( &aGc );
 #endif // RD_UI_TRANSITION_EFFECTS_LIST
@@ -2107,6 +2120,7 @@
         }
     DrawHighLight( aGc, aRect, aHighlight, skin );
     
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     if ( markingMode && !aItemProperties.IsSelectionHidden() )
         {
         TAknLayoutRect layoutRect;
@@ -2140,6 +2154,7 @@
             }
         
         }
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     
     // The column draw loop
     column = 0;
@@ -2255,8 +2270,13 @@
                 }
             
             TAknLayoutText textLayout;
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
             textLayout.LayoutText( itemRect, textLineLayout, usedFont );
             TRect layoutedRect( itemRect);
+#else
+            textLayout.LayoutText( aRect, textLineLayout, usedFont );
+            TRect layoutedRect( aRect );
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
                           
             // *2 == leave some room for marquee
             const TInt maxlen( KMaxColumnDataLength * 2 ); 
@@ -2303,7 +2323,11 @@
                 {
                 iExtension->iMarquee->UseLogicalToVisualConversion( bidiConv );
                 
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
                 if ( iExtension->iMarquee->DrawText( aGc, itemRect, textLineLayout, convBuf, usedFont, textColor ) )
+#else
+                if ( iExtension->iMarquee->DrawText( aGc, aRect, textLineLayout, convBuf, usedFont, textColor ) )
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
                     {
                     // all the loops have been executed
                     textLayout.DrawText( aGc, convBuf, bidiConv, textColor );
@@ -2405,7 +2429,11 @@
             TAknWindowLineLayout graphicLayout = iExtension->AtSL(subCellIndex).iGraphicLayout;
             TAknLayoutRect graphicRect; 
             
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
             graphicRect.LayoutRect( itemRect,graphicLayout );
+#else
+            graphicRect.LayoutRect(aRect,graphicLayout);
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
             TSize graphicSize( graphicRect.Rect().Size() );
             
             if (index>=0 && IconArray())
@@ -2500,6 +2528,7 @@
         return;
         }
 
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     CEikListBox* listbox = static_cast<CEikListBox*>( iExtension->iControl );
     TBool markingMode = EFalse;
     TRect itemRect( aRect );
@@ -2516,12 +2545,19 @@
                 AknLayoutScalable_Avkon::list_single_graphic_pane_t1( 0 ).LayoutLine().il;
             }
         }
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     
     TInt extraVerticalSpace=(aRect.Height()-font->HeightInPixels());
     TInt baseLineOffset=extraVerticalSpace/2+font->AscentInPixels();
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     TRect textRect( itemRect );
     TRect textMRect; // textrect with margins.
     textRect.iBr.iX = itemRect.iTl.iX;
+#else
+    TRect textRect( aRect );
+    TRect textMRect; // textrect with margins.
+    textRect.iBr.iX=aRect.iTl.iX;
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     TInt column=0;
     TPtrC text;
 
@@ -2531,12 +2567,20 @@
     // be too difficult to do without - and this is cleaner solution.
     
     // pass 1, figures out x-coordinates for columns.
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     TInt x = itemRect.iTl.iX;
+#else
+    TInt x = aRect.iTl.iX;
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     
     TBool mirror = AknLayoutUtils::LayoutMirrored();
     if (mirror)
         {
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
         x = itemRect.iBr.iX;
+#else
+        x = aRect.iBr.iX;
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
         }
     TInt maxx = x;
     while(column <= lastColumn)
@@ -2609,6 +2653,15 @@
         cc = SkinBackgroundContext();
         }
 
+#ifndef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
+    // aRect is list item's rect, width of which is smaller than width of the list
+    // with a scroll bar. List needs to draw under scroll bar anyway, so we need to
+    // modify given rect here.
+    TRect r(aRect);
+    
+    CEikListBox* listbox = static_cast<CEikListBox*>( iExtension->iControl );
+#endif // !PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
+
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
 
     MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( &aGc );
@@ -2644,8 +2697,13 @@
 #endif // RD_UI_TRANSITION_EFFECTS_LIST
         }
     
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     if ( iExtension->iCurrentRow < listbox->BottomItemIndex() )
-
+#else
+    CEikListBox* list = static_cast<CEikListBox*>( iExtension->iControl );
+
+    if ( iExtension->iCurrentRow < list->BottomItemIndex() )
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
         {
         AknListUtils::DrawSeparator( aGc, aRect, aColors.iText, skin );
         }
@@ -2662,6 +2720,7 @@
         }
 #endif // RD_UI_TRANSITION_EFFECTS_LIST
 
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     if ( markingMode && !aItemProperties.IsSelectionHidden() )
         {
         TAknLayoutRect layoutRect;
@@ -2702,6 +2761,7 @@
                               EFalse );
             }
         }
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     
     // The column draw loop
     column = 0;
@@ -3322,8 +3382,11 @@
     // too.
     if( KAknsMessageSkinChange == aType )
         {
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
         TRAP_IGNORE( iExtension->SkinChangedL() );
-
+#else
+        iExtension->SkinChanged();
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
         }
     else if(aType == KEikDynamicLayoutVariantSwitch)
         {
--- a/phonebookui/Phonebook2/UIControls/src/cpbk2contactviewcustomlistboxitemdrawer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/cpbk2contactviewcustomlistboxitemdrawer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -148,6 +148,19 @@
     data->SetItemCellSize( iItemCellSize );
     }
 
+#ifndef RD_TOUCH2
+void CPbk2ContactViewCustomListBoxItemDrawer::DrawCurrentItemRect(const TRect& aRect) const
+//
+//    Draw the item background
+//
+    {
+    iGc->SetClippingRect(iViewRect);
+    iGc->SetBrushStyle(CGraphicsContext::ENullBrush);
+    iGc->SetPenColor(iHighlightedBackColor);    // KDefaultLbxHighlightRectColor
+    iGc->DrawRect(aRect);
+    iGc->CancelClippingRect();
+    }
+#endif // !RD_TOUCH2
 
 /**
 * Returns a pointer to the column data. Does not imply transfer of ownership.
@@ -197,11 +210,13 @@
     TInt pos = -1;
     
     TBool removeicon = (!aItemIsSelected && !ItemMarkReverse()) || (aItemIsSelected && ItemMarkReverse()); 
+#ifdef PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     
     if ( Flags() & CListItemDrawer::EMarkingModeEnabled )
         {
         removeicon = EFalse;
         }
+#endif // PBK2_AVKON_TOUCH_MARKINGMODE_CHANGES
     if ( Flags() & EDrawMarkSelection && ItemMarkPosition() != -1 && removeicon)
         {
         repl.Set( ItemMarkReplacement() );
@@ -294,18 +309,7 @@
 
 TListItemProperties CPbk2ContactViewCustomListBoxItemDrawer::Properties(TInt aItemIndex) const
     {
-    if ( !iPropertyArray )
-        {
-        TListItemProperties prop( 
-            CTextListItemDrawer::Properties( aItemIndex ) );       
-        // Do not allow marking other than contact items
-        if ( !ColumnData()->IsContactAtListboxIndex( aItemIndex ) )
-            {
-            prop.SetHiddenSelection( ETrue );
-            }      
-        return prop;
-        }
-    
+    if (!iPropertyArray) return CTextListItemDrawer::Properties(aItemIndex);
     CAknListBoxFilterItems *filter = STATIC_CAST(CAknFilteredTextListBoxModel*,iModel)->Filter();
     if (filter)
         {
--- a/phonebookui/Phonebook2/UIControls/src/cpbk2predictiveviewstack.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/cpbk2predictiveviewstack.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 // Phonebook 2 / Virtual Phonebook
 #include <MVPbkContactViewFiltering.h>
 #include <CVPbkContactFindPolicy.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkViewContact.h>
 #include <CVPbkContactIdConverter.h>
 #include <MPbk2AppUi.h>
--- a/phonebookui/Phonebook2/UIPolicy/inc/CPbk2ContactViewSortPolicy.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIPolicy/inc/CPbk2ContactViewSortPolicy.h	Wed Oct 13 14:15:33 2010 +0300
@@ -73,17 +73,6 @@
                 TParam* aParam );
         TInt PostProcessResult(
                 TInt aSortUtilResult );
-        /**
-         * Get the index of top contact field in sort order list
-         */
-        TInt GetTopContactFieldIndex();
-        /** 
-         * Set sortkey array item from one field
-         */
-        void SetSortKey(
-        		CPbk2SortKeyArray* aSortKeyArray,
-        		const MVPbkBaseContactField* aField,
-        		TInt aIndex );
 
     private: // Data
         /// Own: Sort Util to forward sorting requests
@@ -101,8 +90,6 @@
         TPbk2SortOrderFieldMapper iFieldMapper;
         /// Own: Indicates succesfull initialization
         TBool iSortPolicyParameterReceived;
-        /// Index of top contact field in iSortOrder
-        TInt iTopContactId;
     };
 
 #endif // CPBK2CONTACTVIEWSORTPOLICY_H
--- a/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactCopyPolicy.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactCopyPolicy.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <Pbk2ContactFieldCopy.h>
 #include <RPbk2LocalizedResourceFile.h>
 #include <Pbk2DataCaging.hrh>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactFieldCopyObserver.h>
@@ -48,7 +48,7 @@
 #include <MVPbkContactOperationBase.h>
 #include <MVPbkContactAttributeManager.h>
 #include <VPbkUtils.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <coemain.h>
--- a/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactDuplicatePolicy.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactDuplicatePolicy.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,7 +27,7 @@
 #include <RPbk2LocalizedResourceFile.h>
 #include "Pbk2DataCaging.hrh"
 #include "Pbk2PresentationUtils.h"
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <CVPbkFieldTypeSelector.h>
 #include <CVPbkFieldTypeIterator.h>
 #include <CVPbkFieldTypeRefsList.h>
--- a/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactFindPolicy.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactFindPolicy.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include <CVPbkContactFieldIterator.h>
 #include <MVPbkContactFieldTextData.h>
 #include <VPbkContactStoreUris.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkContactFieldTextData.h>
 #include <MVPbkBaseContactFieldCollection.h>
 
@@ -214,9 +214,10 @@
         {
         FeatureManager::InitializeLibL();
         TBool chinese = FeatureManager::FeatureSupported( KFeatureIdChinese );
+        FeatureManager::UnInitializeLib();
         
-        TBool korean = FeatureManager::FeatureSupported( KFeatureIdKorean );
-        FeatureManager::UnInitializeLib();
+        TBool korean = (User::Language() == ELangKorean);
+
         if ( chinese || korean )
             {
             match = MatchChineseContactNameL( aFindWords, aContact );
--- a/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactViewSortPolicy.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIPolicy/src/CPbk2ContactViewSortPolicy.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include "CPbk2SortKeyArray.h"
 #include "RPbk2LocalizedResourceFile.h"
 #include "Pbk2DataCaging.hrh"
-#include <pbk2uipolicyres.rsg>
+#include <Pbk2UIPolicyRes.rsg>
 
 // Virtual Phonebook
 #include <MVPbkFieldType.h>
@@ -43,12 +43,6 @@
 // Debugging headers
 #include <Pbk2Profile.h>
 
-#include <vpbkeng.rsg>
-
-// Greater than any practical top contact number string
-// which is in form like '0000000001'.
-_LIT(KBigNumStr, "9999999999");
-
 
 /// Unnamed namespace for local definitions
 namespace {
@@ -178,8 +172,6 @@
         iSortOrder = CVPbkSortOrder::NewL(aParam->iSortOrder);
         iFieldMapper.SetSortOrder(*iSortOrder);
 
-        iTopContactId = GetTopContactFieldIndex();
-
         RPbk2LocalizedResourceFile resFile(aParam->iFs);
         resFile.OpenLC( KPbk2RomFileDrive, KDC_RESOURCE_FILES_DIR,
             KResourceFile );
@@ -213,8 +205,6 @@
     delete iSortOrder;
     iSortOrder = sortOrder;
     iFieldMapper.SetSortOrder( *iSortOrder );
-
-    iTopContactId = GetTopContactFieldIndex();
     }
 
 // --------------------------------------------------------------------------
@@ -285,14 +275,34 @@
         const TInt lhsCount = iFieldMapper.FieldCount();
         for ( i = 0; i < lhsCount; ++i )
             {
-            SetSortKey( iLeftSortKeyArray, iFieldMapper.FieldAt(i), i );
+            const MVPbkBaseContactField* lhsField =
+                iFieldMapper.FieldAt( i );
+            if ( lhsField )
+                {
+                iLeftSortKeyArray->SetText( MVPbkContactFieldTextData::Cast
+                    ( lhsField->FieldData() ).Text(), i );
+                }
+            else
+                {
+                iLeftSortKeyArray->SetText( KNullDesC, i );
+                }
             }
 
         iFieldMapper.SetContactFields( aRhs.Fields() );
         const TInt rhsCount = iFieldMapper.FieldCount();
         for ( i = 0; i < rhsCount; ++i )
             {
-            SetSortKey( iRightSortKeyArray, iFieldMapper.FieldAt(i), i );
+            const MVPbkBaseContactField* rhsField =
+                iFieldMapper.FieldAt( i );
+            if ( rhsField )
+                {
+                iRightSortKeyArray->SetText( MVPbkContactFieldTextData::Cast
+                    ( rhsField->FieldData() ).Text(), i );
+                }
+            else
+                {
+                iRightSortKeyArray->SetText( KNullDesC, i );
+                }
             }
 
 PBK2_PROFILE_END( Pbk2Profile::ESortPolicyCompareContacts );
@@ -382,60 +392,4 @@
     return result;
     }
 
-// --------------------------------------------------------------------------
-// CPbk2ContactViewSortPolicy::GetTopContactFieldIndex
-// --------------------------------------------------------------------------
-//
-TInt CPbk2ContactViewSortPolicy::GetTopContactFieldIndex()
-    {
-    TInt index = KErrNotFound;
-    for ( TInt i=0; i<iSortOrder->FieldTypeCount(); i++ )
-        {
-        // Resource id of top contact field is R_VPBK_FIELD_TYPE_TOPCONTACT.
-        if ( iSortOrder->FieldTypeAt( i ).FieldTypeResId() == 
-                R_VPBK_FIELD_TYPE_TOPCONTACT )
-            {
-            index = i;
-            break;
-            }
-        }
-    return index;
-    }
-
-// --------------------------------------------------------------------------
-// CPbk2ContactViewSortPolicy::SetSortKey
-// --------------------------------------------------------------------------
-//
-void CPbk2ContactViewSortPolicy::SetSortKey(
-        CPbk2SortKeyArray* aSortKeyArray,
-        const MVPbkBaseContactField* aField,
-        TInt aIndex )
-    {
-    TInt textLen = 0;
-    if ( aField )
-        {
-        TPtrC text = MVPbkContactFieldTextData::Cast
-            ( aField->FieldData() ).Text();
-        aSortKeyArray->SetText( text, aIndex );
-        textLen = text.Length();
-        }
-    if ( textLen == 0 )
-        {
-        if ( aIndex == iTopContactId )
-            {
-            // For some variants such as Chinese variant, 
-            // empty string is less than not empty string. 
-            // This will make topic contacts which have substantial top contact
-            // id strings after those with empty id strings.
-            // To prevent this, use a big number string instead of empty string 
-            // and make sure top contacts in front of other contacts.
-            aSortKeyArray->SetText( KBigNumStr, aIndex );
-            }
-        else
-            {
-            aSortKeyArray->SetText( KNullDesC, aIndex );
-            }
-        }
-    }
-
 //  End of File
--- a/phonebookui/Phonebook2/UIServices/src/CPbk2AiwAssignProvider.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIServices/src/CPbk2AiwAssignProvider.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,8 +22,8 @@
 #include "CPbk2ServerAppConnection.h"
 #include "Pbk2UIServices.hrh"
 #include <Pbk2IPCPackage.h>
-#include <pbk2uiservicesres.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UiServicesRes.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2DataCaging.hrh>
 #include <Pbk2MimeTypeHandler.h>
 #include <Pbk2InternalUID.h>
--- a/phonebookui/Phonebook2/USIMExtension/inc/CPsu2CopyToSimFieldInfoArray.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/inc/CPsu2CopyToSimFieldInfoArray.h	Wed Oct 13 14:15:33 2010 +0300
@@ -120,16 +120,8 @@
         * @return a reference to item in given index
         */
         inline const TPsu2CopyToSimFieldInfo& operator[](TInt aIndex) const;
-                
-        /**
-        * Remove the fieldinfo which target type is not supported.
-        * Some target types defined in the rss file are not supported because of the limit
-        * of the sim card support. So the unsupported types must be removed from mapping 
-        * array.
-        * @param aSupportedTypes: the supported type list.
-        */
-        void RemoveUnSupportedFieldInfo( const MVPbkFieldTypeList& aSupportedTypes );
-               
+
+        
         /**
         * @param aSourceType the source field type
         * @return the info that for the aSourceType or NULL
--- a/phonebookui/Phonebook2/USIMExtension/inc/CPsu2FixedDialingView.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/inc/CPsu2FixedDialingView.h	Wed Oct 13 14:15:33 2010 +0300
@@ -24,8 +24,6 @@
 #include <MPbk2EditedContactObserver.h>
 #include <MVPbkSingleContactOperationObserver.h>
 #include <MVPbkContactObserver.h>
-#include <aknmarkingmodeobserver.h>
-
 
 // FORWARD DECLARATIONS
 class CAknNavigationControlContainer;
@@ -47,8 +45,7 @@
 class CPsu2FixedDialingView : public CPsu2NameListViewBase,
                               public MPbk2EditedContactObserver,
                               public MVPbkSingleContactOperationObserver,
-                              public MVPbkContactObserver,
-                              public MAknMarkingModeObserver
+                              public MVPbkContactObserver                                  
     {
     public:  // Constructors and destructor
        
@@ -88,25 +85,6 @@
         void HandleControlEventL(
             MPbk2ContactUiControl& aControl,
             const TPbk2ControlEvent& aEvent );
-        
-    public: // From MAknMarkingModeObserver 
-            
-        /**
-         * This method is called when marking mode is activated or deactivated.
-         * 
-         * @param aActivated @c ETrue if marking mode was activate, @c EFalse
-         *                   if marking mode was deactivated.
-         */
-        void MarkingModeStatusChanged( TBool aActivated );
-
-        /**
-         * This method is called just before marking mode is closed. Client can 
-         * either accept or decline closing.
-         * 
-         * @return @c ETrue if marking mode should be closed, otherwise @c EFalse.
-         */
-        TBool ExitMarkingMode() const;
-
 
     private: // From CPsu2NameListViewBase
         void UpdateCbasL();
@@ -182,9 +160,6 @@
         
         /// Ref: Eliminator of current contact editing dialog
         MPbk2DialogEliminator* iDlgEliminator;
-        // Flag to indicate whether Marking mode is active
-        TBool iMarkingModeOn;
-
     };
 
 #endif // CPSU2FIXEDDIALINGVIEW_H
--- a/phonebookui/Phonebook2/USIMExtension/inc/Pbk2USimUI.rh	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/inc/Pbk2USimUI.rh	Wed Oct 13 14:15:33 2010 +0300
@@ -49,7 +49,7 @@
     {
     // VPBK_FIELD_TYPE_SELECTOR that defines the fields that are mapped from
     STRUCT sourceTypeSelector;
-    // The SIM field type resource id, from vpbkeng.rsg
+    // The SIM field type resource id, from VPbkEng.rsg
     LONG targetSimType;
     // Flags defined in Pbk2UsimUi.hrh
     BYTE flags = 0;
--- a/phonebookui/Phonebook2/USIMExtension/rss/Pbk2USimFixedDialingView.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/rss/Pbk2USimFixedDialingView.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -51,11 +51,11 @@
             },
         MENU_TITLE
             {
-            menu_pane = R_AVKON_MENUPANE_MARK_MULTIPLE;
+            menu_pane = r_psu2_fixed_dialing_copy_menupane;
             },
         MENU_TITLE
             {
-            menu_pane = r_psu2_fixed_dialing_copy_menupane;
+            menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST;
             },
         MENU_TITLE
             {
--- a/phonebookui/Phonebook2/USIMExtension/rss/Pbk2USimSimCopy.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/rss/Pbk2USimSimCopy.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // -----------------------------------------------------------------------------
 //   
@@ -218,152 +218,6 @@
         };
     }
 
-// -----------------------------------------------------------------------------
-//   
-// R_PSU2_COPY_TO_USIM_FIELDTYPE_MAPPINGS
-// A array that defines the rules for copying fields to the usim
-// with additional numbers
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE PSU2_COPY_TO_SIM_FIELDTYPE_MAPPINGS r_psu2_copy_to_usim_fieldtype_mappings
-    {
-    items =
-        {
-        PSU2_COPY_TO_SIM_FIELDTYPE_MAPPING
-            {
-            // Source: all email types
-            sourceTypeSelector = VPBK_FIELD_TYPE_SELECTOR
-                {
-                versitProperties = 
-                    {
-                    VBK_FIELD_VERSIT_PROPERTY
-                        {
-                        name = EVPbkVersitNameEMAIL;
-                        }
-                    };
-                };
-            // Target: USIM supports only general email
-            targetSimType = R_VPBK_FIELD_TYPE_EMAILGEN;
-            iBlockingError = KPsu2EMailFullError;
-            },
-        //To handle the situation of USIM supports more than one additional number.
-        PSU2_COPY_TO_SIM_FIELDTYPE_MAPPING
-            {
-            sourceTypeSelector = VPBK_FIELD_TYPE_SELECTOR
-                {
-                versitProperties = 
-                    {
-                        VBK_FIELD_VERSIT_PROPERTY
-                        {
-                        name = EVPbkVersitNameTEL;
-                        parameters = { EVPbkVersitParamHOME };
-                        }
-                    };
-                excludedParameters ={ EVPbkVersitParamFAX, EVPbkVersitParamWORK, 
-                        EVPbkVersitParamCELL, EVPbkVersitParamVIDEO };
-                };
-            // Target: USIM supports telephone( home )
-            targetSimType = R_VPBK_FIELD_TYPE_LANDPHONEHOME;
-            flags = 0;
-            },
-        PSU2_COPY_TO_SIM_FIELDTYPE_MAPPING
-            {
-            sourceTypeSelector = VPBK_FIELD_TYPE_SELECTOR
-                {
-                versitProperties = 
-                    {
-                    VBK_FIELD_VERSIT_PROPERTY
-                        {
-                        name = EVPbkVersitNameTEL;
-                        parameters = { EVPbkVersitParamWORK };
-                        }
-                    };
-                excludedParameters ={ EVPbkVersitParamFAX, EVPbkVersitParamHOME, 
-                        EVPbkVersitParamCELL, EVPbkVersitParamVIDEO };
-                };
-
-            // Target: USIM supports telephone( work )
-            targetSimType = R_VPBK_FIELD_TYPE_LANDPHONEWORK;
-            flags = 0;
-            },
-        PSU2_COPY_TO_SIM_FIELDTYPE_MAPPING
-            {
-            sourceTypeSelector = VPBK_FIELD_TYPE_SELECTOR
-                {
-                versitProperties = 
-                    {
-                    VBK_FIELD_VERSIT_PROPERTY
-                        {
-                        name = EVPbkVersitNameTEL;
-                        parameters = { EVPbkVersitParamFAX };
-                        },
-                    VBK_FIELD_VERSIT_PROPERTY
-                        {
-                        name = EVPbkVersitNameTEL;
-                        parameters = { EVPbkVersitParamFAX, EVPbkVersitParamHOME };
-                        },
-                    VBK_FIELD_VERSIT_PROPERTY
-                        {
-                        name = EVPbkVersitNameTEL;
-                        parameters = { EVPbkVersitParamFAX,EVPbkVersitParamWORK};
-                        }
-                    };
-                excludedParameters ={ EVPbkVersitParamCELL, EVPbkVersitParamVIDEO };
-                };
-            // Target: USIM supports only fax general
-            targetSimType = R_VPBK_FIELD_TYPE_FAXNUMBERGEN;
-            flags = 0;
-            },
-        PSU2_COPY_TO_SIM_FIELDTYPE_MAPPING
-            {
-            // Source: all number types
-            sourceTypeSelector = VPBK_FIELD_TYPE_SELECTOR
-                {
-                versitProperties = 
-                    {
-                    VBK_FIELD_VERSIT_PROPERTY
-                        {
-                        name = EVPbkVersitNameTEL;
-                        },
-                    VBK_FIELD_VERSIT_PROPERTY
-                        {            
-                        name = EVPbkVersitNameX;
-                        extensionName = "X-ASSISTANT-TEL";            
-                        }
-                    };
-                nonVersitType =
-                    {
-                    EVPbkNonVersitTypeDTMF
-                    };
-                };
-            // Target: SIM supports only mobile general
-            targetSimType = R_VPBK_FIELD_TYPE_MOBILEPHONEGEN;
-            flags = 0;
-            },
-        PSU2_COPY_TO_SIM_FIELDTYPE_MAPPING
-            {
-            // Source: nick name
-            sourceTypeSelector = VPBK_FIELD_TYPE_SELECTOR
-                {
-                versitProperties =
-                    {
-                    VBK_FIELD_VERSIT_PROPERTY
-                        {
-                        name = EVPbkVersitNameX;
-                        extensionName = "X-NICKNAME";
-                        }
-                    };
-                };
-            // Target: nick name
-            targetSimType = R_VPBK_FIELD_TYPE_SECONDNAME;
-            // Nick name can be truncated.
-            flags = KPsu2AllowedToTruncate;
-            iBlockingError = KPsu2SecondNameFullError;
-            }
-        };
-    }
-
 // End of File
 
 
--- a/phonebookui/Phonebook2/USIMExtension/rss/Pbk2USimUiRes.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/rss/Pbk2USimUiRes.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -25,8 +25,8 @@
 #include <Pbk2USimUI.hrh>
 #include <Pbk2Icons.hrh>
 #include <Pbk2IconArrayId.hrh>
-#include <pbk2commands.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2Commands.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2UIControls.rh>
 #include <Pbk2UIControls.hrh>
 #include <Pbk2IconInfo.rh>
@@ -49,7 +49,7 @@
 #include <VPbkContactView.rh>
 #include <VPbkFieldType.rh>
 #include <VPbkStoreUriDefinitions.hrh>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <VPbkFieldType.hrh>
 
 // System includes
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2ContactCopyInspector.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2ContactCopyInspector.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <CVPbkFieldTypeRefsList.h>
 #include <MVPbkStoreContact.h>
 #include <CVPbkContactFieldIterator.h>
-#include <vpbkeng.rsg>  // field type res ids
+#include <VPbkEng.rsg>  // field type res ids
 
 CPsu2ContactCopyInspector::CPsu2ContactCopyInspector
     ( MPbk2ContactNameFormatter& aNameFormatter )
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2ContactEditorExtension.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2ContactEditorExtension.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,9 +22,9 @@
 #include "CPsu2CharConv.h"
 #include "CPsu2FdnContactEditorPhoneNumberField.h"
 #include <CPbk2UIExtensionPlugin.h>
-#include <pbk2usimuires.rsg>
-#include <pbk2uicontrols.rsg>
-#include <pbk2commonui.rsg>
+#include <Pbk2USimUIRes.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2CommonUi.rsg>
 #include <Pbk2UIControls.hrh>
 #include <MPbk2ContactEditorControl.h>
 #include <CPbk2StoreProperty.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyAllToPbkCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyAllToPbkCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -34,11 +34,11 @@
 #include <Pbk2UID.h>
 /// Use R_PBK2_GENERAL_CONFIRMATION_QUERY from UI controls
 /// As a core components UiControl's resource file is loaded in core Pbk2
-#include <pbk2uicontrols.rsg>
-#include <pbk2usimuires.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2USimUIRes.rsg>
 /// Use R_GENERAL_COPY_PROGRESS_NOTE from Commands
 /// As a core components Command's resource file is loaded in core Pbk2
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <Pbk2DataCaging.hrh>
 #include <MPbk2AppUi.h>
 #include <MPbk2ApplicationServices.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyFromPbkCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyFromPbkCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,20 +30,20 @@
 #include <CPbk2FetchDlg.h>
 #include <MPbk2FetchDlgObserver.h>
 #include <CPbk2FieldPropertyArray.h>
-#include <pbk2uicontrols.rsg>
-#include <pbk2usimuires.rsg>
+#include <Pbk2UIControls.rsg>
+#include <Pbk2USimUIRes.rsg>
 #include <TPbk2AddressSelectParams.h>
 #include <CPbk2AddressSelect.h>
 #include <Pbk2DataCaging.hrh>
 #include <MPbk2ContactNameFormatter.h>
 #include <MPbk2DialogEliminator.h>
 #include <Pbk2ProcessDecoratorFactory.h>
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <CPbk2StoreProperty.h>
 #include <CPbk2StorePropertyArray.h>
 #include <MPbk2ApplicationServices.h>
 #include <MPbk2AppUi.h>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // Virtual Phonebook
 #include <MVPbkStoreContact.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyToSimCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyToSimCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,12 +29,12 @@
 #include <MPbk2ContactNameFormatter.h>
 #include <MPbk2CommandObserver.h>
 #include <Pbk2ProcessDecoratorFactory.h>
-#include <pbk2usimuires.rsg>
+#include <Pbk2USimUIRes.rsg>
 #include <CPbk2StorePropertyArray.h>
 #include <CPbk2StoreProperty.h>
 #include <CPbk2ApplicationServices.h>
 #include <MPbk2AppUi.h>
-#include <pbk2commonui.rsg>
+#include <Pbk2CommonUi.rsg>
 
 // Virtual Phonebook
 #include <MVPbkContactStoreProperties.h>
@@ -299,13 +299,6 @@
     PBK2_DEBUG_PRINT( PBK2_DEBUG_STRING
         ( "CPsu2CopyToSimCmd::RunError %d" ), aError );
     CCoeEnv::Static()->HandleError(aError);
-    
-    // If the copy operation is cancelled due to error occurred, update the 
-    // ui control and reset the command pointer before it is destructed.
-    if ( iNameListUiControl )
-        {
-        iNameListUiControl->UpdateAfterCommandExecution();
-        }
     if ( iCommandObserver )
         {
         iCommandObserver->CommandFinished(*this);
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyToSimFieldInfoArray.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2CopyToSimFieldInfoArray.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,8 +23,8 @@
 
 #include <RPbk2LocalizedResourceFile.h>
 #include <Pbk2DataCaging.hrh>
-#include <pbk2usimuires.rsg>
-#include <pbk2commonui.rsg>
+#include <Pbk2USimUIRes.rsg>
+#include <Pbk2CommonUi.rsg>
 
 #include <TVPbkFieldTypeMapping.h>
 #include <CVPbkFieldTypeSelector.h>
@@ -33,8 +33,8 @@
 #include <coemain.h>
 #include <barsread.h>
 #include <gsmerror.h>
-#include <featmgr.h>
-#include <vpbkeng.rsg>
+
+#include <VPbkEng.rsg>
 
 namespace
 {
@@ -86,9 +86,9 @@
         MVPbkFieldTypeSelector& SourceTypeSelector() const;
         
         /**
-         * Returns the resource id (vpbkeng.rsg) of the target field type.
+         * Returns the resource id (VPbkEng.rsg) of the target field type.
          *
-         * @return the resource id (vpbkeng.rsg) of the target field type.
+         * @return the resource id (VPbkEng.rsg) of the target field type.
          */
         TInt TargetFieldtypeResId() const;
     
@@ -112,7 +112,7 @@
     private: // Data
         /// Own: source field type selector
         CVPbkFieldTypeSelector* iSourceTypeSelector;
-        /// Own: target field type resource id (vpbkeng.rsg)
+        /// Own: target field type resource id (VPbkEng.rsg)
         TInt iTargetFieldTypeResId;
         /// Flags from Pbk2UsimUi.hrh
         TUint8 iFlags;
@@ -239,19 +239,10 @@
     RPbk2LocalizedResourceFile resFile( &aFs );
     resFile.OpenLC(KPbk2RomFileDrive,
         KDC_RESOURCE_FILES_DIR, KPsu2USimExtensionResFile);
-    FeatureManager::InitializeLibL();
+    
     TResourceReader reader;
-    if( !FeatureManager::FeatureSupported( 
-                    KFeatureIdFfTdClmcontactreplicationfromphonebooktousimcard ) )
-        {
-        reader.SetBuffer( 
-               resFile.AllocReadLC( R_PSU2_COPY_TO_SIM_FIELDTYPE_MAPPINGS ) );
-        }
-    else
-        {
-        reader.SetBuffer( 
-               resFile.AllocReadLC( R_PSU2_COPY_TO_USIM_FIELDTYPE_MAPPINGS ) );
-        }
+    reader.SetBuffer( 
+        resFile.AllocReadLC( R_PSU2_COPY_TO_SIM_FIELDTYPE_MAPPINGS ) );
     
     // Go through all mappings in resource and create a mapping array
     const TInt count = reader.ReadInt16();
@@ -308,7 +299,6 @@
     iInfoArray.Close();
     iMatchedTypes.Close();
     delete iNumberKeyMap;
-    FeatureManager::UnInitializeLib();
     }
 
 // -----------------------------------------------------------------------------
@@ -330,25 +320,6 @@
         }
     return result;
     }
-
-// -----------------------------------------------------------------------------
-// CPsu2CopyToSimFieldInfoArray::RemoveUnSupportedTargetTypeFieldInfo
-// -----------------------------------------------------------------------------
-//
-void CPsu2CopyToSimFieldInfoArray::RemoveUnSupportedFieldInfo( const MVPbkFieldTypeList& aSupportedTypes )
-    {
-    // Check all the field info in the iInfoArray, if the target of the fieldinfo 
-    // is not contained in the supportedTypes, Remove it from iInfoArray.
-    TInt i = iInfoArray.Count() - 1;
-    while( i >= 0 )
-        {
-        if( !aSupportedTypes.ContainsSame( iInfoArray[i].SimType()))
-            {
-            iInfoArray.Remove( i );
-            }
-        i --;
-        }
-    }
     
 // -----------------------------------------------------------------------------
 // CPsu2CopyToSimFieldInfoArray::SimNameType
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2FdnContactEditorPhoneNumberField.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2FdnContactEditorPhoneNumberField.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -208,10 +208,8 @@
     iControl->CreateTextViewL();
     iCaptionedCtrl = iUiBuilder.LineControl( ControlId() );
     iCaptionedCtrl->SetTakesEnterKey( ETrue );
-    
-    // Enable partial screen input
-    TInt flags = iControl->AknEditorFlags();
-    iControl->SetAknEditorFlags(flags | EAknEditorFlagEnablePartialScreen);
+
+
     }
 
 // -----------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2FixedDialingCall.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2FixedDialingCall.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,7 @@
 #include "CPsu2NumberQueryDlg.h"
 #include <CPbk2FieldPropertyArray.h>
 #include <MPbk2FieldProperty.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2CommandHandler.h>
 #include <CPbk2AppViewBase.h>
 #include <CPbk2ContactUiControlSubstitute.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2FixedDialingInfoView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2FixedDialingInfoView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -27,10 +27,10 @@
 #include <MPbk2ViewActivationTransaction.h>
 #include <CPbk2AppUiBase.h>
 #include <MPbk2ViewExplorer.h>
-#include <pbk2usimuires.rsg>
+#include <Pbk2USimUIRes.rsg>
 #include <CPbk2ViewState.h>
 #include <MPbk2ContactUiControl.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2CommandHandler.h>
 #include <MPbk2ApplicationServices.h>
 #include <TPbk2ContactEditorParams.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2FixedDialingView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2FixedDialingView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -32,8 +32,8 @@
 #include <CPbk2ContactEditorDlg.h>
 #include <CPbk2FieldPropertyArray.h>
 #include <MPbk2FieldProperty.h>
-#include <pbk2usimuires.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2USimUIRes.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2NamesListControl.h>
 #include <CPbk2ControlContainer.h>
 #include <CPbk2ViewState.h>
@@ -149,8 +149,7 @@
         CPbk2UIExtensionView& aExtensionView,
         CPsu2ViewManager& aViewManager ) :
     CPsu2NameListViewBase( aExtensionView, aViewManager ),
-    iShowFdnNotActiveNote( ETrue ),
-    iMarkingModeOn( EFalse )
+    iShowFdnNotActiveNote( ETrue )
     {
     }
 
@@ -525,6 +524,11 @@
                     {
                     aMenuPane->SetItemDimmed( EPsu2CmdNewContact , ETrue );
                     aMenuPane->SetItemDimmed( EPbk2CmdEditMe , ETrue );
+                    aMenuPane->SetItemSpecific( EPbk2CmdDeleteMe, EFalse );
+                    }
+                else
+                    {
+                    aMenuPane->SetItemSpecific( EPbk2CmdDeleteMe, ETrue );
                     }
                 }
             break;
@@ -536,25 +540,16 @@
                 {
                 aMenuPane->SetItemDimmed( EPbk2CmdCopy, ETrue );
                 }
-            break;
-            }
-        case R_AVKON_MENUPANE_MARK_MULTIPLE:
+            if ( marked )
                 {
-                TInt markedContactCount = 0;
-              
-                CCoeControl* ctrl = iControl->ComponentControl(0);
-                CEikListBox* listbox = static_cast <CEikListBox*> (ctrl);
-                if ( listbox )
-                    {
-                    markedContactCount = listbox->SelectionIndexes()->Count();
-                    }
-                // dim the makr all item if all contacts are marked. 
-                if ( markedContactCount > 0 && markedContactCount == iControl->NumberOfContacts() )
-                    {
-                    aMenuPane->SetItemDimmed( EAknCmdMarkingModeMarkAll, ETrue );
-                    }
-             
-                break;
+                aMenuPane->SetItemSpecific( EPbk2CmdCopy, EFalse );
+                aMenuPane->SetItemDimmed( EPsu2CmdCopyFromContacts, ETrue );
+                }
+            else
+                {
+                aMenuPane->SetItemSpecific( EPbk2CmdCopy, ETrue);
+                }
+            break;
             }
         case R_PSU2_FIXED_DIALING_DELETE_MENUPANE:
             {
@@ -731,29 +726,6 @@
     CCoeEnv::Static()->HandleError(aErrorCode);
     }    
 
-// -----------------------------------------------------------------------------
-// CPsu2FixedDialingView::MarkingModeStatusChanged
-// -----------------------------------------------------------------------------
-//
-void CPsu2FixedDialingView::MarkingModeStatusChanged( TBool aActivated )
-    {
-    iMarkingModeOn = aActivated;
-    }
-
-// -----------------------------------------------------------------------------
-// CPsu2FixedDialingView::ExitMarkingMode
-// Called by avkon, if the return value is ETrue, 
-// the Marking mode will be canceled after any operation, 
-// otherwise the Marking mode keep active.
-// -----------------------------------------------------------------------------
-//
-TBool CPsu2FixedDialingView::ExitMarkingMode() const
-    {
-    return ETrue; 
-    }
-    
-
-
 // --------------------------------------------------------------------------
 // CPsu2FixedDialingView::UpdateNaviPaneTextL
 // --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2LaunchViewCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2LaunchViewCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 // Phonebook 2
 #include "CPsu2ViewManager.h"
 #include <Pbk2ProcessDecoratorFactory.h>
-#include <pbk2usimuires.rsg>
+#include <Pbk2USimUIRes.rsg>
 #include <CPbk2AppUiBase.h>
 #include <MPbk2ViewExplorer.h>
 #include <CPbk2SortOrderManager.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2NameListViewBase.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2NameListViewBase.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,9 +28,9 @@
 #include <CPbk2ViewState.h>
 #include <CPbk2IconInfoContainer.h>
 #include <CPbk2IconFactory.h>
-#include <pbk2usimuires.rsg>
-#include <pbk2commonui.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2USimUIRes.rsg>
+#include <Pbk2CommonUi.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2ViewExplorer.h>
 #include <csxhelp/phob.hlp.hrh>
 #include <CPbk2SortOrderManager.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2NumberQueryDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2NumberQueryDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -19,8 +19,8 @@
 
 // INCLUDE FILES
 #include "CPsu2NumberQueryDlg.h"
-#include <pbk2usimuires.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2USimUIRes.rsg>
+#include <Pbk2UIControls.rsg>
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2OwnNumberControl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2OwnNumberControl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 // From Phonebook 2
 #include "CPsu2OwnNumberListBoxModel.h"
 #include "Pbk2USIMUIUID.h"
-#include <pbk2usimuires.rsg>
+#include <Pbk2USimUIRes.rsg>
 #include <Pbk2USimUI.hrh>
 #include <CPbk2IconInfoContainer.h>
 #include <CPbk2IconFactory.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2OwnNumbersView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2OwnNumbersView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 #include <MPbk2ViewActivationTransaction.h>
 #include <CPbk2AppUiBase.h>
 #include <MPbk2ViewExplorer.h>
-#include <pbk2usimuires.rsg>
+#include <Pbk2USimUIRes.rsg>
 #include <CPbk2ControlContainer.h>
 #include <Pbk2MenuFilteringFlags.hrh>
 #include <CPbk2ContactUiControlSubstitute.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2ServiceDialingInfoView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2ServiceDialingInfoView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,8 +23,8 @@
 #include <MPbk2ViewActivationTransaction.h>
 #include <CPbk2AppUiBase.h>
 #include <MPbk2ViewExplorer.h>
-#include <pbk2usimuires.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2USimUIRes.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2ContactUiControl.h>
 #include <TPbk2StoreContactAnalyzer.h>
 #include <Pbk2Commands.hrh>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2ServiceDialingView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2ServiceDialingView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,10 +25,10 @@
 #include <MPbk2ViewActivationTransaction.h>
 #include <CPbk2AppUiBase.h>
 #include <MPbk2ViewExplorer.h>
-#include <pbk2usimuires.rsg>
+#include <Pbk2USimUIRes.rsg>
 #include <CPbk2ViewState.h>
 #include <CPbk2NamesListControl.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 
 // System includes
 #include <StringLoader.h>
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2SimContactProcessor.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2SimContactProcessor.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -42,7 +42,7 @@
 #include <CVPbkFieldTypeRefsList.h>
 #include <CVPbkContactFieldIterator.h>
 #include <CVPbkFieldTypeRefsList.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <gsmerror.h>
@@ -253,11 +253,6 @@
 //
 void CPsu2SimContactProcessor::ConstructL( RFs& aFs )
     {
-    const MVPbkFieldTypeList& supportedTypes =
-            iTargetStore.StoreProperties().SupportedFields();
-    // Remove the unsupported fieldInfo from array first.
-    iCopyToSimFieldInfoArray.RemoveUnSupportedFieldInfo( supportedTypes );
-        
     const TInt count = iCopyToSimFieldInfoArray.Count();
     for ( TInt i = 0; i < count; ++i )
         {
--- a/phonebookui/Phonebook2/USIMExtension/src/CPsu2ViewManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/CPsu2ViewManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,11 +25,11 @@
 #include "MPsu2ViewLaunchCallback.h"
 #include <MPbk2ViewExplorer.h>
 #include <CPbk2SortOrderManager.h>
-#include <pbk2usimuires.rsg>
+#include <Pbk2USimUIRes.rsg>
 #include <CPbk2StoreProperty.h>
 #include <CPbk2StorePropertyArray.h>
 #include <MPbk2AppUi.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CPbk2ApplicationServices.h>
 
 // Virtual Phonebook
--- a/phonebookui/Phonebook2/USIMExtension/src/TPsu2SimCopyResults.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMExtension/src/TPsu2SimCopyResults.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,8 +20,8 @@
 #include "TPsu2SimCopyResults.h"
 
 // Phonebook 2
-#include <pbk2usimuires.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2USimUIRes.rsg>
+#include <Pbk2Commands.rsg>
 
 // System includes
 #include <StringLoader.h>
--- a/phonebookui/Phonebook2/USIMThinExtension/src/CPsu2CopySimContactsCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMThinExtension/src/CPsu2CopySimContactsCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -37,13 +37,13 @@
 #include <Phonebook2PublicPSKeys.h>
 #include <Phonebook2PrivatePSKeys.h>
 #include <Pbk2UID.h>
-#include <pbk2usimthinuires.rsg>
+#include <Pbk2USimThinUIRes.rsg>
 /// Use R_PBK2_GENERAL_CONFIRMATION_QUERY from UI controls
 /// As a core components UiControl's resource file is loaded in core Pbk2
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 /// Use R_GENERAL_COPY_PROGRESS_NOTE from Commands
 /// As a core components Command's resource file is loaded in core Pbk2
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <Pbk2DataCaging.hrh>
 #include <MPbk2AppUi.h>
 #include <MPbk2ApplicationServices.h>
--- a/phonebookui/Phonebook2/USIMThinExtension/src/CPsu2ThinUIExtensionPlugin.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/USIMThinExtension/src/CPsu2ThinUIExtensionPlugin.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,8 +22,8 @@
 // Phonebook 2
 #include "CPsu2CopySimContactsCmd.h"
 #include <Pbk2USimUI.hrh>
-#include <pbk2usimuires.rsg>
-#include <pbk2commands.rsg>
+#include <Pbk2USimUIRes.rsg>
+#include <Pbk2Commands.rsg>
 #include <MPbk2ContactUiControl.h>
 #include <MPbk2StartupMonitor.h>
 #include "CPsu2CheckAvailabeSimStore.h"
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/data/ccappcommlauncherpluginrsc.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/data/ccappcommlauncherpluginrsc.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <eikon.rh>
 #include <avkon.rh>
 
-#include <eikcore.rsg>
+#include <EIKCORE.rsg>
 #include <eikon.rsg>
 #include <avkon.hrh>
 #include <avkon.rsg>
@@ -142,11 +142,6 @@
             command = ECCAppCommLauncherVoiceTagDetailsCmd; 
             txt = "";//will be filled dynamically by AIW 
             },
-        MENU_ITEM 
-            { 
-            command = ECCAppCommLauncherSendBCardCmd; 
-            txt = qtn_bcard_opt_send_entry_via; 
-            },
 #ifdef __SERIES60_HELP            
         MENU_ITEM 
             { 
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/group/ccappcommlauncherplugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/group/ccappcommlauncherplugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -59,7 +59,6 @@
 USERINCLUDE     ../../ccapp/ccapputil/inc
 USERINCLUDE     ../../../../../ccservices/cmsservices/cmsengine/inc
 USERINCLUDE     . ../inc
-USERINCLUDE	../../../commands/inc
 
 LIBRARY         euser.lib 
 LIBRARY         ecom.lib
@@ -75,15 +74,15 @@
 LIBRARY         servicehandler.lib // aiw
 LIBRARY         ccapputil.lib
 LIBRARY         bafl.lib
-LIBRARY         CommonEngine.lib//coneresourceloader
+LIBRARY         commonengine.lib//coneresourceloader
 LIBRARY         eikctl.lib
 LIBRARY	        aknicon.lib
 LIBRARY	        egul.lib 
 LIBRARY	        aknskinsrv.lib
 LIBRARY	        aknswallpaperutils.lib
-LIBRARY	        AknLayout2Scalable.lib
+LIBRARY	        aknlayout2scalable.lib
 LIBRARY	        aknlayout2.lib
-LIBRARY         CdlEngine.lib
+LIBRARY         cdlengine.lib
 LIBRARY         eikcore.lib
 LIBRARY         cone.lib
 LIBRARY         flogger.lib
@@ -101,7 +100,7 @@
 // Dependencies to AVKON
 LIBRARY 	CdlEngine.lib 
 LIBRARY 	touchfeedback.lib
-LIBRARY 	featmgr.lib
+LIBRARY 	FeatMgr.lib
 
 LIBRARY         akntransitionutils.lib
 LIBRARY         aknphysics.lib
@@ -114,7 +113,7 @@
 LIBRARY         pbk2spbcontentprovider.lib
 LIBRARY			charconv.lib 
 
-LIBRARY         fontutils.lib
+LIBRARY         FontUtils.lib
 
 LIBRARY         apgrfx.lib
 LIBRARY         ws32.lib
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/CCCAppCommLauncherPbkCmd.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/CCCAppCommLauncherPbkCmd.h	Wed Oct 13 14:15:33 2010 +0300
@@ -75,10 +75,7 @@
     void ExecutePbk2CmdRemoveImageL( const TDesC8& aContact );
     void ExecutePbk2CmdAddImageL( const TDesC8& aContact );
     void ExecutePbk2CmdDeleteL( const TDesC8& aContact );
-    void ExecutePbk2CmdSendBCardL( const TDesC8& aContact );
     TBool IsPbk2CommandRunning();
-    //Close all the pending pbk2commands launched from CCA
-    void DeleteAllRunningCmd();
     
 public: // from MVPbkContactStoreObserver
 
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlauncher.hrh	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlauncher.hrh	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,6 @@
     ECCAppCommLauncherStylusRemoveImageCmd,
     ECCAppCommLauncherStylusAddImageCmd,
     ECCAppCommLauncherDeleteCmd,
-    ECCAppCommLauncherSendBCardCmd,
     // KAiwCmdAssign AIW service cmd used as Edit Options-menu item
     // set AIW commands at last
     ECCAppCommLauncherAiwBaseCmd = 1000 // leave this last
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlaunchercontainer.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlaunchercontainer.h	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,6 @@
 #include <Pbk2Commands.hrh>
 #include "ccappstatuscontrol.h"
 #include <aknlongtapdetector.h>
-#include <akninputblock.h>
 
 class CAknsBasicBackgroundControlContext;
 class CAknPreviewPopUpController;
@@ -37,7 +36,6 @@
 class CCCAExtensionFactory;
 class CCCAppCommLauncherCustomListBox;
 class CCCaFactoryExtensionNotifier;
-class CAknInputBlock;
 
 /**
  * Class implementing CCAppCommLauncher -container for controls
@@ -54,8 +52,7 @@
     public MEikListBoxObserver,
     public MCCAppContactHandlerNotifier,
     public MCCAStatusControlObserver,
-    public MAknLongTapDetectorCallBack,
-    public MAknInputBlockCancelHandler
+    public MAknLongTapDetectorCallBack
     {
 public: // constructor and destructor
 
@@ -230,8 +227,7 @@
      * @return the amount of the list box.
      * @since S60 v5.0
     */
-    const TInt GetListBoxItemAmount() const;    
-    
+    const TInt GetListBoxItemAmount() const;
 
 private: // New
 
@@ -365,23 +361,6 @@
         TDesC8& aContactIdentifier,
         TDesC& aFullName,
         TDesC& aSelectedField );
-    
-    /*
-    * From MAknInputBlockCancelHandler
-    */    
-    void AknInputBlockCancel();
-    
-    /**
-    * Removes the Input Blocker and makes the contianer regain 
-    * user input, key and pen
-    */    
-    void RemoveInputBlocker();
-    
-    /**
-    * Blocks user input, key and pen, from reaching
-    * container untill the issue of communication is complete 
-    */    
-    void SetInputBlockerL();
 
 private: // Constructors
 
@@ -472,10 +451,8 @@
      */
 	CCCaFactoryExtensionNotifier* iFactoryExtensionNotifier;
 	
-	/**
-	 * Owns - Input Blocker
-	 */
-	CAknInputBlock* iInputBlocker;
+	
+	TBool iLongTap;
     };
 
 #endif // __CCAPPCOMMALAUNCHERCONTAINER_H
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlaunchermenuhandler.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlaunchermenuhandler.h	Wed Oct 13 14:15:33 2010 +0300
@@ -166,7 +166,6 @@
     void DoSetDefaultCmdL();
     void DoShowOnMapCmdL();
     void DoDeleteCmdL();
-    void DoSendBCardCmdL();
     
     /**
      * Handlers for Aiw-based commands
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/CCCAppCommLauncherPbkCmd.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/CCCAppCommLauncherPbkCmd.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -33,7 +33,6 @@
 #include <coemain.h>
 #include <aknnotewrappers.h>
 #include <StringLoader.h>
-#include <CPbk2CommandStore.h>
 
 _LIT(KPbk2CommandsDllResFileName,   "Pbk2Commands.rsc");
 _LIT(KPbk2UiControlsDllResFileName, "Pbk2UiControls.rsc");
@@ -377,39 +376,6 @@
     }
 
 // ---------------------------------------------------------------------------
-// CCCAppCommLauncherMenuHandler::ExecutePbk2CmdSendBCardL
-// ---------------------------------------------------------------------------
-//
-void CCCAppCommLauncherPbkCmd::ExecutePbk2CmdSendBCardL( const TDesC8& aContact )
-    {
-    TCCAppCommandState& cmdState( iPlugin.CommandState() );
-    if ( !cmdState.IsRunning() )
-        {
-        cmdState.SetRunningAndPushCleanupL();
-        
-        iPbk2CommandId = EPbk2CmdSend;
-        
-        if( iLinks )
-            {
-            delete iLinks;
-            iLinks = NULL;
-            }
-        
-        iLinks = iAppServices->ContactManager().CreateLinksLC( aContact );   
-        
-        if ( iLinks->Count() > 0 )
-            {       
-            // operation completes by StoreReady,
-            //  StoreUnavailable or HandleStoreEventL
-            ( iLinks->At( 0 ) ).ContactStore().OpenL( *this );
-            }
-        
-        CleanupStack::Pop( 1 ); // iLinks (deleted in destructor)
-        cmdState.PopCleanup();
-        }
-    }
-
-// ---------------------------------------------------------------------------
 // CCCAppCommLauncherMenuHandler::HandleError
 // ---------------------------------------------------------------------------
 //
@@ -978,25 +944,3 @@
     {
     return *iAppServices;
     }
-
-// --------------------------------------------------------------------------
-// CCCAppCommLauncherPbkCmd::DeleteAllRunningCmd
-// --------------------------------------------------------------------------
-//
-void CCCAppCommLauncherPbkCmd::DeleteAllRunningCmd()
-    {
-    //Close all the pending pbk2commands launched from CCA    
-    if ( iPlugin.CommandState().IsRunning() )
-        {
-        iPlugin.CommandState().SetNotRunning();  
-        if ( iCommandHandler )
-            {
-            CPbk2CommandStore* cmdStore( iCommandHandler->CommandStore() );
-            if ( cmdStore )
-                {
-                cmdStore->DestroyAllCommands();
-                }
-            }
-        }    
-    }
-
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercontainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercontainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -513,10 +513,11 @@
     
         VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector
             contactActionType = iPlugin.Container().SelectedCommunicationMethod();
-      
-        if ( contactActionType
+        
+        if ( !iLongTap && contactActionType
                         == VPbkFieldTypeSelectorFactory::EFindOnMapSelector )
-            {   
+            {  
+            iLongTap = ETrue;    
             DoShowMapCmdL( (TPbk2CommandId)EPbk2ExtensionShowOnMap );
             }
         else
@@ -575,15 +576,13 @@
         iHasBeenDragged = EFalse;
         }
 
-    if ( executeContactAction && iPlugin.CommandState().IsRunning()  )
+    if ( executeContactAction && iPlugin.CommandState().IsRunning() )
         {
         executeContactAction = EFalse;
         }
 
-    if ( executeContactAction )
+    if (executeContactAction)
         {
-        SetInputBlockerL();
-        
         VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector
             contactActionType = iPlugin.Container().SelectedCommunicationMethod();
         
@@ -596,8 +595,6 @@
         	{
             HandleGenericContactActionL( contactActionType );
             }
-        
-        RemoveInputBlocker();
         }
     }
 
@@ -607,7 +604,14 @@
 //
 void CCCAppCommLauncherContainer::HandleFindOnMapContactActionL()
     {
-    DoShowMapCmdL( (TPbk2CommandId)EPbk2ExtensionShowOnMap );
+    if ( !iLongTap )
+        {
+        DoShowMapCmdL( (TPbk2CommandId)EPbk2ExtensionShowOnMap );
+        }
+    else
+        {
+        iLongTap = EFalse;
+        }
     }
 
 // ----------------------------------------------------------------------------
@@ -804,13 +808,6 @@
 void CCCAppCommLauncherContainer::ContactInfoFetchedNotifyL(
     const CCmsContactFieldInfo& aContactFieldInfo)
     {
-    
-    //CloseAll Pending Pbk2Commands initiated by CCA.    
-    if( iPbkCmd )
-        {
-        iPbkCmd->DeleteAllRunningCmd();
-        }
-
     // update buttons
     iModel->UpdateAddressesValidationL( aContactFieldInfo );
     iModel->FillButtonArrayL();
@@ -1090,39 +1087,4 @@
 	{
 	return iModel->MdcaCount();
 	}
-
-//-----------------------------------------------------------------------------
-// CCCAppCommLauncherContainer::SetInputBlockerL()
-//-----------------------------------------------------------------------------
-//
-void CCCAppCommLauncherContainer::SetInputBlockerL()
-     {
-     if (!iInputBlocker)
-         {
-         iInputBlocker = CAknInputBlock::NewCancelHandlerLC( this );
-         CleanupStack::Pop( iInputBlocker );   
-         iInputBlocker->SetCancelDelete( iInputBlocker );
-         }
-     } 
-
-// --------------------------------------------------------------------------
-// CCCAppCommLauncherContainer::RemoveInputBlockerL
-// --------------------------------------------------------------------------
-//
-void CCCAppCommLauncherContainer::RemoveInputBlocker()
-    {
-    if (iInputBlocker)
-        {
-        iInputBlocker->Cancel();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CCCAppCommLauncherContainer::AknInputBlockCancel
-// --------------------------------------------------------------------------
-//
-void CCCAppCommLauncherContainer::AknInputBlockCancel()
-     {
-     iInputBlocker = NULL;
-     }
 // End of File
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlauncherheadercontrol.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlauncherheadercontrol.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -459,15 +459,15 @@
         case TPointerEvent::EButton1Down:
             {
             TCmsContactStore cntStore = iPlugin.ContactHandler().ContactStore();
-            // Image selection popup            
-               // Image selection popup should not be shown for contact's that belong to sdn store / Sim Store
-               // Image selection popup can be shown for the contact that belongs to
-               //      local contact DB / XSP Store           
-    
-            if( ( (cntStore != ECmsContactStoreSdn) && (cntStore != ECmsContactStoreSim) )                                 
-                           &&
-                           iImage->Rect().Contains(aPointerEvent.iPosition)
-                         )                
+            // Image selection popup
+            // Image selection popup should not be shown for contact's that belong to sdn store
+            // Image selection popup can be shown only if the default 
+            //      saving memory includes local contact db (contacts.cdb) or if the contact belongs to
+            //      local contact DB            
+            if( cntStore != ECmsContactStoreSdn 
+                && IsPhoneMemoryInConfigurationL()
+                     && (cntStore != ECmsContactStoreSim)
+                && iImage->Rect().Contains(aPointerEvent.iPosition) )
                 {
                 // Show the feedback
                 MTouchFeedback* feedback = MTouchFeedback::Instance();
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlauncherheadertextorder.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlauncherheadertextorder.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,7 @@
 #include "ccappcommlauncherheaders.h"
 #include "cmscontact.h"
 #include <Pbk2PresentationUtils.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <RPbk2LocalizedResourceFile.h>
 #include <Pbk2DataCaging.hrh>
 
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlauncherlpadmodel.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlauncherlpadmodel.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -971,21 +971,11 @@
         presData.PreparePresenceDataL( iPresenceIconSize );
         TUint32 serviceType = presData.ServiceType();      
         
-        // The ownerships of mask and bitmap are transferred to this object. 
-        CFbsBitmap* mask = presData.Mask();
-        CFbsBitmap* bitmap = presData.Bitmap();       
-        TBool isValidBitmap = !( bitmap && ( NULL == bitmap->Handle() ) );
-        
-        // If any one of below condition is satisfied, the bitmap and mask are invalid. 
-        // Delete them since the ownerships of them are transferred to this object.
-        if ( !isValidBitmap || serviceType != CCmsContactFieldItem::ECmsPresenceChatNotification )
-        	{
-            delete mask;
-            delete bitmap;
-        	}
-        
         if ( serviceType == CCmsContactFieldItem::ECmsPresenceChatNotification )
-            {       
+            {
+            CFbsBitmap* mask = presData.Mask();
+            CFbsBitmap* bitmap = presData.Bitmap();
+            
             // Find the index for chat item
         	TInt index = KErrNotFound;
         	const TInt dataCount = iButtonDataArray.Count();
@@ -1004,35 +994,41 @@
         	    TBool hasPresenceIcon = iButtonDataArray[ index ].iFlags & 
 			                TCommLauncherButtonData::EHasPresenceIcon;
         	
-                if ( hasPresenceIcon )
+                if ( bitmap && ( NULL == bitmap->Handle() ) )
             	    {
-                    if ( isValidBitmap )
-                    	{
-    		            // Update presence icon
-        	            iButtonIconArray->At( EPresenceIconIndex )->SetBitmap(bitmap);
-        	            iButtonIconArray->At( EPresenceIconIndex )->SetMask(mask); 
-                    	}
-                    else
-                    	{
-        		        // Delete presence icon from icon array 
-        		        iButtonDataArray[ index ].iFlags &= ~(TCommLauncherButtonData::EHasPresenceIcon);
-        		        CGulIcon* icon = iButtonIconArray->At( EPresenceIconIndex );
-        		        delete icon;
-        		        iButtonIconArray->Delete( EPresenceIconIndex );
-                    	}          		    
+            	    if ( hasPresenceIcon )
+            		    {
+            		    // Delete presence icon from icon array 
+            		    iButtonDataArray[ index ].iFlags &= ~(TCommLauncherButtonData::EHasPresenceIcon);
+            		    iButtonIconArray->Delete( EPresenceIconIndex );
+            		    }
             	    }
-                else if ( isValidBitmap )
-                	{
-    		        // Append presence icon to icon array
-                    CGulIcon* icon = CGulIcon::NewLC();
-                    icon->SetBitmap( bitmap );
-                    icon->SetMask( mask );
-        	        iButtonIconArray->AppendL( icon );
-        	        iButtonDataArray[ index ].iFlags |= TCommLauncherButtonData::EHasPresenceIcon;
-        	        CleanupStack::Pop(); // icon
-                	}                  
+                else if ( bitmap )
+                    {           	       	
+            	    if ( hasPresenceIcon )
+            		    {
+            		    // Update presence icon
+                	    iButtonIconArray->At( EPresenceIconIndex )->SetBitmap(bitmap);
+                	    iButtonIconArray->At( EPresenceIconIndex )->SetMask(mask);
+            		    }
+            	    else
+            		    { 
+            		    // Append presence icon to icon array
+                        CGulIcon* icon = CGulIcon::NewLC();
+                        icon->SetBitmap( bitmap );
+                        icon->SetMask( mask );
+                	    iButtonIconArray->AppendL( icon );
+                	    iButtonDataArray[ index ].iFlags |= TCommLauncherButtonData::EHasPresenceIcon;
+                	    CleanupStack::Pop(); // icon
+            		    }
+                    }
         		}
             }
+        else
+            {
+            delete presData.Bitmap();
+            delete presData.Mask();
+            }
         }
     }
 
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchermenuhandler.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchermenuhandler.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -374,9 +374,6 @@
         case ECCAppCommLauncherDeleteCmd:
             DoDeleteCmdL();
             break;
-        case ECCAppCommLauncherSendBCardCmd:
-            DoSendBCardCmdL();
-            break;
         default:
             break;
         }
@@ -547,27 +544,23 @@
         TPtrC8 contactLink = param->Value().AsData();
 
         // Update the CCA parameter contact data
-        TInt length = contactLink.Length();
-        if ( length > 0 )
-            {
-            HBufC16* link16 = HBufC16::NewLC( length );
-            link16->Des().Copy( contactLink );
-            iPlugin.AppEngine()->Parameter().SetContactDataL( link16->Des() );
-            // Set contact data flag to EContactLink, because the parameters returned from 
-            // phonebook AIW provider have conatct link but not contact id.
-            iPlugin.AppEngine()->Parameter().SetContactDataFlag( MCCAParameter::EContactLink );
-            CleanupStack::PopAndDestroy(1); // link16
+        HBufC16* link16 = HBufC16::NewLC( contactLink.Length() );
+        link16->Des().Copy( contactLink );
+        iPlugin.AppEngine()->Parameter().SetContactDataL( link16->Des() );
+        // Set contact data flag to EContactLink, because the parameters returned from 
+        // phonebook AIW provider have conatct link but not contact id.
+        iPlugin.AppEngine()->Parameter().SetContactDataFlag( MCCAParameter::EContactLink );
+        CleanupStack::PopAndDestroy(1); // link16
 
-            // Inform the app engine of the contact event
-            iPlugin.AppEngine()->CCAppContactEventL();
+        // Inform the app engine of the contact event
+        iPlugin.AppEngine()->CCAppContactEventL();
 
-            // Update the commlauncher the UI contact data
-            iPlugin.ContactHandler().RefetchContactL();
-            iPlugin.Container().ContactsChangedL();
-            
-            //Update the Store
-            SetContactStore(iPlugin.ContactHandler().ContactStore());
-            }
+        // Update the commlauncher the UI contact data
+        iPlugin.ContactHandler().RefetchContactL();
+        iPlugin.Container().ContactsChangedL();
+        
+        //Update the Store
+        SetContactStore(iPlugin.ContactHandler().ContactStore());
         }
 
     if (errParam)
@@ -650,22 +643,6 @@
     }
 
 // ---------------------------------------------------------------------------
-// CCCAppCommLauncherMenuHandler::DoSendBCardCmdL
-// ---------------------------------------------------------------------------
-//
-void CCCAppCommLauncherMenuHandler::DoSendBCardCmdL()
-    {
-    if( !iPbkCmd )
-        {
-        iPbkCmd = CCCAppCommLauncherPbkCmd::NewL( iPlugin );
-        }
-    iPbkCmd->ExecutePbk2CmdSendBCardL(
-        *iPlugin.ContactHandler().ContactIdentifierLC() );
-
-    CleanupStack::PopAndDestroy( 1 ); // ContactIdentifierLC
-    }
-
-// ---------------------------------------------------------------------------
 // CCCAppCommLauncherMenuHandler::XspContactDynInitMenuPaneL
 // ---------------------------------------------------------------------------
 //
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/tsrc/ut_commlaunchercontacthandler/group/ut_commlaunchercontacthandler.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/tsrc/ut_commlaunchercontacthandler/group/ut_commlaunchercontacthandler.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -48,7 +48,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         flogger.lib
 LIBRARY			centralrepository.lib
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/tsrc/ut_commlaunchercontacthandler/inc/ccappcommlauncherheaders.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/tsrc/ut_commlaunchercontacthandler/inc/ccappcommlauncherheaders.h	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include "t_ccappcmscontactfetcher.h"
 #include "t_testsingleton.h"
 #include "phonebookPrivateCRKeys.h"
-#include <e32hashtab.h>
+
 class CCmsContactFieldInfo;
 class MCCAppContactFieldDataObserver;
 
--- a/phonebookui/Phonebook2/ccapplication/ccacontactorservice/group/ccacontactorservice.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacontactorservice/group/ccacontactorservice.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -63,7 +63,7 @@
 LIBRARY               efsrv.lib
 LIBRARY               bafl.lib
 LIBRARY               aiwdialdata.lib //AIW
-LIBRARY               CommonEngine.lib
+LIBRARY               commonengine.lib
 LIBRARY               servicehandler.lib //AIW
 LIBRARY               sendui.lib
 LIBRARY               ecom.lib 
--- a/phonebookui/Phonebook2/ccapplication/ccacontactorservice/inc/ccacontactorserviceoperator.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacontactorservice/inc/ccacontactorserviceoperator.h	Wed Oct 13 14:15:33 2010 +0300
@@ -79,6 +79,50 @@
     void ConstructL();
 
 private: //new methods
+    /**
+     * Helper class for handling special cases.
+     * Currently VOIP ServiceID implemented.
+     *
+     * @param aFieldData: Selected field.
+     * @since S60 5.0
+     */
+    void ResolveSpecialCasesL(const TDesC& aFieldData);
+
+    /**
+     * Helper class for searching ServiceID
+     *
+     * @param aFieldData: Selected field.
+     * @return ServiceId
+     * @since S60 5.0
+     */
+    TUint32 ResolveServiceIdL(const TDesC& aFieldData);
+
+    /**
+     * Helper class for parsing xSP identification.
+     *
+     * @param aFieldData: Selected field.
+     * @param aXSPId: Found xSP ID.
+     * @return boolean if xSP is found.
+     * @since S60 5.0
+     */
+    TBool ExtractServiceL(const TDesC& aFieldData, TPtrC& aXSPId);
+
+    /**
+     * Helper class for searching ServiceId from spsettings
+     *
+     * @param aFieldData: Selected field.
+     * @return ServiceId
+     * @since S60 5.0
+     */
+    TUint32 SearchServiceIdL(const TDesC& aFieldData);
+
+    /**
+     * Helper class for checking if MSISDN addressing is supported.
+     *
+     * @return ServiceId
+     * @since S60 5.0
+     */
+    TUint32 ResolveMSISDNAddressingSupportedL();
 
     /**
      * Helper class for starting communication method.
@@ -113,6 +157,12 @@
      * Not own.
      */
     const CCAContactorService::TCSParameter* iParameter;
+
+    /**
+     * ServiceId for VOIP service.
+     * Own.
+     */
+    TUint32 iServiceId;
     
     /**
      * Is call item selected
--- a/phonebookui/Phonebook2/ccapplication/ccacontactorservice/src/ccacontactorserviceoperator.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacontactorservice/src/ccacontactorserviceoperator.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -17,7 +17,6 @@
 
 #include <e32std.h>
 #include <s32mem.h>
-#include <spsettingsvoiputils.h>
 
 #include "ccacontactorserviceheaders.h"
 
@@ -121,8 +120,13 @@
         __ASSERT_ALWAYS (NULL != iParameter->iSelectedField, User::Leave (KErrArgument));
         __ASSERT_ALWAYS (0 < iParameter->iSelectedField->Size(), User::Leave (KErrArgument));
         result = iParameter->iSelectedField;
+        // "isSelected" should also be set as ETrue after the selected field is set to result.
+        isSelected = ETrue;
         }
 
+    // Resolve special cases
+    TRAP(err, ResolveSpecialCasesL(*result));
+
     if (KErrNone != err)
         {
         CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ExecuteL: ResolveSpecialCasesL: Leaves %d."), err);
@@ -151,6 +155,7 @@
 // --------------------------------------------------------------------------
 //
 CCCAContactorServiceOperator::CCCAContactorServiceOperator():
+    iServiceId((TUint32)KErrNotFound),
     isSelected(EFalse)
     {
     }
@@ -169,6 +174,225 @@
     }
 
 // --------------------------------------------------------------------------
+// CCCAContactorServiceOperator::ResolveSpecialCasesL
+// --------------------------------------------------------------------------
+//
+void CCCAContactorServiceOperator::ResolveSpecialCasesL(const TDesC& aFieldData)
+    {
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveSpecialCasesL"));
+
+    /*
+     * Currently only VOIP ServiceId is needed to find out.
+     */
+    switch(iParameter->iCommTypeSelector)
+        {
+        case VPbkFieldTypeSelectorFactory::EVOIPCallSelector:
+            iServiceId = ResolveServiceIdL(aFieldData);
+            break;
+        }
+
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveSpecialCasesL: Done."));
+    }
+
+// --------------------------------------------------------------------------
+// CCCAContactorServiceOperator::ResolveServiceIdL
+// --------------------------------------------------------------------------
+//
+TUint32 CCCAContactorServiceOperator::ResolveServiceIdL(const TDesC& aFieldData)
+    {
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveServiceIdL"));
+
+    __ASSERT_ALWAYS (NULL != &aFieldData, User::Leave (KErrArgument));
+    __ASSERT_ALWAYS (0 < aFieldData.Size(), User::Leave (KErrArgument));
+
+    TUint32 ret = (TUint32)KErrNotFound;
+
+    //LOGIC:
+    /*
+     * 1. Find out is there xSP prefix
+     * 2. If there is, search service id
+     * 3. If not, find out how many services support msisdn
+     * 4. If only one, find use that service id
+     * 5. If more than one, do not use service id.
+     */
+
+    TPtrC result;
+
+    // 1. Find out is there xSP prefix
+    if (ExtractServiceL(aFieldData, result))
+        {
+        CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveServiceIdL: ExtractServiceL found."));
+
+        // 2. If there is, search service id
+        ret = SearchServiceIdL(result);
+        }
+    else
+        {
+        CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveServiceIdL: ExtractServiceL not found."));
+
+        // 3. If not, find out how many services support msisdn
+        ret = ResolveMSISDNAddressingSupportedL();
+        if ((TUint32)KErrNotFound != ret)
+            {
+            // 4. If only one, find use that service id
+            CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveServiceIdL: ResolveMSISDNAddressingSupportedL only one service."));
+
+            }
+        else
+            {
+            // 5. If more than one or none found, do not use service id.
+            CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveServiceIdL: ResolveMSISDNAddressingSupportedL more than one service."));
+
+            }
+        }
+
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveServiceIdL: Done."));
+
+    return ret;
+    }
+
+// --------------------------------------------------------------------------
+// CCCAContactorServiceOperator::ExtractServiceL
+// --------------------------------------------------------------------------
+//
+TBool CCCAContactorServiceOperator::ExtractServiceL(
+    const TDesC& aFieldData, TPtrC& aXSPId)
+    {
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ExtractServiceL"));
+
+    TBool found = EFalse;
+
+    TInt pos = aFieldData.Find(KColon);
+    if (pos >= 0)
+        {
+        // ok input
+        aXSPId.Set(aFieldData.Left(pos));
+        found = ETrue;
+        }
+
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ExtractServiceL: Done."));
+
+    return found;
+    }
+
+// --------------------------------------------------------------------------
+// CCCAContactorServiceOperator::SearchServiceIdL
+// --------------------------------------------------------------------------
+//
+TUint32 CCCAContactorServiceOperator::SearchServiceIdL(const TDesC& aFieldData)
+    {
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::SearchServiceIdL"));
+
+    TUint32 ret = (TUint32)KErrNotFound;
+    TInt err = KErrNone;
+    CDesCArrayFlat* nameArray = NULL;
+
+    RIdArray ids;
+    CleanupClosePushL(ids);
+
+    nameArray = new (ELeave) CDesCArrayFlat(2);
+    CleanupStack::PushL(nameArray);
+
+    CSPSettings* settings = CSPSettings::NewLC();
+
+    err = settings->FindServiceIdsL(ids);
+    User::LeaveIfError(err);
+    err = settings->FindServiceNamesL(ids, *nameArray);
+    User::LeaveIfError(err);
+
+    TInt count = nameArray->MdcaCount();
+    for (TInt i(0); i < count; i++)
+        {
+        // search the mathching service name
+        TPtrC p = nameArray->MdcaPoint(i);
+        if (!p.CompareF(aFieldData))
+            {
+            // Service found
+            ret = ids[i];
+
+            CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::SearchServiceIdL: Service found."));
+            break;
+            }
+        }
+    CleanupStack::PopAndDestroy(3); // ids, nameArray, settings
+
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::SearchServiceIdL: Done."));
+
+    return ret;
+    }
+
+// --------------------------------------------------------------------------
+// CCCAContactorServiceOperator::ResolveMSISDNAddressingSupportedL
+// --------------------------------------------------------------------------
+//
+TUint32 CCCAContactorServiceOperator::ResolveMSISDNAddressingSupportedL()
+    {
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveMSISDNAddressingSupportedL"));
+
+    /*
+     * LOGIC:
+     * -Find out services
+     * -If only 1 service, return the serviceid
+     * -If services are more than 1, then do not use serviceid.
+     */
+
+    TInt err = KErrNone;
+    TInt foundNo = 0;
+    TUint32 ret = (TUint32)KErrNotFound;
+
+    RIdArray ids;
+    CleanupClosePushL(ids);
+
+    CSPSettings* settings = CSPSettings::NewLC();
+
+    err = settings->FindServiceIdsL(ids);
+    User::LeaveIfError(err);
+
+    TInt count = ids.Count();
+    for (TInt i(0); i < count; i++)
+        {
+        CSPProperty* property = CSPProperty::NewLC();
+
+        // Find out property
+        err = settings->FindPropertyL(ids[i],
+            EPropertyServiceAttributeMask, *property);
+
+        // If service have property
+        if (KErrNone == err)
+            {
+            // read the value of mask property
+            TInt mask = 0;
+            err = property->GetValue(mask);
+            if (KErrNone == err)
+                {
+                if ((mask & ESupportsMSISDNAddressing) &&
+                    (mask & ESupportsInternetCall))
+                    {
+                    // Found one.
+                    ret = ids[i];
+                    foundNo++;
+
+                    }// if mask
+                }// if err
+            }// if err
+
+        CleanupStack::PopAndDestroy(property);
+        }// for
+
+    // If more than 1 service, do not use serviceid
+
+    if (1 < foundNo)
+    {
+        ret = (TUint32)KErrNotFound;
+    }
+
+    CleanupStack::PopAndDestroy(2); // ids, settings
+
+    CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ResolveMSISDNAddressingSupportedL: Done."));
+    return ret;
+    }
+
+// --------------------------------------------------------------------------
 // CCCAContactorServiceOperator::LaunchCommunicationMethodL
 // --------------------------------------------------------------------------
 //
@@ -179,12 +403,8 @@
 
     __ASSERT_ALWAYS (NULL != &iParameter->iFullName, User::Leave (KErrArgument));
     
-    // If there is a default service, use the service 
-    TUint serviceId = 0;
-    CSPSettingsVoIPUtils* spSettings = CSPSettingsVoIPUtils::NewLC();
-    
-    if ( ( iParameter->iCommTypeSelector == VPbkFieldTypeSelectorFactory::EVOIPCallSelector ) &&
-    		( !spSettings->GetPreferredService( serviceId ) ) )
+    // If serviceid found, use it.
+    if ((TUint32)KErrNotFound != iServiceId)
         {
         CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::ExecuteL: ExecuteServiceL with serviceid"));
         CCAContactor::ExecuteServiceL(
@@ -192,7 +412,7 @@
             aFieldData,
             iParameter->iFullName,
             iParameter->iContactLinkArray,
-            serviceId
+            iServiceId
             );
         }
     else
@@ -203,9 +423,7 @@
             aFieldData,
             iParameter->iFullName,
             iParameter->iContactLinkArray);
-    	}
-    
-    CleanupStack::PopAndDestroy( spSettings );
+        }
 
     CCA_DP(KCCAContactorServiceLoggerFile, CCA_L("CCCAContactorServiceOperator::LaunchCommunicationMethodL: Done."));
     }
--- a/phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/data/ccappdetailsviewpluginrsc.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/data/ccappdetailsviewpluginrsc.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <eikon.rh>
 #include <avkon.rh>
 
-#include <eikcore.rsg>
+#include <EIKCORE.rsg>
 #include <eikon.rsg>
 #include <avkon.hrh>
 #include <avkon.rsg>
--- a/phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/group/ccappdetailsviewplugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/group/ccappdetailsviewplugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -58,7 +58,7 @@
 LIBRARY         ecom.lib
 LIBRARY         VPbkEng.lib
 LIBRARY         Pbk2Presentation.lib
-LIBRARY         pbk2uicontrols.lib
+LIBRARY         Pbk2UIControls.lib
 LIBRARY         Pbk2CommonUI.lib
 LIBRARY         Pbk2UIExt.lib
 LIBRARY         Pbk2Commands.lib
@@ -72,7 +72,7 @@
 LIBRARY         aknskins.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         servicehandler.lib // aiw
-LIBRARY         CommonEngine.lib
+LIBRARY         commonengine.lib
 LIBRARY         CdlEngine.lib
 LIBRARY         AknLayout2Scalable.lib
 LIBRARY         cone.lib
@@ -80,9 +80,8 @@
 LIBRARY         eikctl.lib
 LIBRARY         ws32.lib
 LIBRARY         mnclientlib.lib
-LIBRARY         spdctrl.lib
+LIBRARY         SpdCtrl.lib
 DEBUGLIBRARY    flogger.lib
 LIBRARY         ccacontactorservice.lib
-LIBRARY         featmgr.lib          // To check Unsync icon feature
 
 // End of File
--- a/phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/src/ccappdetailsviewcontainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/src/ccappdetailsviewcontainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,7 @@
 #include <ccappdetailsviewplugin.h>
 
 // PhoneBook2
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <CVPbkContactLinkArray.h>
 #include <CVPbkContactManager.h>
 #include <CPbk2IconArray.h>
@@ -62,7 +62,7 @@
 
 #include <mccaparameter.h>
 #include <mccappengine.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 /// Unnamed namespace for local definitions
 namespace {
--- a/phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/src/ccappdetailsviewlistboxmodel.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccadetailsviewplugin/src/ccappdetailsviewlistboxmodel.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -60,16 +60,14 @@
 #include <TVPbkFieldTypeParameters.h>
 #include <TVPbkFieldVersitProperty.h>
 #include <StringLoader.h>
-#include <featmgr.h>
+
 #include <TPbk2AppIconId.h>
 
 #include <aknlists.h>
 
 #include <avkon.rsg>
-#include <vpbkeng.rsg>
-#include <pbk2uicontrols.rsg>
-
-#include <Pbk2Config.hrh>
+#include <VPbkEng.rsg>
+#include <Pbk2UIControls.rsg>
 
 #include "ccappdetailsviewlistboxmodel.h"
 #include "ccappdetailsviewdefs.h"
@@ -700,12 +698,7 @@
                 UpdateMSKinCbaL();
         );
 
-    // check if any item highlighted
-    TBool highLightEnabled = iListBox.IsHighlightEnabled();
-    if ( !highLightEnabled )
-        {
-        SetFocusedListIndex(iInitialFocusIndex);
-        }
+    SetFocusedListIndex(iInitialFocusIndex);
 
     /*if (!iXspIdModifyState)
      {
@@ -927,26 +920,18 @@
                 // add icon.
                 buffer.Zero();
                 TInt iconIndex = 0;
-                TInt iconId = 0;
-                // UnSync feature indicator flag and chinese flag
-                TBool supportUnSyncFeature = FeatureManager::FeatureSupported(
-                KFeatureIdFfTdUnSyncabPbfieldsInd);
-                TBool supportChinese = FeatureManager::FeatureSupported(KFeatureIdChinese);
-                // Valid address
-                TBool addressValidated = IsAddressValidated(groupId); 
-                if(supportChinese && supportUnSyncFeature)
-                    {   
-                    // UnSync Icon
-                    iconId = EPbk2qgn_prop_phonebook2_unsync;
-                    }
+                if (IsAddressValidated(groupId))
+                {
+                    TPbk2IconId iconId(TUid::Uid(KPbk2UID3), EPbk2qgn_prop_locev_map);
+                    iconIndex = iIconArray.FindIcon(iconId);
+                    buffer.AppendNum(iconIndex);
+                }
                 else
-                    {
-                    iconId = addressValidated ?
-                        EPbk2qgn_prop_locev_map : EPbk2qgn_prop_pb_no_valid_lm;
-                    }
-                TPbk2IconId pbkIconId( TUid::Uid(KPbk2UID3),iconId );
-                iconIndex = iIconArray.FindIcon(pbkIconId);
-                buffer.AppendNum(iconIndex); 
+                {
+                    TPbk2IconId iconId(TUid::Uid(KPbk2UID3), EPbk2qgn_prop_pb_no_valid_lm);
+                    iconIndex = iIconArray.FindIcon(iconId);
+                    buffer.AppendNum(iconIndex);
+                }
                 row->AppendColumnL(buffer);
 
                 // add label.
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/data/ccappmycardpluginrsc.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/data/ccappmycardpluginrsc.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 
 //  INCLUDES
 #include <eikon.rh>
-#include <eikcore.rsg>
+#include <EIKCORE.rsg>
 #include <eikon.rsg>
 
 #include <avkon.rh>
@@ -40,7 +40,7 @@
 #include "ccappmycard.hrh"
 
 // includes for the field resource
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <VPbkFieldType.rh>
 #include <Pbk2UID.h>
 #include <Pbk2FieldProperty.hrh>
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/group/ccappmycardplugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/group/ccappmycardplugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -68,17 +68,17 @@
 LIBRARY         ecom.lib
 LIBRARY         bafl.lib
 LIBRARY         aknicon.lib
-LIBRARY         CommonEngine.lib
+LIBRARY         commonengine.lib
 LIBRARY         eikcoctl.lib 
 LIBRARY         servicehandler.lib
-LIBRARY         CdlEngine.lib
+LIBRARY         cdlengine.lib
 LIBRARY         aknlayout2.lib 
 LIBRARY         featmgr.lib
 LIBRARY         AknLayout2Scalable.lib
 
-LIBRARY         VPbkEng.lib
-LIBRARY         Pbk2Presentation.lib
-LIBRARY         Pbk2CommonUI.lib
+LIBRARY         vpbkeng.lib
+LIBRARY         pbk2presentation.lib
+LIBRARY         pbk2commonui.lib
 LIBRARY         pbk2uicontrols.lib
 LIBRARY         Pbk2Commands.lib
 LIBRARY         ccapputil.lib
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/inc/ccappmycardimageloader.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/inc/ccappmycardimageloader.h	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,7 @@
 #ifndef CCAPPMYCARDIMAGELOADER_H
 #define CCAPPMYCARDIMAGELOADER_H
 
-#include <ccappimagedecoding.h>
+#include <CCAppImageDecoding.h>
 
 class MVPbkStoreContact;
 class CCCAppImageDecoding;
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycard.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycard.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -39,7 +39,7 @@
 #include <MVPbkStoreContact2.h>
 #include <MVPbkStoreContact.h>
 #include <MVPbkContactLink.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkFieldType.h>
 #include <MVPbkContactFieldTextData.h>
 #include <MVPbkContactFieldUriData.h>
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardcontainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardcontainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -30,7 +30,7 @@
 #include <MPbk2ContactNameFormatter.h>
 #include <MVPbkStoreContact.h>
 #include <CPbk2IconArray.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <MPbk2Command.h>
 #include <Pbk2MenuFilteringFlags.hrh>
 #include <MVPbkContactLink.h>
@@ -56,13 +56,13 @@
 #include <ccappmycardpluginrsc.rsg>
 #include <gulicon.h>
 #include <phonebook2ece.mbg>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include "MVPbkFieldType.h"
 #include <aknstyluspopupmenu.h>
 #include <e32std.h>
 #include <aknlayoutscalable_apps.cdl.h>
 #include <Pbk2PresentationUtils.h>
-#include <pbk2presentation.rsg>
+#include <Pbk2Presentation.rsg>
 #include <RPbk2LocalizedResourceFile.h>
 #include <Pbk2DataCaging.hrh>
 #include <pbk2nameordercenrep.h>
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardimageloader.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardimageloader.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 
 #include <CPbk2ImageManager.h>
 #include <TPbk2ImageManagerParams.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <MVPbkContactFieldBinaryData.h>
 #include <MVPbkContactFieldTextData.h>
 
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardplugin.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardplugin.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,7 +24,7 @@
 #include "ccappmycard.hrh"
 #include <spbcontactdatamodel.h>
 #include <ccappmycardpluginrsc.rsg>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <data_caging_path_literals.hrh>
 #include <mccappengine.h>
 #include <bautils.h>
@@ -236,9 +236,6 @@
     {
     CCA_DP(KMyCardLogFile, CCA_L("->CCCAppMyCardPlugin::DoDeactivate()"));
 
-    // iOwnContainer should update command to reset the UiControl when deactivated.
-    iOwnContainer->UpdateAfterCommandExecution();
-    
     // Forward the deactivation-call to base-class
     CCCAppViewPluginAknView::DoDeactivate();
 
--- a/phonebookui/Phonebook2/ccapplication/ccapp/ccapputil/group/ccapputil.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/ccapputil/group/ccapputil.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -46,7 +46,7 @@
 LIBRARY                 bafl.lib
 LIBRARY                 euser.lib
 LIBRARY                 flogger.lib
-LIBRARY                 CommonEngine.lib//coneresourceloader
+LIBRARY                 commonengine.lib//coneresourceloader
 LIBRARY                 cmsclient.lib//cms wrapper
 LIBRARY                 ccaclient.lib//cms wrapper
 LIBRARY                 avkon.lib//avkon view/container
@@ -57,8 +57,8 @@
 LIBRARY                 pbk2spbcontentprovider.lib // CSpbContentProvider
 LIBRARY                 Pbk2Presentation.lib // TPbk2IconId
 LIBRARY                 egul.lib // CGulIcon
-LIBRARY                 aknskins.lib
-LIBRARY                 CdlEngine.lib
+LIBRARY                 AknSkins.lib
+LIBRARY                 cdlengine.lib
 LIBRARY                 aknlayout2.lib 
 LIBRARY                 touchfeedback.lib
 LIBRARY                 ecom.lib
--- a/phonebookui/Phonebook2/ccapplication/ccapp/group/ccaapp.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/group/ccaapp.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -81,7 +81,7 @@
 LIBRARY         bafl.lib
 LIBRARY         apgrfx.lib
 LIBRARY         efsrv.lib
-LIBRARY         aknicon.lib
+LIBRARY         AknIcon.lib
 LIBRARY         ccaclient.lib
 LIBRARY         centralrepository.lib
 LIBRARY         cmsclient.lib
@@ -90,7 +90,7 @@
 LIBRARY         hlplch.lib
 LIBRARY         ccapputil.lib
 LIBRARY         CdlEngine.lib
-LIBRARY         aknlayout2.lib
+LIBRARY         AknLayout2.lib
 LIBRARY         ws32.lib 
 LIBRARY         Pbk2CommonUI.lib
 LIBRARY         VPbkEng.lib
--- a/phonebookui/Phonebook2/ccapplication/ccapp/src/ccapppluginloader.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/src/ccapppluginloader.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,7 @@
 #include <mccaparentcleaner.h>
 #include <mccapluginfactory.h>
 
-#include <CPbk2ApplicationServices.h>
+#include <cpbk2applicationservices.h>
 #include <CPbk2StoreConfiguration.h>
 #include <CVPbkContactManager.h>
 #include <MVPbkContactStoreProperties.h>
--- a/phonebookui/Phonebook2/ccapplication/ccapp/tsrc/ut_cmscontactfetcher/group/ut_cmscontactfetcher.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/tsrc/ut_cmscontactfetcher/group/ut_cmscontactfetcher.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -51,7 +51,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         flogger.lib
 
--- a/phonebookui/Phonebook2/ccapplication/inc/ccalogger.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/inc/ccalogger.h	Wed Oct 13 14:15:33 2010 +0300
@@ -134,20 +134,19 @@
 
 /**
  * PERFORMANCE LOGGINS
- * Logging is down only in debug, to get the log files,
- * need to enable the _DEBUG marco first.
- *   
+ * 
  * OPTIONS: 
  * PERF_LOGGING -> 12 different points where performance is measured. (c:\logs\perflogger.txt) 
- *                 http://presenceprojects/trac/wiki/PerfLogging
+ * http://presenceprojects/trac/wiki/PerfLogging
+ * 
  * PERF_LAUNCH -> For test guys (c:\logs\perflaunch.txt)
  * 
  */
 
-#ifdef _DEBUG   
-#define PERF_LOGGING
+#undef PERF_LOGGING
 #define PERF_LAUNCH 
-#endif //_DEBUG
+
+
 
 
 #ifdef PERF_LOGGING
--- a/phonebookui/Phonebook2/group/Pbk2Commands.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2Commands.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -86,8 +86,8 @@
 LIBRARY bafl.lib hlplch.lib eikcore.lib
 
 // Dependencies to S60 platform components
-LIBRARY avkon.lib CommonEngine.lib featmgr.lib
-LIBRARY servicehandler.lib filelist.lib
+LIBRARY Avkon.lib CommonEngine.lib FeatMgr.lib
+LIBRARY ServiceHandler.lib FileList.lib
 LIBRARY centralrepository.lib
 LIBRARY sysutil.lib efsrv.lib
 LIBRARY aiwdialdata.lib
@@ -95,7 +95,7 @@
 
 // Dependencies to Phonebook
 LIBRARY VPbkEng.lib
-LIBRARY pbk2uicontrols.lib Pbk2Presentation.lib
+LIBRARY Pbk2UIControls.lib Pbk2Presentation.lib
 LIBRARY Pbk2CommonUI.lib Pbk2UIExt.lib
 
 // Depencency to Phonebook profiling library
--- a/phonebookui/Phonebook2/group/Pbk2CommandsExtension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2CommandsExtension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -87,7 +87,7 @@
 END
 
 // Include paths
-USERINCLUDE     ../CommandsExtension/inc ../Commands/inc
+USERINCLUDE     ../CommandsExtension/inc
 SYSTEMINCLUDE   ../inc
 SYSTEMINCLUDE     /epoc32/include/ecom  //RCL_ADD
 
@@ -100,13 +100,13 @@
 LIBRARY imageconversion.lib fbscli.lib
 
 // Dependencies to S60 components
-LIBRARY avkon.lib CommonEngine.lib browserlauncher.lib sendui.lib featmgr.lib
-LIBRARY mgfetch.lib spdctrl.lib
-LIBRARY commonui.lib
+LIBRARY Avkon.lib CommonEngine.lib BrowserLauncher.lib SendUI.lib FeatMgr.lib
+LIBRARY MGFetch.lib SpdCtrl.lib
+LIBRARY CommonUI.lib
 
 // Dependencies to Phonebook
 LIBRARY VPbkEng.lib VPbkVCardEng.lib Pbk2Commands.lib
-LIBRARY pbk2uicontrols.lib Pbk2Presentation.lib
+LIBRARY Pbk2UIControls.lib Pbk2Presentation.lib
 LIBRARY Pbk2CommonUI.lib Pbk2UIExt.lib
 LIBRARY pbk2rclengine.lib
 
--- a/phonebookui/Phonebook2/group/Pbk2CommonUI.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2CommonUI.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -94,17 +94,17 @@
 // Dependencies to Symbian OS components
 LIBRARY euser.lib bafl.lib apparc.lib
 LIBRARY cone.lib eikcore.lib eikcoctl.lib egul.lib
-LIBRARY efsrv.lib centralrepository.lib
+LIBRARY efsrv.lib CentralRepository.lib
 LIBRARY estor.lib ecom.lib
 LIBRARY fbscli.lib
 
 // Dependencies to S60 platform components
-LIBRARY avkon.lib aknskins.lib CommonEngine.lib
+LIBRARY avkon.lib AknSkins.lib CommonEngine.lib
 LIBRARY aknicon.lib AknLayout2Scalable.lib CdlEngine.lib
 LIBRARY apgrfx.lib apmime.lib
-LIBRARY featmgr.lib
-LIBRARY DrmHelper.lib DrmRights.lib DRMCommon.lib
-LIBRARY MediaFileList.lib
+LIBRARY FeatMgr.lib
+LIBRARY DrmHelper.lib DrmRights.lib DrmCommon.lib
+LIBRARY mediafilelist.lib
 
 // Dependencies to Phonebook
 LIBRARY VPbkEng.lib
@@ -116,7 +116,7 @@
 #endif // PBK2_ENABLE_PROFILE
 
 #ifdef RD_DRM_COMMON_INTERFACE_FOR_OMA_AND_WMDRM
-LIBRARY DRMUtility.lib
+LIBRARY drmutility.lib
 #endif
 
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2GroupExtension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2GroupExtension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -74,20 +74,19 @@
 
 // Include paths
 USERINCLUDE     ../GroupExtension/inc
-USERINCLUDE     ../commands/inc
 SYSTEMINCLUDE   ../inc
 APP_LAYER_SYSTEMINCLUDE
 
 // Dependencies to Symbian OS components
-LIBRARY euser.lib CommonEngine.lib
+LIBRARY euser.lib commonengine.lib
 LIBRARY cone.lib eikcoctl.lib bafl.lib eikctl.lib eikdlg.lib eikcore.lib
 LIBRARY efsrv.lib ecom.lib
 
 // Dependencies to S60 components
-LIBRARY avkon.lib featmgr.lib sendui.lib touchfeedback.lib
+LIBRARY Avkon.lib FeatMgr.lib sendui.lib touchfeedback.lib
 
 // Dependencies to Phonebook
-LIBRARY Pbk2CommonUI.lib pbk2uicontrols.lib Pbk2Commands.lib
+LIBRARY Pbk2CommonUi.lib Pbk2UiControls.lib Pbk2Commands.lib
 LIBRARY Pbk2Presentation.lib VPbkEng.lib
 LIBRARY CdlEngine.lib
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2MMCExtension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2MMCExtension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -70,19 +70,19 @@
 APP_LAYER_SYSTEMINCLUDE
 
 // Dependencies to Symbian OS components
-LIBRARY euser.lib CommonEngine.lib
+LIBRARY euser.lib commonengine.lib
 LIBRARY efsrv.lib estor.lib ecom.lib
 LIBRARY cone.lib
 LIBRARY eikcoctl.lib eikcore.lib
 
 // Dependencies to S60 components
-LIBRARY avkon.lib platformenv.lib
+LIBRARY Avkon.lib PlatformEnv.lib
 #ifdef RD_MULTIPLE_DRIVE
-LIBRARY commondialogs.lib
+LIBRARY CommonDialogs.lib
 #endif // RD_MULTIPLE_DRIVE
 
 // Dependencies to Phonebook
 LIBRARY Pbk2Presentation.lib Pbk2Commands.lib
-LIBRARY Pbk2CommonUI.lib VPbkVCardEng.lib VPbkEng.lib
+LIBRARY Pbk2CommonUi.lib VPbkVCardEng.lib VPbkEng.lib
 
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2MapExtension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2MapExtension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -62,17 +62,17 @@
 APP_LAYER_SYSTEMINCLUDE
 
 // Dependencies to Symbian OS components
-LIBRARY euser.lib CommonEngine.lib cone.lib
+LIBRARY euser.lib commonengine.lib cone.lib
 LIBRARY efsrv.lib estor.lib ecom.lib bafl.lib
 
 // Dependencies to Symbian OS components
 LIBRARY eikcoctl.lib eikcore.lib  eikctl.lib
 
 // Dependencies to S60 components
-LIBRARY lbs.lib servicehandler.lib eposlandmarks.lib avkon.lib
+LIBRARY lbs.lib servicehandler.lib eposlandmarks.lib Avkon.lib
 LIBRARY mnservicelib.lib mnclientlib.lib
 
 // Dependencies to Phonebook
-LIBRARY Pbk2CommonUI.lib VPbkEng.lib Pbk2Commands.lib pbk2uicontrols.lib
+LIBRARY Pbk2CommonUi.lib VPbkEng.lib Pbk2Commands.lib Pbk2UIControls.lib
 
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2MigrationSupport.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2MigrationSupport.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -51,6 +51,6 @@
 LIBRARY euser.lib ecom.lib
 
 // Dependencies to S60 components
-LIBRARY pbkview.lib VPbkEng.lib Pbk2CommonUI.lib
+LIBRARY PbkView.lib VPbkEng.lib Pbk2CommonUi.lib
 
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2NamesListExtension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2NamesListExtension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -87,25 +87,25 @@
 END
 
 // Dependencies to Symbian OS components
-LIBRARY euser.lib CommonEngine.lib
+LIBRARY euser.lib commonengine.lib
 LIBRARY cone.lib bafl.lib
 LIBRARY efsrv.lib ecom.lib
 
 // Dependencies to S60 components
-LIBRARY avkon.lib featmgr.lib sendui.lib CdlEngine.lib
+LIBRARY Avkon.lib FeatMgr.lib sendui.lib CdlEngine.lib
 LIBRARY eikctl.lib eikdlg.lib eikcore.lib eikcoctl.lib bsclient.lib serviceprovidersettings.lib
 
 //CCA
 LIBRARY ccaclient.lib
 // Dependencies to Phonebook
-LIBRARY Pbk2CommonUI.lib pbk2uicontrols.lib Pbk2Commands.lib Pbk2UIExt.lib
+LIBRARY Pbk2CommonUi.lib Pbk2UiControls.lib Pbk2Commands.lib Pbk2UIExt.lib
 LIBRARY pbk2rclengine.lib
 LIBRARY Pbk2Presentation.lib VPbkEng.lib pbk2spbcontentprovider.lib
 LIBRARY centralrepository.lib touchfeedback.lib
 LIBRARY fbscli.lib
 LIBRARY egul.lib
 LIBRARY contactpresence.lib
-LIBRARY aknlayout2.lib AknLayout2Scalable.lib
+LIBRARY AknLayout2.lib AknLayout2Scalable.lib
 LIBRARY estor.lib 
 
 LIBRARY ws32.lib
--- a/phonebookui/Phonebook2/group/Pbk2Presentation.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2Presentation.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -126,14 +126,6 @@
 LANGUAGE_IDS
 END
 
-// UnSync icon resource file
-START RESOURCE ../rss/Pbk2PresentationChineseUnSync.rss
-DEPENDS vpbkeng.rsg
-HEADER
-TARGET Pbk2PresentationChineseUnSync
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
 
 // Include paths
 USERINCLUDE     ../Presentation/inc ../Presentation/rss
@@ -141,12 +133,12 @@
 APP_LAYER_SYSTEMINCLUDE
 
 // Dependencies to Symbian OS components
-LIBRARY euser.lib efsrv.lib bafl.lib centralrepository.lib
+LIBRARY euser.lib efsrv.lib bafl.lib CentralRepository.lib
 LIBRARY cone.lib fbscli.lib imageconversion.lib bitmaptransforms.lib
 
 // Dependencies to S60 components
-LIBRARY featmgr.lib
-LIBRARY avkon.lib eikcdlg.lib eikctl.lib CommonEngine.lib aknicon.lib
+LIBRARY FeatMgr.lib
+LIBRARY avkon.lib eikcdlg.lib eikctl.lib CommonEngine.lib AknIcon.lib
 
 // Dependencies to Phonebook
 LIBRARY VPbkEng.lib
--- a/phonebookui/Phonebook2/group/Pbk2ServerApp.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2ServerApp.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -122,13 +122,13 @@
 LIBRARY AknLayout2Scalable.lib CdlEngine.lib
 
 // Dependencies to S60 platform components
-LIBRARY avkon.lib centralrepository.lib featmgr.lib
-LIBRARY CommonEngine.lib aknskins.lib
+LIBRARY Avkon.lib CentralRepository.lib FeatMgr.lib
+LIBRARY CommonEngine.lib AknSkins.lib
 LIBRARY serviceprovidersettings.lib
 LIBRARY contactpresence.lib
 
 // Dependencies Phonebook
-LIBRARY VPbkEng.lib Pbk2CommonUI.lib Pbk2UIExt.lib Pbk2Presentation.lib
-LIBRARY pbk2uicontrols.lib Pbk2Commands.lib Pbk2CommonUtility.lib
+LIBRARY VPbkEng.lib Pbk2CommonUi.lib Pbk2UiExt.lib Pbk2Presentation.lib
+LIBRARY Pbk2UiControls.lib Pbk2Commands.lib Pbk2CommonUtility.lib
 
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2UIControls.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2UIControls.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -183,26 +183,26 @@
 // Dependencies to Symbian OS components
 LIBRARY euser.lib cone.lib bafl.lib eikdlg.lib bitmaptransforms.lib
 LIBRARY eikcoctl.lib eikctl.lib eikcore.lib estor.lib fbscli.lib ecom.lib
-LIBRARY centralrepository.lib efsrv.lib egul.lib
-LIBRARY hlplch.lib FindUtil.lib charconv.lib
+LIBRARY CentralRepository.lib efsrv.lib egul.lib
+LIBRARY hlplch.lib findutil.lib charconv.lib
 LIBRARY form.lib etext.lib
 
 // Dependencies to AVKON
-LIBRARY avkon.lib aknskins.lib
-LIBRARY CdlEngine.lib aknjapanesereading.lib
-LIBRARY aknlayout2.lib AknLayout2Scalable.lib aknicon.lib
+LIBRARY Avkon.lib AknSkins.lib
+LIBRARY CdlEngine.lib AknJapaneseReading.lib
+LIBRARY AknLayout2.lib AknLayout2Scalable.lib AknIcon.lib
 LIBRARY touchfeedback.lib
 LIBRARY	serviceprovidersettings.lib 
 
 LIBRARY rcse.lib
 
 // Dependencies to S60 platform components
-LIBRARY CommonEngine.lib featmgr.lib numbergrouping.lib
+LIBRARY commonengine.lib FeatMgr.lib numbergrouping.lib
 LIBRARY DrmParsers.lib DrmDcf.lib DrmRights.lib
 LIBRARY DrmServerInterfaces.lib
 LIBRARY DRMCommon.lib
 
-LIBRARY apparc.lib mgfetch.lib commonui.lib apmime.lib sysutil.lib
+LIBRARY apparc.lib MGFetch.lib CommonUI.lib apmime.lib sysutil.lib
 
 // Dependencies to other Phonebook components
 LIBRARY VPbkEng.lib Pbk2Presentation.lib Pbk2UIExt.lib Pbk2CommonUI.lib
@@ -222,8 +222,6 @@
 
 LIBRARY         akntransitionutils.lib
 LIBRARY         aknphysics.lib
-LIBRARY		aknpictograph.lib
-LIBRARY         featmgr.lib
-
+LIBRARY			aknpictograph.lib
 
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2UIExtensionManager.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2UIExtensionManager.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -70,13 +70,13 @@
 // Dependencies to Symbian OS components
 LIBRARY euser.lib ecom.lib efsrv.lib cone.lib bafl.lib
 LIBRARY eikcoctl.lib eikcore.lib
-LIBRARY featmgr.lib
+LIBRARY FeatMgr.lib
 
 // Dependencies to S60 platform components
 LIBRARY avkon.lib
 
 // Dependencies to Phonebook components
-LIBRARY Pbk2Presentation.lib Pbk2CommonUI.lib
+LIBRARY Pbk2Presentation.lib Pbk2CommonUi.lib
 
 #ifdef PBK2_ENABLE_PROFILE
 // Depencency to Phonebook profiling library
--- a/phonebookui/Phonebook2/group/Pbk2UIPolicy.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2UIPolicy.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -75,7 +75,7 @@
 
 // Dependencies to S60 platform components
 LIBRARY SortUtil.lib FindUtil.lib
-LIBRARY featmgr.lib
+LIBRARY FeatMgr.lib
 
 // Dependencies to Phonebook
 LIBRARY VPbkEng.lib Pbk2Presentation.lib
--- a/phonebookui/Phonebook2/group/Pbk2UIServices.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2UIServices.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -68,8 +68,8 @@
 LIBRARY cone.lib eikcoctl.lib estor.lib efsrv.lib
 
 // Dependencies to S60 platform components
-LIBRARY avkon.lib servicehandler.lib
-LIBRARY featmgr.lib
+LIBRARY Avkon.lib ServiceHandler.lib
+LIBRARY FeatMgr.lib
 
 // Dependencies to Phonebook
 LIBRARY VPbkEng.lib Pbk2Presentation.lib Pbk2CommonUtility.lib
--- a/phonebookui/Phonebook2/group/Pbk2USimExtension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2USimExtension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -106,18 +106,18 @@
 APP_LAYER_SYSTEMINCLUDE
 
 // Dependencies to Symbian OS components
-LIBRARY euser.lib CommonEngine.lib ecom.lib
+LIBRARY euser.lib commonengine.lib ecom.lib
 LIBRARY cone.lib eikcoctl.lib eikdlg.lib
 LIBRARY eikcore.lib bafl.lib charconv.lib centralrepository.lib
 
 // Dependencies to S60 components
-LIBRARY avkon.lib aknicon.lib CdlEngine.lib aknskins.lib
+LIBRARY avkon.lib aknicon.lib cdlengine.lib aknskins.lib
 LIBRARY secui.lib servicehandler.lib
 LIBRARY featmgr.lib
 
 // Dependencies to Phonebook
-LIBRARY VPbkEng.lib vpbksimstoreservice.lib
+LIBRARY VPbkEng.lib VPbkSimStoreService.lib
 LIBRARY Pbk2CommonUI.lib Pbk2Presentation.lib
-LIBRARY pbk2uicontrols.lib Pbk2Commands.lib
+LIBRARY Pbk2UiControls.lib Pbk2Commands.lib
 
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2USimThinExtension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2USimThinExtension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -65,10 +65,10 @@
 LIBRARY euser.lib  ecom.lib eikcoctl.lib cone.lib
 
 // Dependencies to S60 platform components
-LIBRARY CommonEngine.lib avkon.lib
+LIBRARY commonengine.lib avkon.lib
 
 // Dependencies to Phonebook
-LIBRARY VPbkEng.lib vpbksimstoreservice.lib
+LIBRARY VPbkEng.lib VPbkSimStoreService.lib
 LIBRARY Pbk2Presentation.lib Pbk2CommonUI.lib Pbk2Commands.lib
 
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2VoiceTagExtension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2VoiceTagExtension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -67,11 +67,11 @@
 LIBRARY eikcore.lib ecom.lib
 
 // Dependencies to S60 components
-LIBRARY avkon.lib featmgr.lib
+LIBRARY Avkon.lib FeatMgr.lib
 LIBRARY VoiceUiNameDialer.lib
 LIBRARY CommonEngine.lib
 
 // Dependencies to Phonebook2
-LIBRARY VPbkEng.lib Pbk2CommonUI.lib Pbk2Presentation.lib
+LIBRARY VPbkEng.lib Pbk2CommonUi.lib Pbk2Presentation.lib
 
 // End of File
--- a/phonebookui/Phonebook2/group/Pbk2VoiceTagThinExtension.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2VoiceTagThinExtension.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -56,6 +56,6 @@
 LIBRARY euser.lib ecom.lib eikcoctl.lib
 
 // Dependencies to S60 platform components
-LIBRARY featmgr.lib
+LIBRARY FeatMgr.lib
 
 // End of File
--- a/phonebookui/Phonebook2/group/Phonebook2.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/Phonebook2.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -94,17 +94,17 @@
 LIBRARY apparc.lib cone.lib fbscli.lib
 LIBRARY eikcore.lib efsrv.lib eikcoctl.lib
 LIBRARY ws32.lib apgrfx.lib
-LIBRARY centralrepository.lib
-LIBRARY platformenv.lib
+LIBRARY CentralRepository.lib
+LIBRARY PlatformEnv.lib
 
 // Dependencies to S60 platform components
-LIBRARY avkon.lib aknskins.lib
-LIBRARY CommonEngine.lib sendui.lib
+LIBRARY Avkon.lib AknSkins.lib
+LIBRARY CommonEngine.lib SendUI.lib
 LIBRARY gfxtrans.lib
 
 // Dependencies to Phonebook
-LIBRARY VPbkEng.lib pbk2uicontrols.lib Pbk2CommonUI.lib
-LIBRARY Pbk2Presentation.lib Pbk2UIExt.lib Pbk2Commands.lib
+LIBRARY VPbkEng.lib Pbk2UiControls.lib Pbk2CommonUI.lib
+LIBRARY Pbk2Presentation.lib Pbk2UiExt.lib Pbk2Commands.lib
 
 #ifdef PBK2_ENABLE_PROFILE
 // Depencency to Phonebook profiling library
--- a/phonebookui/Phonebook2/group/iconlist.txt	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/iconlist.txt	Wed Oct 13 14:15:33 2010 +0300
@@ -25,5 +25,4 @@
 /c8,8 qgn_prop_pb_topc
 /c8,8 qgn_prop_locev_map.svg
 /c8,8 qgn_prop_pb_no_valid_lm.svg
-/c8,8 qgn_prop_blid_waypoint.svg
-/c8,8 qgn_prop_cmcc_unsync.svg
\ No newline at end of file
+/c8,8 qgn_prop_blid_waypoint.svg
\ No newline at end of file
--- a/phonebookui/Phonebook2/group/pbk2spbcontentprovider.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/pbk2spbcontentprovider.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -60,10 +60,10 @@
 LIBRARY         estor.lib 
 
 LIBRARY         featmgr.lib
-LIBRARY         VPbkEng.lib
+LIBRARY         vpbkeng.lib
 LIBRARY         bsclient.lib
-LIBRARY         Pbk2Presentation.lib
-LIBRARY         Pbk2CommonUI.lib
+LIBRARY         pbk2presentation.lib
+LIBRARY         pbk2commonui.lib
 LIBRARY         presencecacheclient2.lib
 LIBRARY         presencecacheutils.lib
 LIBRARY         efsrv.lib 
--- a/phonebookui/Phonebook2/group/xSPExtensionManager.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/xSPExtensionManager.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -69,14 +69,14 @@
 TARGETPATH      ECOM_RESOURCE_DIR
 END
 
-LIBRARY     euser.lib cone.lib ecom.lib bafl.lib CommonEngine.lib
+LIBRARY     euser.lib cone.lib ecom.lib bafl.lib commonengine.lib
 LIBRARY     eikcore.lib eikctl.lib eikcoctl.lib
-LIBRARY     avkon.lib aknnotify.lib estor.lib efsrv.lib aknicon.lib egul.lib aknskins.lib
-LIBRARY	    xspviewservices.lib
+LIBRARY     avkon.lib aknnotify.lib estor.lib efsrv.lib aknicon.lib egul.lib AknSkins.lib
+LIBRARY		xSPViewServices.lib
 LIBRARY	    centralrepository.lib
 
 // Dependencies to Phonebook2
-LIBRARY     Pbk2CommonUI.lib Pbk2UIExt.lib Pbk2Presentation.lib VPbkEng.lib
+LIBRARY     Pbk2CommonUi.lib Pbk2UIExt.lib Pbk2Presentation.lib VPbkEng.lib
 LIBRARY		bitgdi.lib fbscli.lib
 
 START BITMAP ExtensionManager.mbm
--- a/phonebookui/Phonebook2/group/xSPViewServices.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/group/xSPViewServices.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,7 +31,7 @@
 SOURCEPATH      ../xSPExtensionManager/src
 
 SOURCE          xSPViewServices.cpp
-SOURCE		CxSPViewData.cpp
+SOURCE			CxSPViewData.cpp
 
 LIBRARY	        apgrfx.lib apparc.lib ws32.lib ecom.lib euser.lib
-LIBRARY         Pbk2CommonUI.lib VPbkEng.lib estor.lib
+LIBRARY         Pbk2CommonUi.lib VPbkEng.lib estor.lib
Binary file phonebookui/Phonebook2/help/data/xhtml.zip has changed
--- a/phonebookui/Phonebook2/inc/CPbk2CommandHandler.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/inc/CPbk2CommandHandler.h	Wed Oct 13 14:15:33 2010 +0300
@@ -136,15 +136,6 @@
                 TInt aPresIndex,
                 const MVPbkStoreContact* aStoreContact );
 
-    public:
-    	  /**
-         * Returns the Command Store
-         * OwnerShip is not transferred. 
-         *
-         * @return  Pointer to the instance CPbk2CommandStore. Can be NULL. Ownership not transferred
-         */
-        IMPORT_C CPbk2CommandStore* CommandStore();
-                
     private: // Data
         /// Own: Command factory
         MPbk2CommandFactory* iCommandFactory;
--- a/phonebookui/Phonebook2/inc/CPbk2FetchDlg.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/inc/CPbk2FetchDlg.h	Wed Oct 13 14:15:33 2010 +0300
@@ -159,14 +159,6 @@
          */
         IMPORT_C void AcceptDelayedFetchL(
                 const TDesC8& aContactLink );
-        
-        /**
-         * Unmarks the given contact as selected.
-         *
-         * @param aContactLink  Link to a contact to select.
-         */
-        IMPORT_C void DenyDelayedFetchL(
-                const TDesC8& aContactLink );
 
     public: // From CEikDialog
         IMPORT_C TInt ExecuteLD();
@@ -212,7 +204,6 @@
         void SelectContactL(
                 const MVPbkContactLink& aLink,
                 TBool aSelected );
-        TBool IsSelectPermitted();
         
     private: // From MPbk2StoreConfigurationObserver
     	void ConfigurationChanged();
@@ -321,8 +312,6 @@
         CPbk2NamesListControl* iNamesListControl;
         /// Not own: Group list control
         CPbk2NamesListControl* iGroupListControl;
-        /// Is selection permitted
-        TBool iSelectPermitted;
     };
 
 #endif // CPBK2FETCHDLG_H
--- a/phonebookui/Phonebook2/inc/CPbk2NamesListControl.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/inc/CPbk2NamesListControl.h	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,6 @@
 #include <aknsfld.h>
 #include <eiklbo.h>
 #include "CPbk2ControlContainer.h"
-#include <aknmarkingmodeobserver.h>
 
 // FORWARD DECLARATIONS
 class MPbk2NamesListState;
@@ -79,8 +78,7 @@
                               public MEikListBoxObserver,
                               public MPbk2ControlContainerForegroundEventObserver,
                               public MPbk2CommandItemUpdater,
-                              public MVPbkContactViewObserverExtension, 
-                              public MAknMarkingModeObserver
+                              public MVPbkContactViewObserverExtension 
     {
     public: // Enumerations
 
@@ -131,27 +129,27 @@
                 CPbk2StorePropertyArray& aStoreProperties );
         
         /**
-        * Creates a new instance of this class.
-        *
-        * @param aResourceId       Id of the resource where the control
-        *                          is defined in.
-        * @param aContainer        This control's container.
-        * @param aManager          Virtual Phonebook contact manager.
-        * @param aView             The contact view.
-        * @param aNameFormatter    Name formatter.
-        * @param aStoreProperties  An array containg properties
-        *                          for the stores that are shown.
-        * @param aThumbManager       Thumbnail manager for social phonebook    //TODO
-        * @return A new instance of this class.
-        */
-       IMPORT_C static CPbk2NamesListControl* NewL(
-               TInt aResourceId,
-               const CCoeControl* aContainer,
-               CVPbkContactManager& aManager,
-               MVPbkContactViewBase& aView,
-               MPbk2ContactNameFormatter& aNameFormatter,
-               CPbk2StorePropertyArray& aStoreProperties,
-               CPbk2ThumbnailManager* aThumbManager );
+		* Creates a new instance of this class.
+		*
+		* @param aResourceId       Id of the resource where the control
+		*                          is defined in.
+		* @param aContainer        This control's container.
+		* @param aManager          Virtual Phonebook contact manager.
+		* @param aView             The contact view.
+		* @param aNameFormatter    Name formatter.
+		* @param aStoreProperties  An array containg properties
+		*                          for the stores that are shown.
+		* @param aThumbManager	   Thumbnail manager for social phonebook	//TODO
+		* @return A new instance of this class.
+		*/
+	   IMPORT_C static CPbk2NamesListControl* NewL(
+			   TInt aResourceId,
+			   const CCoeControl* aContainer,
+			   CVPbkContactManager& aManager,
+			   MVPbkContactViewBase& aView,
+			   MPbk2ContactNameFormatter& aNameFormatter,
+			   CPbk2StorePropertyArray& aStoreProperties,
+			   CPbk2ThumbnailManager* aThumbManager );
 
         /**
          * Constructor. Defined as public for custom control needs.
@@ -247,8 +245,8 @@
         /**
          * For special case: Call this function to skip showing the 
          * blocking progress note when mass update is going on in nameslistview.
-         * When done, MassUpdateSkipProgressNote(EFalse) must always be
-         * called to reset back to original state (even if a Leave would happen in between) 
+		 * When done, MassUpdateSkipProgressNote(EFalse) must always be
+		 * called to reset back to original state (even if a Leave would happen in between) 
          * @param aSkip - ETrue if progress note should not be displayed. EFalse reset to normal.
          */
         IMPORT_C void MassUpdateSkipProgressNote( TBool aSkip );
@@ -392,25 +390,6 @@
     public: // from MAdaptiveSearchTextObserver
 
         void AdaptiveSearchTextChanged( CAknSearchField* aSearchField );
-
-    public: // From MAknMarkingModeObserver 
-            
-        /**
-         * This method is called when marking mode is activated or deactivated.
-         * 
-         * @param aActivated @c ETrue if marking mode was activate, @c EFalse
-         *                   if marking mode was deactivated.
-         */
-        void MarkingModeStatusChanged( TBool aActivated );
-
-        /**
-         * This method is called just before marking mode is closed. Client can 
-         * either accept or decline closing.
-         * 
-         * @return @c ETrue if marking mode should be closed, otherwise @c EFalse.
-         */
-        TBool ExitMarkingMode() const;
-        
     private: // Implementation
         
         /**
@@ -464,16 +443,7 @@
         void RestoreMarkedContactsL();
         void ClearMarkedContactsInfo();
         
-    public:
-        inline void SetMarkingMode( TBool aActived )
-            {
-            iMarkingModeOn = aActived;
-            }
         
-        inline TBool GetMarkingMode() const
-            {
-            return iMarkingModeOn;
-            }
         
     private: // Data
         /// Ref: Current state
@@ -530,19 +500,17 @@
         // Wheter this control owns the thumbnail manager (iThumbManager) or not 
         TBool iOwnThumbManager;
         //OWN: double list box "handle"
-        CPbk2ContactViewDoubleListBox* iDoubleListBox;
+        CPbk2ContactViewDoubleListBox* 	iDoubleListBox;
         
         //Own: Selected/Marked Contacts
-        MVPbkContactLinkArray* iSelectedLinkArray;
+        MVPbkContactLinkArray* iSelectedLinkArray;      
            
         //Own: Background Task Handler     
         CPbk2NamesListControlBgTask* iBgTask;
         //Own: Mass update checker/handler
         CPbk2HandleMassUpdate* iCheckMassUpdate;
         //Own: Open Cca is in progress
-        TBool iOpeningCca;
-        // Flag to indicate marking mode is active
-        TBool iMarkingModeOn;
+        TBool iOpeningCca;        
     };
 
 #endif // CPBK2NAMESLISTCONTROL_H
--- a/phonebookui/Phonebook2/inc/MPbk2FetchDlg.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/inc/MPbk2FetchDlg.h	Wed Oct 13 14:15:33 2010 +0300
@@ -118,13 +118,6 @@
         virtual void SelectContactL(
                 const MVPbkContactLink& aLink,
                 TBool aSelected ) = 0;
-        /**
-         * Check whether selection is permitted
-         * 
-         * @return              Check result
-         */
-        virtual TBool IsSelectPermitted() = 0;
-
 
     protected: // Protected functions
 
--- a/phonebookui/Phonebook2/inc/Pbk2Icons.hrh	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/inc/Pbk2Icons.hrh	Wed Oct 13 14:15:33 2010 +0300
@@ -185,10 +185,6 @@
 #define qgn_prop_radiobutt_off              EMbmAvkonQgn_prop_radiobutt_off
 #define qgn_prop_radiobutt_off_mask         EMbmAvkonQgn_prop_radiobutt_off_mask
 
-/// UnSync icon
-#define qgn_prop_phonebook2_unsync              EMbmPhonebook2Qgn_prop_cmcc_unsync
-#define qgn_prop_phonebook2_unsync_mask         EMbmPhonebook2Qgn_prop_cmcc_unsync_mask
-
 //// Phonebook2 bitmap file location and name
 #define phonebook2_mbm_file_location     "z:\\resource\\apps\\Phonebook2.mif"
 
--- a/phonebookui/Phonebook2/inc/cpbk2commandactivator.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/inc/cpbk2commandactivator.h	Wed Oct 13 14:15:33 2010 +0300
@@ -52,7 +52,7 @@
         void ExecuteLD();
         void ResetUiControl(MPbk2ContactUiControl& aUiControl);
         void AddObserver( MPbk2CommandObserver& aObserver );
-        TAny* CommandExtension(TUid /*aExtensionUid*/);                     
+                     
     private: // MPbk2CommandObserver
         void CommandFinished( const MPbk2Command& aCommand );
 
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionmenu/group/pbk2rclcontactactionmenu.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionmenu/group/pbk2rclcontactactionmenu.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -61,12 +61,12 @@
 LIBRARY                 aknskins.lib
 LIBRARY                 aknskinsrv.lib
 LIBRARY                 aknswallpaperutils.lib
-LIBRARY                 fontutils.lib
-LIBRARY                 CdlEngine.lib
+LIBRARY                 FontUtils.lib
+LIBRARY                 cdlengine.lib
 LIBRARY                 aknlayout2.lib
-LIBRARY                 AknLayout2Scalable.lib
-LIBRARY                 AknLayout2Adaptation.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 aknlayout2scalable.lib
+LIBRARY                 aknlayout2adaptation.lib
+LIBRARY                 commonengine.lib
 
 #if (PBKX_DEBUG_LEVEL > 0)
 LIBRARY                 pbkxdebug.lib
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/callplugin/group/pbk2rclcallplugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/callplugin/group/pbk2rclcallplugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -46,13 +46,13 @@
 LIBRARY                 ecom.lib
 LIBRARY                 egul.lib // Icon
 LIBRARY                 servicehandler.lib // AIW
-LIBRARY                 CommonEngine.lib // String loadder
+LIBRARY                 commonengine.lib // String loadder
 LIBRARY                 bafl.lib
 LIBRARY                 cone.lib 
 LIBRARY                 fbscli.lib
 LIBRARY                 ws32.lib
 LIBRARY                 featmgr.lib 
-LIBRARY                 ProfileEngine.lib
+LIBRARY                 profileengine.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 aiwdialdata.lib
 
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/data/pbk2rclactionutils.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/data/pbk2rclactionutils.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -37,7 +37,7 @@
 #include <Pbk2UID.h>
 
 #include "FscFieldOrdering.rh"
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // RESOURCE DEFINITIONS
 #include <Pbk2StoreProperty.rh>
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/group/pbk2rclcontactactionservice.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/group/pbk2rclcontactactionservice.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -72,13 +72,13 @@
 LIBRARY                 ecom.lib
 LIBRARY                 cone.lib
 LIBRARY                 avkon.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 egul.lib // Icon
 LIBRARY                 fbscli.lib
 LIBRARY                 featmgr.lib 
 LIBRARY                 aknskins.lib
-LIBRARY                 VPbkEng.lib
+LIBRARY                 vpbkeng.lib
 LIBRARY                 bafl.lib
 LIBRARY                 efsrv.lib
 LIBRARY                 eikcoctl.lib
@@ -89,7 +89,7 @@
 
 // Dependencies to Phonebook
 LIBRARY                 Pbk2Presentation.lib
-LIBRARY                 Pbk2CommonUI.lib
+LIBRARY                 Pbk2CommonUi.lib
 
 #if (PBKX_DEBUG_LEVEL > 0)
 LIBRARY                 pbkxdebug.lib
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/inc/CFscFieldOrderingManager.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/inc/CFscFieldOrderingManager.h	Wed Oct 13 14:15:33 2010 +0300
@@ -75,7 +75,7 @@
         TFieldTypeOrder( TResourceReader& aReader );
 
         /**
-         * Field type resource id from vpbkeng.rsg
+         * Field type resource id from VPbkEng.rsg
          */
         TInt iFieldTypeResId;
 
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/inc/FscFieldOrdering.rh	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/inc/FscFieldOrdering.rh	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 //
 STRUCT FSC_FIELDTYPE_PRESENTATION_ORDER
     {
-    /// Field type resource id from vpbkeng.rsg
+    /// Field type resource id from VPbkEng.rsg
     LONG fieldTypeResId;
     /// The number that specifies the location of this field type
     /// in contact presentation (defines the order of fields). 
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/pocplugin/group/pbk2rclpocplugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/pocplugin/group/pbk2rclpocplugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,16 +44,16 @@
 LIBRARY                 euser.lib 
 LIBRARY                 ecom.lib
 LIBRARY                 egul.lib
-LIBRARY                 servicehandler.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 ServiceHandler.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cone.lib 
 LIBRARY                 fbscli.lib
 LIBRARY                 ws32.lib
-LIBRARY                 featmgr.lib
+LIBRARY                 FeatMgr.lib 
 LIBRARY                 centralrepository.lib
 LIBRARY                 aknskins.lib
-LIBRARY                 ProfileEngine.lib
+LIBRARY                 profileengine.lib
 
 #if (PBKX_DEBUG_LEVEL > 0)
 LIBRARY                 pbkxdebug.lib
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/saveascontactplugin/group/pbk2rclsaveascontactplugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/saveascontactplugin/group/pbk2rclsaveascontactplugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -46,7 +46,7 @@
 LIBRARY                 euser.lib 
 LIBRARY                 ecom.lib
 LIBRARY                 egul.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cone.lib 
 LIBRARY                 VPbkEng.lib
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/sendbusinesscard/group/pbk2rclsendbusinesscardplugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/sendbusinesscard/group/pbk2rclsendbusinesscardplugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -49,7 +49,7 @@
 LIBRARY                 euser.lib 
 LIBRARY                 ecom.lib
 LIBRARY                 egul.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cone.lib 
 LIBRARY                 VPbkEng.lib
@@ -59,19 +59,19 @@
 LIBRARY                 centralrepository.lib
 LIBRARY                 Pbk2Presentation.lib
 
-LIBRARY			sendui.lib
-LIBRARY			etext.lib
-LIBRARY			featmgr.lib
-LIBRARY			bcardeng.lib
-LIBRARY			pbkeng.lib
-LIBRARY  		estor.lib //RFileWriteStream
-LIBRARY	 		platformenv.lib
-LIBRARY			VPbkVCardEng.lib
+LIBRARY					sendui.lib
+LIBRARY					etext.lib
+LIBRARY					featmgr.lib
+LIBRARY					bcardeng.lib
+LIBRARY					pbkeng.lib
+LIBRARY  				estor.lib //RFileWriteStream
+LIBRARY	 				PlatformEnv.lib
+LIBRARY					VPbkVCardEng.lib
 
 
-LIBRARY 		eikcoctl.lib 
-LIBRARY 		apparc.lib 
-LIBRARY 		apmime.lib
+LIBRARY 				eikcoctl.lib 
+LIBRARY 				apparc.lib 
+LIBRARY 				apmime.lib
 
 #if (PBKX_DEBUG_LEVEL > 0)
 LIBRARY                 pbkxdebug.lib
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/sendplugin/group/pbk2rclsendplugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/sendplugin/group/pbk2rclsendplugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -43,7 +43,7 @@
 LIBRARY                 euser.lib 
 LIBRARY                 ecom.lib
 LIBRARY                 egul.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 bafl.lib
 LIBRARY                 cone.lib 
 LIBRARY                 fbscli.lib
@@ -52,7 +52,7 @@
 LIBRARY                 sysutil.lib
 LIBRARY                 featmgr.lib 
 LIBRARY                 centralrepository.lib
-LIBRARY                 VPbkEng.lib
+LIBRARY                 vpbkeng.lib
 
 SOURCEPATH              ../data
 START RESOURCE	        20029F33.rss
--- a/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/src/CFscFieldPropertyArray.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/contactactionservice/src/CFscFieldPropertyArray.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,7 +31,7 @@
 #include <MVPbkFieldType.h>
 #include <TVPbkFieldVersitProperty.h>
 #include <CVPbkFieldTypeSelector.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 // System includes
 #include <barsc.h>
--- a/phonebookui/Phonebook2/remotecontactlookup/engine/group/pbk2rclengine.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/engine/group/pbk2rclengine.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -32,22 +32,22 @@
 SOURCEPATH      ../src
 SOURCE          cpbkxrclqueryeditor.cpp
 SOURCE          cpbkxrclresultinfodlg.cpp
-SOURCE		cpbkxrclsearchresultdlg.cpp
-SOURCE		cpbkxrclserviceuicontextimpl.cpp
-SOURCE		cpbkxrclprotocolresultimpl.cpp
-SOURCE		cpbkxrclprotocolenvimpl.cpp
-SOURCE		cpbkxrclprotocolaccountimpl.cpp
-SOURCE		pbkxrclutils.cpp
-SOURCE		cpbkxrcleventscheduler.cpp
-SOURCE		cpbkxrclvcardsender.cpp
-SOURCE		cpbkxrclcbrsender.cpp
-SOURCE		cpbkxrclactionservicewrapper.cpp
-SOURCE		cpbkxrclcontactupdater.cpp
-SOURCE		cpbkxrclsettingitem.cpp
-SOURCE		cpbkxrclbasedlg.cpp
-SOURCE		cpbkxrclsearchresultlistbox.cpp
-SOURCE		cpbkxrclresultinfolistbox.cpp
-SOURCE 		cpbkxrclcontactconverter.cpp
+SOURCE			cpbkxrclsearchresultdlg.cpp
+SOURCE			cpbkxrclserviceuicontextimpl.cpp
+SOURCE			cpbkxrclprotocolresultimpl.cpp
+SOURCE			cpbkxrclprotocolenvimpl.cpp
+SOURCE			cpbkxrclprotocolaccountimpl.cpp
+SOURCE			pbkxrclutils.cpp
+SOURCE			cpbkxrcleventscheduler.cpp
+SOURCE			cpbkxrclvcardsender.cpp
+SOURCE			cpbkxrclcbrsender.cpp
+SOURCE			cpbkxrclactionservicewrapper.cpp
+SOURCE			cpbkxrclcontactupdater.cpp
+SOURCE			cpbkxrclsettingitem.cpp
+SOURCE			cpbkxrclbasedlg.cpp
+SOURCE			cpbkxrclsearchresultlistbox.cpp
+SOURCE			cpbkxrclresultinfolistbox.cpp
+SOURCE 			cpbkxrclcontactconverter.cpp
 SOURCE          pbk2remotecontactlookupfactory.cpp
 SOURCE          cpbk2remotecontactlookupaccounts.cpp
 
@@ -62,40 +62,40 @@
 USERINCLUDE ../../../../inc 
 SYSTEMINCLUDE	/epoc32/include/cshelp
 
-LIBRARY 	aknlayout2.lib
-LIBRARY		AknLayout2Scalable.lib
-LIBRARY 	CdlEngine.lib
+LIBRARY 		AknLayout2.lib
+LIBRARY			AknLayout2Scalable.lib
+LIBRARY 		CdlEngine.lib
 LIBRARY         euser.lib 
 LIBRARY         ecom.lib
 LIBRARY         centralrepository.lib
-LIBRARY         CommonEngine.lib
+LIBRARY         commonengine.lib
 LIBRARY         cone.lib
-LIBRARY		cntmodel.lib
+LIBRARY			cntmodel.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         eikctl.lib 
 LIBRARY         eikdlg.lib
 LIBRARY         eikcore.lib
-LIBRARY		bafl.lib
-LIBRARY		pbkeng.lib
-LIBRARY		pbkview.lib
-LIBRARY		aknskins.lib 
-LIBRARY		aknskinsrv.lib
-LIBRARY		efsrv.lib
-LIBRARY		estor.lib
-LIBRARY		bcardeng.lib
-LIBRARY		sendui.lib
-LIBRARY		etext.lib
-LIBRARY		featmgr.lib
-LIBRARY		servicehandler.lib
-LIBRARY		ws32.lib
-LIBRARY		egul.lib
-LIBRARY		aknicon.lib
-LIBRARY		fepbase.lib
-LIBRARY		hlplch.lib
-LIBRARY		VPbkEng.lib
-LIBRARY		VPbkVCardEng.lib
-LIBRARY         platformenv.lib
+LIBRARY			bafl.lib
+LIBRARY			pbkeng.lib
+LIBRARY			pbkview.lib
+LIBRARY			aknskins.lib 
+LIBRARY			aknskinsrv.lib
+LIBRARY			efsrv.lib
+LIBRARY			estor.lib
+LIBRARY			bcardeng.lib
+LIBRARY			sendui.lib
+LIBRARY			etext.lib
+LIBRARY			featmgr.lib
+LIBRARY			servicehandler.lib
+LIBRARY			ws32.lib
+LIBRARY			egul.lib
+LIBRARY			aknicon.lib
+LIBRARY			fepbase.lib
+LIBRARY			hlplch.lib
+LIBRARY			VPbkEng.lib
+LIBRARY			VPbkVCardEng.lib
+LIBRARY         PlatformEnv.lib
 LIBRARY         Pbk2CommonUI.lib
 
 #if (PBKX_DEBUG_LEVEL > 0)
--- a/phonebookui/Phonebook2/remotecontactlookup/settingplugin/group/pbk2rclsetting.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/settingplugin/group/pbk2rclsetting.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -54,7 +54,7 @@
 
 USERINCLUDE             ../inc 
 USERINCLUDE             ../../inc // for emailtrace.h
-USERINCLUDE             ../../../../inc
+USERINCLUDE           ../../../../inc
 
 SYSTEMINCLUDE   	/epoc32/include/ecom
 
@@ -62,7 +62,7 @@
 
 // Dependencies to Symbian OS components
 LIBRARY                 euser.lib
-LIBRARY                 CommonEngine.lib
+LIBRARY                 commonengine.lib
 LIBRARY                 ecom.lib
 LIBRARY                 cone.lib 
 LIBRARY                 eikcoctl.lib
--- a/phonebookui/Phonebook2/rom/Phonebook2Resources.iby	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/rom/Phonebook2Resources.iby	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,6 @@
 data=DATAZ_\RESOURCE_FILES_DIR\Pbk2Presentation.rsc     RESOURCE_FILES_DIR\Pbk2Presentation.rsc
 data=DATAZ_\RESOURCE_FILES_DIR\Pbk2PresentationChinese.rsc RESOURCE_FILES_DIR\Pbk2PresentationChinese.rsc
 data=DATAZ_\RESOURCE_FILES_DIR\Pbk2PresentationJapanese.rsc RESOURCE_FILES_DIR\Pbk2PresentationJapanese.rsc
-data=DATAZ_\RESOURCE_FILES_DIR\Pbk2PresentationChineseUnSync.rsc RESOURCE_FILES_DIR\Pbk2PresentationChineseUnSync.rsc
 
 data=DATAZ_\RESOURCE_FILES_DIR\Pbk2UIControls.rsc       RESOURCE_FILES_DIR\Pbk2UIControls.rsc
 data=DATAZ_\RESOURCE_FILES_DIR\Pbk2Commands.rsc         RESOURCE_FILES_DIR\Pbk2Commands.rsc
--- a/phonebookui/Phonebook2/spbcontentprovider/src/spbcontactdatamodelprivate.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/spbcontentprovider/src/spbcontactdatamodelprivate.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -16,7 +16,7 @@
  */
 
 #include <TPbk2StoreContactAnalyzer.h>
-#include <pbk2uicontrols.rsg>
+#include <Pbk2UIControls.rsg>
 #include <Pbk2PresentationUtils.h>
 #include <CPbk2PresentationContact.h>
 #include <CPbk2PresentationContactField.h>
@@ -35,7 +35,7 @@
 #include <MVPbkContactFieldBinaryData.h>
 #include <MVPbkContactFieldData.h>
 #include <VPbkUtils.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 
 #include <aknlists.h>
 #include <avkon.rsg>
--- a/phonebookui/Phonebook2/spbcontentprovider/src/spbphonenumberparser.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/spbcontentprovider/src/spbphonenumberparser.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -26,7 +26,7 @@
 #include <CVPbkDefaultAttribute.h>
 #include <MVPbkContactFieldTextData.h>
 #include <MVPbkFieldType.h>
-#include <vpbkeng.rsg>						// resource ids for numbers
+#include <VPbkEng.rsg>						// resource ids for numbers
 
 
 // ---------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/tsrc/UT_AddFavoritiesVisibility/group/UT_AddFavoritiesVisibility.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/tsrc/UT_AddFavoritiesVisibility/group/UT_AddFavoritiesVisibility.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -58,7 +58,7 @@
 #endif
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         VPbkContactTestUtils.lib
 LIBRARY         centralrepository.lib
--- a/phonebookui/Phonebook2/tsrc/Utilities/ChangePbk2CenRepKeyValuesTool/group/ChangePbk2CenRepKeyValuesTool.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/tsrc/Utilities/ChangePbk2CenRepKeyValuesTool/group/ChangePbk2CenRepKeyValuesTool.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -53,7 +53,7 @@
 #endif
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         centralrepository.lib
 
--- a/phonebookui/Phonebook2/xSPExtensionManager/src/CExtensionManagerFactory.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/xSPExtensionManager/src/CExtensionManagerFactory.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -38,7 +38,7 @@
 #include "CxSPAppUiManager.h"
 #include "CxSPLoader.h"
 #include "ExtensionManager.hrh"
-#include <extensionmanagerres.rsg>
+#include <ExtensionManagerRes.rsg>
 #include "CxSPViewIdChanger.h"
 #include "ExtensionManagerIcons.hrh"
 #include "CxSPViewInfo.h"
--- a/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPAppUiManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPAppUiManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -43,7 +43,7 @@
 #include <MPbk2AppUi.h>
 
 // internal
-#include <extensionmanagerres.rsg>
+#include <ExtensionManagerRes.rsg>
 #include "ExtensionManager.hrh"
 #include "CxSPViewInfo.h"
 #include "CxSPViewIdChanger.h"
--- a/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPSortNamesListViewExtension.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPSortNamesListViewExtension.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,7 @@
 
 // internal
 #include "ExtensionManager.hrh"
-#include <extensionmanagerres.rsg>
+#include <ExtensionManagerRes.rsg>
 #include "MxSPCommandMapper.h"
 #include "ExtensionManagerUID.H"
 
--- a/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPSortView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPSortView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -45,7 +45,7 @@
 
 // internal
 #include "ExtensionManager.hrh"
-#include <extensionmanagerres.rsg>
+#include <ExtensionManagerRes.rsg>
 #include "ExtensionManagerUID.H"
 #include "CxSPLoader.h"
 #include "MxSPFactory.h"
--- a/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPSortViewControl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPSortViewControl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -33,7 +33,7 @@
 #include "MxSPFactory.h"
 #include "CxSPViewIdChanger.h"
 #include "CxSPViewInfo.h"
-#include <extensionmanagerres.rsg>
+#include <ExtensionManagerRes.rsg>
 #include "xSPOrderOrganizer.h"
 #include "CGlobalNoteObserver.h"
 #include <MPbk2ApplicationServices2.h>
--- a/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewActivator.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewActivator.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,6 @@
 #include "CxSPViewActivator.h"
 #include <CxSPViewData.h>
 #include "CxSPViewInfo.h"
-#include <Pbk2ViewId.hrh>
 
 
 // System includes
@@ -138,34 +137,17 @@
             newViewId = viewID;
             }
     
-        // If err is KErrNone or KErrNotFound, complete client's request with KErrNone. 
-        // The reason is even if client passed an invalid view id to xsp server, 
-        // the server will launch phonebook namelist view instead. 
-        if ( KErrNone == err || KErrNotFound == err )
-        	{
-            aMessage.Complete( KErrNone );
-        	}
-        else
-        	{
-            aMessage.Complete( err );
-        	}
+        aMessage.Complete(err);
     
-        if( err == KErrNone )
+        if(err == KErrNone)
             {
             // Make view id
-            const TVwsViewId viewId( TUid::Uid( KUid ), TUid::Uid( newViewId ) );
+            const TVwsViewId viewId(TUid::Uid(KUid), TUid::Uid(newViewId));
             // Activate the view
             static_cast<CAknViewAppUi*>(CCoeEnv::Static()->AppUi())->ActivateViewL(
                                                         viewId, CPbk2ViewState::Uid(), *paramBuf);
             }
-        else if ( err == KErrNotFound )
-        	{
-            // Activate phonebook namelist view if valid view id can't be found
-            const TVwsViewId viewId( TUid::Uid( KUid ), TUid::Uid( EPbk2NamesListViewId ) );
-            static_cast<CAknViewAppUi*>( CCoeEnv::Static()->AppUi() )->ActivateViewL(
-                                                        viewId, CPbk2ViewState::Uid(), *paramBuf );        
-        	}
-        
+    
         CleanupStack::PopAndDestroy();  // paramBuf;
         }
     }
--- a/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewIdChanger.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewIdChanger.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,7 +28,7 @@
 #include "MxSPViewInfo.h"
 #include "ExtensionManager.hrh"
 #include "CxSPViewInfo.h"
-#include <extensionmanagerres.rsg>
+#include <ExtensionManagerRes.rsg>
 #include "ExtensionManagerUID.H"
 #include "xSPOrderOrganizer.h"
 #include "Phonebook2PrivateCRKeys.h"
--- a/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewManager.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/xSPExtensionManager/src/CxSPViewManager.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include <pbk2commands.rsg>
+#include <Pbk2Commands.rsg>
 #include <coemain.h>
 #include <barsread.h>
 #include <eikmenup.h>
--- a/phonebookui/Speeddial/ControlSrc/SpdiaControl.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/ControlSrc/SpdiaControl.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -48,7 +48,7 @@
 #include <RPbkViewResourceFile.h>  // Phonebook view dll resource file loader
 #include <StringLoader.h>
 
-#include <spdctrl.rsg>
+#include <SpdCtrl.rsg>
 #include <SpdCtrl.mbg>
 #include <Avkon.mbg>
 #include <gdi.h>
--- a/phonebookui/Speeddial/ControlSrc/SpdiaControl_platsec.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/ControlSrc/SpdiaControl_platsec.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,7 +44,7 @@
 #include <CPbkContactChangeNotifier.h>
 #include <RPbkViewResourceFile.h>  // Phonebook view dll resource file loader
 #include <StringLoader.h>
-#include <spdctrl.rsg>
+#include <SpdCtrl.rsg>
 #include <spdctrl.mbg>
 #include <avkon.mbg>
 #include <gdi.h>
--- a/phonebookui/Speeddial/ControlSrc/SpdiaGrid.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/ControlSrc/SpdiaGrid.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,7 +31,7 @@
 #include <layoutmetadata.cdl.h>
 #include <akntitle.h>
 #include <StringLoader.h>
-#include <spdctrl.rsg>
+#include <SpdCtrl.rsg>
 const TInt KItemPrimary(3);
 const TInt KItemSecondary(3);
 
--- a/phonebookui/Speeddial/ControlSrc/SpdiaGridDlg.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/ControlSrc/SpdiaGridDlg.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,7 +44,7 @@
 #include <CPbkContactEngine.h>      // phonebook engine
 #include <aknlayoutscalable_apps.cdl.h>
 #include <layoutmetadata.cdl.h>
-#include <spdctrl.rsg>
+#include <SpdCtrl.rsg>
 #include "SpdiaControl.hrh"
 #include "SpdiaControl.h"
 #include "SpdiaGridDlg.h"
--- a/phonebookui/Speeddial/VPbkControlInc/speeddialprivate.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/VPbkControlInc/speeddialprivate.h	Wed Oct 13 14:15:33 2010 +0300
@@ -722,7 +722,6 @@
     
     RArray<TXspIconHelper> ixspIconInfoArray;
     
-    MVPbkContactOperationBase* iFindOperation;  //own: contact find operation
 };
 
 
--- a/phonebookui/Speeddial/VPbkControlSrc/SpdiaGridDlgVPbk.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/VPbkControlSrc/SpdiaGridDlgVPbk.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -40,7 +40,7 @@
 
 #include <aknlayoutscalable_apps.cdl.h>
 #include <layoutmetadata.cdl.h>
-#include <spdctrl.rsg>
+#include <SpdCtrl.rsg>
 #include "SpdiaControl.hrh"
 #include "speeddialprivate.h"
 #include "SpdiaGridDlgVPbk.h"
--- a/phonebookui/Speeddial/VPbkControlSrc/SpdiaGridVPbk.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/VPbkControlSrc/SpdiaGridVPbk.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -31,7 +31,7 @@
 #include <layoutmetadata.cdl.h>
 #include <akntitle.h>
 #include <StringLoader.h>
-#include <spdctrl.rsg>
+#include <SpdCtrl.rsg>
 const TInt KItemPrimary(3);
 const TInt KItemSecondary(3);
 
--- a/phonebookui/Speeddial/VPbkControlSrc/speeddialprivate.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/VPbkControlSrc/speeddialprivate.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,7 +44,7 @@
 
 
 #include <StringLoader.h>
-#include <spdctrl.rsg>
+#include <SpdCtrl.rsg>
 #include <spdctrl.mbg>
 #include <avkon.mbg>
 #include <gdi.h>
@@ -97,7 +97,7 @@
 #include <AiwServiceHandler.h>
 #include <telvmbxsettingscrkeys.h>
 
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <AiwContactAssignDataTypes.h>
 
 #include "SpdiaContainer.h"
@@ -223,8 +223,7 @@
                         iFetchmail(EFalse),
                         iServiceHandler(NULL),						
                         iCancelFlag(0),
-                        iRemoveConfirmQueryDialog( NULL ),
-                        iFindOperation( NULL )
+                        iRemoveConfirmQueryDialog( NULL )
                         /*iOperationComplete(EFalse),*/
 	{
 
@@ -496,10 +495,7 @@
         iRemoveConfirmQueryDialog = NULL;
         }
 		
-    ixspIconInfoArray.Close();  
-    
-    // Make sure iFindOperation released if it has not release in InitIndexDataL()
-    delete iFindOperation;
+    ixspIconInfoArray.Close();    
     }
        
 // ---------------------------------------------------------
@@ -2699,16 +2695,15 @@
         iFetchAll = EFalse;
         iSpeedDial->SetIndex(CVPbkSpeedDialAttribute::KSpeedDialIndexNotDefined);
        // iSpeedDial->SetIndex(2);
-        iFindOperation = iAttributeManager->ListContactsL( *iSpeedDial , ( *this ) );
+       	MVPbkContactOperationBase* findOperation = iAttributeManager->ListContactsL(*iSpeedDial,(*this));
        
-        while( iFindOperation != NULL && !iFetchAll )
+        while(findOperation != NULL && !iFetchAll)
         {
         	//Wait till every contactlink is fetched and set.
         	Wait();
         }
         //Delete the handle
-        delete iFindOperation;
-        iFindOperation = NULL;
+        delete findOperation;
         
         MVPbkContactOperationBase* retrieveOperation = NULL;
         for(TInt count =0; iContactLinkArray && count < iContactLinkArray->Count();++count)
--- a/phonebookui/Speeddial/datasrc/SpdCtrl.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/datasrc/SpdCtrl.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -32,7 +32,7 @@
 #include <avkon.loc>
 #include <avkon.mbg>
 #include <avkon.hrh>
-#include <eikctl.rsg>
+#include <EIKCTL.rsg>
 #include <spdctrl.mbg>
 
 #include <speeddial.loc>
--- a/phonebookui/Speeddial/datasrc/SpeedDial.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/datasrc/SpeedDial.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -35,7 +35,7 @@
 #include <avkon.mbg>
 #include <avkon.loc>
 #include <avkon.hrh>
-#include <eikctl.rsg>
+#include <EIKCTL.rsg>
 
 #include <bldvariant.hrh>
 
--- a/phonebookui/Speeddial/group/SpdCtrl.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/group/SpdCtrl.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -69,7 +69,7 @@
 USERINCLUDE     ../inc ../ControlInc ../VPbkControlInc
 
 // Dependencies to other Phonebook components
-LIBRARY         pbkeng.lib pbkview.lib
+LIBRARY         PbkEng.lib PbkView.lib
 
 // Dependencies to other components
 //LIBRARY         PalbView.lib  //PalbEng.lib
@@ -79,26 +79,26 @@
 
 // Dependencies to system components
 LIBRARY         euser.lib bafl.lib cntmodel.lib 
-LIBRARY         cone.lib eikcoctl.lib eikdlg.lib avkon.lib fbscli.lib egul.lib
-LIBRARY         eikcore.lib CommonEngine.lib centralrepository.lib
-LIBRARY         sysutil.lib commonui.lib CdlEngine.lib
+LIBRARY         cone.lib eikcoctl.lib eikdlg.lib Avkon.lib fbscli.lib egul.lib
+LIBRARY         eikcore.lib commonengine.lib centralrepository.lib
+LIBRARY         sysutil.lib commonui.lib cdlengine.lib
 // phone client support
-LIBRARY         phoneclient.lib
+LIBRARY         PhoneClient.LIB
 // skins support
-LIBRARY         aknskins.lib
-LIBRARY         aknicon.lib
-LIBRARY		efsrv.lib
+LIBRARY         AknSkins.LIB
+LIBRARY         AknIcon.lib
+LIBRARY			efsrv.lib
 LIBRARY	        bitgdi.lib 
-LIBRARY         aknlayout2.lib
+LIBRARY         AknLayout2.lib       
 LIBRARY         AknLayout2Scalable.lib 
-LIBRARY         uiklaf.lib
-LIBRARY         featmgr.lib
+LIBRARY         UikLaf.lib 
+LIBRARY         FeatMgr.lib
 LIBRARY         avkon.lib
 LIBRARY         aknicon.lib
 
-LIBRARY 	servicehandler.lib
+LIBRARY 		ServiceHandler.lib
 LIBRARY         VPbkEng.lib
-LIBRARY  	Pbk2Presentation.lib
-LIBRARY 	Pbk2CommonUI.lib
+LIBRARY  		Pbk2Presentation.lib
+LIBRARY 		Pbk2CommonUI.lib
 
 // End of File
--- a/phonebookui/Speeddial/group/SpeedDial.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/group/SpeedDial.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -62,11 +62,11 @@
 
 // Dependencies to system components
 LIBRARY         euser.lib apparc.lib ws32.lib bafl.lib
-LIBRARY         cone.lib eikcoctl.lib avkon.lib fbscli.lib egul.lib
-LIBRARY         eikcore.lib CommonEngine.lib 
+LIBRARY         cone.lib eikcoctl.lib Avkon.lib fbscli.lib egul.lib
+LIBRARY         eikcore.lib commonengine.lib 
 LIBRARY         eikdlg.lib
 LIBRARY         numbergrouping.lib
-LIBRARY         servicehandler.lib              //Application InterWorking
+LIBRARY         ServiceHandler.lib              //Application InterWorking
 LIBRARY			efsrv.lib
 LIBRARY         apgrfx.lib
 LIBRARY	        bitgdi.lib 
@@ -74,23 +74,23 @@
 LIBRARY         VPbkEng.lib
 LIBRARY  		Pbk2Presentation.lib
 LIBRARY 		Pbk2CommonUI.lib
-LIBRARY         centralrepository.lib
+LIBRARY         CentralRepository.lib
 LIBRARY         cenrepnotifhandler.lib  // Cenrep notifier
 // external dependencies
 /// phone engine support
-LIBRARY         pbkeng.lib
+LIBRARY         PbkEng.lib
 /// context sensitive help support
 LIBRARY         hlplch.lib // for "Help" options menu
-LIBRARY         featmgr.lib
+LIBRARY         FeatMgr.lib
 
-library         aknlayout.lib
-LIBRARY         aknlayout2.lib
+library         AknLayout.lib
+LIBRARY         AknLayout2.lib       
 LIBRARY         AknLayout2Scalable.lib 
-LIBRARY         uiklaf.lib
-LIBRARY         aknicon.lib
+LIBRARY         UikLaf.lib 
+LIBRARY         AknIcon.lib
 library         vmbx.lib
 library 		aknnotify.lib
-library         sssettings.lib
+library         SSSettings.lib
 
 LIBRARY         sendui.lib
 LIBRARY		etext.lib
--- a/phonebookui/Speeddial/group/Speeddial_reg.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/group/Speeddial_reg.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -20,7 +20,7 @@
 
 
 #include <appinfo.rh>
-#include <speeddial.rsg>
+#include <SpeedDial.rsg>
 #include <data_caging_paths_strings.hrh>
 
 UID2 KUidAppRegistrationResourceFile
Binary file phonebookui/Speeddial/help/data/xhtml.zip has changed
--- a/phonebookui/Speeddial/speeddialgsplugin/data/speeddialgspluginrsc.rss	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/speeddialgsplugin/data/speeddialgspluginrsc.rss	Wed Oct 13 14:15:33 2010 +0300
@@ -27,13 +27,13 @@
 #include <avkon.loc> 
 #include <avkon.mbg>
 #include <avkon.rsg>
-#include <eikcore.rsg>
+#include <EIKCORE.rsg>
 #include <uikon.rh>
 #include <eikon.rh>
 #include <eikon.rsg>
 #include <avkon.rh>
 #include  <avkon.hrh>
-#include <gsapp.rsg>
+#include <GSApp.rsg>
 #include <gs.loc> 
 #include <bldvariant.hrh>
 
--- a/phonebookui/Speeddial/speeddialgsplugin/group/speeddialgsplugin.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/speeddialgsplugin/group/speeddialgsplugin.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -66,14 +66,14 @@
 LIBRARY   egul.lib
 LIBRARY   flogger.lib           // File logging
 LIBRARY   CommonEngine.lib      // For RConeResourceLoader
-LIBRARY   featmgr.lib           // Feature manager
-LIBRARY   centralrepository.lib
+LIBRARY   FeatMgr.lib           // Feature manager 
+LIBRARY   CentralRepository.lib
 LIBRARY   aknskinsrv.lib        // for enhanced skinning
 LIBRARY   aknskins.lib          // for enhanced skinning
-LIBRARY   gsecomplugin.lib
+LIBRARY   GSEcomPlugin.lib
 LIBRARY   hlplch.lib            // for "Help" options menu
-LIBRARY   gsframework.lib       // For base classes
-LIBRARY   gslistbox.lib         // For CGSListBoxItemTextArray
+LIBRARY   GSFramework.lib       // For base classes
+LIBRARY   GSListBox.lib         // For CGSListBoxItemTextArray
 LIBRARY   apgrfx.lib 
 LIBRARY   apparc.lib
 LIBRARY         ws32.lib
--- a/phonebookui/Speeddial/src/SpdiaAppUi.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/src/SpdiaAppUi.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -29,7 +29,7 @@
 #include <featmgr.h>
 #include <aknview.h>
 
-#include <speeddial.rsg>
+#include <SpeedDial.rsg>
 #include <AknGlobalNote.h>
 
 #include "speeddial.hrh"
@@ -143,6 +143,17 @@
     {
     FeatureManager::UnInitializeLib();
     
+    // We had gone to some other application using active application..
+	// We are coming back..Restore the GridStatus..
+	if(iSpeedPrivate!=NULL)
+	{
+	if(iSpeedPrivate->State() == CSpeedDialPrivate::STATE_IDLE && 
+		iSpeedPrivate->GridStatus() == CSpeedDialPrivate::EGridNoUse )
+	{
+		iSpeedPrivate->SetGridStatus(CSpeedDialPrivate::EGridUse);
+	}
+	}
+
 	 CSpdiaView* view = dynamic_cast<CSpdiaView*>(View( KViewId ));
 	 if ( view )
 	     {
--- a/phonebookui/Speeddial/src/SpdiaBaseView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/src/SpdiaBaseView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -25,7 +25,7 @@
 
 #include <aknViewAppUi.h>
 
-#include <speeddial.rsg>
+#include <SpeedDial.rsg>
 
 #include "SpdiaBaseView.h"
 
--- a/phonebookui/Speeddial/src/SpdiaCallingVmbxContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/src/SpdiaCallingVmbxContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,7 +21,7 @@
 
 
 // INCLUDE FILES
-#include <spdctrl.rsg>
+#include <SpdCtrl.rsg>
 
 #include "speeddialprivate.h"
 #include "SpdiaCallingVmbxContainer.h"
--- a/phonebookui/Speeddial/src/SpdiaCallingVmbxView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/src/SpdiaCallingVmbxView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -24,11 +24,12 @@
 #include <bldvariant.hrh>
 #include <AiwCommon.hrh>
 
-#include <speeddial.rsg>
+#include <SpeedDial.rsg>
 
 #include <vmnumber.h>
 #include <AknQueryDialog.h> 
 #include <aknnotedialog.h> 
+#include <SpeedDial.rsg>
 #include <StringLoader.h> 
 // needed just to get localized error message
 #include <AknGlobalNote.h>
--- a/phonebookui/Speeddial/src/SpdiaContainer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/src/SpdiaContainer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -33,14 +33,14 @@
 
 #include <StringLoader.h>
 #include <aknnotewrappers.h>
-#include <spdctrl.rsg>
+#include <SpdCtrl.rsg>
 #include <AknsUtils.h>
 #include <AknIconUtils.h>
 #include <aknViewAppUi.h>
 #include <AknFepInternalCRKeys.h>
 #include <aknlists.h>
 
-#include <speeddial.rsg>
+#include <SpeedDial.rsg>
 
 #include "speeddial.hrh" 
 #include "SpdiaControl.hrh"
--- a/phonebookui/Speeddial/src/SpdiaView.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Speeddial/src/SpdiaView.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -28,7 +28,7 @@
 #include <aknlists.h>
 #include <eikmenub.h>
 
-#include <speeddial.rsg>
+#include <SpeedDial.rsg>
 #include <featmgr.h>
 #include <AiwCommon.hrh>    //KAiwCmdCall
 #include <aiwdialdataext.h>
@@ -50,13 +50,13 @@
 
 #include <settingsinternalcrkeys.h>
 #include <SpeeddialPrivateCRKeys.h>
-#include "spdctrl.rsg"
+#include "SpdCtrl.rsg"
 
 
 #include <CMessageData.h>
 #include <txtrich.h>
 #include <SendUiConsts.h>
-#include <sendnorm.rsg>
+#include <Sendnorm.rsg>
 #include <MVPbkContactFieldTextData.h>
 
 _LIT( KSpace, " " );
--- a/pimprotocols/pbap/group/btaccesshost.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/pimprotocols/pbap/group/btaccesshost.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -61,7 +61,7 @@
 LIBRARY		pbaplogeng.lib logcli.lib
 LIBRARY		cntmodel.lib cntview.lib
 LIBRARY		versit.lib vcard.lib logwrap.lib
-LIBRARY		centralrepository.lib 
+
 LIBRARY	btlogger.lib tzclient.lib
 
 SMPSAFE
--- a/pimprotocols/pbap/inc/pbapvcardexporterutil.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/pimprotocols/pbap/inc/pbapvcardexporterutil.h	Wed Oct 13 14:15:33 2010 +0300
@@ -63,7 +63,6 @@
 private:
 	CPbapVCardExporterUtil(CContactDatabase& aDatabase, CPbapLogWrapper* aLogWrapper);
 	void ConstructL();
-	void GetMatchDigitCountL();
 
 	TBool ContactExistsL(TContactItemId aContactId);
 	CParserVCard* CreateVCardParserLC(TVCardVersion aFormat);
@@ -80,7 +79,6 @@
 	TVCardVersion 		iFormat;
 	TUint64			iFilter;	
 	RTz                 	iTzClient;
-	TInt iMatchDigitCount;
 	};
 
 #endif // PBAPVCARDEXPORTERUTIL_H
--- a/pimprotocols/pbap/server/pbapvcardexporterutil.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/pimprotocols/pbap/server/pbapvcardexporterutil.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -21,8 +21,6 @@
 #include <s32strm.h>
 #include <vprop.h>
 #include <vcard.h>
-#include <centralrepository.h>
-
 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
 #include "vcard3.h"
 #include "cntdb_internal.h"
@@ -31,13 +29,6 @@
 #include "pbaplogeng.h"
 #include "btaccesshostlog.h"
 
-/* These constants are properly defined in telconfigcrkeys.h, however we 
-are not allowed to include that from here.  As a temporary fix the constants 
-from that file are re-defined here. */
-const TUid KCRUidTelConfiguration = {0x102828B8};
-const TUint32 KTelMatchDigits = 0x00000001;
-/* And similarly this constant is defined in ccsdefs.h */
-const TInt KDefaultGsmNumberMatchLength = 7;
 
 //constants
 _LIT8(KVersitTokenCALLDATETIME,"X-IRMC-CALL-DATETIME");
@@ -68,13 +59,6 @@
 	LOG_FUNC
 	CVersitTlsData::VersitTlsDataL();		
 	User::LeaveIfError(iTzClient.Connect());
-	
-	TRAPD(err, GetMatchDigitCountL())
-	if (err != KErrNone)
-		{
-		iMatchDigitCount = KDefaultGsmNumberMatchLength;
-		}
-
 	}
 
 CPbapVCardExporterUtil::~CPbapVCardExporterUtil()
@@ -83,21 +67,7 @@
 	iTzClient.Close();
 	CVersitTlsData::CloseVersitTlsData();
 	}
-
-void CPbapVCardExporterUtil::GetMatchDigitCountL()
-	{
-	// Read the amount of digits to be used in contact matching
-	// The key is properly owned by PhoneApp, however we cannot include
-	// that header file from here, so a temporary fix has been done to 
-	// use locally defined versions.  If there is a problem here it is 
-	// likely because these values have gone out of sync.
-	CRepository* repository = CRepository::NewLC(KCRUidTelConfiguration);
-	User::LeaveIfError(repository->Get(KTelMatchDigits, iMatchDigitCount));
-	// The rest of the system has a miniumum of 7 for the number matching, so we do the same here
-	iMatchDigitCount = Max(iMatchDigitCount, KDefaultGsmNumberMatchLength);
-	CleanupStack::PopAndDestroy(repository);
-	}
-
+	
 /**
  Export a contact as vCard.
 
@@ -191,12 +161,16 @@
 TContactItemId CPbapVCardExporterUtil::FindContactIdFromNumberL(const TDesC& aNumber)
 	{
 	TContactItemId ret = KNullContactId;
-	CContactIdArray* contactIdArray = iDatabase.MatchPhoneNumberL(aNumber, iMatchDigitCount);
+	CContactItemFieldDef* fieldDef;
+	fieldDef = new(ELeave) CContactItemFieldDef;
+	CleanupStack::PushL(fieldDef);
+	fieldDef->AppendL(KUidContactFieldPhoneNumber);
+	CContactIdArray* contactIdArray = iDatabase.FindLC(aNumber, fieldDef);
 	if (contactIdArray->Count() > 0)
 		{
 		ret = (*contactIdArray)[0];
 		}
-	delete contactIdArray;
+	CleanupStack::PopAndDestroy(2); // contactIdArray, fieldDef
 	return ret;
 	}
 
--- a/predictivesearch/PcsAlgorithm/Algorithm1/group/PcsAlgorithm1.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm1/group/PcsAlgorithm1.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -51,7 +51,7 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
-LIBRARY         ecom.lib
+LIBRARY         eCom.lib
 LIBRARY         efsrv.lib 
 LIBRARY         estor.lib
 LIBRARY         flogger.lib
--- a/predictivesearch/PcsAlgorithm/Algorithm1/inc/CPcsPoolElement.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm1/inc/CPcsPoolElement.h	Wed Oct 13 14:15:33 2010 +0300
@@ -65,7 +65,7 @@
 		 * Compares the two Pool Elements and returms the comparison value.
 		 * It takes care of language variance too.
 		 */
-		 static TInt CompareByDataL ( const CPcsPoolElement& aObject1, 
+		 static TInt CompareByData ( const CPcsPoolElement& aObject1, 
 					     const CPcsPoolElement& aObject2 );
 
     private:
--- a/predictivesearch/PcsAlgorithm/Algorithm1/src/CPcsAlgorithm1.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm1/src/CPcsAlgorithm1.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -978,11 +978,10 @@
     }
 
     // Calculate cumulative status according to single caches statuses
-    if ( countCompleted > 0 && ( countCompleted + countNotStarted ) == cacheCount )
+    if ( countCompleted == cacheCount )
     {
-        // If at least one caching is finished
-        // set status to ECachingComplete or ECachingCompleteWithErrors
-        // according to iCacheError
+        // If all caching are finished, set status to ECachingComplete or 
+        // ECachingCompleteWithErrors according to iCacheError
         status = ( iCacheError == KErrNone ) ? ECachingComplete : ECachingCompleteWithErrors;
     }
     else if ( countInProgress > 0 )
@@ -997,6 +996,13 @@
         //set status to ECachingCompleteWithErrors
         status = ECachingCompleteWithErrors;
     }
+    else if ( countCompleted > 0 && ( countCompleted + countNotStarted ) == cacheCount )
+    {
+        // Else if at least one caching is finished
+        // set status to ECachingComplete or ECachingCompleteWithErrors
+        // according to iCacheError
+        status = ( iCacheError == KErrNone ) ? ECachingComplete : ECachingCompleteWithErrors;
+    }
     else
     {
         // countNotStarted == cacheCount
--- a/predictivesearch/PcsAlgorithm/Algorithm1/src/CPcsCache.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm1/src/CPcsCache.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -174,7 +174,7 @@
     // element doesn't get added for the same data
     RHashMap<TInt, TInt> elementHash;
     CleanupClosePushL( elementHash );
-    TLinearOrder<CPcsPoolElement> rule( CPcsPoolElement::CompareByDataL );
+    TLinearOrder<CPcsPoolElement> rule( CPcsPoolElement::CompareByData );
 
     TBool unnamed = ETrue;
     // Parse thru each data element
--- a/predictivesearch/PcsAlgorithm/Algorithm1/src/CPcsPoolElement.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm1/src/CPcsPoolElement.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -74,10 +74,10 @@
 }
 
 // ----------------------------------------------------------------------------
-// CPcsPoolElement::CompareByDataL
-//
+// CPcsPoolElement::CompareByData
+// Calls CPsData::CompareByData to compare CPsData objects
 // ----------------------------------------------------------------------------
-TInt CPcsPoolElement::CompareByDataL ( const CPcsPoolElement& aObject1,  const CPcsPoolElement& aObject2 )
+TInt CPcsPoolElement::CompareByData ( const CPcsPoolElement& aObject1,  const CPcsPoolElement& aObject2 )
 {
     CPsData *data1 = const_cast<CPcsPoolElement&> (aObject1).GetPsData();
     CPsData *data2 = const_cast<CPcsPoolElement&> (aObject2).GetPsData();  
--- a/predictivesearch/PcsAlgorithm/Algorithm2/group/PcsAlgorithm2.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/group/PcsAlgorithm2.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -40,8 +40,8 @@
 SOURCE          CPcsPoolElement.cpp
 SOURCE          CPcsKeyMap.cpp
 SOURCE          CPsDataPluginInterface.cpp
-SOURCE          chinesefindutils.cpp 
-SOURCE          FindUtilChineseECE.cpp
+SOURCE          FindUtilChineseECE.cpp 
+SOURCE          chinesefindutils.cpp
 
 USERINCLUDE     ../inc
 USERINCLUDE     ../../inc
@@ -51,7 +51,7 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
-LIBRARY         ecom.lib
+LIBRARY         eCom.lib
 LIBRARY         efsrv.lib
 LIBRARY         estor.lib
 LIBRARY         flogger.lib
@@ -60,9 +60,8 @@
 LIBRARY         eikcoctl.lib 
 LIBRARY         PcsUtils.lib
 LIBRARY         ptiengine.lib
-LIBRARY         cenrepnotifhandler.lib
+LIBRARY         CenRepNotifHandler.lib
 LIBRARY         cone.lib
 LIBRARY         fepbase.lib 
 LIBRARY         centralrepository.lib
-LIBRARY         FindUtil.lib
-LIBRARY         pbkeng.lib
+LIBRARY         findutil.lib
--- a/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2.h	Wed Oct 13 14:15:33 2010 +0300
@@ -54,7 +54,8 @@
 // CLASS DECLARATION
 class CPcsAlgorithm2 : public CPcsPlugin,
 public MDataStoreObserver,
-public MStoreListObserver
+public MStoreListObserver,
+public MFindStringConverter
     {
 public: 
 
@@ -79,7 +80,7 @@
     void PerformSearchL(const CPsSettings& aPcsSettings,
         CPsQuery& aCondition,
         RPointerArray<CPsClientData>& aData,
-        RPointerArray<CPsPattern>& aPattern);
+        RPointerArray<CPsPattern>& aPattern);							
 
     /**
      * Search Function for input string
@@ -87,15 +88,15 @@
     void SearchInputL(CPsQuery& aSearchQuery,
         TDesC& aSearchData,
         RPointerArray<TDesC>& aMatchSet,
-        RArray<TPsMatchLocation>& aMatchLocation );
+        RArray<TPsMatchLocation>& aMatchLocation );  
 
     
     /**
     * Performs search on a input string, and return result also as a string 
     */
     void  SearchMatchStringL( CPsQuery& aSearchQuery,
-                                TDesC& aSearchData,
-                                TDes& aMatch );
+                              TDesC& aSearchData,
+                              TDes& aMatch );     
     
     /**
      * Returns ETrue if this language is supported
@@ -117,6 +118,12 @@
      */
     void ChangeSortOrderL(TDesC& aURI, RArray<TInt>& aSortOrder);
 
+    /**
+     * Get the Adaptive Grid for one or more URIs
+     */
+    void GetAdaptiveGridL( const MDesCArray& aURIs,
+                           const TBool aCompanyName,
+                           TDes& aAdaptiveGrid );
 
     // --------------------------------------------------------------------
 
@@ -127,29 +134,22 @@
     /** 
      * Add a contact to the cache
      */
-    void AddData( TDesC& aDataStore, CPsData* aData );
+    void AddData ( TDesC& aDataStore, CPsData* aData);
 
     /** 
-     * Remove a contact from the cache based on contact id
+     * Remove a contact from the cache based on contact id		
      */
-    void RemoveData( TDesC& aDataStore, TInt aItemId );
+    void RemoveData ( TDesC& aDataStore, TInt aItemId );
 
     /**
      *  Removes all the contacts from a particular datastore
      */
-    void RemoveAll( TDesC& aDataStore );
+    void RemoveAll ( TDesC& aDataStore);
 
     /**
      * Updates the caching status for a particular datastore
      */
     void UpdateCachingStatus(TDesC& aDataStore, TInt aStatus);
-    
-    /**
-    * Get the Adaptive Grid for one or more URIs
-    */
-    void GetAdaptiveGridL( const MDesCArray& aURIs,
-                           const TBool aCompanyName,
-                           TDes& aAdaptiveGrid );
 
     // --------------------------------------------------------------------
 
@@ -160,12 +160,12 @@
     /**
      * This method is called whenever any new store has been added
      */
-    void AddDataStore( TDesC& aDataStore );
+    void AddDataStore ( TDesC& aDataStore);
 
     /**
      * This method is called whenever a data store is removed
      */
-    void RemoveDataStore( TDesC& aDataStore );
+    void RemoveDataStore ( TDesC& aDataStore);
 
     // --------------------------------------------------------------------
 
@@ -174,7 +174,7 @@
     /**
      * Returns the array index of cache (in iPcsCache) for a datastore
      */
-    TInt GetCacheIndex(const TDesC& aDataStore);
+    TInt GetCacheIndex(TDesC& aDataStore);	
 
     /** 
      * Return the cache instance at a specific array index
@@ -190,14 +190,8 @@
     inline CPcsKeyMap* GetKeyMap() 
         { 
         return iKeyMap; 
-        }
+        };
 
-    inline CFindUtilChineseECE* FindUtilECE()
-        {
-        return iFindUtilECE;
-        }
-
-    void ReconstructCacheDataL();
 
 private:
 
@@ -221,54 +215,48 @@
     void DefinePropertyL( TPcsInternalKeyCacheStatus aPsKey );
 
     /**
-     * Remove leading and trailing spaces of search query
+     * Replace occurance of "0" in ITU-T mode with space
      */
-    void RemoveSpacesL( CPsQuery& aQuery );
-
-    /**
-     * Replace occurances of "0" in predictive mode with space
-     * if those are on the same button
-     */
-    TBool  ReplaceZeroWithSpaceL( CPsQuery& aQuery );
+    TBool  ReplaceZeroWithSpaceL(CPsQuery& aQuery);
 
     /**
      * Search function helper
      */
-    void  DoSearchL( const CPsSettings& aPcsSettings,
-                     CPsQuery& aCondition,
-                     RPointerArray<CPsData>& aSearchResults,
-                     RPointerArray<CPsPattern>& aSearchSeqs );
+    void  DoSearchL(const CPsSettings& aPcsSettings,
+        CPsQuery& aCondition,
+        RPointerArray<CPsData>& searchResults,
+        RPointerArray<CPsPattern>& searchSeqs );		                       
 
     /**                
      * Search function helper
      */
-    void  DoSearchInputL( CPsQuery& aQuery,
-                          const TDesC& aData,
-                          RPointerArray<TDesC>& aSearchSeqs,
-                          RArray<TPsMatchLocation>& aMatchLocation );
+    void  DoSearchInputL(CPsQuery& aQuery,
+        TDesC& aData,
+        RPointerArray<TDesC>& searchSeqs,
+        RArray<TPsMatchLocation>& aMatchLocation );	 
 
     /**
      * Returns the index corresponding a URI in iDataStoreUri
      */
-    TInt FindStoreUri( const TDesC& aDataStoreUri );
+    TInt FindStoreUri ( TDesC& aDataStoreUri );
 
     /**
      * Function to return all cached content
      */
-    void GetAllContentsL( const CPsSettings& aPcsSettings,
-                          RPointerArray<CPsData>& aSearchResults );
+    void GetAllContentsL(const CPsSettings& aPcsSettings,	                    
+        RPointerArray<CPsData>& searchResults );
 
     /**
      * Checks if search is on groups
-     * Return ETrue if there is a valid group URI
+     * Return ETrue if there is a valid group URI        
      */
-    TBool IsGroupSearchL( CPsSettings& aSettings,
-        RArray<TInt>& aGroupIdArray );
+    TBool IsGroupSearchL ( CPsSettings& aSettings,
+        RArray<TInt>& aGroupIdArray );						 
 
     /**
      * Utility function to replace groups uri with that of contacts uri
      */
-    void ReplaceGroupsUriL( CPsSettings& aSettings );
+    void ReplaceGroupsUriL ( CPsSettings& aSettings );							 
 
     /**
      * Filters the search results array for groups
@@ -278,8 +266,8 @@
 
     /**
      * Get the list of contact ids that belong to a group.
-     */
-    void GetContactsInGroupL( TInt aGroupId, 
+     */							 	           
+    void GetContactsInGroupL ( TInt aGroupId, 
         RArray<TInt>& aGroupContactIds );
 
     /**
@@ -287,30 +275,31 @@
      * @param aURI - The data store URI for which sort order is required
      * @param aSortOrder - The persisted sort order from the cenrep
      */
-    void ReadSortOrderFromCenRepL( const TDesC& aURI, 
+    void ReadSortOrderFromCenRepL ( TDesC& aURI, 
         RArray<TInt>& aSortOrder );
 
     /** Write sort order for a data store to the central repository
      * @param aURI - The data store URI for which sort order is to be persisted
      * @param aSortOrder - The sort order to be persisted	
      */
-    void WriteSortOrderToCenRepL( const TDesC& aURI, 
-        RArray<TInt>& aSortOrder );
+    void WriteSortOrderToCenRepL ( TDesC& aURI, 
+        RArray<TInt>& aSortOrder );	
 
     /**
      * Utility function that sets the caching error value
-     */
-    void SetCachingError( const TDesC& aDataStore, TInt aError );
+     */                             
+    void SetCachingError ( TDesC& aDataStore, 
+        TInt aError );	
 
     /**
-     * Write the content required by client
+     * Write the content required by client 
      */
-    CPsClientData* WriteClientDataL( CPsData& aPsData );
+    CPsClientData* WriteClientDataL ( CPsData& aPsData );	
 
     /**
      * Function to return data base URI for an internal identifier
-     */
-    const TDesC& GetUriForIdL( TUint8 aUriId );
+     */		                     
+    TDesC& GetUriForIdL( TUint8 aUriId );	
 
     /**
      * Inform clients about update happened on the cache
@@ -327,18 +316,45 @@
     */
      static TInt DoLaunchPluginsL(TAny* aPtr);
 
+public:    
+
+    inline TInt GetFirstNameIndex() 
+        { 
+        return iFirstNameIndex; 
+        }
+
+    inline TInt GetLastNameIndex()
+        { 
+        return iLastNameIndex; 
+        }
+
+    inline CFindUtilChineseECE* FindUtilECE()
+        {
+        return iFindUtilECE;
+        }
+
+    inline CFindUtil* FindUtil()
+        {
+        return iFindUtil;
+        }
+
+    void ReconstructCacheDataL();
+
+public: // From MFindStringConverter
+    void Converter(const TDesC& aSourStr, TDes& aDestStr);
+
 private:
 
     /**
      * Instance of contacts cache
      * Own
      */
-    RPointerArray<CPcsCache> iPcsCache;
+    RPointerArray<CPcsCache>   iPcsCache; 
 
     /**
      * Keeps the count of caches
      */
-    TUint8 iCacheCount;
+    TUint8 iCacheCount; 
 
     /**
      * Instance of key map
@@ -371,6 +387,13 @@
     // Own: Find util used to match contacts and construct character grid
     CFindUtilChineseECE* iFindUtilECE;
 
+    // Own: Find util used to match contacts and construct character grid
+    CFindUtil* iFindUtil;
+
+    // keep the index for Firstname and Lastname
+    TInt iFirstNameIndex;
+    TInt iLastNameIndex;
+    
     /**
     * plugin laucher, make the plugin instantiation async
     */
--- a/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2FilterHelper.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2FilterHelper.h	Wed Oct 13 14:15:33 2010 +0300
@@ -91,7 +91,7 @@
 		/**
 		 * 2nd phase construtor
 		 */
-		void ConstructL(TSortType aSortType);
+		void ConstructL(TSortType aSortType);   
 		
 		/**
 		* Adds each result into respective pool based on match pattern
@@ -102,7 +102,7 @@
 		* Searches for for aSeq in iMatchPatternDetails and returns index 
         * where input sequence is found. Returns -1 if not found
 		*/
-		TInt FindSequence(const TDesC& aSeq);
+		TInt FindSequence(TDesC* aSeq);
 		
 		
 		/**
@@ -110,19 +110,19 @@
         * and returns index where input sequence is found. 
         * Returns -1 if not found
 		*/
-		TInt FindSubSequence(const TDesC& aSeq, TInt aPatternIndex);
+		TInt FindSubSequence(TDesC* aSeq,TInt aPatternIndex);
 		
 		/**
 		* Creates the Matchpattern aSeq in  iMatchPatternDetails.
         * Returns the index of the sequence in iMatchPatternDetails
         */
-		TInt CreateMatchPatternDetailsAndPoolsL(const TDesC& aSeq);
+		TInt CreateMatchPatternDetailsAndPoolsL(TDesC* aSeq);
 		
 		/**
 		* Searches for all the subsequences of aSeq and updates the 
 		* aFirstOccrVal in iMatchPatternDetails.
         */
-		void UpdateForSubSequencesL(const TDesC& aSeq, TInt aFirstOccrVal);
+		void UpdateForSubSequencesL(TDesC& aSeq,TInt aFirstOccrVal);
 
 	private:
 		
--- a/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2Helper.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2Helper.h	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,6 @@
 #include <e32cmn.h>
 #include <e32math.h>
 #include <e32hashtab.h>
-#include <MPbkGlobalSetting.h> // For name order setting
 
 #include "CPcsPlugin.h"
 #include "CPsData.h"
@@ -37,7 +36,7 @@
 class CPsDataPluginInterface;
 
 // CLASS DECLARATION
-class CPcsAlgorithm2Helper : public CBase, private MPbkGlobalSettingObserver
+class CPcsAlgorithm2Helper : public CBase
     {
 public:
 
@@ -54,52 +53,78 @@
 private:
 
     /**
-     * Filter subset results for Mixed mode. Some portion of query can be in 
-     * ITU-T mode and some portion in Qwerty mode.
+     * Filter subset results for ITU-T Mode. Entire search query is 
+     * entered in ITU-T mode.
      */
-    void FilterResultsSingleL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper,
-                              RPointerArray<CPcsPoolElement>& aSearchSet,
-                              CPsQuery& aSearchQuery,
-                              TUint8 aFilteredDataMatch,
-                              TBool aIsSearchInGroup,
-                              const RArray<TInt>& aContactsInGroup);
-    
+    void FilterResultsL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper,
+                        RPointerArray<CPcsPoolElement>& searchSet,
+                        const TDesC& searchQuery, TBool isSearchInGroup,
+                        RArray<TInt>& aContactsInGroup);
     /**
-     * Create a buffer containing the first name and last name of a contact in the
-     * order specified in Phonebook settings.
+     * Filter subset results for Qwerty Mode. Entire search query is 
+     * entered in Qwerty mode.
+     */
+    void FilterResultsQwertyL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper,
+                              RPointerArray<CPcsPoolElement>& searchSet,
+                              const TDesC& searchQuery, TBool isSearchInGroup,
+                              RArray<TInt>& aContactsInGroup);
+
+    /**
+     * Filter subset results for Mixed mode. Some portion of query is in 
+     * ITU-T mode and some portion in Qwert mode.
      */
-    HBufC* CreateNameBufLC( const CPsData& aContactData, TInt aFirstNameIndex, TInt aLastNameIndex ) const;
-    
+    void FilterResultsMixedL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper,
+                             RPointerArray<CPcsPoolElement>& searchSet, 
+                             CPsQuery& searchQuery, TBool isSearchInGroup, 
+                             RArray<TInt>& aContactsInGroup);
+
     /**
-     * Get and store the order of first and last name.
+     * Convert the search query to a string.
+     * If the mode is ITU-T, character is converted to numeric.
+     * If the mode is Qwerty, character is retained as is.
      */
-    void UpdateNameOrderL();
+    void ExtractQueryL(CPsQuery& aPsQuery, TDes& aOutput);
 
-private: // from MPbkGlobalSettingObserver
     /**
-     * React to change in Phonebook settings.
+     * Convert the input search query to a string.
+     * Mode is referred in the CPsQuery.
+     * If the mode is ITU-T, character is converted to numeric.
+     * If the mode is Qwerty, character is retained as is.
+     */
+    void ExtractQueryL(TDesC& aInput, CPsQuery& aPsQuery, TDes& aOutput);
+
+public:
+
+    /**
+     * Search Function for ITU-T style
      */
-    void SettingChangedL( MPbkGlobalSetting::TPbkGlobalSetting aKey );
-    
-public:
+    void SearchITUL(const CPsSettings& aSettings, CPsQuery& aQuery,
+                    TBool isGroupSearch, RArray<TInt>& aContactsInGroup,
+                    RPointerArray<CPsData>& searchResults,
+                    RPointerArray<CPsPattern>& searchSeqs);
+
+    /**
+     * Search Function for QWERTY style
+     */
+    void SearchQWERTYL(const CPsSettings& aSettings, CPsQuery& aQuery,
+                       TBool isGroupSearch, RArray<TInt>& aContactsInGroup,
+                       RPointerArray<CPsData>& searchResults,
+                       RPointerArray<CPsPattern>& searchSeqs);
 
     /**
      * Search Function for mixed style
      * Some chars are entered in ITU-T and some in QWERTY
      */
-    void SearchSingleL(const CPsSettings& aSettings, 
-                       CPsQuery& aQuery,
-                       TBool aIsGroupSearch, 
-                       const RArray<TInt>& aContactsInGroup,
-                       RPointerArray<CPsData>& aSearchResults,
-                       RPointerArray<CPsPattern>& aSearchSeqs);
+    void SearchMixedL(const CPsSettings& aSettings, CPsQuery& aQuery,
+                      TBool isGroupSearch, RArray<TInt>& aContactsInGroup,
+                      RPointerArray<CPsData>& searchResults,
+                      RPointerArray<CPsPattern>& searchSeqs);
 
     /**
      * Funciton to search matching sequences in the input text
      */
-    void SearchMatchSeqL(CPsQuery& aPsQuery,
-                         const TDesC& aData,
-                         RPointerArray<TDesC>& aMatchSet,
+    void SearchMatchSeqL(HBufC* aQuery, TDesC& aData,
+                         RPointerArray<TDesC>& aMatchSet, CPsQuery& aPsQuery, 
                          RArray<TPsMatchLocation>& aMatchLocation);
 
     /**
@@ -110,6 +135,16 @@
 private:
 
     /**
+     * Constructs a bit pattern using the required/supported data fields
+     * For example, 6, 4 and 27 are supported fields <-- 00000111
+     *              6 and 4 are required fields      <-- 00000011
+     * Bit pattern returned is 00000011.
+     */
+    TUint8 FilterDataFieldsL(RArray<TInt>& aRequiredDataFields,
+                             RArray<TInt>& aSupportedDataFields);
+private:
+
+    /**
      * Constructor
      */
     CPcsAlgorithm2Helper();
@@ -129,33 +164,13 @@
     /**
      * Pointer to key map instance. Not owned.
      */
-    CPcsKeyMap* iKeyMap;
+    CPcsKeyMap* keyMap;
 
     /**
      * Array of result sets from different data stores.
      */
     typedef RPointerArray<CPsData> CPSDATA_R_PTR_ARRAY;
     RPointerArray<CPSDATA_R_PTR_ARRAY> iSearchResultsArr;
-    
-    /**
-     * Phonebook settings store for reading name order.
-     */
-    MPbkGlobalSetting* iPbkSettings;
-    
-    /**
-     * Contact name display order 
-     */
-    enum TNameOrder
-        {
-        EFirstnameLastname,
-        ELastnameFirstname
-        };
-    TNameOrder iNameOrder;
-    
-    /**
-     * Counter of the matched contacts requested by PCS client
-     */
-    TInt iMaxCount;
     };
 
 #endif // C_PCS_ALGORITHM_2_HELPER
--- a/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2MultiSearchHelper.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2MultiSearchHelper.h	Wed Oct 13 14:15:33 2010 +0300
@@ -64,11 +64,33 @@
      * Filter subset results for multi query mode. 
      */
     void FilterResultsMultiL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper,
-                             RPointerArray<CPcsPoolElement>& aSearchSet,
-                             RPointerArray<CPsQuery>& aSearchQuery, 
-                             TUint8 aFilteredDataMatch,
-                             TBool aIsGroupSearch, 
-                             const RArray<TInt>& aContactsInGroup);
+                             RPointerArray<CPcsPoolElement>& searchSet,
+                             RPointerArray<CPsQuery>& searchQuery, TUint8 aFilteredDataMatch,
+                             TBool isGroupSearch, RArray<TInt>& aContactsInGroup, 
+                             TInt keyboardMode);
+
+    /**
+     * Convert the search query to a string.
+     * If the mode is ITU-T, character is converted to numeric.
+     * If the mode is Qwerty, character is retained as is.
+     */
+    void ExtractQueryL(CPsQuery& aPsQuery, TDes& aOutput);
+
+    /**
+     * Convert the input search query to a string.
+     * Mode is referred in the CPsQuery.
+     * If the mode is ITU-T, character is converted to numeric.
+     * If the mode is Qwerty, character is retained as is.
+     */
+    void ExtractQueryL(TDesC& aInput, CPsQuery& aPsQuery, TDes& aOutput);
+    /**
+     * Converts the input data to the key board mode specified by the query.
+     * Mode is referred in the CPsQuery.
+     * If the mode is ITU-T, data is converted to numeric.
+     * If the mode is Qwerty, data is retained as is.
+     */
+    void ConvertdDataToKeyBoardModeL(CPsQuery* aQuery, TPtrC aInputData,
+                                     TBuf<KPsQueryMaxLen>& aOutputData);
 
 public:
 
@@ -76,36 +98,29 @@
      * Search Function for multi query
      * Initials search feature
      */
-    void SearchMultiL(const CPsSettings& aSettings, 
-                      RPointerArray<CPsQuery>& aQuery, 
-                      TBool aIsGroupSearch, 
-                      const RArray<TInt>& aContactsInGroup,
-                      RPointerArray<CPsData>& aSearchResults,
-                      RPointerArray<CPsPattern>& aSearchSeqs);
+    void SearchMultiL(const CPsSettings& aSettings, RPointerArray<CPsQuery>& aQuery, 
+                      TBool isGroupSearch, RArray<TInt>& aContactsInGroup,
+                      RPointerArray<CPsData>& searchResults,
+                      RPointerArray<CPsPattern>& searchSeqs, TInt keyboardMode);
 
     /**
      * Funtion to Search matching sequences for multi query
      */
     void SearchMatchSeqMultiL(RPointerArray<CPsQuery>& aPsQuery,
-                              const TDesC& aData, 
-                              RPointerArray<TDesC>& aMatchSet, 
+                              TDesC& aData, RPointerArray<TDesC>& aMatchSet, 
                               RArray<TPsMatchLocation>& aMatchLocation);
-    
-
-	/**
-	 * Funtion to Search match string for multi query
-	 * 
-	 * @param aSearchQuery Search query
-	 * @param aData Source date for matching
-	 * @param aMatchedData Matching result 
-	 */
-	void LookupMatchL( CPsQuery& aSearchQuery,
-	        const TDesC& aData,
-	        TDes& aMatchedData );
 
 private:
 
     /**
+     * Constructs a bit pattern using the required/supported data fields
+     * For example, 6, 4 and 27 are supported fields <-- 00000111
+     *              6 and 4 are required fields      <-- 00000011
+     * Bit pattern returned is 00000011.
+     */
+    TUint8 FilterDataFieldsL(RArray<TInt>& aRequiredDataFields,
+                             RArray<TInt>& aSupportedDataFields);
+    /**
      * Set the bits corresponding to word matches
      *
      * @param aIndex Index of data element
@@ -140,6 +155,12 @@
      */
     RPointerArray<CPsQuery> MultiQueryL(CPsQuery& aQuery);
 
+    /**
+     * Convert the search query (multiple) to a list
+     */
+    void ConvertQueryToListL(RPointerArray<CPsQuery>& aSearchQuery,
+                             RPointerArray<HBufC>& aQueryList);
+
 private:
 
     /**
@@ -162,7 +183,7 @@
     /**
      * Pointer to key map instance. Not owned.
      */
-    CPcsKeyMap* iKeyMap;
+    CPcsKeyMap* keyMap;
 
     /**
      * Array of result sets from different data stores.
@@ -174,11 +195,6 @@
      * Array of word macthes.
      */
     TUint8 iWordMatches[MAX_DATA_FIELDS];
-	
-    /**
-     * Counter of the matched contacts 
-     */
-    TInt iMaxCount;
     };
 
 #endif // C_PCS_ALGORITHM_2_MULTI_SEARCH_HELPER
--- a/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2Utils.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsAlgorithm2Utils.h	Wed Oct 13 14:15:33 2010 +0300
@@ -20,12 +20,11 @@
 
 // INCLUDE FILES
 
-#include <e32base.h>
+#include <e32hashtab.h>
+
+#include "CPsData.h"
 
 // FORWARD DECLARATION
-class CPsData;
-class CPsQuery;
-struct TPsMatchLocation;
 
 typedef RPointerArray<CPsData> CPSDATA_R_PTR_ARRAY;
 
@@ -42,27 +41,17 @@
      * works for all type of key board modes
      */
     static void FormCompleteSearchResultsL(RPointerArray<CPSDATA_R_PTR_ARRAY>& aSearchResultsArr,
-                                           RPointerArray<CPsData>& aSearchResults);
+                                           RPointerArray<CPsData>& SearchResults);
 
     /**
-     * Customized CompareC
+     * Customized CompareC         
      */
     static TInt MyCompareC(const TDesC& aLeft, const TDesC& aRight);
 
     /**
      * TLinearOrder rule for comparison of data objects
      */
-    static TInt CompareDataBySortOrderL(const CPsData& aObject1, const CPsData& aObject2);
-
-    /**
-     * TIdentityRelation rule for comparing descriptors case-sensitively.
-     */
-    static TBool CompareExact(const TDesC& aFirst, const TDesC& aSecond);
-
-    /**
-     * TLinearOrder rule for comparing queries by length
-     */
-    static TInt CompareLength(const CPsQuery& aFirst, const CPsQuery& aSecond);
+    static TInt CompareDataBySortOrder(const CPsData& aObject1, const CPsData& aObject2);
 
     /**
      * Trim off all white spaces and special chars
@@ -73,29 +62,9 @@
      * Check if the input URI is of contact search in a group template form
      */
     static TBool IsGroupUri(TDesC& aURI);
-    
-    /**
-     * Constructs a bit pattern using the required/supported data fields
-     * For example, 6, 4 and 27 are supported fields <-- 00000111
-     *              6 and 4 are required fields      <-- 00000011
-     * Bit pattern returned is 00000011.
-     */
-    static TUint8 FilterDataFieldsL(const RArray<TInt>& aRequiredDataFields,
-                                    const RArray<TInt>& aSupportedDataFields);
-    
-    /**
-     * Create upper-case match sequence buffer from matching part and append it to
-     * array unless there's equal sequence already present.
-     */
-    static void AppendMatchToSeqL( RPointerArray<TDesC>& aMatchSeq, const TDesC& aMatch );
-    
-    /**
-     * Check if two match location items have overlapping indices.
-     */
-    static TBool MatchesOverlap( const TPsMatchLocation& aFirst, const TPsMatchLocation& aSecond );
+
     };
 
-
 // CleanupStack helpers for item owning RPointerArrays
 template <class T>
 class CleanupResetAndDestroy
--- a/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsCache.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsCache.h	Wed Oct 13 14:15:33 2010 +0300
@@ -38,7 +38,7 @@
     /**
      * Two phase construction
      */
-    static CPcsCache* NewL(CPcsAlgorithm2* aAlgorithm, const TDesC& aURI, 
+    static CPcsCache* NewL(CPcsAlgorithm2* aAlgorithm, TDesC& aURI, 
                            CPcsKeyMap& aKeyMap, TUint8 aUriId);
 
     /**
@@ -74,7 +74,7 @@
     /**
      * Removes all data elements from the cache
      */
-    void RemoveAllFromCache();
+    void RemoveAllFromCacheL();
 
     /**
      * Sets data fields to the cache
@@ -125,16 +125,6 @@
      */
     void ResortdataInPoolsL();
 
-    /**
-     * Get data index of the first name field
-     */
-    TInt GetFirstNameIndex() const;
-
-    /**
-     * Get data index of the last name field
-     */
-    TInt GetLastNameIndex() const;
-
 private:
 
     /**
@@ -145,36 +135,24 @@
     /**
      * Second phase constructor
      */
-    void ConstructL(CPcsAlgorithm2* aAlgorithm, const TDesC& aURI,
+    void ConstructL(CPcsAlgorithm2* aAlgorithm, TDesC& aURI,
                     CPcsKeyMap& aKeyMap, TUint8 aUriId);
 
     /**
      * Utility function to add a contact to the pool
      */
-    void AddToPoolL(TUint64& aPoolMap, CPsData& aData);
-
-    /**
-     * Utility function 
-     */
-    void SetPoolMap(TUint64& aPoolMap, TInt aArrayIndex);
+    void AddToPoolL(TInt& aInfo, CPsData& data);
 
     /**
      * Utility function 
      */
-    TBool GetPoolMap(TUint64& aPoolMap, TInt aArrayIndex);
+    void SetPoolMap(TInt& aPoolMap, TInt aPoolId);
 
     /**
-     * Gets all the first characters of the words in the data field according
-     * to which the contact should be inserted into cache.
+     * Utility function 
      */
-    void GetFirstCharsForDataL( const TDesC& aData, RArray<TChar>& aFirstChars ) const;
-    
-    /**
-     * Gets all the pool IDs matching the given characters. If there are two predictive
-     * keyboards available, then pool IDs are given according to both keyboards.
-     */
-    void GetPoolIdsForCharsL( const RArray<TChar>& aChars, RArray<TInt>& aPoolIds ) const;
-    
+    TBool GetPoolMap(TInt& aPoolMap, TInt arrayIndex);
+
     /**
      * Utility function
      */
@@ -187,27 +165,27 @@
      * Array of key maps
      */
     typedef RPointerArray<CPcsPoolElement> R_PTR_ARRAY;
-    RPointerArray<R_PTR_ARRAY> iKeyArr;
+    RPointerArray<R_PTR_ARRAY> keyArr;
 
     /*
      * Hashmaps to remember the location of a contact in the pools
      */
-    RHashMap<TInt, TUint64> iCacheInfo;
+    RHashMap<TInt, TInt> cacheInfo;
 
     /*
      * Master pool of all contacts in this cache
      */
-    RPointerArray<CPsData> iMasterPool;
+    RPointerArray<CPsData> masterPool;
     
     /*
     * Master pool backup of all contacts in this cache when sortorder changed
     */
-    RPointerArray<CPsData> iMasterPoolBackup;
+    RPointerArray<CPsData> masterPoolBackup;  
 
     /*
      * Not owned
      */
-    CPcsKeyMap* iKeyMap;
+    CPcsKeyMap* keyMap;
 
     /**
      * Owned. Refer to the database URI this cache is for.
--- a/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsKeyMap.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsKeyMap.h	Wed Oct 13 14:15:33 2010 +0300
@@ -18,22 +18,24 @@
 #ifndef __CPCS_KEY_MAP_ALGORITHM_2_H__
 #define __CPCS_KEY_MAP_ALGORITHM_2_H__
 
+// The macro is used for a hack which fix a problem of PtiEngine with Sonja keyboard.
+// The problem is that J/# key can't returned character code ('J', 'j', '#') 
+#define HACK_FOR_E72_J_KEY
 
 // INCLUDES
 #include <e32base.h>
+#include <PtiEngine.h>
+#include <PtiKeyMappings.h>
+#include <AvkonInternalCRKeys.h>
 #include <e32property.h>
-#include <PtiDefs.h>
-#include "CPcsDefs.h"
 
 class CPcsAlgorithm2;
-class CPsQuery;
-class CPtiEngine;
-class CPtiKeyMapData;
+class     CPtiEngine;
 
 class TKeyMappingData
     {
 public:
-    TPtiKey iKey; // key
+    TPtiKey key; // key
     RArray<TInt> iKeyMappingArray; // All the characters mapped to the key
     };
 
@@ -54,15 +56,14 @@
     virtual ~CPcsKeyMap();
 
     /**
-     * Convert functions to get the key string from query and/or chars string
+     * Converts the alphanumeric string to numeric string
      */
-    void GetMixedKeyStringForQueryL(CPsQuery& aSrcQuery, TDes& aDestStr) const;
-    void GetMixedKeyStringForDataL(CPsQuery& aSrcQuery, const TDesC& aSrcData, TDes& aDestStr) const;
+    void GetNumericKeyString(const TDesC& alphaNumericStr, TDes& numericStr);
 
     /**
-     * Returns the numeric key id corresponding to a specific character
+     * Returns the numeric key id corresponding to a specific character		                          
      */
-    TPtiKey KeyForCharacter(TText aChar, TKeyboardModes aKbMode) const;
+    TInt KeyForCharacter(const TChar& aChar);
 
     /**
      * Returns ETrue if this language is supported
@@ -72,20 +73,15 @@
     void ReconstructKeymapL();
     
     /**
-     * Returns the pool Id for a key
+     * Returns the pool Id for a Character                               
      */
-    TInt PoolIdForCharacter(TChar aChar, TKeyboardModes aKbMode );
+    TInt PoolIdForCharacter(TChar aChar);
     
     /**
-     * Returns total number of pools
+     * Returns total number of pools                                
      */
     TInt PoolCount();
 
-    /**
-     * Returns true if the characters "0" and " " are on the same key
-     */
-    TBool GetSpaceAndZeroOnSameKey( TKeyboardModes aMode );
-
 private:
 
     /**
@@ -99,42 +95,41 @@
     void ConstructL(CPcsAlgorithm2* aAlgorithm);
 
     /**
-     * Set flags to indicate if space and zero are on same key.
-     * Keymappings must be constructed before calling this.
-     */
-    void SetSpaceAndZeroOnSameKey();
-    
-    /**
      * Helper function to construct keyboard specific mappings
      */
-    void ConstructForItutKeyboardL();
-    void ConstructForQwertyKeyboardL(TPtiKeyboardType aKbType);
+    void ContructForItutKeyboardL(TLanguage aLanguage);
+    void ContructForHalfQwertyKeyboardL(TLanguage aLanguage);
+    void ContructFor4x10QwertyKeyboardL(TLanguage aLanguage);
 
     /**
      * Helper function to populate Itut key mappings
      */
     void AddKeyMapforItutL(TLanguage aLanguage);
 
-    void AddDataForItutKeyboardL(CPtiKeyMapData* aPtiKeyMapData,
+    void AddDataForItutKeyboardL(CPtiKeyMappings* aPtiKeyMappings,
             TPtiKey aKey, TKeyMappingData& aKeyDataList);
     /**
      * Helper function to populate 4x10 Qwerty Keyboard  key mappings
      */
-    void AddKeyMapForQwertyKeyboardL(TLanguage aLanguage, TPtiKeyboardType aKbType);
+    void AddKeyMapfor4x10QwertyKeyboardL(TLanguage aLanguage);
 
-    void AddDataForQwertyKeyboardL(
-            CPtiKeyMapData* aPtiKeyMapData, 
-            TPtiKeyboardType aKbType, 
-            TPtiKey aKey,
+    void AddDataFor4x10QwertyKeyboardL(
+            CPtiQwertyKeyMappings* aPtiKeyMappings, TPtiKey aKey,
             TKeyMappingData& aKeyDataList);
     
+#ifdef HACK_FOR_E72_J_KEY
+    void AddDataFor4x10QwertyKeyboardE72HackL(); // Hack for E72 (J/# key)
+#endif  // HACK_FOR_E72_J_KEY
+    
     /**
-     * Create list of PTI keys for the given keyboard type
+     * Helper function to populate alfQwerty Keyboard key mappings
      */
-    void CreateKeyListFromKeyBindingTable( RArray<TPtiKey>& aKeyArray, TPtiKeyboardType aKbType );
+    void AddKeyMapforHalfQwertyKeyboardL(TLanguage aLanguage);
+
+    void AddDataForHalfQwertyKeyboardL(CPtiHalfQwertyKeyMappings* aPtiKeyMappings,
+            TPtiKey aKey, TKeyMappingData& aKeyDataList);
 
     void ResetKeyMap();
-    
     /**
      * Function to construct key mappings for a particula language
      * 
@@ -142,15 +137,18 @@
     void ConstructKeymapL();
     
     /**
-     * Select keyboard types according to available physical keyboard(s)
+     * Get the current keyboard type.
+     * @return current keyboard type.
      */
-    void SetupKeyboardTypesL();
+    TInt CurrentKeyBoardTypeL();
     
     /**
      * 
-     * Construct keymaps
+     * Construct keymap by type and language
+     * @ aKeyboardType, the current keyboard type.
+     * @ aLanguage, the keymap construct language.
      */
-    void ConstructConcreteKeyMapL();
+    void ConstructConcreteKeyMapL( TInt aKeyboardType, TLanguage aLanguage );
     
     /**
      * 
@@ -158,104 +156,35 @@
      * @ aKeyboardType, the current keyboard type.
      * @ aLanguage, the keymap construct language.
      */
-    void AddKeyMapforConcreteKeyboardL( TLanguage aLanguage );
-
+    void AddKeyMapforConcreteKeyboardL( TInt aKeyboardType, TLanguage aLanguage );
+    
     /**
      * In case the given character is a Chinese characer, give the first
      * character of it's first spelling using the current spelling mode.
      * Otherwise, the character is returned unmodified.
      */
     TChar FirstCharFromSpellingL( TChar aChar ) const;
-    
-    TInt PoolIdForKey(TPtiKey aKey, TKeyboardModes aKbMode) const;
-    
-    /**
-     * Gets predictive keyboard mapping data for given match mode.
-     * @param   aMode      Matching mode for which keymappings are asked. 
-     * @return  Mapping table for the given mode. NULL if asked for non-predictive mode.
-     */
-    const RPointerArray<TKeyMappingData>* KeyMappings( TKeyboardModes aMode ) const;
 
-    /**
-     * Resolve any ambiguity from the given keyboard mode.
-     * Keyboard mode "predictive default keyboard" will be replaced by 
-     * "ITU-T predictive" or "QWERTY predictive", depending on the configuration
-     * of the device. Predictive keyboard modes, which can't be supported
-     * in this device, are replaced with "non-predictive" mode.
-     */
-    TKeyboardModes ResolveKeyboardMode( TKeyboardModes aKbMode ) const;
-    
-    /**
-     * Get the default charcter for the given key in given keyboard.
-     * The default character is used to construct the compare string for
-     * predictive mode.
-     */
-    TText DefaultCharForKey( TPtiKey aKey, TKeyboardModes aKbMode ) const;
-    
 private:
-    /**
-     * PTI engine istance. Owned.
-     */
     CPtiEngine* iPtiEngine;
 
-    /**
-     * Algorithm instacne pointer. NOT owned.
-     */
     CPcsAlgorithm2* iAlgorithm;
-    
     /**
      * Array to hold the list of languages not supported
      */
     RArray<TLanguage> iLanguageNotSupported;
 
     /**
-     * Type of keyboard used in ITU-T search mode. Typically this is standard ITU-T
-     * 12-key keypad.
+     * Flag to indicate if Phone is Chinese variant 
      */
-    TPtiKeyboardType iItutKeyboardType;
-
-    /**
-     * PTI keys of the ITU-T keyboard.
-     */
-    RArray<TPtiKey> iItutKeys;
-
-    /**
-     * Contains all the ITU-T keys and the characters mapped to each key. Owned.
-     */
-    RPointerArray<TKeyMappingData> iItutKeyMappings;
+    RArray<TPtiKey> iKeysForPoolFormation;
 
     /**
-     * True if "0" and " " are on the same key in the ITU-T mode
-     */
-    TBool iSpaceAndZeroOnSameKeyOnItut;
-    
-    /**
-     * Type of keyboard used in QWERTY search mode. Typically this is either 3x11 or 4x10 QWERTY
-     * or EPtiKeyboardNone if there's no any kind of QWERTY available. This may also be
-     * half-QWERTY.
-     */
-    TPtiKeyboardType iQwertyKeyboardType;
-
-    /**
-     * PTI keys of the QWERTY keyboard.
+     * Contains all the keys and the characters mapped to each key
+     * own
      */
-    RArray<TPtiKey> iQwertyKeys;
-
-    /**
-     * Contains all the QWERTY keys and the characters mapped to each key. Owned.
-     */
-    RPointerArray<TKeyMappingData> iQwertyKeyMappings;
+    RPointerArray<TKeyMappingData> iAllKeyMappingsPtrArr;
     
-    /**
-     * True if "0" and " " are on the same key in the QWERTY mode
-     */
-    TBool iSpaceAndZeroOnSameKeyOnQwerty;
-    
-    /**
-     * Flag to indicate if the default multi-matching mode is ITU-T or QWERTY mode.
-     * ETrue, if ITU-T is defualt and EFalse if QWERTY is default.
-     */
-    TBool iItutIsDefault;
     };
 
 #endif // __CPCS_KEY_MAP_ALGORITHM_2_H__
--- a/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsPoolElement.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/inc/CPcsPoolElement.h	Wed Oct 13 14:15:33 2010 +0300
@@ -64,7 +64,7 @@
      * Compares the two Pool Elements and returms the comparison value.
      * It takes care of language variance too.
      */
-    static TInt CompareByDataL(const CPcsPoolElement& aObject1,
+    static TInt CompareByData(const CPcsPoolElement& aObject1,
                               const CPcsPoolElement& aObject2);
 
 private:
@@ -100,7 +100,7 @@
      * Bit 6 = Not used
      * Bit 7 = Not used
      */
-    TUint8 iDataMatchAttribute;
+    TInt8 iDataMatchAttribute;
     };
 
 #endif // __CPCS_POOL_ELEMENT_ALGORITHM_2_H__
--- a/predictivesearch/PcsAlgorithm/Algorithm2/inc/FindUtilChineseECE.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/inc/FindUtilChineseECE.h	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 Defines flags that can be used to indicate what is the default search method for each language.
 */
 
-enum TChineseSearchMethod
+enum TDefaultAdaptiveSearchMethod
     {
     EAdptSearchPinyin =0,
     EAdptSearchStroke,
@@ -48,7 +48,7 @@
 /**
  *  STRINGINFO struct
  *
- *  This data struct is for splited text in find pane. 
+ *  This data struct is for splited taxt in find pane. 
  *  It includes two type word, which is Chinese or no-Chinese 
  *
  *  @lib FindUtil.dll
@@ -58,7 +58,6 @@
     {
     TBuf<KMaxWordLength> segmentString;
     TBool isChinese;
-    TInt segmentPos;
     };
 
 /**
@@ -89,26 +88,12 @@
      *
      * @since S60 v3.2
      * @param aItemString Reference to the searching target
-     * @param aPsQuery Reference to the search query
+     * @param aWord Reference to text in find pane
      * @return ETrue for the text are matched; otherwise EFalse
      */
     virtual TBool MatchRefineL(const TDesC& aItemString, CPsQuery& aPsQuery);
 
     /**
-     * Match arithmetic for accurate search 
-     *
-     * @since S60 v5.2
-     * @param aItemString Reference to the searching target
-     * @param aPsQuery Reference to the search query
-     * @param aMatchPos On return, contain positions of matching parts within aItemString
-     * @param aMatchLength On return, contains lenghts of matching parts within aItemString
-     * @param aHighLight  If highlight or underline position of matched contact is enabled
-     * @return ETrue for the text are matched; otherwise EFalse
-     */
-    TBool MatchRefineL(const TDesC& aItemString, CPsQuery& aPsQuery, 
-        RArray<TInt>& aMatchPos, RArray<TInt>& aMatchLength, TBool aHighLight );
-
-    /**
      * Current input text is handled by this model 
      *
      * @since S60 v3.2
@@ -185,6 +170,30 @@
 public:
 
     /**
+     * Do translate for Chinese word
+     *
+     * @since S60 v3.2
+     * @param aHZUnicode For translate word
+     * @param aSpellList Reference to spelling list for polyphonic word
+     * @return ETrue for it can be translated; otherwise EFalse
+     */
+    TBool T9ChineseTranslationL(TInt16 aHZUnicode, RPointerArray<HBufC>& aSpellList);
+
+    /**
+     * Find pane text is including Chinese word
+     *
+     * @since S60 v3.2
+     * @param aWord Reference to text for analyse
+     * @return ETrue it includes Chinese; otherwise EFalse
+     */
+    TBool IsChineseWord(const TDesC& aWord);
+
+    /*
+     * 
+     */
+    void SetKeyboardMode(TInt aMode);
+    
+    /**
      * Translate Chinese word to its spelling
      *
      * @since S60 v3.2
@@ -194,15 +203,6 @@
      */
     TBool DoTranslationL(TInt16 aHZUnicode, RPointerArray<HBufC>& aSpellList);
 
-    /**
-     * Find pane text is including Chinese word
-     *
-     * @since S60 v3.2
-     * @param aWord Reference to text for analyse
-     * @return ETrue it includes Chinese; otherwise EFalse
-     */
-    TBool IsChineseWordIncluded(const TDesC& aWord);
-
     /*
      * 
      */
@@ -211,11 +211,6 @@
         return iLanguage;
         }
 
-    inline TChineseSearchMethod CurrentSearchMethod()
-        {
-        return iSearchMethod;
-        }
-    
 private:
 
     /**
@@ -243,6 +238,9 @@
      */
     void CloseT9InterfaceL();
 
+    TInt CategoryOfLang(TLanguage aLanguage);
+
+
     /**
      * This letter is stroke symbol
      *
@@ -250,18 +248,12 @@
      * @param aFindWord For analyse
      * @return ETrue for it is stroke symbol; otherwise EFalse
      */
-    TInt IsStrokeSymbol(const TUint16 aFindWord);
+    TInt IsStrokeSymbol(const TInt aFindWord);
     
-    /**
-     * Do translate for Chinese word
-     *
-     * @since S60 v3.2
-     * @param aHZUnicode For translate word
-     * @param aSpellList Reference to spelling list for polyphonic word
-     * @return ETrue for it can be translated; otherwise EFalse
-     */
-    TBool T9ChineseTranslationL(TInt16 aHZUnicode, RPointerArray<HBufC>& aSpellList);
-
+    // The below code is commented out because current CFindUtilChineseECE is used
+    // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
+    // for the further merging work (merge from FindUtil 5.0)
+#if 0
     /**
      * Do translate for Chinese word
      *
@@ -271,6 +263,7 @@
      * @return ETrue for it can be translated; otherwise EFalse
      */
     TBool T9ChineseTranslationAdaptiveL(TInt16 aHZUnicode, RPointerArray<HBufC>& aSpellList);
+#endif
     
     /**
      * Find pane text is including separator
@@ -291,14 +284,6 @@
     TBool IsStrokeSymbolInString(const TDesC& aWord);
 
     /**
-     * Find pane text is just Chinese word
-     * 
-     * @param aWord Reference to text for analyse
-     * @return ETrue it is all Chinese word(s); otherwise EFalse
-     */
-    TBool IsAllChineseWord(const TDesC& aWord);
-    
-    /**
      * Find pane text is including zhuyin symbol
      *
      * @since S60 v3.2
@@ -342,13 +327,10 @@
      * @param aStringInfoArr Reference to segment list
      * @param aSegmentStr Reference to segment text
      * @param aChinese The segment is Chinese
-     * @param aIndexAfterStr The first index in the source string after the aSegmentStr.
-     *                       The indices of characters of aSegmentStr are 
-     *                       [aIndexAfterStr-aSegmementStr.Length(), aIndexAfterStr-1]
      * @return none
      */
     void InsertStrInforArrayL(RPointerArray<STRINGINFO>& aStringInfoArr,
-                              TDes &aSegmentStr, TBool aChinese, TInt aIndexAfterStr);
+                              TDes &aSegmentStr, const TBool aChinese);
 
     /**
      * This segment is matched by search text
@@ -356,13 +338,9 @@
      * @since S60 v3.2
      * @param aStringInfoArr Reference to segment list
      * @param aSearchText Reference to searching text
-     * @param aMatchPos On return, contain positions of matching parts within the original searcg target text
-     * @param aMatchLength On return, contains lenghts of matching parts within the original search target text
-     * @param aHighLight  If highlight or underline position of matched contact is enabled
      * @return ETrue it is matched; otherwise EFalse
      */
-    TBool MatchSegmentL(RPointerArray<STRINGINFO>& aStringInfoArr, 
-        CPsQuery& aQuery, RArray<TInt>& aMatchPos, RArray<TInt>& aMatchLength, TBool aHighLight );
+    TBool MatchSegmentL(RPointerArray<STRINGINFO>& aStringInfoArr, CPsQuery& aQuery);
 
     /**
      * Search text by reverse
@@ -370,10 +348,9 @@
      * @since S60 v3.2
      * @param aFirst Reference to matched text
      * @param aSecond Reference to matched text
-	 * @param aFullQuery Reference to the FullQuery
      * @return Matched count
      */
-    TInt ReverseMatchStringL(const TDesC& aFirst, const TDesC& aSecond, CPsQuery& aFullQuery );
+    TInt ReverseMatchString(const TDesC& aFirst, const TDesC& aSecond);
 
     /**
      * Search text in other text 
@@ -381,34 +358,29 @@
      * @since S60 v3.2
      * @param aFirst Reference to matched text
      * @param aSecond Reference to matched text
-	 * @param aFullQuery Reference to the FullQuery
      * @return Matched count
      */
-    TInt MatchStringL(const TDesC& aFirst, const TDesC& aSecond, CPsQuery& aFullQuery);
+    TInt MatchString(const TDesC& aFirst, const TDesC& aSecond);
     
     /**
      * Search text in other text 
      *
      * @since S60 v3.2
-     * @param aSearchTargetString Data to be searched through
-     * @param aQuery Text to be searched from aSearchTargetString
-     * @return Number of matched characters from the begining of aQuery
+     * @param aSearhTargetStr Reference to the target text to be queried
+     * @param CPsQuery maintain the matched text from user 
+     * @return Matched count
      */
-    TInt MatchStringL(const TDesC& aSearhTargetString, CPsQuery& aQuery);
+    TInt MatchString(const TDesC& aSearhTargetStr, CPsQuery& aQuery);
 
     /**
      * Search Chinese word in input text 
      *
      * @since S60 v3.2
-     * @param aSearchTargetString Data to be searched through
-     * @param aQuery Text to be searched from aSearchTargetString
-     * @param aMatchStrtIdx On return, will contain the start index 
-     *                      of the matching part within aSearchTargetString
-     * @param aMatchEndIdx On return, will contain the end index 
-     *                     of the matching part within aSearchTargetString
-     * @return Number of matched characters from the begining of aQuery
+     * @param aFirst Reference to matched text
+     * @param aSecond Reference to matched text
+     * @return Matched count
      */
-    TInt MatchChineseStringL(const TDesC& aSearchTargetString, CPsQuery& aQuery, TInt& aMatchStartIdx, TInt& aMatchEndIdx);
+    TInt MatchChineseStringL(const TDesC& aSearchTargetString, CPsQuery& aQuery, TInt& aIndex);
 
     /**
      * Initial character search 
@@ -425,19 +397,18 @@
      * Maximal matched count in spelling list  
      *
      * @since S60 v3.2
-     * @param aSpellList Reference to spelling list
+     * @param spellList Reference to spelling list
      * @param aSearchStr Reference to search text
      * @param aPreviouStr Reference to previous matched word
      * @param aMatchIndex Reference to match index in Search text
      * @param aFullMatched Previous word is fully matched
      * @param aMatchedCount Previous word matched count
      * @param aAgain Search again
-	 * @param aFullQuery Reference to the FullQuery
      * @return Matched count
      */
-    TInt MaxMatchInListL(RPointerArray<HBufC>& aSpellList, CPsQuery& aQuery,
+    TInt MaxMatchInList(RPointerArray<HBufC> &spellList, CPsQuery& aQuery,
                         TDesC& aPreviouStr, TInt& aMatchIndex, const TBool aFullMatched,
-                        const TInt aMatchedCount, TBool& aAgain, TBool& aPrevReplaced, CPsQuery& aFullQuery);
+                        const TInt aMatchedCount, TBool& aAgain);
 
     /**
      * Search the taxt is include the input text 
@@ -556,6 +527,18 @@
                 const TDes& aCurrentBuf,HBufC*& aNextChars );
 #endif
 
+    /**
+     * Converts the input data to the key board mode specified by the query.
+     * Mode is referred in the CPsQuery.
+     * If the mode is ITU-T, data is converted to numeric.
+     * If the mode is Qwerty, data is retained as is.
+     * If the mode is Mix, data is conerted according to the keyboard mode 
+     * of the corresponding query chararter 
+     */
+    void ConvertdDataToKeyBoardModeL(CPsQuery& aQuery, 
+                                     const TDesC& aSearchTargetStr,
+                                     TBuf<KMaxWordInterpretationLen>& aOutputNumInterpretationStr);
+    
     // help function for using CPsQuery
 public:
     void GetPartOfQueryL(CPsQuery& aSrcQuery, TInt aStartIndex, 
@@ -572,11 +555,21 @@
     CPtiEngine* iPtiEngine;
 
     /**
+     * Ptiengine for Chinese translation in English language (Own)
+     */
+    CPtiEngine* iPtiEnginePrc;
+
+    /**
      * Current text input language 
      */
     TLanguage iLanguage;
 
     /**
+     * It is support Chinese Language
+     */
+    TBool iSupportPRCChinese;
+
+    /**
      * Current input mode
      */
     TInt iCurInputMode;
@@ -591,10 +584,14 @@
      */
     CFindRepositoryWatcher* iWatcher;
    
+    // The below code is commented out because current CFindUtilChineseECE is used
+    // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
+    // for the further merging work (merge from FindUtil 5.0)
+#if 0
     /**
      * Repository for input mode (Own)
      */     
-    CRepository* iRepositoryFindAdaptive;
+    CRepository* iRepositoryFindAdaptive;	 
 
     /**
      * The repository watcher(Own);
@@ -605,15 +602,31 @@
     /**
      * The default adaptive search method;
      */
-    TChineseSearchMethod iSearchMethod;
+    TDefaultAdaptiveSearchMethod iSearchMethodPRC;
+    
+    /**
+     * The default adaptive search method;
+     */
+    TDefaultAdaptiveSearchMethod iSearchMethodTaiWan;
+    
+    /**
+     * The default adaptive search method;
+     */
+    TDefaultAdaptiveSearchMethod iSearchMethodHongKong;
     
     /**
      * The search method;
      */
     TBool iSearchMethodAdaptive;
+#endif
 
     CPcsAlgorithm2* iAlgorithm;
 
+    /*
+     * The keyboard Mode
+     */
+    TInt iKeyboardMode;
+
     };
 
 #endif // __FINDUTILCHINESE_ECE__
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 // INCLUDES
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <PtiEngine.h>
 #include <centralrepository.h>
 #include <AknFepInternalCRKeys.h>
@@ -79,6 +79,7 @@
     iCacheCount = 0; // No data
 
     iFindUtilECE = CFindUtilChineseECE::NewL(this);
+    iFindUtil = CFindUtil::NewL();
     
     iPluginLauncher = CIdle::NewL( CActive::EPriorityStandard );
 
@@ -95,14 +96,13 @@
 
     // Initialize key map and pti engine
     TInt keyMapErr = KErrNone;
-    TRAP( keyMapErr, iKeyMap = CPcsKeyMap::NewL( this ) );
+    TRAP( keyMapErr, iKeyMap = CPcsKeyMap::NewL( this ));
     if (keyMapErr != KErrNone)
         {
         PRINT ( _L("**********************************************."));
         PRINT1 ( _L("CPcsAlgorithm2::ConstructL() KeyMap construction error. The keymap crashed with error code %d."), keyMapErr );
         PRINT ( _L("Please check the keypad/language for which keymap got crashed.") );
         PRINT ( _L("**********************************************."));
-        User::Leave( keyMapErr ); // we can't go on without a key map; constructing cache needs it
         }
     
     // Initialize helpers
@@ -140,6 +140,7 @@
     delete iMultiSearchHelper;
 
     delete iFindUtilECE;
+    delete iFindUtil;
     
     delete iPluginLauncher;
 
@@ -164,152 +165,105 @@
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm2::RemoveSpacesL
-// Remove leading and trailing spaces of search query
-// ----------------------------------------------------------------------------
-void  CPcsAlgorithm2::RemoveSpacesL(CPsQuery& aQuery)
-    {
-    PRINT ( _L("Enter CPcsAlgorithm2::RemoveSpacesL") );
-
-    // Remove all leading " "
-    while ( aQuery.Count() > 0 )
-        {
-        CPsQueryItem& item = aQuery.GetItemAtL(0); // First
-        if ( !item.Character().IsSpace() )
-            {
-            break;
-            }
-        aQuery.Remove(0);
-        }
-
-    // Remove all trailing " "
-    while ( aQuery.Count() > 0 )
-        {
-        CPsQueryItem& item = aQuery.GetItemAtL(aQuery.Count()-1); // Last
-        if ( !item.Character().IsSpace() )
-            {
-            break;
-            }
-        aQuery.Remove(aQuery.Count()-1);
-        }
-    
-    PRINT ( _L("End CPcsAlgorithm2::RemoveSpacesL") );
-    }    
-
-// ----------------------------------------------------------------------------
 // CPcsAlgorithm2::ReplaceZeroWithSpaceL
 // Replace first occurance of '0' in a sequence of '0's in ITU-T with space
 // ----------------------------------------------------------------------------
 TBool CPcsAlgorithm2::ReplaceZeroWithSpaceL(CPsQuery& aQuery)
     {
-    PRINT ( _L("Enter CPcsAlgorithm2::ReplaceZeroWithSpaceL") );
+    TChar space(KSpace); // ascii value for space
 
-       //PRINTQUERY ( _L("CPcsAlgorithm2::ReplaceZeroWithSpaceL (BEFORE): "), aQuery );
-
-       TBool queryModified = EFalse;    
+    TBool queryModified = EFalse;
 
-       /* In phones like E52 and E55, where the "0" and the " " characters are on
-        * the same key, the "0"s have to be considered as possible separators.
-        *
-        * In phones like N97 and E72, where the "0" and the " " characters are on
-        * different keys, the "0"s must not be considered as possible separators.
-        */
+    // Skip initial zeros in query
+    TInt index = 0;
+    for (index = 0; index < aQuery.Count()
+            && aQuery.GetItemAtL(index).Character().GetNumericValue() == 0; ++index)
+        {
+        }
+
+    if (aQuery.KeyboardModeL() != EQwerty)
+        {
+        for (TInt beg = index; beg < aQuery.Count(); ++beg)
+            {
+            CPsQueryItem& item = aQuery.GetItemAtL(beg);
 
-       // Skip initial "0"s, they are not replaced into spaces
-       TInt skipIndex = 0;
-       while ( (skipIndex < aQuery.Count()) && 
-               (aQuery.GetItemAtL(skipIndex).Character().GetNumericValue() == 0) )
-       {
-           skipIndex++;
-       }
-       
-       // Replace remaining "0"s into spaces in case they are entered with a keyboard
-       // that has "0" and " " on the same key.
-       const TInt queryCount = aQuery.Count();
-       for ( TInt index = skipIndex; index < queryCount; index++ )
-       {
-           CPsQueryItem& item = aQuery.GetItemAtL(index);
+            if (item.Character().GetNumericValue() == 0 && item.Mode()== EItut)
+                {
+                if (beg != 0)
+                    {
+                    CPsQueryItem& item1 = aQuery.GetItemAtL(beg - 1);
+                    if (item1.Character().GetNumericValue() != 0
+                            && !item1.Character().IsSpace())
+                        {
+                        item.SetCharacter(space);
+                        queryModified = ETrue;
+                        }
+                    }
+                else
+                    {
+                    item.SetCharacter(space);
+                    queryModified = ETrue;
+                    }
+                }
+            }
+        }
 
-           if ( iKeyMap->GetSpaceAndZeroOnSameKey( item.Mode() ) &&
-                item.Character().GetNumericValue() == 0 )
-           {
-               item.SetCharacter(KSpace);
-               queryModified = ETrue;
-           }
-       }
-       
-       //PRINTQUERY ( _L("CPcsAlgorithm2::ReplaceZeroWithSpaceL (AFTER): "), aQuery );
-
-       PRINT1 ( _L("CPcsAlgorithm2::ReplaceZeroWithSpaceL: Query modified (0=not, 1=yes): %d"), queryModified );
-
-       PRINT ( _L("End CPcsAlgorithm2::ReplaceZeroWithSpaceL") );
-
-       return  queryModified;
+    return queryModified;
     }
 
 // ----------------------------------------------------------------------------
 // CPcsAlgorithm2::PerformSearchL
 // Search function for cache
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2::PerformSearchL(const CPsSettings& aSettings, 
-                                    CPsQuery& aQuery, 
+void CPcsAlgorithm2::PerformSearchL(const CPsSettings& aSettings, CPsQuery& aQuery, 
                                     RPointerArray<CPsClientData>& aSearchResults,
                                     RPointerArray<CPsPattern>& aSearchSeqs)
     {
     PRINT ( _L("Enter CPcsAlgorithm2::PerformSearchL") );
 
-    //__LATENCY_MARK ( _L("CPcsAlgorithm2::PerformSearchL") );
-    
-    // Check aSettings   
-    RPointerArray<TDesC> searchUris;
-    CleanupResetAndDestroyPushL( searchUris );
-    aSettings.SearchUrisL(searchUris);
-         
-    if ( searchUris.Count() <= 0)
-    {
-        PRINT ( _L("searchUris.Count() <= 0, Leave from CPcsAlgorithm2::PerformSearchL") );
-        User::Leave(KErrArgument); 
-    }
-    CleanupStack::PopAndDestroy( &searchUris ); // ResetAndDestroy
+    __LATENCY_MARK ( _L("CPcsAlgorithm2::PerformSearchL") );
+
+    // Get the current language
+    TLanguage lang = User::Language();
+
+    // Check if the language is supported and the keyboard mode is not qwerty.
 
     // Local arrays to hold the search results 
     RPointerArray<CPsData> tempSearchResults;
-    CleanupClosePushL( tempSearchResults );
     RPointerArray<CPsData> tempSearchResults1;
-    CleanupClosePushL( tempSearchResults1 );
 
     // -------------------- Perform the basic search --------------------------
 
-    RemoveSpacesL(aQuery);
-    PRINTQUERY ( _L("CPcsAlgorithm2::PerformSearchL: 1st search query: "), aQuery );
     DoSearchL(aSettings, aQuery, tempSearchResults, aSearchSeqs);
 
     // ------------------------------------------------------------------------
 
-    // ---- Perform new search after "0" replacement if query is not empty ----
-    /* Examples:
-     * - If the original search string is "Abc0" then we will search again with "Abc".
-     * - If the original search string is "00" then we will not search again.
-     */
+    // ------------------- Perform advanced search if needed ------------------
+    // Substitute "0" with space
     TBool queryModified = ReplaceZeroWithSpaceL(aQuery);
-    RemoveSpacesL(aQuery);
-    // Perform query again if query got modified. 
+
+    // If query got modified and the search query translated to more than 1 query
+    // perform a multi search again
     if (queryModified)
         {
-        PRINTQUERY ( _L("CPcsAlgorithm2::PerformSearchL: 2nd search query: "), aQuery );
-        DoSearchL(aSettings, aQuery, tempSearchResults1, aSearchSeqs);
+        // Split query
+        RPointerArray<CPsQuery> queryList = iMultiSearchHelper->MultiQueryL(aQuery);
 
+        //  Perform seach again
+        if (queryList.Count() > 1)
+            {
+            DoSearchL(aSettings, aQuery, tempSearchResults1, aSearchSeqs);
+            }
 
         // Sort rule        
-        TLinearOrder<CPsData> rule(CPcsAlgorithm2Utils::CompareDataBySortOrderL);
+        TLinearOrder<CPsData> rule(CPcsAlgorithm2Utils::CompareDataBySortOrder);
 
         // Avoid duplicates and add new results
         TIdentityRelation<CPsData> identityRule(CPsData::CompareById);
-        const TInt tempSearchResults1Count = tempSearchResults1.Count();
         if (aSettings.GetSortType() != EAlphabetical)
             {
             TInt insertPos = 0;
-            for (TInt i = 0; i < tempSearchResults1Count; i++)
+            for (int i = 0; i < tempSearchResults1.Count(); i++)
                 {
                 if (tempSearchResults.Find(tempSearchResults1[i],
                                            identityRule) == KErrNotFound)
@@ -317,11 +271,14 @@
                     tempSearchResults.Insert(tempSearchResults1[i], insertPos);
                     insertPos++;
                     }
+
                 }
+
             }
         else
             {
-            for (TInt i = 0; i < tempSearchResults1Count; i++)
+
+            for (int i = 0; i < tempSearchResults1.Count(); i++)
                 {
                 if (tempSearchResults.Find(tempSearchResults1[i],
                                            identityRule) == KErrNotFound)
@@ -331,35 +288,40 @@
                     }
                 }
             }
+
+        queryList.ResetAndDestroy();
         }
     // ------------------------------------------------------------------------
 
     // ---------------------- Write result objects to the stream --------------
     // Truncate the result set if required
-    TInt maxNumToDisplay = aSettings.MaxResults();
-    TInt resultSetCount = tempSearchResults.Count();
-    TInt numToDisplay = 0;
-    if ( maxNumToDisplay == -1 )
+    TInt numToDisplay = aSettings.MaxResults();
+    TInt resultSet = tempSearchResults.Count();
+
+    if (resultSet > numToDisplay && numToDisplay != -1)
         {
-        numToDisplay = resultSetCount;
+        // Copy the top N contents from tempSearchResults to the results stream
+        for (int i = 0; i < numToDisplay; i++)
+            {
+            aSearchResults.Append(WriteClientDataL(*(tempSearchResults[i])));
+            }
+
         }
     else
         {
-        numToDisplay = Min( maxNumToDisplay, resultSetCount );
-        }
-
-    // Copy desired number of results from tempSearchResults to the results stream
-    for (TInt i = 0; i < numToDisplay; i++)
-        {
-        aSearchResults.Append(WriteClientDataL(*(tempSearchResults[i])));
+        // Copy all the contents from tempSearchResults to the results stream
+        for (int i = 0; i < resultSet; i++)
+            {
+            aSearchResults.Append(WriteClientDataL(*(tempSearchResults[i])));
+            }
         }
     // ------------------------------------------------------------------------
 
     // Cleanup local results array
-    CleanupStack::PopAndDestroy( &tempSearchResults1 ); // Close, don't destroy
-    CleanupStack::PopAndDestroy( &tempSearchResults );  // Close, don't destroy
+    tempSearchResults.Reset(); // Don't destroy
+    tempSearchResults1.Reset(); // Don't destroy
 
-    // __LATENCY_MARKEND ( _L("CPcsAlgorithm2::PerformSearchL") );
+    __LATENCY_MARKEND ( _L("CPcsAlgorithm2::PerformSearchL") );
 
     PRINT ( _L("End CPcsAlgorithm2::PerformSearchL") );
     }
@@ -368,187 +330,84 @@
 // CPcsAlgorithm2::SearchInputL
 // Search function for input string
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2::SearchInputL(CPsQuery& aQuery, 
-                                  TDesC& aData,
+void CPcsAlgorithm2::SearchInputL(CPsQuery& aQuery, TDesC& aData,
                                   RPointerArray<TDesC>& aMatchSet,
                                   RArray<TPsMatchLocation>& aMatchLocation)
     {
-    // __LATENCY_MARK ( _L("CPcsAlgorithm2::SearchInputL: ") );
     PRINT ( _L("Enter CPcsAlgorithm2::SearchInputL") );
 
+    // Get the current language
+    TLanguage lang = User::Language();
+
+    // Check if the language is supported and the keyboard mode is not qwerty.
+
     // Print input query for debug
-    PRINTQUERY ( _L("CPcsAlgorithm2::SearchInputL: Search query: "), aQuery );
+    aQuery.PrintQuery();
 
     // Print received search data
     PRINT1 ( _L("Search data received = %S"), &aData);
 
-
     // -------------------- Perform the basic search --------------------------
 
-    RemoveSpacesL(aQuery);
     DoSearchInputL(aQuery, aData, aMatchSet, aMatchLocation);
 
     // ------------------------------------------------------------------------   
 
-    // ---- Perform new search after "0" replacement if query is not empty ----
-    /* Examples:
-     * - If the original search string is "Abc0" then we will search again with "Abc".
-     * - If the original search string is "00" then we will not search again.
-     */
+    // ------------------- Perform advanced search if needed ------------------
+    // Substitute "0" with space
     TBool queryModified = ReplaceZeroWithSpaceL(aQuery);
-    RemoveSpacesL(aQuery);
-    // If query got modified and the search query still contains something
+
+    // If query got modified and the search query translated to more than 1 query
     // perform a multi search again
-    if (queryModified && aQuery.Count() > 0 && aMatchSet.Count() == 0  && aMatchLocation.Count() == 0 )
+    if (queryModified)
         {
-        DoSearchInputL(aQuery, aData, aMatchSet, aMatchLocation);
+        RPointerArray<CPsQuery> queryList = iMultiSearchHelper->MultiQueryL(aQuery);
+
+        if (queryList.Count() > 1)
+            {
+            DoSearchInputL(aQuery, aData, aMatchSet, aMatchLocation);
+            }
+
+        queryList.ResetAndDestroy();
         }
     // ------------------------------------------------------------------------
 
-    // --- Remove overlapping items from aMatchLocation ---
-    TInt i = 0;
-    TBool incrementFirstCursor;
-    while ( i < aMatchLocation.Count() )
-        {
-        incrementFirstCursor = ETrue;
-        TInt j = i+1;
-        while ( j < aMatchLocation.Count() )
-            {
-            if ( CPcsAlgorithm2Utils::MatchesOverlap( aMatchLocation[j], aMatchLocation[i] ) )
-                {
-                // Remove match location item with smallest length if 2 items have same index
-                if ( aMatchLocation[j].length <= aMatchLocation[i].length )
-                    {
-                    aMatchLocation.Remove(j);
-                    continue; // Do not increment j
-                    }
-                else
-                    {
-                    aMatchLocation.Remove(i);
-                    incrementFirstCursor = EFalse; // Do not increment i
-                    break;
-                    }
-                }
-            j++;
-            }
-        if ( incrementFirstCursor )
-            {
-            i++;
-            }
-        }
-
-    // --- Remove from aMatchSet items which no longer have corresponding item in aMatchLocation ---
-    HBufC* dataUpper = HBufC::NewLC(aData.Length());
-    dataUpper->Des().Copy(aData);
-    dataUpper->Des().UpperCase(); // Get uppercase, as aMatchSet is in upper case
-
-    TInt k = 0;
-    while ( k < aMatchSet.Count() )
-        {
-        TBool keepMatch = EFalse;
-        TInt startCursor = -1;
-
-        TInt offsetCursor;
-        while ( KErrNotFound != (offsetCursor = dataUpper->Mid(startCursor + 1).Find(*aMatchSet[k])) )
-            {
-            // startCursor = index of match item *aMatchSet[k] into search string aData
-            startCursor = offsetCursor + startCursor + 1;
-            const TInt matchLocationCount = aMatchLocation.Count();
-            for ( TInt i = 0; i < matchLocationCount; i++ )
-                {
-                // If match item was found in the location list, then keep it
-                if ( (aMatchLocation[i].index == startCursor) &&
-                     (aMatchLocation[i].length == aMatchSet[k]->Length()) )
-                    {
-                    keepMatch = ETrue;
-                    break;
-                    }
-                }
-            }
-
-        if ( keepMatch )
-            {
-            k++;
-            }
-        else
-            {
-            aMatchSet.Remove(k); // Do not increment k
-            }
-        }
-    CleanupStack::PopAndDestroy( dataUpper );
-    // --- Remove items End ---
-
     // Sort match set
     iHelper->SortSearchSeqsL(aMatchSet);
 
     PRINT ( _L("End CPcsAlgorithm2::SearchInputL") );
-    //__LATENCY_MARKEND ( _L("CPcsAlgorithm2::SearchInputL") );
     }
 
 // ----------------------------------------------------------------------------
 // CPcsAlgorithm2::SearchMatchStringL
 // Search function for input string, result also as string
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2::SearchMatchStringL( CPsQuery& aSearchQuery,
-                                         TDesC& aSearchData,
-                                         TDes& aMatch )
+void CPcsAlgorithm2::SearchMatchStringL( CPsQuery& /*aSearchQuery*/,
+                                         TDesC& /*aSearchData*/,
+                                         TDes& /*aMatch*/ )
     {
-    PRINT ( _L("Enter CPcsAlgorithm2::SearchMatchStringL") );
-
-    __LATENCY_MARK ( _L("CPcsAlgorithm2::SearchMatchStringL") ); 
-    
-    RemoveSpacesL(aSearchQuery);
-    // ---------------------- Perform the initial search ----------------------
-    iMultiSearchHelper->LookupMatchL( aSearchQuery, aSearchData, aMatch );
-    PRINTQUERY ( _L("CPcsAlgorithm2::SearchMatchStringL: 1st search: "), aSearchQuery );
-    PRINT1     ( _L("CPcsAlgorithm2::SearchMatchStringL: 1st search: Search Data: %S"), &aSearchData );
-    PRINT1     ( _L("CPcsAlgorithm2::SearchMatchStringL: 1st search: Result: %S"), &aMatch );
-    // ------------------------------------------------------------------------
-    
-    // ---- Perform new search after "0" replacement if query is not empty ----
-    /* Examples:
-     * - If the original search string is "Abc0" then we will search again with "Abc".
-     * - If the original search string is "00" then we will not search again.
-     */
-    if ( aMatch.Length() <= 0 )
-    {
-        TBool isQueryModified = ReplaceZeroWithSpaceL(aSearchQuery);
-        RemoveSpacesL(aSearchQuery);
-        if ( isQueryModified && (aSearchQuery.Count() > 0) )
-        {
-            iMultiSearchHelper->LookupMatchL( aSearchQuery, aSearchData, aMatch );
-            PRINTQUERY ( _L("CPcsAlgorithm2::SearchMatchStringL: 2nd search: "), aSearchQuery );
-            PRINT1     ( _L("CPcsAlgorithm2::SearchMatchStringL: 2nd search: Search Data: %S"), &aSearchData );
-            PRINT1     ( _L("CPcsAlgorithm2::SearchMatchStringL: 2nd search: Result: %S"), &aMatch );            
-        }
-    }
-    __LATENCY_MARKEND ( _L("CPcsAlgorithm2::SearchMatchStringL") );
-
-    PRINT ( _L("End CPcsAlgorithm2::SearchMatchStringL") );
+    //NOT IMPLEMENTED YET
     }
 
 // ----------------------------------------------------------------------------
 // CPcsAlgorithm2::DoSearchL
 // Search function helper
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2::DoSearchL( const CPsSettings& aSettings, 
-                                CPsQuery& aQuery, 
-                                RPointerArray<CPsData>& aSearchResults,
-                                RPointerArray<CPsPattern>& aSearchSeqs )
+void CPcsAlgorithm2::DoSearchL(const CPsSettings& aSettings, CPsQuery& aQuery, 
+                               RPointerArray<CPsData>& searchResults,
+                               RPointerArray<CPsPattern>& searchSeqs)
     {
     PRINT ( _L("Enter CPcsAlgorithm2::DoSearchL") );
 
-    //__LATENCY_MARK ( _L("CPcsAlgorithm2::DoSearchL") ); 
-    
+    // Print query for debug
+    aQuery.PrintQuery();
+
     // -(0)----------------- Check if group search is required ---------------    
     RArray<TInt> contactsInGroup;
-    CleanupClosePushL( contactsInGroup );
     RArray<TInt> groupIdArray;
-    CleanupClosePushL( groupIdArray );
 
     // Create a new settings instance
-    CPsSettings* tempSettings = aSettings.CloneL();
-    CleanupStack::PushL( tempSettings );
+    CPsSettings *tempSettings = aSettings.CloneL();
 
     TBool isGroupSearch = IsGroupSearchL(*tempSettings, groupIdArray);
 
@@ -561,55 +420,102 @@
         GetContactsInGroupL(groupIdArray[0], contactsInGroup);
         }
 
+    groupIdArray.Close();
+
     // -----------------------------------------------------------------------
 
 
     // Extract query list. 
     RPointerArray<CPsQuery> queryList = iMultiSearchHelper->MultiQueryL(aQuery);
-    CleanupResetAndDestroyPushL( queryList );
 
-    // (1)-------------------- No query return all contacts -------------------
+    // -(1)--------------------- No query return all contacts ----------------    
     if (queryList.Count() == 0)
         {
-        GetAllContentsL(*tempSettings, aSearchResults);
+        GetAllContentsL(*tempSettings, searchResults);
 
         if (isGroupSearch)
             {
-            FilterSearchResultsForGroupsL(contactsInGroup, aSearchResults);
+            FilterSearchResultsForGroupsL(contactsInGroup, searchResults);
             }
         }
     // ------------------------------------------------------------------------
 
-    // (2)-------------------- Perform a single query search ------------------
-    else if (queryList.Count() == 1)
+
+    // -(2)------------------------ Perform a single query search -------------
+    if (queryList.Count() == 1)
         {
+        TInt mode = aQuery.KeyboardModeL();
+
         CPsQuery* query = queryList[0];
 
-        // Search results
-        iHelper->SearchSingleL(*tempSettings, *query, isGroupSearch,
-                               contactsInGroup, aSearchResults, aSearchSeqs);
+        iFindUtilECE->SetKeyboardMode(mode);
+
+        switch (mode)
+            {
+            case EItut:
+
+                PRINT ( _L("Query received is in ITU-T mode") );
+
+                // Search results
+                iHelper->SearchITUL(*tempSettings, *query, isGroupSearch,
+                                    contactsInGroup, searchResults, searchSeqs);
+
+                break;
+
+            case EQwerty:
+
+                PRINT ( _L("Query received is in QWERTY mode") );
+
+                // Search results
+                iHelper->SearchQWERTYL(*tempSettings, *query, isGroupSearch,
+                                       contactsInGroup, searchResults, searchSeqs);
+
+                break;
+
+            case EModeUndefined:
+
+                PRINT ( _L("Query received is in Mixed mode. Keyboard swap happened.") );
+
+                // Search results
+                iHelper->SearchMixedL(*tempSettings, *query, isGroupSearch,
+                                      contactsInGroup, searchResults, searchSeqs);
+
+                break;
+            }
+
         }
     // ------------------------------------------------------------------------
 
-    // (3)-------------------- Perform a multi query search -------------------
-    else // multiple query
+
+    // -(3)---------------------------- Perform a multi query search ----------
+    if (queryList.Count() > 1) // multiple query
         {
         PRINT ( _L("Query received is in multiple. Performing a multi search.") );
 
+        TInt mode = aQuery.KeyboardModeL();
+        iFindUtilECE->SetKeyboardMode(mode);
+
+        for (int i = 0; i < queryList.Count(); i++)
+            {
+            TPtrC queryPtr = queryList[i]->QueryAsStringLC();
+            PRINT2 ( _L("Received Query, index = %d; value = %S"), i, &queryPtr );
+            CleanupStack::PopAndDestroy();
+            }
+
         // Search results
         iMultiSearchHelper->SearchMultiL(*tempSettings, queryList, isGroupSearch, 
-                                         contactsInGroup, aSearchResults, aSearchSeqs);
+                                         contactsInGroup, searchResults, searchSeqs, 
+                                         mode);
         }
     // -------------------------------------------------------------------------	
 
     // Cleanup
-    
-    CleanupStack::PopAndDestroy( &queryList ); // ResetAndDestroy
-    CleanupStack::PopAndDestroy( tempSettings );
-    CleanupStack::PopAndDestroy( &groupIdArray ); // Close
-    CleanupStack::PopAndDestroy( &contactsInGroup ); // Close
+    delete tempSettings;
+    tempSettings = NULL;
 
-	//__LATENCY_MARKEND ( _L("CPcsAlgorithm2::DoSearchL") );
+    groupIdArray.Close();
+    contactsInGroup.Close();
+    queryList.ResetAndDestroy();
 
     PRINT ( _L("End CPcsAlgorithm2::DoSearchL") );
     }
@@ -618,49 +524,56 @@
 // CPcsAlgorithm2::DoSearchInputL
 // Search function helper
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2::DoSearchInputL(CPsQuery& aQuery, 
-                                    const TDesC& aData,
+void CPcsAlgorithm2::DoSearchInputL(CPsQuery& aQuery, TDesC& aData,
                                     RPointerArray<TDesC>& aMatchSet,
                                     RArray<TPsMatchLocation>& aMatchLocation)
     {
 
-    //__LATENCY_MARK ( _L("CPcsAlgorithm2::SearchInputL: ") );
     PRINT ( _L("Enter CPcsAlgorithm2::DoSearchInputL") );
 
     // Check if any seperator is there in the query
     RPointerArray<CPsQuery> queryList = iMultiSearchHelper->MultiQueryL(aQuery);
-    CleanupResetAndDestroyPushL( queryList );
 
     // No query    
     if (queryList.Count() == 0)
         {
         PRINT ( _L("Query received is empty") );
-        CleanupStack::PopAndDestroy( &queryList ); // ResetAndDestroy
         return;
         }
 
+    RPointerArray<HBufC> convertedQuery;
+    iMultiSearchHelper->ConvertQueryToListL(queryList, convertedQuery);
+
     // Single query
     if (queryList.Count() == 1)
         {
-        iHelper->SearchMatchSeqL(aQuery, aData, aMatchSet, aMatchLocation);
+        iHelper->SearchMatchSeqL(convertedQuery[0], aData, aMatchSet, aQuery,
+                                 aMatchLocation);
+
         }
 
     if (queryList.Count() > 1) // multiple query
         {
         PRINT ( _L("Query received is in multiple. Performing a multi search.") );
 
+        for (int i = 0; i < queryList.Count(); i++)
+            {
+            TPtrC queryPtr = queryList[i]->QueryAsStringLC();
+            PRINT2 ( _L("Rceived Query, index = %d; value = %S"), i, &queryPtr );
+            CleanupStack::PopAndDestroy();
+            }
+
         // Search results
-        iMultiSearchHelper->SearchMatchSeqMultiL(queryList, 
-                                                 aData, 
-                                                 aMatchSet,
+        iMultiSearchHelper->SearchMatchSeqMultiL(queryList, aData, aMatchSet,
                                                  aMatchLocation);
+
         }
 
     // Delete all the query elements
-    CleanupStack::PopAndDestroy( &queryList ); // ResetAndDestroy
+    queryList.ResetAndDestroy();
+    convertedQuery.ResetAndDestroy();
+
     PRINT ( _L("End CPcsAlgorithm2::DoSearchInputL") );
-    //__LATENCY_MARKEND ( _L("CPcsAlgorithm2::SearchInputL") );
-
     }
 
 // ----------------------------------------------------------------------------
@@ -727,17 +640,21 @@
         return;
 
     CPcsCache* cache = iPcsCache[dataStoreIndex];
-    cache->RemoveAllFromCache();
+    TRAPD(err, cache->RemoveAllFromCacheL());
+
+    if (err != KErrNone)
+        {
+        SetCachingError(aDataStore, err);
+        }
     }
 
 // ----------------------------------------------------------------------------
 // CPcsAlgorithm2::GetCacheIndex
 // Return the cache index for a data store
 // ----------------------------------------------------------------------------
-TInt CPcsAlgorithm2::GetCacheIndex(const TDesC& aDataStore)
+TInt CPcsAlgorithm2::GetCacheIndex(TDesC& aDataStore)
     {
-    const TInt pcsCacheCount = iPcsCache.Count();
-    for (int i = 0; i <pcsCacheCount; i++)
+    for (int i = 0; i < iPcsCache.Count(); i++)
         {
         CPcsCache* cache = iPcsCache[i];
 
@@ -821,7 +738,6 @@
 // ----------------------------------------------------------------------------
 void CPcsAlgorithm2::RemoveDataStore(TDesC& aDataStore)
     {
-
     for (int i = 0; i < iPcsCache.Count(); i++)
         {
         CPcsCache* cache = iPcsCache[i];
@@ -848,12 +764,12 @@
 // CPcsAlgorithm2::GetUriForIdL
 // Get the URI string for this internal id
 // ----------------------------------------------------------------------------
-const TDesC& CPcsAlgorithm2::GetUriForIdL(TUint8 aUriId)
+TDesC& CPcsAlgorithm2::GetUriForIdL(TUint8 aUriId)
     {
     TBool found = EFalse;
     TInt i = 0;
-    const TInt pcsCacheCount = iPcsCache.Count();
-    for (i = 0; i < pcsCacheCount; i++)
+
+    for (i = 0; i < iPcsCache.Count(); i++)
         {
         if (iPcsCache[i]->GetUriId() == aUriId)
             {
@@ -874,18 +790,17 @@
 // CPcsAlgorithm2::FindStoreUri
 // Checks if this store exists
 // ----------------------------------------------------------------------------
-TInt CPcsAlgorithm2::FindStoreUri(const TDesC& aDataStore)
+TInt CPcsAlgorithm2::FindStoreUri(TDesC& aDataStore)
     {
-    const TInt pcsCacheCount = iPcsCache.Count();
-    for ( TInt i = 0; i < pcsCacheCount; i++ )
+    for (int i = 0; i < iPcsCache.Count(); i++)
         {
-        if ( aDataStore.CompareC(*(iPcsCache[i]->GetUri())) == 0 )
+        if (aDataStore.CompareC(*(iPcsCache[i]->GetUri())) == 0)
             {
             return i;
             }
         }
 
-    return KErrNotFound;
+    return -1;
     }
 
 // ----------------------------------------------------------------------------
@@ -893,10 +808,8 @@
 // Update caching status
 // ----------------------------------------------------------------------------
 void CPcsAlgorithm2::UpdateCachingStatus(TDesC& aDataStore, TInt aStatus)
-{
+    {
     PRINT ( _L("Enter CPcsAlgorithm2::UpdateCachingStatus") );
-    PRINT2 ( _L("CPcsAlgorithm2::UpdateCachingStatus: Request received for URI=%S with status=%d"),
-             &aDataStore, aStatus );
 
     // Handle data store update events
     if ( aStatus == ECacheUpdateContactRemoved ||
@@ -909,108 +822,82 @@
 
     // If not a cache update event, then this event is related to the initial
     // cache construction.
-
-    // Check if any error occurred and update the cache error
-    if ( aStatus < 0 )
-    {
-        SetCachingError(aDataStore, aStatus);
-    }
-    else
-    {
-        TInt index = FindStoreUri(aDataStore);
-        iPcsCache[index]->UpdateCacheStatus(aStatus);
-    }
+    TInt index = FindStoreUri(aDataStore);
+    iPcsCache[index]->UpdateCacheStatus(aStatus);
 
-    TCachingStatus status = ECachingNotStarted;
-    TUint countNotStarted = 0;
-    TUint countInProgress = 0;
-    TUint countCompleted = 0;
-    TUint countCompletedWithErrors = 0;
-    TInt cacheCount = iPcsCache.Count();
-    for ( TInt i = 0; i < cacheCount; i++ )
-    {
-        PRINT3 ( _L("CPcsAlgorithm2::UpdateCachingStatus: URI[%d]=%S, cache status=%d"),
-                 i, &iPcsCache[i]->GetURI(), iPcsCache[i]->GetCacheStatus() );
+    // Check if any error occurred
+    // If so, update the cache status, Set the property and return
+    if (aStatus < 0)
+        {
+        SetCachingError(aDataStore, aStatus);
+        //return;
+        }
 
-        switch ( iPcsCache[i]->GetCacheStatus() )
+    //store the index for firstname and lastname
+    if (aStatus == ECachingComplete)
         {
-            case ECachingNotStarted:         
-            {
-                countNotStarted++;          
-                break;
-            }
-            case ECachingInProgress:         
-            {
-                countInProgress++;         
-                break;
-            }
-            case ECachingComplete:           
+        RArray<TInt> dataFields;
+        iPcsCache[index]->GetDataFields(dataFields);
+
+        for (int i = 0; i < dataFields.Count(); i++)
             {
-                countCompleted++;           
-                break;
-            }
-            case ECachingCompleteWithErrors: 
-            {
-                countCompletedWithErrors++; 
-                break;
-            }
-            default:                         
-            { 
-                // Default completed state
-                countCompleted++;           
-                break;
+            if (dataFields[i] == R_VPBK_FIELD_TYPE_FIRSTNAME)
+                {
+                iFirstNameIndex = i;
+                }
+            else if (dataFields[i] == R_VPBK_FIELD_TYPE_LASTNAME)
+                {
+                iLastNameIndex = i;
+                }
             }
         }
-    }
 
-    // Calculate cumulative status according to single caches statuses
-    if ( countCompleted > 0 && ( countCompleted + countNotStarted ) == cacheCount )
-    {
-        // If at least one caching is finished
-        // set status to ECachingComplete or ECachingCompleteWithErrors
-        // according to iCacheError
-        status = ( iCacheError == KErrNone ) ? ECachingComplete : ECachingCompleteWithErrors;
-    }
-    else if ( countInProgress > 0 )
-    {
-        // Else if at least one caching is in progress,
-        // set status to ECachingInProgress
-        status = ECachingInProgress;
-    }
-    else if ( countCompletedWithErrors > 0 )
-    {
-        // Else if at least one caching is completed with errors, 
-        //set status to ECachingCompleteWithErrors
-        status = ECachingCompleteWithErrors;
-    }
-    else
-    {
-        // countNotStarted == cacheCount
-        // status is set to default ECachingNotStarted
-    }
+    // No error occurred
+    TCachingStatus status = ECachingComplete;
+    TBool atLeastOneStoreCachingCompleteWithErrors(EFalse);
+    for (TInt i = 0; i < iPcsCache.Count(); i++)
+        {
+        if (iPcsCache[i]->GetCacheStatus() == ECachingComplete)
+            {
+            continue;
+            }
+        else if (iPcsCache[i]->GetCacheStatus() == ECachingCompleteWithErrors)
+            {
+            atLeastOneStoreCachingCompleteWithErrors = ETrue;
+            continue;
+            }
+        else
+            {
+            status = ECachingInProgress;
+            break;
+            }
+        }
 
-    PRINT1 ( _L("CPcsAlgorithm2::UpdateCachingStatus: Cumulative caching status is %d"),
-             status );
+    if (status == ECachingComplete)
+        {
+        // See if any error occurred while caching
+        // If so, change the status to ECachingCompleteWithErrors
+        if ((iCacheError != KErrNone) || (atLeastOneStoreCachingCompleteWithErrors))
+            {
+            status = ECachingCompleteWithErrors;
+            }
+        }
 
     // Check if status changed
-    if ( status != iCacheStatus )
-    {
-        PRINT2 ( _L("CPcsAlgorithm2::UpdateCachingStatus: Cumulative caching changed: %d -> %d"),
-                 iCacheStatus, status );
-
+    if (status != iCacheStatus)
+        {
         iCacheStatus = status;
         RProperty::Set(KPcsInternalUidCacheStatus, EPsKeyCacheStatus, iCacheStatus );
-    }
+        }
 
-    PRINT( _L("End CPcsAlgorithm2::UpdateCachingStatus") );
-}
-
+    PRINT ( _L("End CPcsAlgorithm2::UpdateCachingStatus") );
+    }
 
 // ----------------------------------------------------------------------------
 // CPcsAlgorithm2::SetCachingError
 // Updates cachinge error
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2::SetCachingError(const TDesC& aDataStore, TInt aError)
+void CPcsAlgorithm2::SetCachingError(TDesC& aDataStore, TInt aError)
     {
     PRINT2 ( _L("SetCachingError::URI %S ERROR %d"), &aDataStore, aError );
 
@@ -1025,33 +912,25 @@
 void CPcsAlgorithm2::GetAllContentsL(const CPsSettings& aSettings,
                                      RPointerArray<CPsData>& aResults)
     {
-    //__LATENCY_MARK ( _L("CPcsAlgorithm2::GetAllContentsL") );
+    __LATENCY_MARK ( _L("CPcsAlgorithm2::GetAllContentsL") );
 
     PRINT ( _L("Enter CPcsAlgorithm2::GetAllContentsL") );
 
+    // Get the data stores
+    RPointerArray<TDesC> aDataStores;
+    aSettings.SearchUrisL(aDataStores);
+
     // To hold array of results from different data stores
     typedef RPointerArray<CPsData> CPSDATA_R_PTR_ARRAY;
-    RPointerArray<CPSDATA_R_PTR_ARRAY> searchResultsArr;
-    CleanupResetAndDestroyPushL( searchResultsArr );
-    // TODO: Here's still a potential memory leak if a leave happens. The child
-    // arrays of searchResultsArr are not Reset in that case. The CPsData objects
-    // may leak as well. Handling this safely is somewhat complicated because some of
-    // the CPsData objects may already be transferred to ownership of aResults array
-    // at the time the leave happens, and those items must not be deleted.
-    
-    // Get the data stores
-    RPointerArray<TDesC> dataStores;
-    CleanupResetAndDestroyPushL( dataStores );
-    aSettings.SearchUrisL(dataStores);
+    RPointerArray<CPSDATA_R_PTR_ARRAY> iSearchResultsArr;
 
     // Get all contacts for each data store
-    const TInt dataStoresCount = dataStores.Count(); 
-    for (TInt dsIndex = 0; dsIndex < dataStoresCount; dsIndex++)
+    for (int dsIndex = 0; dsIndex < aDataStores.Count(); dsIndex++)
         {
         RPointerArray<CPsData> *temp = new (ELeave) RPointerArray<CPsData> ();
-        searchResultsArr.Append(temp);
+        iSearchResultsArr.Append(temp);
 
-        TInt arrayIndex = GetCacheIndex(*(dataStores[dsIndex]));
+        TInt arrayIndex = GetCacheIndex(*(aDataStores[dsIndex]));
         if (arrayIndex < 0)
             {
             continue;
@@ -1059,28 +938,29 @@
 
         CPcsCache* cache = GetCache(arrayIndex);
 
-        cache->GetAllContentsL(*(searchResultsArr[dsIndex]));
+        cache->GetAllContentsL(*(iSearchResultsArr[dsIndex]));
         }
 
-    CleanupStack::PopAndDestroy( &dataStores ); // ResetAndDestroy
+    aDataStores.ResetAndDestroy();
 
     // Merge the results from different data stores
-    CPcsAlgorithm2Utils::FormCompleteSearchResultsL(searchResultsArr, aResults);
+    CPcsAlgorithm2Utils::FormCompleteSearchResultsL(iSearchResultsArr, aResults);
 
     // Cleanup the local arrays
-    const TInt seaerchResultsArrCount = searchResultsArr.Count(); 
-    for (TInt i = 0; i < seaerchResultsArrCount; i++)
+    for (TInt i = 0; i < iSearchResultsArr.Count(); i++)
         {
-        searchResultsArr[i]->Reset();
+        iSearchResultsArr[i]->Reset();
+        delete iSearchResultsArr[i];
+        iSearchResultsArr[i] = NULL;
         }
 
-    CleanupStack::PopAndDestroy( &searchResultsArr ); // ResetAndDestroy
+    iSearchResultsArr.Reset();
 
     PRINT1 ( _L("Number of results = %d"), aResults.Count() );
 
     PRINT ( _L("End CPcsAlgorithm2::GetAllContentsL") );
 
-    //__LATENCY_MARKEND ( _L("CPcsAlgorithm2::GetAllContentsL") );
+    __LATENCY_MARKEND ( _L("CPcsAlgorithm2::GetAllContentsL") );
     }
 
 // ----------------------------------------------------------------------------
@@ -1097,18 +977,18 @@
 
     // Get the current URIs defined in settings    
     RPointerArray<TDesC> searchUris;
-    CleanupResetAndDestroyPushL( searchUris );
     aSettings.SearchUrisL(searchUris);
 
     if (aGroupIdArray.Count() && (searchUris.Count() > aGroupIdArray.Count()))
         {
         // There is an error, either there are more than one groups
         // or the settings contain a combination of group/non-group Uris
+        searchUris.ResetAndDestroy();
         aGroupIdArray.Close();
         User::Leave(KErrArgument);
         }
 
-    CleanupStack::PopAndDestroy( &searchUris ); // ResetAndDestroy
+    searchUris.ResetAndDestroy();
 
     PRINT ( _L("End CPcsAlgorithm2::IsGroupSearchL") );
 
@@ -1125,16 +1005,15 @@
 void CPcsAlgorithm2::ReplaceGroupsUriL(CPsSettings& aSettings)
     {
     RPointerArray<TDesC> uri;
-    CleanupResetAndDestroyPushL( uri );
 
     // Set contacts db uri
-    HBufC* cntdb = KVPbkDefaultCntDbURI().AllocLC();
-    uri.AppendL(cntdb);
-    CleanupStack::Pop( cntdb ); // ownership transferred
+    HBufC* cntdb = HBufC::NewL(KBufferMaxLen);
+    cntdb->Des().Copy(KVPbkDefaultCntDbURI);
+    uri.Append(cntdb);
     aSettings.SetSearchUrisL(uri);
 
     // Cleanup
-    CleanupStack::PopAndDestroy( &uri ); // ResetAndDestroy
+    uri.ResetAndDestroy();
     }
 
 // ----------------------------------------------------------------------------
@@ -1176,22 +1055,28 @@
     {
     // Clear results array
     aGroupContactIds.Reset();
-    
-    // Cache Index for group database
-    TInt cacheIndex = GetCacheIndex(KVPbkDefaultGrpDbURI);
-    
+
+    // Groups URI
+    HBufC* groupURI = HBufC::NewL(50);
+    groupURI->Des().Copy(KVPbkDefaultGrpDbURI);
+
+    // Cache Index   
+    TInt cacheIndex = GetCacheIndex(*groupURI);
+
+    // Cleanup
+    delete groupURI;
+    groupURI = NULL;
+
     // Get the groups contact ids 
     if (cacheIndex != -1)
         {
         RPointerArray<CPsData> groups;
-        CleanupClosePushL( groups );
 
         // Get all groups
         iPcsCache[cacheIndex]->GetAllContentsL(groups);
 
         // Get all contacts in group
-        const TInt groupsCount = groups.Count(); 
-        for (TInt i = 0; i < groupsCount; i++)
+        for (TInt i = 0; i < groups.Count(); i++)
             {
             if (groups[i]->Id() == aGroupId)
                 {
@@ -1200,7 +1085,7 @@
                 }
             }
 
-        CleanupStack::PopAndDestroy( &groups ); // Close
+        groups.Reset();
         }
     }
 
@@ -1217,7 +1102,8 @@
     if (CPcsAlgorithm2Utils::IsGroupUri(aURI))
         {
         // If search in a group uri, use contacts db
-        arrayIndex = GetCacheIndex(KVPbkDefaultCntDbURI);
+        TBuf<255> cntdb(KVPbkDefaultCntDbURI);
+        arrayIndex = GetCacheIndex(cntdb);
         }
     else
         {
@@ -1252,7 +1138,8 @@
     if (CPcsAlgorithm2Utils::IsGroupUri(aURI))
         {
         // If search in a group uri, use contacts db
-        arrayIndex = GetCacheIndex(KVPbkDefaultCntDbURI);
+        TBuf<255> cntdb(KVPbkDefaultCntDbURI);
+        arrayIndex = GetCacheIndex(cntdb);
         }
     else
         {
@@ -1310,8 +1197,7 @@
     if (aSortOrder.Count() == mySortOrder.Count())
         {
         TBool same = ETrue;
-        const TInt mySourtOrderCount = mySortOrder.Count(); 
-        for ( TInt i = 0; i < mySourtOrderCount ; i++ )
+        for (int i = 0; i < mySortOrder.Count(); i++)
             {
             if (mySortOrder[i] != aSortOrder[i])
                 {
@@ -1344,7 +1230,7 @@
     TRAP(err, cache->ResortdataInPoolsL());
     if (err != KErrNone)
         {
-        PRINT ( _L("CPcsAlgorithm2::ChangeSortOrderL() Set Caching Error ") );
+        PRINT ( _L("CPcsAlgorithm1::ChangeSortOrderL() Set Caching Error ") );
         SetCachingError(aURI, err);
         UpdateCachingStatus(aURI, ECachingCompleteWithErrors);
         return;
@@ -1353,11 +1239,22 @@
     PRINT ( _L("End CPcsAlgorithm2::ChangeSortOrderL.") );
     }
 
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2::GetAdaptiveGridL
+// 
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2::GetAdaptiveGridL( const MDesCArray& /*aURIs*/,
+                                       const TBool /*aCompanyName*/,
+                                       TDes& /*aAdaptiveGrid*/ )
+    {
+    //NOT IMPLEMENTED YET
+    }
+
 // ---------------------------------------------------------------------------------
 // Read the persisted sort order from the central repository
 // Persisted sort order is of form URI Field1 Field2 Field3 .. FieldN (space delimited)
 // ---------------------------------------------------------------------------------
-void CPcsAlgorithm2::ReadSortOrderFromCenRepL(const TDesC& aURI, RArray<TInt>& aSortOrder)
+void CPcsAlgorithm2::ReadSortOrderFromCenRepL(TDesC& aURI, RArray<TInt>& aSortOrder)
     {
     PRINT ( _L("Enter CPcsAlgorithm2::ReadSortOrderFromCenRepL.") );
 
@@ -1368,9 +1265,8 @@
     // Read the sort order from cenrep
     TBuf<KCRMaxLen> str;
 
-    for ( TInt i(KCenrepFieldsStartKey); 
-          i < KCenrepFieldsStartKey + KCenrepNumberOfFieldsCount; 
-          i++ )
+    for (TInt i(KCenrepFieldsStartKey); i < KCenrepFieldsStartKey
+            + KCenrepNumberOfFieldsCount; i++)
         {
         TInt err = repository->Get(i, str);
 
@@ -1422,19 +1318,18 @@
 // Write the sort order into the central repository
 // Persisted sort order is of form URI Field1 Field2 Field3 .. FieldN (space delimited)
 // ---------------------------------------------------------------------------------
-void CPcsAlgorithm2::WriteSortOrderToCenRepL(const TDesC& aURI, RArray<TInt>& aSortOrder)
+void CPcsAlgorithm2::WriteSortOrderToCenRepL(TDesC& aURI, RArray<TInt>& aSortOrder)
     {
     PRINT ( _L("Enter CPcsAlgorithm2::WriteSortOrderToCenRepL.") );
 
-    CRepository* repository = CRepository::NewLC(KCRUidPSSortOrder);
+    CRepository *repository = CRepository::NewL(KCRUidPSSortOrder);
 
     // Check if there an entry for this URI in cenrep
     TBuf<KCRMaxLen> str;
     TInt keyIndex = -1;
 
-    for ( TInt i(KCenrepFieldsStartKey); 
-          i < KCenrepFieldsStartKey + KCenrepNumberOfFieldsCount; 
-          i++ )
+    for (TInt i(KCenrepFieldsStartKey); i < KCenrepFieldsStartKey
+            + KCenrepNumberOfFieldsCount; i++)
         {
         TInt err = repository->Get(i, str);
 
@@ -1464,9 +1359,8 @@
     if (keyIndex == -1)
         {
         // Find the next free key index
-        for ( TInt i(KCenrepFieldsStartKey); 
-              i < KCenrepFieldsStartKey + KCenrepNumberOfFieldsCount; 
-              i++ )
+        for (TInt i(KCenrepFieldsStartKey); i < KCenrepFieldsStartKey
+                + KCenrepNumberOfFieldsCount; i++)
             {
             TInt err = repository->Get(i, str);
 
@@ -1491,7 +1385,7 @@
         }
 
     // Persist the sort order
-    HBufC* str1 = HBufC::NewLC(KCRMaxLen);
+    HBufC* str1 = HBufC::NewL(KCRMaxLen);
     TPtr ptr(str1->Des());
 
     // Append the URI
@@ -1499,8 +1393,7 @@
     ptr.Append(KSpace);
 
     // Append the sort order fields
-    const TInt sortOrderCount =  aSortOrder.Count();
-    for (TInt j = 0; j < sortOrderCount; j++)
+    for (int j = 0; j < aSortOrder.Count(); j++)
         {
         ptr.AppendNum(aSortOrder[j]);
         ptr.Append(KSpace);
@@ -1511,9 +1404,9 @@
 
     User::LeaveIfError(err);
 
-    CleanupStack::PopAndDestroy( str1 );
+    delete str1;
 
-    CleanupStack::PopAndDestroy( repository );
+    delete repository;
 
     PRINT ( _L("End CPcsAlgorithm2::WriteSortOrderToCenRepL.") );
     }
@@ -1534,8 +1427,7 @@
     clientData->SetUriL(GetUriForIdL(aPsData.UriId()));
 
     // set pointer to the each data element
-    const TInt dataElementCount = aPsData.DataElementCount(); 
-    for (TInt i = 0; i <dataElementCount; i++)
+    for (TInt i = 0; i < aPsData.DataElementCount(); i++)
         {
         clientData->SetDataL(i, *(aPsData.Data(i)));
         }
@@ -1574,11 +1466,11 @@
         default:
             break;
         }
-    
-    // Increment the relevant counter in P&S by one to signal the clients about
-    // the cache update.
-    if( psKey != KErrNotFound )
+
+    if ( psKey != KErrNotFound )
         {
+        // Increment the relevant counter in P&S by one to signal the clients about
+        // the cache update.
         TInt counter( KErrNotFound );
         TInt err = RProperty::Get( KPcsInternalUidCacheStatus, psKey, counter );
         if ( !err )
@@ -1603,24 +1495,25 @@
         PRINT1 ( _L("keyMap ReconstructKeymapL, err =%d"),err );
         }
     
-    for (TInt index = 0; index < iCacheCount; index++)
+    for (int index = 0; index < iCacheCount; index++)
         {
         CPcsCache* cache = iPcsCache[index];
 
-        HBufC* uri = cache->GetUri();
+        HBufC * uri = cache->GetUri();
         // Clear the cache
-        cache->RemoveAllFromCache();
+        TRAP(err, cache->RemoveAllFromCacheL());   
+        PRINT1 ( _L("cache RemoveAllFromCacheL, err =%d"),err );
 
         if (err != KErrNone)
             {
             SetCachingError(*uri, err);
             }
         //Update the caching status as ECachingInProgress, since now the caching
-        // would be started again
+        // would be strated again
         UpdateCachingStatus(*uri, ECachingInProgress);
 
         // Request for data again
-        TRAP(err, iPsDataPluginInterface->RequestForDataL(*uri));
+        TRAP(err, iPsDataPluginInterface->RequestForDataL(*uri));        
         PRINT1 ( _L("iPsDataPluginInterface->RequestForDataL, err =%d"),err );
 
         if (err != KErrNone)
@@ -1630,6 +1523,14 @@
         }
     }
 
+void CPcsAlgorithm2::Converter(const TDesC& aSourStr, TDes& aDestStr)
+    {
+    if (iKeyMap)
+        {
+        iKeyMap->GetNumericKeyString(aSourStr, aDestStr);
+        }
+    }
+
 // ---------------------------------------------------------------------------------
 // DoLaunchPluginsL.
 // launch plugins by idle
@@ -1660,32 +1561,15 @@
 
     // Initialize cache
     RPointerArray<TDesC> dataStores;
-    CleanupClosePushL( dataStores );
 
     iPsDataPluginInterface->GetAllSupportedDataStoresL(dataStores);
 
-    const TInt dataStoresCount = dataStores.Count();
-    for (TInt dIndex = 0; dIndex < dataStoresCount; dIndex++)
+    for (int dIndex = 0; dIndex < dataStores.Count(); dIndex++)
         {
         AddDataStore(*(dataStores[dIndex]));
         }
 
-    CleanupStack::PopAndDestroy( &dataStores ); // Close
-    }
-
-/**
-* Returns the Adaptive Grid for one or more URI
-* 
-*/
- void CPcsAlgorithm2::GetAdaptiveGridL( const MDesCArray& /*aURIs*/,
-                               const TBool /*aCompanyName*/,
-                               TDes& /*aAdaptiveGrid*/ )
-    {
-     PRINT ( _L("Enter CPcsAlgorithm2::GetAdaptiveGridL") );
-
-
-     PRINT ( _L("End CPcsAlgorithm2::GetAdaptiveGridL") );
-
+    dataStores.Reset();
     }
 // End of file
 
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2FilterHelper.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2FilterHelper.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,8 +20,8 @@
 #include "CPcsDebug.h"
 
 // Compare functions
-TInt ComparePsPattern(const TPsPatternDetails& aFirst,
-                      const TPsPatternDetails& aSecond)
+TBool ComparePsPattern(const TPsPatternDetails& aFirst,
+                       const TPsPatternDetails& aSecond)
     {
     return (CPcsAlgorithm2Utils::MyCompareC(*(aFirst.matchPattern),
                                             *(aSecond.matchPattern)));
@@ -109,7 +109,7 @@
 // CPcsAlgorithm2FilterHelper::AddL
 // 
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2FilterHelper::AddL(CPsData* aPsData, RPointerArray<TDesC>& aPatternSequence)
+void CPcsAlgorithm2FilterHelper::AddL(CPsData* psData, RPointerArray<TDesC>& aPatternSequence)
     {
     if (iSortType == EAlphabetical)
         {
@@ -117,46 +117,44 @@
         if (iMatchPatternPools.Count() == 0)
             {
             RPointerArray<CPsData> *tempPsDataArray = new (ELeave) RPointerArray<CPsData> ();
-            CleanupStack::PushL( tempPsDataArray );
-            iMatchPatternPools.AppendL(tempPsDataArray);
-            CleanupStack::Pop( tempPsDataArray );
+            iMatchPatternPools.Append(tempPsDataArray);
             }
         // Add result to the result set
-        iMatchPatternPools[0]->AppendL(aPsData);
+        iMatchPatternPools[0]->Append(psData);
 
         // Update the count
         iResultCount++;
 
         // Update sequence list
-        const TInt patternSequenceCount = aPatternSequence.Count();
-        for (TInt i = 0; i < patternSequenceCount; i++)
+        for (TInt i = 0; i < aPatternSequence.Count(); i++)
             {
-            TInt index = FindSequence(*aPatternSequence[i]);
+            TInt index = FindSequence(aPatternSequence[i]);
             if (index == KErrNotFound)
                 {
                 // sequence not found, add it to array
                 TPsPatternDetails* temp = new (ELeave) TPsPatternDetails;
-                CleanupStack::PushL( temp );
-                
-                temp->matchPattern = aPatternSequence[i]->AllocL();
+
+                TInt len = aPatternSequence[i]->Length();
+                temp->matchPattern = HBufC::NewL(len);
+                temp->matchPattern->Des().Copy(*(aPatternSequence[i]));
 
                 // First occurence should be -1 for alphabetical sort
                 // and pool index will be 0 as only one pool will be created
                 temp->firstOccurence = -1;
                 temp->poolIndex = 0;
 
-                iMatchPatternDetails.AppendL(temp);
-                CleanupStack::Pop( temp );
+                iMatchPatternDetails.Append(temp);
                 }
             }
         }
     else
         {
         // PatternBased sort
-        TInt index = AddToPoolL(aPsData, aPatternSequence);
+        TInt index = AddToPoolL(psData, aPatternSequence);
 
         // Increment the total count
         iResultCount++;
+
         }
     }
 
@@ -165,7 +163,7 @@
 // 
 // ----------------------------------------------------------------------------
 
-TInt CPcsAlgorithm2FilterHelper::AddToPoolL(CPsData* aPsData, RPointerArray<TDesC>& aPatternSequence)
+TInt CPcsAlgorithm2FilterHelper::AddToPoolL(CPsData* psData, RPointerArray<TDesC>& aPatternSequence)
     {
 
     // Sort the pattern sequence
@@ -173,7 +171,7 @@
     aPatternSequence.Sort(rule);
 
     // Sort rule        
-    TLinearOrder<CPsData> psDataRule(CPcsAlgorithm2Utils::CompareDataBySortOrderL);
+    TLinearOrder<CPsData> psDataRule(CPcsAlgorithm2Utils::CompareDataBySortOrder);
 
     // Search Rule
     TIdentityRelation<CPsData> identitySearchRule(CPsData::CompareById);
@@ -181,13 +179,12 @@
     TInt poolItemCount = -1;
     TInt matchpatterpoolIndexToAppend = -1;
 
-    const TInt patternSequenceCount = aPatternSequence.Count();
-    for (TInt cnt = 0; cnt < patternSequenceCount; cnt++)
+    for (TInt cnt = 0; cnt < aPatternSequence.Count(); cnt++)
         {
 
         // Create the pattern for aPatternSequence[cnt] in  iMatchPatternDetails
         // and return the index
-        TInt indexInMatchPatternDetails = CreateMatchPatternDetailsAndPoolsL(*aPatternSequence[cnt]);
+        TInt indexInMatchPatternDetails = CreateMatchPatternDetailsAndPoolsL(aPatternSequence[cnt]);
 
         //Add the data to the pool the first pattern pool.
         // The data should be added only once
@@ -195,8 +192,8 @@
             {
             TInt poolIndex = iMatchPatternDetails[indexInMatchPatternDetails]->poolIndex;
             matchpatterpoolIndexToAppend = indexInMatchPatternDetails;
-            iMatchPatternPools[poolIndex]->InsertInOrderAllowRepeats(aPsData, psDataRule);
-            TInt findposition = iMatchPatternPools[poolIndex]->Find(aPsData, identitySearchRule);
+            iMatchPatternPools[poolIndex]->InsertInOrderAllowRepeats(psData, psDataRule);
+            TInt findposition = iMatchPatternPools[poolIndex]->Find(psData, identitySearchRule);
             if (findposition != KErrNotFound)
                 {
                 poolItemCount = findposition;
@@ -211,7 +208,7 @@
             {
             // Check if aPatternSequence[cnt] is listed in subpatterns of aPatternSequence[0]
             // If not, then create a sub pattern and apped it to  iMatchPatternDetails for aPatternSequence[0]
-            TInt subSeq = FindSubSequence(*aPatternSequence[cnt], matchpatterpoolIndexToAppend);
+            TInt subSeq = FindSubSequence(aPatternSequence[cnt], matchpatterpoolIndexToAppend);
             if (subSeq == KErrNotFound)
                 {
                 //Create the subpattern and append it.
@@ -233,7 +230,7 @@
 // Returns the index of the sequence in iMatchPatternDetails
 // ----------------------------------------------------------------------------
 
-TInt CPcsAlgorithm2FilterHelper::CreateMatchPatternDetailsAndPoolsL(const TDesC& aSeq)
+TInt CPcsAlgorithm2FilterHelper::CreateMatchPatternDetailsAndPoolsL(TDesC* aSeq)
     {
 
     TInt indexInMatchPatternDetails = FindSequence(aSeq);
@@ -243,7 +240,8 @@
         TPsPatternDetails* tempPatternDetailsInstance = new (ELeave) TPsPatternDetails;
 
         //TInt len = aPatternSequence[cnt]->Length();
-        tempPatternDetailsInstance->matchPattern = aSeq.Alloc();
+        tempPatternDetailsInstance->matchPattern = HBufC::NewL(aSeq->Length());
+        tempPatternDetailsInstance->matchPattern->Des().Copy(*(aSeq));
         tempPatternDetailsInstance->firstOccurence = -1; //RAVIKIRAN
 
         // Pools doesn't exist for this sequence..
@@ -284,8 +282,7 @@
     if (iSortType == EAlphabetical)
         {
         // Return the results stored in single array
-        const TInt cnt = iMatchPatternPools[0]->Count();
-        for (TInt i = 0; i < cnt; i++)
+        for (TInt i = 0; i < iMatchPatternPools[0]->Count(); i++)
             {
             aSearchResults.Append((*(iMatchPatternPools[0]))[i]);
             }
@@ -296,21 +293,18 @@
     else
         {
         TInt firstOccurenceTracker = 0;
-        const TInt matchPatternDetailsCount = iMatchPatternDetails.Count();
-        for (TInt i = 0; i < matchPatternDetailsCount; i++)
+        for (TInt i = 0; i < iMatchPatternDetails.Count(); i++)
             {
             // Get the mapping pool index for this sequence
             TInt index = iMatchPatternDetails[i]->poolIndex;
             TInt j = 0;
-            const TInt poolCount = iMatchPatternPools[index]->Count();
-            for (; j < poolCount; j++)
+            for (; j < iMatchPatternPools[index]->Count(); j++)
                 {
                 aSearchResults.Append((*(iMatchPatternPools[index]))[j]);
                 }
 
             // Check the sub patterns
-            const TInt subPatternArrayCount =  iMatchPatternDetails[i]->subPatternArray.Count();
-            for (TInt k = 0; k < subPatternArrayCount; k++)
+            for (TInt k = 0; k < iMatchPatternDetails[i]->subPatternArray.Count(); k++)
                 {
                 HBufC* temporseq = iMatchPatternDetails[i]->subPatternArray[k]->matchPattern;
                 TRAP_IGNORE( UpdateForSubSequencesL( *temporseq, 
@@ -340,8 +334,7 @@
     TLinearOrder<TPsPatternDetails> rule(ComparePsPattern);
     iMatchPatternDetails.Sort(rule);
 
-    const TInt matchPatternDetailsCount = iMatchPatternDetails.Count(); 
-    for (TInt i = 0; i < matchPatternDetailsCount; i++)
+    for (TInt i = 0; i < iMatchPatternDetails.Count(); i++)
         {
         CPsPattern *tempPattern = CPsPattern::NewL();
 
@@ -358,14 +351,17 @@
 // Searches for for aSeq in iMatchPatternDetails and returns index 
 //  where input sequence is found. Returns -1 if not found
 // ----------------------------------------------------------------------------
-TInt CPcsAlgorithm2FilterHelper::FindSequence(const TDesC& aSeq)
+TInt CPcsAlgorithm2FilterHelper::FindSequence(TDesC* aSeq)
     {
+    TBuf<50> seqBuf;
+    seqBuf.Append(*aSeq);
+
     TInt j = 0;
-    const TInt matchPatternDetailsCount =  iMatchPatternDetails.Count();
-    for (; j < matchPatternDetailsCount; j++)
+    for (; j < iMatchPatternDetails.Count(); j++)
         {
-        const TDesC& matchPattern = *(iMatchPatternDetails[j]->matchPattern);
-        if ( CPcsAlgorithm2Utils::MyCompareC(aSeq, matchPattern) == 0 )
+        TBuf<50> matchPatternBuf;
+        matchPatternBuf.Copy((iMatchPatternDetails[j]->matchPattern->Des()));
+        if (seqBuf == matchPatternBuf)
             break;
         }
 
@@ -381,14 +377,17 @@
 // and returns index where input sequence is found. 
 // Returns -1 if not found
 // ----------------------------------------------------------------------------
-TInt CPcsAlgorithm2FilterHelper::FindSubSequence(const TDesC& aSeq, TInt aPatternIndex)
+TInt CPcsAlgorithm2FilterHelper::FindSubSequence(TDesC* aSeq, TInt aPatternIndex)
     {
+    TBuf<50> seqBuf;
+    seqBuf.Append(*aSeq);
+
     TInt j = 0;
-    const TInt subPatternArraycount =  iMatchPatternDetails[aPatternIndex]->subPatternArray.Count();
-    for (; j < subPatternArraycount; j++)
+    for (; j < iMatchPatternDetails[aPatternIndex]->subPatternArray.Count(); j++)
         {
-        const TDesC& matchPattern = *(iMatchPatternDetails[aPatternIndex]->subPatternArray[j]->matchPattern);
-	    if ( CPcsAlgorithm2Utils::MyCompareC(aSeq, matchPattern) == 0 ) 
+        TBuf<50> matchPatternBuf;
+        matchPatternBuf.Copy((iMatchPatternDetails[aPatternIndex]->subPatternArray[j]->matchPattern->Des()));
+        if (seqBuf == matchPatternBuf)
             break;
         }
 
@@ -411,13 +410,13 @@
 // then, firstOccurence of all substring sequences ("A", "AB", "ABC") 
 //       in iMatchPatternDetails will be set to 2
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2FilterHelper::UpdateForSubSequencesL(const TDesC& aSeq, TInt aFirstOccrVal)
+void CPcsAlgorithm2FilterHelper::UpdateForSubSequencesL(TDesC& aSeq, TInt aFirstOccrVal)
     {
-    TPtrC tempSequence;
-    for ( TInt i = 1; i <= aSeq.Length(); i++ )
+    HBufC* tempSequence = HBufC::NewL(aSeq.Length() + 1);
+    for (TInt i = 0; i < aSeq.Length(); i++)
         {
         // Get the next substring in tempSequence
-        tempSequence.Set( aSeq.Left(i) );
+        tempSequence->Des().Append(aSeq[i]);
 
         // Find if this sequence exist in iMatchPatternDetails
         TInt patternIndex = FindSequence(tempSequence);
@@ -429,6 +428,11 @@
             }
 
         }
+    delete tempSequence;
+    tempSequence = NULL;
+
+    return;
+
     }
 // END OF FILE
 
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2Helper.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2Helper.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 // INCLUDES
-#include <PbkGlobalSettingFactory.h>
+#include <FindUtil.h>
 #include "FindUtilChineseECE.h"
 #include "CPcsAlgorithm2.h"
 #include "CPcsAlgorithm2Helper.h"
@@ -25,11 +25,22 @@
 #include "CPcsCache.h"
 #include "CPcsKeyMap.h"
 #include "CPsData.h"
+#include "CWords.h"
 #include "CPsQuery.h"
 #include "CPsQueryItem.h"
 #include "CPsDataPluginInterface.h"
 #include "CPcsPoolElement.h"
 
+// Compare functions
+TBool Compare1(const TDesC& aFirst, const TDesC& aSecond)
+    {
+    return aFirst == aSecond;
+    }
+
+TBool Compare2(const TDesC& aFirst, const TDesC& aSecond)
+    {
+    return CPcsAlgorithm2Utils::MyCompareC(aFirst, aSecond);
+    }
 
 // ============================== MEMBER FUNCTIONS ============================
 
@@ -59,7 +70,6 @@
     {
     PRINT ( _L("Enter CPcsAlgorithm2Helper::CPcsAlgorithm2") );
     PRINT ( _L("End CPcsAlgorithm2Helper::CPcsAlgorithm2") );
-    iMaxCount = 0;
     }
 
 // ----------------------------------------------------------------------------
@@ -71,18 +81,13 @@
     PRINT ( _L("Enter CPcsAlgorithm2Helper::ConstructL") );
 
     iAlgorithm = aAlgorithm;
-    iKeyMap = iAlgorithm->GetKeyMap();
+    keyMap = iAlgorithm->GetKeyMap();
 
-    iPbkSettings = PbkGlobalSettingFactory::CreatePersistentSettingL();
-    iPbkSettings->ConnectL( MPbkGlobalSetting::EGeneralSettingCategory );
-    iPbkSettings->RegisterObserverL( this );
-    UpdateNameOrderL();
-    
     PRINT ( _L("End CPcsAlgorithm2Helper::ConstructL") );
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm2Helper::~CPcsAlgorithm2Helper
+// CPcsAlgorithm2Helper::CPcsAlgorithm2Helper
 // Destructor
 // ----------------------------------------------------------------------------
 CPcsAlgorithm2Helper::~CPcsAlgorithm2Helper()
@@ -93,323 +98,798 @@
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm2Helper::SearchSingleL
+// CPcsAlgorithm2Helper::SearchMixedL
 // Search function for input with both ITU-T and QWERTY mode
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2Helper::SearchSingleL(const CPsSettings& aSettings,
-                                         CPsQuery& aPsQuery, 
-                                         TBool aIsSearchInGroup,
-                                         const RArray<TInt>& aContactsInGroup,
-                                         RPointerArray<CPsData>& aSearchResults,
-                                         RPointerArray<CPsPattern>& aSearchSeqs)
+void CPcsAlgorithm2Helper::SearchMixedL(const CPsSettings& aSettings,
+                                        CPsQuery& aPsQuery, TBool isSearchInGroup,
+                                        RArray<TInt>& aContactsInGroup,
+                                        RPointerArray<CPsData>& searchResults,
+                                        RPointerArray<CPsPattern>& searchSeqs)
     {
-    PRINT ( _L("Enter CPcsAlgorithm2Helper::SearchSingleL") );
+    __LATENCY_MARK ( _L("CPcsAlgorithm2Helper::SearchMixedL") );
 
-    //__LATENCY_MARK ( _L("CPcsAlgorithm2Helper::SearchSingleL") );
+    PRINT ( _L("Enter CPcsAlgorithm2Helper::SearchMixedL") );
 
-    iMaxCount = aSettings.MaxResults();
-    
     // Create filtering helper for the required sort type
     TSortType sortType = aSettings.GetSortType();
     CPcsAlgorithm2FilterHelper* filterHelper =
             CPcsAlgorithm2FilterHelper::NewL(sortType);
-    CleanupStack::PushL( filterHelper );
-    
-    // Search from cache based on first character
-    const CPsQueryItem& firstCharItem = aPsQuery.GetItemAtL(0);
-    TInt cachePoolId = iKeyMap->PoolIdForCharacter( firstCharItem.Character(), firstCharItem.Mode() );
 
     // Reset the result set array for new search
     iSearchResultsArr.ResetAndDestroy();
 
     // Get the data stores
-    RPointerArray<TDesC> dataStores;
-    CleanupResetAndDestroyPushL( dataStores );
-    aSettings.SearchUrisL(dataStores);
+    RPointerArray<TDesC> aDataStores;
+    aSettings.SearchUrisL(aDataStores);
 
     // Get the required display fields from the client
     RArray<TInt> requiredDataFields;
-    CleanupClosePushL( requiredDataFields );
     aSettings.DisplayFieldsL(requiredDataFields);
+    
+    // Search from cache based on first character
+     const CPsQueryItem& firstCharItem = aPsQuery.GetItemAtL(0);
+     TInt numValue  = keyMap->PoolIdForCharacter( firstCharItem.Character() );
 
     // Perform search for each required data store
     RPointerArray<CPcsPoolElement> elements;
-    CleanupClosePushL( elements );
-    const TInt dataStoresCount = dataStores.Count();
 
-    for (TInt dsIndex = 0; dsIndex < dataStoresCount; dsIndex++)
+    for (int dsIndex = 0; dsIndex < aDataStores.Count(); dsIndex++)
         {
-        RPointerArray<CPsData>* temp = new (ELeave) RPointerArray<CPsData> ();
-        CleanupStack::PushL( temp );
-        iSearchResultsArr.AppendL( temp );
-        CleanupStack::Pop( temp );
+
+        RPointerArray<CPsData> *temp = new (ELeave) RPointerArray<CPsData> ();
+        iSearchResultsArr.Append(temp);
 
         // Get the contents for this data store
-        TInt arrayIndex = iAlgorithm->GetCacheIndex(*(dataStores[dsIndex]));
+        TInt arrayIndex = iAlgorithm->GetCacheIndex(*(aDataStores[dsIndex]));
         if (arrayIndex < 0)
             {
             continue;
             }
         CPcsCache* cache = iAlgorithm->GetCache(arrayIndex);
-        cache->GetContactsForKeyL(cachePoolId, elements);
-
-        // Get the supported data fields for this data store
-        RArray<TInt> supportedDataFields;
-        CleanupClosePushL( supportedDataFields );
-        cache->GetDataFields(supportedDataFields);
-
-        // Get the filtered data fields for this data store
-        TUint8 filteredDataMatch = CPcsAlgorithm2Utils::FilterDataFieldsL(requiredDataFields,
-                                                                          supportedDataFields);
+        cache->GetContactsForKeyL(numValue, elements);
 
         // Perform filtering
-        FilterResultsSingleL(filterHelper,
-                             elements,
-                             aPsQuery,
-                             filteredDataMatch,
-                             aIsSearchInGroup,
-                             aContactsInGroup);
+        FilterResultsMixedL(filterHelper, elements, aPsQuery,
+                            isSearchInGroup, aContactsInGroup);
 
-        // If alphabetical sorting, get the results for this datastore
+        // If alphabetical sorting, get the results for this datastore               
         if (sortType == EAlphabetical)
             {
             filterHelper->GetResults(*(iSearchResultsArr[dsIndex]));
             }
 
         elements.Reset();
-        CleanupStack::PopAndDestroy( &supportedDataFields ); // Close
+        }
+
+    aDataStores.ResetAndDestroy();
+    requiredDataFields.Reset();
+
+    // If alphabetical sorting, merge the result sets of all datastores
+    if (sortType == EAlphabetical)
+        {
+        // Form the complete searchResults array
+        CPcsAlgorithm2Utils::FormCompleteSearchResultsL(iSearchResultsArr,
+                                                        searchResults);
+        }
+    else
+        {
+        // Results are already sorted pattern based
+        filterHelper->GetResults(searchResults);
+        }
+
+    // Get the sorted match sequence list
+    filterHelper->GetPatternsL(searchSeqs);
+
+    PRINT1 ( _L("Number of search results = %d"), searchResults.Count() );
+
+    // Cleanup         
+    for (TInt i = 0; i < iSearchResultsArr.Count(); i++)
+        {
+        iSearchResultsArr[i]->Reset();
+        delete iSearchResultsArr[i];
+        iSearchResultsArr[i] = NULL;
         }
 
-    CleanupStack::PopAndDestroy( &elements );           // Close
-    CleanupStack::PopAndDestroy( &requiredDataFields ); // Close
-    CleanupStack::PopAndDestroy( &dataStores );         // ResetAndDestroy
+    iSearchResultsArr.Reset();
+
+    CleanupStack::PopAndDestroy(); // query
+    delete filterHelper;
+
+    PRINT ( _L("End CPcsAlgorithm2Helper::SearchMixedL") );
+
+    __LATENCY_MARKEND ( _L("CPcsAlgorithm2Helper::SearchMixedL") );
+    }
+
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2Helper::SearchITUL
+// Search function for ITU-T style
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2Helper::SearchITUL(const CPsSettings& aSettings,
+                                      CPsQuery& aPsQuery, TBool isSearchInGroup,
+                                      RArray<TInt>& aContactsInGroup,
+                                      RPointerArray<CPsData>& searchResults,
+                                      RPointerArray<CPsPattern>& searchSeqs)
+    {
+    __LATENCY_MARK ( _L("CPcsAlgorithm2Helper::SearchITUL") );
+
+    PRINT ( _L("Enter CPcsAlgorithm2Helper::SearchITUL") );
+
+    // Create filtering helper for the required sort type
+    TSortType sortType = aSettings.GetSortType();
+    CPcsAlgorithm2FilterHelper* filterHelper =
+            CPcsAlgorithm2FilterHelper::NewL(sortType);
+
+    // Convert the query to string
+    TPtrC queryPtr = aPsQuery.QueryAsStringLC();
+
+    // Search from cache based on first character
+    const CPsQueryItem& firstCharItem = aPsQuery.GetItemAtL(0);
+    TInt numValue  = keyMap->PoolIdForCharacter( firstCharItem.Character() );
+
+    // Reset the result set array for new search
+    iSearchResultsArr.ResetAndDestroy();
+
+    // Get the data stores
+    RPointerArray<TDesC> aDataStores;
+    aSettings.SearchUrisL(aDataStores);
+
+    // Get the required display fields from the client
+    RArray<TInt> requiredDataFields;
+    aSettings.DisplayFieldsL(requiredDataFields);
+
+    // Perform search for each required data store
+    RPointerArray<CPcsPoolElement> elements;
+
+    for (int dsIndex = 0; dsIndex < aDataStores.Count(); dsIndex++)
+        {
+        RPointerArray<CPsData> *temp = new (ELeave) RPointerArray<CPsData> ();
+        iSearchResultsArr.Append(temp);
+
+        // Get the contents for this data store
+        TInt arrayIndex = iAlgorithm->GetCacheIndex(*(aDataStores[dsIndex]));
+        if (arrayIndex < 0)
+            {
+            continue;
+            }
+        CPcsCache* cache = iAlgorithm->GetCache(arrayIndex);
+        cache->GetContactsForKeyL(numValue, elements);
+
+        // Perform filtering
+        FilterResultsL(filterHelper, elements, queryPtr,
+                       isSearchInGroup, aContactsInGroup);
+
+        // If alphabetical sorting, get the results for this datastore               
+        if (sortType == EAlphabetical)
+            {
+            filterHelper->GetResults(*(iSearchResultsArr[dsIndex]));
+            }
+
+        elements.Reset();
+        }
+
+    aDataStores.ResetAndDestroy();
+    requiredDataFields.Reset();
+
+    // If alphabetical sorting, merge the result sets of all datastores
+    if (sortType == EAlphabetical)
+        {
+        // Merge the result sets of individual datastores alphabetically
+        CPcsAlgorithm2Utils::FormCompleteSearchResultsL(iSearchResultsArr,
+                                                        searchResults);
+        }
+    else
+        {
+        // Results are already sorted pattern based 
+        filterHelper->GetResults(searchResults);
+        }
+
+    // Get the sorted match sequence list
+    filterHelper->GetPatternsL(searchSeqs);
+
+    PRINT1 ( _L("Number of search results = %d"), searchResults.Count() );
+
+    // Cleanup
+    for (TInt i = 0; i < iSearchResultsArr.Count(); i++)
+        {
+        iSearchResultsArr[i]->Reset();
+        delete iSearchResultsArr[i];
+        iSearchResultsArr[i] = NULL;
+        }
+    iSearchResultsArr.Reset();
+
+    CleanupStack::PopAndDestroy(); // query
+    delete filterHelper;
+
+    PRINT ( _L("End CPcsAlgorithm2Helper::SearchITUL") );
+    __LATENCY_MARKEND ( _L("CPcsAlgorithm2Helper::SearchITUL") );
+    }
+
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2Helper::SearchQWERTYL
+// Search function for QWERTY style
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2Helper::SearchQWERTYL(const CPsSettings& aSettings,
+                                         CPsQuery& aPsQuery, TBool isSearchInGroup,
+                                         RArray<TInt>& aContactsInGroup,
+                                         RPointerArray<CPsData>& searchResults,
+                                         RPointerArray<CPsPattern>& searchSeqs)
+    {
+    __LATENCY_MARK ( _L("CPcsAlgorithm2Helper::SearchQWERTYL") );
+    PRINT ( _L("Enter CPcsAlgorithm2Helper::SearchQWERTYL") );
+
+    // te filtering helper for the required sort type
+    TSortType sortType = aSettings.GetSortType();
+    CPcsAlgorithm2FilterHelper* filterHelper =
+            CPcsAlgorithm2FilterHelper::NewL(sortType);
+
+    // Convert the query to string
+    TPtrC queryPtr = aPsQuery.QueryAsStringLC();
+
+    // Search from cache based on first character
+    const CPsQueryItem& firstCharItem = aPsQuery.GetItemAtL(0);
+    TInt numValue  = keyMap->PoolIdForCharacter( firstCharItem.Character() );
+    
+    // Reset the result set array for new search
+    iSearchResultsArr.ResetAndDestroy();
+
+    // Get the data stores  
+    RPointerArray<TDesC> aDataStores;
+    aSettings.SearchUrisL(aDataStores);
+
+    // Get the required display fields from the client
+    RArray<TInt> requiredDataFields;
+    aSettings.DisplayFieldsL(requiredDataFields);
+
+    // Perform search for each of the required data stores
+    RPointerArray<CPcsPoolElement> elements;
+
+    for (int dsIndex = 0; dsIndex < aDataStores.Count(); dsIndex++)
+        {
+
+        RPointerArray<CPsData> *temp = new (ELeave) RPointerArray<CPsData> ();
+        iSearchResultsArr.Append(temp);
+
+        // Get the contents for this data store
+        TInt arrayIndex = iAlgorithm->GetCacheIndex(*(aDataStores[dsIndex]));
+        if (arrayIndex < 0)
+            {
+            continue;
+            }
+        CPcsCache* cache = iAlgorithm->GetCache(arrayIndex);
+        cache->GetContactsForKeyL(numValue, elements);
+
+        // Perform filtering
+        FilterResultsQwertyL(filterHelper, elements, queryPtr,
+                             isSearchInGroup, aContactsInGroup);
+
+        // If alphabetical sorting, get the results for this datastore               
+        if (sortType == EAlphabetical)
+            {
+            filterHelper->GetResults(*(iSearchResultsArr[dsIndex]));
+            }
+
+        elements.Reset();
+        }
+    aDataStores.ResetAndDestroy();
+    requiredDataFields.Reset();
 
     // If alphabetical sorting, merge the result sets of all datastores
     if (sortType == EAlphabetical)
         {
         // Form the complete searchResults array
         CPcsAlgorithm2Utils::FormCompleteSearchResultsL(iSearchResultsArr,
-                                                        aSearchResults);
+                                                        searchResults);
         }
     else
         {
         // Results are already sorted pattern based
-        filterHelper->GetResults(aSearchResults);
+        filterHelper->GetResults(searchResults);
         }
 
     // Get the sorted match sequence list
-    filterHelper->GetPatternsL(aSearchSeqs);
-
-    PRINT1 ( _L("Number of search results = %d"), aSearchResults.Count() );
+    filterHelper->GetPatternsL(searchSeqs);
 
-    // Cleanup
-    const TInt searchResultsArrCount = iSearchResultsArr.Count();
-    for (TInt i = 0; i < searchResultsArrCount; i++)
+    PRINT1 ( _L("Number of search results = %d"), searchResults.Count() );
+
+    // Cleanup             
+    for (TInt i = 0; i < iSearchResultsArr.Count(); i++)
         {
         iSearchResultsArr[i]->Reset();
+        delete iSearchResultsArr[i];
+        iSearchResultsArr[i] = NULL;
         }
-    iSearchResultsArr.ResetAndDestroy();
+    iSearchResultsArr.Reset();
 
-    CleanupStack::PopAndDestroy( filterHelper );
+    CleanupStack::PopAndDestroy(); // query
+    delete filterHelper;
 
-    //__LATENCY_MARKEND ( _L("CPcsAlgorithm2Helper::SearchSingleL") );
-
-    PRINT ( _L("End CPcsAlgorithm2Helper::SearchSingleL") );
+    PRINT ( _L("End CPcsAlgorithm2Helper::SearchQWERTYL") );
+    __LATENCY_MARKEND ( _L("CPcsAlgorithm2Helper::SearchQWERTYL") );
     }
 
 // ----------------------------------------------------------------------------
 // CPcsAlgorithm2Helper::SearchMatchSeqL
-// Function to search matching sequences in the input text
+// Funciton to search matching sequences in the input text
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2Helper::SearchMatchSeqL(CPsQuery& aPsQuery,
-                                           const TDesC& aData,
-                                           RPointerArray<TDesC>& aMatchSet,
-                                           RArray<TPsMatchLocation>& aMatchLocation )
+void CPcsAlgorithm2Helper::SearchMatchSeqL(HBufC* /*aQuery*/, TDesC& aData,
+                                           RPointerArray<TDesC>& /*aMatchSet*/, 
+                                           CPsQuery& /*aPsQuery*/,
+                                           RArray<TPsMatchLocation>& aMatchLocation)
     {
     PRINT ( _L("Enter CPcsAlgorithm2Helper::SearchMatchSeqL") );
 
-    RArray<TInt> matchPos;
-    CleanupClosePushL( matchPos );
-    RArray<TInt> matchLen;
-    CleanupClosePushL( matchLen );
-    if ( iAlgorithm->FindUtilECE()->MatchRefineL( aData, aPsQuery, matchPos, matchLen, ETrue ) )
+    // Convert the data into words		     
+    TLex lex(aData);
+
+    // First word
+    TPtrC token = lex.NextToken();
+
+    TInt beg = lex.Offset() - token.Length(); // start index of match sequence
+
+    // Search thru multiple words
+    while (token.Length() != 0)
         {
-        ASSERT( matchPos.Count() == matchLen.Count() );
-        const TInt matchPosCount = matchPos.Count();
-        for ( TInt i = 0 ; i < matchPosCount ; ++i )
-            {
-            TPsMatchLocation tempLocation;
-    
-            // check for directionality of the text
-            TBool found(EFalse);
-            TPtrC matchingPart = aData.Mid( matchPos[i], matchLen[i] );
-            TBidiText::TDirectionality dir = TBidiText::TextDirectionality(matchingPart, &found);
-    
-            tempLocation.index = matchPos[i];
-            tempLocation.length = matchLen[i];
-            tempLocation.direction = dir;
-    
-            // Add the match location to the data structure array
-            aMatchLocation.Append(tempLocation);
-            
-            // Add the matched sequence to set, not allowing duplicates
-            CPcsAlgorithm2Utils::AppendMatchToSeqL( aMatchSet, matchingPart );
-            }
+        TPsMatchLocation tempLocation;
+
+        // check for directionality of the text
+        TBool found(EFalse);
+        TBidiText::TDirectionality dir = TBidiText::TextDirectionality(token, &found);
+
+        tempLocation.index = beg;
+        tempLocation.length = 0;
+        tempLocation.direction = dir;
+
+        // Add the match location to the data structure array
+        aMatchLocation.Append(tempLocation);
+
+        // Next word
+        token.Set(lex.NextToken());
+        beg = lex.Offset() - token.Length(); // start index of next word
         }
-    CleanupStack::PopAndDestroy( &matchLen );
-    CleanupStack::PopAndDestroy( &matchPos );
 
     PRINT ( _L("End CPcsAlgorithm2Helper::SearchMatchSeqL") );
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm2Helper::FilterResultsSingleL
+// CPcsAlgorithm2::FilterResultsL
 // Subset search function
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2Helper::FilterResultsSingleL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper,
-                                                RPointerArray<CPcsPoolElement>& aSearchSet,
-                                                CPsQuery& aSearchQuery,
-                                                TUint8 aFilteredDataMatch,
-                                                TBool aIsSearchInGroup,
-                                                const RArray<TInt>& aContactsInGroup)
+void CPcsAlgorithm2Helper::FilterResultsL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper, 
+                                          RPointerArray<CPcsPoolElement>& searchSet, 
+                                          const TDesC& searchQuery,
+                                          TBool isSearchInGroup, 
+                                          RArray<TInt>& aContactsInGroup)
     {
-    PRINT ( _L("Enter CPcsAlgorithm2::FilterResultsSingleL") );
+    __LATENCY_MARK ( _L("CPcsAlgorithm2Helper::FilterResultsL") );
+    PRINT ( _L("Enter CPcsAlgorithm2Helper::FilterResultsL") );
 
-    TInt maxcount = 0;
-    CFindUtilChineseECE* pFindUtilEce = iAlgorithm->FindUtilECE();
+    // Convert the search condition to numeric key string
+    TBuf<KPsQueryMaxLen> tmpSearchQuery;
+    keyMap->GetNumericKeyString(searchQuery, tmpSearchQuery);
+    
+    //Holds the first char of first name of a contact
+    TBuf<10> firstChar;   
 
-    // Assume that all the elements is aSearchSet are from the same database.
-    // Get firstname index and lastname index for that database.
-    // If both are found, then name fields are matched a bit differently compared
-    // to rest of the fields.
-    TInt fnIndex( KErrNotFound );
-    TInt lnIndex( KErrNotFound );
-    TBool fullNameSearch( EFalse );
-    if ( aSearchSet.Count() )
+    PRINT2 ( _L("Numeric Key String for %S = %S"), &searchQuery, &tmpSearchQuery );
+
+    // Parse thru each search set elements and filter the results
+    for (int index = 0; index < searchSet.Count(); index++)
         {
-        TInt dbUriId = aSearchSet[0]->GetPsData()->UriId();
-        CPcsCache* cache = iAlgorithm->GetCache( dbUriId );
-        fnIndex = cache->GetFirstNameIndex();
-        lnIndex = cache->GetLastNameIndex();
-
-        // Ensure that firstname and lastname are among the fields to be searched
-        TUint8 fnBitmask = 1 << fnIndex;
-        TUint8 lnBitmask = 1 << lnIndex;
-        if ( (aFilteredDataMatch & fnBitmask) && 
-             (aFilteredDataMatch & lnBitmask) )
-            {
-            fullNameSearch = ETrue;
-            // Remove firstname and lastname from the set of fields to search
-            // so that they will not be searched twice.
-            aFilteredDataMatch &= ~fnBitmask;
-            aFilteredDataMatch &= ~lnBitmask;
-            }
-        }
-    
-    // Parse thru each search set elements and filter the results
-    const TInt searchSetCount = aSearchSet.Count();
-    for (TInt index = 0; index < searchSetCount; index++)
-        {
-        CPcsPoolElement* poolElement = static_cast<CPcsPoolElement*> (aSearchSet[index]);
+        CPcsPoolElement* poolElement = static_cast<CPcsPoolElement*> (searchSet[index]);
         CPsData* psData = poolElement->GetPsData();
         psData->ClearDataMatches();
+        RPointerArray<TDesC> tempMatchSeq;
 
-        // Skip the contact if we are doing a group search and contact doesn't belong to the group
-        if ( aIsSearchInGroup && 
-             aContactsInGroup.Find( psData->Id() ) == KErrNotFound )
+        // Search thru multiple words
+        TBuf<KBufferMaxLen> token;
+        TBuf<KBufferMaxLen> firstName;
+        TBuf<KBufferMaxLen> lastName;
+        lastName.Append(psData->Data(iAlgorithm->GetLastNameIndex())->Des());
+        firstName.Append(psData->Data(iAlgorithm->GetFirstNameIndex())->Des());
+
+        CFindUtilChineseECE* pFindUtilEce = iAlgorithm->FindUtilECE();
+        TBool matched  = 0;
+
+        // If has Chinese word and the first name doesn't start with Chinese character, then should add a space
+        // before the first name, otherwise intitial letter searching will not function
+        if( pFindUtilEce->IsChineseWord(lastName) || pFindUtilEce->IsChineseWord(firstName))
             {
-            continue;
-            }
-        
-        // Buffer for matched character sequence. Currently, we don't return
-        // accurate pattern but just first character from the matching point.
-        // Current clients don't actually use this data for anything.
-        TBuf<1> matchingData;
-        
-        TBool matched = EFalse;
+            token.Append(lastName);
+            if (firstName.Length())
+                {
+                firstChar.Zero();
+                firstChar.Append(firstName[0]);
+                if (!pFindUtilEce->IsChineseWord(firstChar) )
+                    {
+                    token.Append(KSpace);
+                    }
+                token.Append(firstName);
+                }
+
+            if (token.Length() != 0)
+                {
+                matched = iAlgorithm->FindUtil()->Interface()->
+                    MatchRefineL(token, tmpSearchQuery, ECustomConverter, iAlgorithm);
 
-        // Parse thru each data field and filter the results
-        // -------------------------------------------------
-        
-        // Name fields are handled separately to enable searching with query like
-        // "LastnameFirstname". Searching fullname by query string 
-        // only for the pool elements matching with the firstname or lastname
-        if ( fullNameSearch && ( poolElement->IsDataMatch(fnIndex) || 
-            poolElement->IsDataMatch(lnIndex) ))
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetLastNameIndex());
+                    psData->SetDataMatch(iAlgorithm->GetFirstNameIndex());
+                    }
+                }
+            }
+        else
             {
-            HBufC* fullName = CreateNameBufLC( *psData, fnIndex, lnIndex );
+            // If contact name only has western word, then should send 
+            // "first name","last name" and "last name + first name" to FindUtil to do the search
+            const TInt lastnameLen = lastName.Length();
+            const TInt firstnameLen = firstName.Length();
+            if(lastnameLen)
+                {
+                matched = iAlgorithm->FindUtil()->Interface()->
+                    MatchRefineL(lastName, tmpSearchQuery, ECustomConverter, iAlgorithm);
 
-            // FindUtil can take care of matching queries like "Firstname", "Lastname", 
-            // and "LastnameFirstname".
-            matched = pFindUtilEce->MatchRefineL( *fullName, aSearchQuery );
-            if (matched)
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetLastNameIndex());
+                    }
+                }
+
+            if(!matched && firstnameLen)
                 {
-                matchingData = fullName->Left(1);
-                psData->SetDataMatch( fnIndex );
-                psData->SetDataMatch( lnIndex );
+                matched = iAlgorithm->FindUtil()->Interface()->
+                    MatchRefineL(firstName, tmpSearchQuery, ECustomConverter, iAlgorithm);
+
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetFirstNameIndex());
+                    }
                 }
             
-            CleanupStack::PopAndDestroy( fullName );
-            }
+            token.Append(lastName);
+            token.Append(firstName);
+            if (!matched && lastnameLen && firstnameLen)
+                {
+                matched = iAlgorithm->FindUtil()->Interface()->
+                    MatchRefineL(token, tmpSearchQuery, ECustomConverter, iAlgorithm);
 
-        // Find from the rest of the fields if no match found so far. 
-        // Name fields are already removed from aFilteredDataMatch if we did separate full name search.
-        const TInt dataElementCount = psData->DataElementCount();
-        for ( TInt dataIndex = 0; dataIndex < dataElementCount && !matched ; dataIndex++ )
-            {
-            // Filter off data fields not required in search
-            TUint8 bitIndex = 1 << dataIndex;
-            TUint8 filter = bitIndex & aFilteredDataMatch;
-            if ( filter == 0x0 )
-                {
-                // Move to next data
-                continue;
-                }
-
-            if ( poolElement->IsDataMatch(dataIndex) )
-                {
-                TPtrC fieldData( *psData->Data(dataIndex) );
-                matched = pFindUtilEce->MatchRefineL( fieldData, aSearchQuery );
                 if (matched)
                     {
-                    matchingData = fieldData.Left(1);
-                    psData->SetDataMatch( dataIndex );
+                    psData->SetDataMatch(iAlgorithm->GetLastNameIndex());
+                    psData->SetDataMatch(iAlgorithm->GetFirstNameIndex());
                     }
                 }
             }
 
+        if (matched)
+            {
+            // Extract matched character sequence, don't need to be accurate for Chinese variant
+            const TInt len = 1;  
+            HBufC* seq = HBufC::NewLC(len);
+            *seq = token.Mid(0, len);
+            seq->Des().UpperCase();
 
-        // Add to results if match is found
-        if ( matched )
+            TIdentityRelation<TDesC> rule(Compare1);
+            if (tempMatchSeq.Find(seq, rule) == KErrNotFound)
+                {
+                tempMatchSeq.Append(seq);
+                CleanupStack::Pop();
+                }
+            else
+                {
+                CleanupStack::PopAndDestroy();
+                }
+                
+
+            // Add the result        
+            if (isSearchInGroup)
+                {
+                if (aContactsInGroup.Find(psData->Id()) != KErrNotFound)
+                    {
+                    aAlgorithmFilterHelper->AddL(psData, tempMatchSeq);
+                    }
+                }
+            else
+                {
+                aAlgorithmFilterHelper->AddL(psData, tempMatchSeq);
+                }
+            }
+
+        // Cleanup the match sequence array as 
+        // they are stored in pattern details structure
+        tempMatchSeq.ResetAndDestroy();
+        }
+
+    PRINT ( _L("End CPcsAlgorithm2Helper::FilterResultsL") );
+    __LATENCY_MARKEND ( _L("CPcsAlgorithm2Helper::FilterResultsL") );
+    }
+
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2Helper::FilterResultsQwertyL
+// Subset search function 
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2Helper::FilterResultsQwertyL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper, 
+                                                RPointerArray<CPcsPoolElement>& searchSet, 
+                                                const TDesC& searchQuery,TBool isSearchInGroup, 
+                                                RArray<TInt>& aContactsInGroup)
+    {
+    PRINT ( _L("Enter CPcsAlgorithm2::FilterResultsQwertyL") );
+
+    TBuf<50> tmpSearchQuery = searchQuery;
+    tmpSearchQuery.LowerCase();
+    
+    //Holds the first char of first name of a contact
+    TBuf<10> firstChar;
+
+    // Parse thru each search set elements and filter the results    
+    for (int index = 0; index < searchSet.Count(); index++)
+        {
+        CPcsPoolElement* poolElement = static_cast<CPcsPoolElement*> (searchSet[index]);
+        CPsData* psData = poolElement->GetPsData();
+        psData->ClearDataMatches();
+        RPointerArray<TDesC> tempMatchSeq;
+
+        // Parse thru each data and filter the results
+        TBuf<KBufferMaxLen> token;
+        TBuf<KBufferMaxLen> firstName;
+        TBuf<KBufferMaxLen> lastName;
+        lastName.Append(psData->Data(iAlgorithm->GetLastNameIndex())->Des());
+        firstName.Append(psData->Data(iAlgorithm->GetFirstNameIndex())->Des());
+
+        CFindUtilChineseECE* pFindUtilEce = iAlgorithm->FindUtilECE();
+        TBool matched  = 0;
+
+        // If has Chinese word and the first name doesn't start with Chinese character, then should add a space
+        // before the first name, otherwise intitial letter searching will not function
+        if( pFindUtilEce->IsChineseWord(lastName) || pFindUtilEce->IsChineseWord(firstName))
             {
-            RPointerArray<TDesC> tempMatchSeq;
-            CleanupClosePushL( tempMatchSeq );
+            token.Append(lastName);
+            if (firstName.Length())
+                {
+                firstChar.Zero();
+                firstChar.Append(firstName[0]);
+                if (!pFindUtilEce->IsChineseWord(firstChar) )
+                    {
+                    token.Append(KSpace);
+                    }
+                token.Append(firstName);
+                }
+
+            if (token.Length() != 0)
+                {
+                matched = iAlgorithm->FindUtil()->Interface()->MatchRefineL(token, tmpSearchQuery);
+
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetLastNameIndex());
+                    psData->SetDataMatch(iAlgorithm->GetFirstNameIndex());
+                    }
+                }
+            }
+        else
+            {
+            // If contact name only has western word, then should send 
+            // "first name","last name" and "last name + first name" to FindUtil to do the search
+            const TInt lastnameLen = lastName.Length();
+            const TInt firstnameLen = firstName.Length();
+            if(lastnameLen)
+                {
+                matched = iAlgorithm->FindUtil()->Interface()->MatchRefineL(lastName, tmpSearchQuery);
+
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetLastNameIndex());
+                    }
+                }
 
-            // Wrap matched character sequence to array.
-            matchingData.UpperCase();
-            tempMatchSeq.AppendL(&matchingData);
+            if(!matched && firstnameLen)
+                {
+                matched = iAlgorithm->FindUtil()->Interface()->MatchRefineL(firstName, tmpSearchQuery);
+
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetFirstNameIndex());
+                    }
+                }
+            
+            token.Append(lastName);
+            token.Append(firstName);
+            if (!matched && lastnameLen && firstnameLen)
+                {
+                matched = iAlgorithm->FindUtil()->Interface()->MatchRefineL(token, tmpSearchQuery);
+
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetLastNameIndex());
+                    psData->SetDataMatch(iAlgorithm->GetFirstNameIndex());
+                    }
+                }
+            }
+        
+        if (matched)
+            {
+            // Extract matched character sequence, don't need to be accurate for Chinese variant
+            const TInt len = 1;
+            HBufC* seq = HBufC::NewLC(len);
+            *seq = token.Mid(0, len);
+            seq->Des().UpperCase();
+
+            TIdentityRelation<TDesC> rule(Compare1);
+            if (tempMatchSeq.Find(seq, rule) == KErrNotFound)
+                {
+                tempMatchSeq.Append(seq);
+                CleanupStack::Pop();
+                }
+            else
+                {
+                CleanupStack::PopAndDestroy();
+                }
             
             // Add the result
-            aAlgorithmFilterHelper->AddL( psData, tempMatchSeq );
-            maxcount++;
-            
-            // Cleanup the match sequence array as 
-            // they are stored in pattern details structure
-            CleanupStack::PopAndDestroy( &tempMatchSeq ); // Close
-            
-            // TODO: Match seqs could be extracted from actual
-            //       match locations by using the other overload of
-            //       CFindUtilChineseECE::MatchRefineL().
-            //       Currently, match seq data is not used by clients.
+            if (isSearchInGroup)
+                {
+                if (aContactsInGroup.Find(psData->Id()) != KErrNotFound)
+                    {
+                    aAlgorithmFilterHelper->AddL(psData, tempMatchSeq);
+                    }
+                }
+            else
+                {
+                aAlgorithmFilterHelper->AddL(psData, tempMatchSeq);
+                }
             }
-        
-          if ( iMaxCount != -1 && maxcount > iMaxCount )
-              {
-              return;
-              }
+
+        // Cleanup the match sequence array as 
+        // they are stored in pattern details structure
+        tempMatchSeq.ResetAndDestroy();
         }
 
-    PRINT ( _L("End CPcsAlgorithm2Helper::FilterResultsSingleL") );
+    PRINT ( _L("End CPcsAlgorithm2Helper::FilterResultsQwertyL") );
+    }
+
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2Helper::FilterResultsMixedL
+// Subset search function
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2Helper::FilterResultsMixedL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper, 
+                                               RPointerArray<CPcsPoolElement>& searchSet, 
+                                               CPsQuery& searchQuery, TBool isSearchInGroup,
+                                               RArray<TInt>& aContactsInGroup)
+    {
+    PRINT ( _L("Enter CPcsAlgorithm2::FilterResultsMixedL") );
+
+    // Convert the search query to alpha numeric string
+    TBuf<50> tmpSearchQuery;
+    ExtractQueryL(searchQuery, tmpSearchQuery);
+    tmpSearchQuery.LowerCase();
+    TBuf<10> firstChar;
+
+    // Parse thru each search set elements and filter the results    
+    for (int index = 0; index < searchSet.Count(); index++)
+        {
+        CPcsPoolElement* poolElement = static_cast<CPcsPoolElement*> (searchSet[index]);
+        CPsData* psData = poolElement->GetPsData();
+        psData->ClearDataMatches();
+        RPointerArray<TDesC> tempMatchSeq;
+
+        // Parse thru each data and filter the results
+        TBuf<255> token;
+        TBuf<KBufferMaxLen> firstName;
+        TBuf<KBufferMaxLen> lastName;
+        lastName.Append(psData->Data(iAlgorithm->GetLastNameIndex())->Des());
+        firstName.Append(psData->Data(iAlgorithm->GetFirstNameIndex())->Des());
+
+        CFindUtilChineseECE* pFindUtilEce = iAlgorithm->FindUtilECE();
+        TBool matched  = 0;
+
+        // If has Chinese word and the first name doesn't start with Chinese character, then should add a space
+        // before the first name, otherwise intitial letter searching will not function
+        if( pFindUtilEce->IsChineseWord(lastName) || pFindUtilEce->IsChineseWord(firstName))
+            {
+            token.Append(lastName);
+            if (firstName.Length())
+                {
+                firstChar.Zero();
+                firstChar.Append(firstName[0]);
+                if (!pFindUtilEce->IsChineseWord(firstChar) )
+                    {
+                    token.Append(KSpace);
+                    }
+                token.Append(firstName);
+                }
+
+            if (token.Length() != 0)
+                {
+                matched = pFindUtilEce->MatchRefineL(token, searchQuery);
+
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetLastNameIndex());
+                    psData->SetDataMatch(iAlgorithm->GetFirstNameIndex());
+                    }
+                }
+            }
+        else
+            {
+            // If contact name only has western word, then should send 
+            // "first name","last name" and "last name + first name" to FindUtil to do the search
+            const TInt lastnameLen = lastName.Length();
+            const TInt firstnameLen = firstName.Length();
+            if(lastnameLen)
+                {
+                matched = pFindUtilEce->MatchRefineL(lastName, searchQuery);
+
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetLastNameIndex());
+                    }
+                }
+
+            if(!matched && firstnameLen)
+                {
+                matched = pFindUtilEce->MatchRefineL(firstName, searchQuery);
+
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetFirstNameIndex());
+                    }
+                }
+            
+            token.Append(lastName);
+            token.Append(firstName);
+            if (!matched && lastnameLen && firstnameLen)
+                {
+                matched = pFindUtilEce->MatchRefineL(token, searchQuery);
+
+                if (matched)
+                    {
+                    psData->SetDataMatch(iAlgorithm->GetLastNameIndex());
+                    psData->SetDataMatch(iAlgorithm->GetFirstNameIndex());
+                    }
+                }
+            }
+
+        if (matched)
+            {
+            // Extract matched character sequence, don't need to be accurate for Chinese variant
+            const TInt len = 1;       
+        
+            HBufC* seq = HBufC::NewLC(len);
+            *seq = token.Mid(0, len);
+            seq->Des().UpperCase();
+
+            TIdentityRelation<TDesC> rule(Compare1);
+            if (tempMatchSeq.Find(seq, rule) == KErrNotFound)
+                {
+                tempMatchSeq.Append(seq);
+                CleanupStack::Pop();
+                }
+            else
+                {
+                CleanupStack::PopAndDestroy();
+                }
+            
+            // Add the result
+            if (isSearchInGroup)
+                {
+                if (aContactsInGroup.Find(psData->Id()) != KErrNotFound)
+                    {
+                    aAlgorithmFilterHelper->AddL(psData, tempMatchSeq);
+                    }
+                }
+            else
+                {
+                aAlgorithmFilterHelper->AddL(psData, tempMatchSeq);
+                }
+            }
+
+        // Cleanup the match sequence array as 
+        // they are stored in pattern details structure
+        tempMatchSeq.ResetAndDestroy();
+        }
+
+    PRINT ( _L("End CPcsAlgorithm2Helper::FilterResultsMixedL") );
     }
 
 // ----------------------------------------------------------------------------
@@ -419,156 +899,93 @@
 void CPcsAlgorithm2Helper::SortSearchSeqsL(RPointerArray<TDesC>& aSearchSeqs)
     {
     // Sort the search seqs
-    TLinearOrder<TDesC> rule( CPcsAlgorithm2Utils::MyCompareC );
+    TLinearOrder<TDesC> rule(Compare2);
     aSearchSeqs.Sort(rule);
     }
 
-// ---------------------------------------------------------------------------
-// CPcsAlgorithm2Helper::CreteNameBufLC
-// Update name order according to Phonebook setting
-// ---------------------------------------------------------------------------
-HBufC* CPcsAlgorithm2Helper::CreateNameBufLC( const CPsData& aContactData, 
-        TInt aFirstNameIndex, TInt aLastNameIndex ) const
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2Helper::ExtractQueryL()
+// Required for mixed mode search.
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2Helper::ExtractQueryL(CPsQuery& aQuery, TDes& aOutput)
     {
-    const TDesC& firstName( *aContactData.Data(aFirstNameIndex) );
-    const TDesC& lastName( *aContactData.Data(aLastNameIndex) );
-    CFindUtilChineseECE* pFindUtilEce = iAlgorithm->FindUtilECE();
-    HBufC* fullName = NULL;
-    
-    if ( pFindUtilEce->IsChineseWordIncluded( lastName ) || 
-        pFindUtilEce->IsChineseWordIncluded( firstName ) )
+    for (int i = 0; i < aQuery.Count(); i++)
         {
-        fullName = HBufC::NewLC( lastName.Length() + firstName.Length()  + 1 );
-        TPtr fullNamePtr = fullName->Des();
-    
-        // Form the full name according the Phonebook name order setting. Typically,
-        // the order is always lastname-firstname in Chinese variants. However, at least
-        // currently it is possible to change this from Contacts app if UI language has
-        // been set to English.
-        if ( iNameOrder == ELastnameFirstname )
+        if (aQuery.GetItemAtL(i).Mode() == EItut)
             {
-            fullNamePtr.Append( lastName );
-            //Holds the first char of first name of a contact
-            TBuf<10> firstChar;   
-            firstChar.Zero();
-            
-            if(firstName.Length())
-                {
-                firstChar.Append(firstName[0]);   
-                // There is no space between LastName and FirstName in Chinese Name
-                // except that the firstChar of FirstName isn't Chinese character
-                if ( !pFindUtilEce->IsChineseWordIncluded( firstChar ) )
-                    {
-                    fullNamePtr.Append( KSpace );
-                    }
-                fullNamePtr.Append( firstName ); 
-                }
+            TBuf<KPsQueryMaxLen> outBuf;
+            keyMap->GetNumericKeyString(aQuery.QueryAsStringLC(), outBuf);
+            aOutput.Append(outBuf[i]);
+            CleanupStack::PopAndDestroy();
             }
         else
             {
-            fullNamePtr.Append( firstName );
-            //Holds the first char of last name of a contact
-            TBuf<10> firstChar;   
-            firstChar.Zero();
-            
-            if(lastName.Length())
-                {
-                firstChar.Append(lastName[0]);
-                // There is no space between LastName and FirstName in Chinese Name
-                // except that the firstChar of Lastname isn't Chinese character  
-                if ( !pFindUtilEce->IsChineseWordIncluded( firstChar ) )
-                    {
-                    fullNamePtr.Append( KSpace );
-                    }
-                fullNamePtr.Append( lastName ); 
-                }
-            }
-        }
-    else
-        {
-        fullName = HBufC::NewLC( lastName.Length() + firstName.Length() + 1 );
-        TPtr fullNamePtr = fullName->Des();
-    
-        // Form the full name according the Phonebook name order setting. Typically,
-        // the order is always lastname-firstname in Chinese variants. However, at least
-        // currently it is possible to change this from Contacts app if UI language has
-        // been set to English.
-        if ( iNameOrder == ELastnameFirstname )
-            {
-            fullNamePtr.Append( lastName );
-            fullNamePtr.Append( KSpace );
-            fullNamePtr.Append( firstName );
-            }
-        else
-            {
-            fullNamePtr.Append( firstName );
-            fullNamePtr.Append( KSpace );
-            fullNamePtr.Append( lastName );
-            }
-        }
-    
-    return fullName;
-    }
-
-// ---------------------------------------------------------------------------
-// CPcsAlgorithm2Helper::UpdateNameOrderL
-// Update name order according to Phonebook setting
-// ---------------------------------------------------------------------------
-void CPcsAlgorithm2Helper::UpdateNameOrderL()
-    {
-    /*
-    * Phonebook name ordering flag, integer value, possible values:
-    * 0: name order Lastname Firstname
-    * 1: name order Firstname Lastname
-    * 2: name order undefined
-    */
-    TInt nameOrderSetting;
-    iPbkSettings->Get( MPbkGlobalSetting::ENameOrdering, nameOrderSetting );
-    
-    switch ( nameOrderSetting )
-        {
-        case 0:
-            {
-            iNameOrder = ELastnameFirstname;
-            break;
-            }
-        case 1:
-            {
-            iNameOrder = EFirstnameLastname;
-            break;
-            }
-        case 2:
-        default:
-            {
-            // Decide name order based on UI language: lastname-firstname
-            // for Chinese, firstname-lastname for the rest of languages.
-            TLanguage uiLang = User::Language();
-            if ( uiLang == ELangPrcChinese || 
-                 uiLang == ELangHongKongChinese ||
-                 uiLang == ELangTaiwanChinese )
-                {
-                iNameOrder = ELastnameFirstname;
-                }
-            else
-                {
-                iNameOrder = EFirstnameLastname;
-                }
+            aOutput.Append(aQuery.GetItemAtL(i).Character());
             }
         }
     }
 
-// ---------------------------------------------------------------------------
-// CPcsAlgorithm2Helper::SettingChangedL
-// From MPbkGlobalSettingObserver
-// ---------------------------------------------------------------------------
-void CPcsAlgorithm2Helper::SettingChangedL( MPbkGlobalSetting::TPbkGlobalSetting aKey )
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2Helper::ExtractQueryL()
+// Required for mixed mode search.
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2Helper::ExtractQueryL(TDesC& aInput, CPsQuery& aQuery, TDes& aOutput)
     {
-    if ( aKey == MPbkGlobalSetting::ENameOrdering )
+    TInt len = -1;
+
+    if (aInput.Length() > aQuery.Count())
+        {
+        len = aQuery.Count();
+        }
+    else
+        {
+        len = aInput.Length();
+        }
+
+    for (int i = 0; i < len; i++)
         {
-        UpdateNameOrderL();
+        if (aQuery.GetItemAtL(i).Mode() == EItut)
+            {
+            TBuf<KPsQueryMaxLen> outBuf;
+            keyMap->GetNumericKeyString(aInput, outBuf);
+            aOutput.Append(outBuf[i]);
+            }
+        else
+            {
+            aOutput.Append(aInput[i]);
+            }
         }
     }
 
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2Helper::FilterDataFieldsL()
+// Constructs a bit pattern using the required/supported data fields
+// For example, 6, 4 and 27 are supported fields <-- 00000111
+//              6 and 4 are required fields      <-- 00000011
+// Bit pattern returned is 00000011.
+// ----------------------------------------------------------------------------
+TUint8 CPcsAlgorithm2Helper::FilterDataFieldsL(RArray<TInt>& aRequiredDataFields, 
+                                               RArray<TInt>& aSupportedDataFields)
+    {
+    TUint8 filteredMatch = 0x0;
+
+    for (int i = 0; i < aSupportedDataFields.Count(); i++)
+        {
+        for (int j = 0; j < aRequiredDataFields.Count(); j++)
+            {
+            if (aSupportedDataFields[i] == aRequiredDataFields[j])
+                {
+                TReal val;
+                Math::Pow(val, 2, i);
+
+                filteredMatch |= (TUint8) val;
+                }
+            }
+        }
+
+    return filteredMatch;
+    }
+
 // End of file
 
 
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2MultiSearchHelper.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2MultiSearchHelper.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,7 +23,26 @@
 #include <collate.h>
 #include <biditext.h>
 
+// Compare functions
+TBool Compare2(const HBufC& aFirst, const HBufC& aSecond)
+    {
+    TPtrC t1(aFirst);
+    TPtrC t2(aSecond);
+    return (t1.Length() > t2.Length());
+    }
 
+TBool Compare3(const TDesC& aFirst, const TDesC& aSecond)
+    {
+    return aFirst == aSecond;
+    }
+
+TBool Compare4(const CPsQuery& aFirst, const CPsQuery& aSecond)
+    {
+    CPsQuery& first = const_cast<CPsQuery&> (aFirst);
+    CPsQuery& second = const_cast<CPsQuery&> (aSecond);
+    
+    return (first.Count() > second.Count());
+    }
 // ============================== MEMBER FUNCTIONS ============================
 
 // ----------------------------------------------------------------------------
@@ -63,14 +82,13 @@
     PRINT ( _L("Enter CPcsAlgorithm2MultiSearchHelper::ConstructL") );
 
     iAlgorithm = aAlgorithm;
-    iKeyMap = iAlgorithm->GetKeyMap();
-    iMaxCount = 0;
-    
+    keyMap = iAlgorithm->GetKeyMap();
+
     PRINT ( _L("End CPcsAlgorithm2MultiSearchHelper::ConstructL") );
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm2MultiSearchHelper::~CPcsAlgorithm2MultiSearchHelper
+// CPcsAlgorithm2MultiSearchHelper::CPcsAlgorithm2MultiSearchHelper
 // Destructor
 // ----------------------------------------------------------------------------
 CPcsAlgorithm2MultiSearchHelper::~CPcsAlgorithm2MultiSearchHelper()
@@ -98,105 +116,90 @@
 // ----------------------------------------------------------------------------
 void CPcsAlgorithm2MultiSearchHelper::SearchMultiL(const CPsSettings& aSettings, 
                                                    RPointerArray<CPsQuery>& aPsQuery,
-                                                   TBool aIsSearchInGroup, 
-                                                   const RArray<TInt>& aContactsInGroup, 
-                                                   RPointerArray<CPsData>& aSearchResults,
-                                                   RPointerArray<CPsPattern>& aSearchSeqs)
+                                                   TBool isSearchInGroup, 
+                                                   RArray<TInt>& aContactsInGroup, 
+                                                   RPointerArray<CPsData>& searchResults,
+                                                   RPointerArray<CPsPattern>& searchSeqs,
+                                                   TInt keyboardMode)
     {
+    __LATENCY_MARK ( _L("CPcsAlgorithm2MultiSearchHelper::SearchMultiL") );
     PRINT ( _L("Enter CPcsAlgorithm2MultiSearchHelper::SearchMultiL") );
 
-    //__LATENCY_MARK ( _L("CPcsAlgorithm2MultiSearchHelper::SearchMultiL") );
-
-    PRINTQUERYLIST ( _L("CPcsAlgorithm2MultiSearchHelper::SearchMultiL: "), aPsQuery );
-
-    iMaxCount = aSettings.MaxResults();
     // Create CPcsAlgorithm2FilterHelper object to be used for filtering the results
     TSortType sortType = aSettings.GetSortType();
     CPcsAlgorithm2FilterHelper* filterHelper = CPcsAlgorithm2FilterHelper::NewL(sortType);
-    CleanupStack::PushL( filterHelper );
     RPointerArray<CPcsPoolElement> elements;
-    CleanupClosePushL( elements );
 
     iMultiSearchResultsArr.ResetAndDestroy();
 
     // Get the data stores  
-    RPointerArray<TDesC> dataStores;
-    CleanupResetAndDestroyPushL( dataStores );
-    aSettings.SearchUrisL(dataStores);
+    RPointerArray<TDesC> aDataStores;
+    aSettings.SearchUrisL(aDataStores);
 
     // Get the required display fields from the client
     RArray<TInt> requiredDataFields;
-    CleanupClosePushL( requiredDataFields );
     aSettings.DisplayFieldsL(requiredDataFields);
 
-    // Search from cache based on first character of 1st item in query list
+    // Search from cache based on first character
     const CPsQueryItem& firstCharItem = aPsQuery[0]->GetItemAtL(0);
-    TInt cachePoolId = iKeyMap->PoolIdForCharacter( firstCharItem.Character(), firstCharItem.Mode() );
-
+    TInt numValue  = keyMap->PoolIdForCharacter( firstCharItem.Character() );
+    
     // Get the elements from all the databases
-    const TInt dataStoresCount = dataStores.Count(); 
-    for (TInt dsIndex = 0; dsIndex < dataStoresCount; dsIndex++)
+    for (int dsIndex = 0; dsIndex < aDataStores.Count(); dsIndex++)
         {
         RPointerArray<CPsData> *temp = new (ELeave) RPointerArray<CPsData> ();
         iMultiSearchResultsArr.Append(temp);
 
         // Get the contents for this data store
-        TInt arrayIndex = iAlgorithm->GetCacheIndex(*(dataStores[dsIndex]));
+        TInt arrayIndex = iAlgorithm->GetCacheIndex(*(aDataStores[dsIndex]));
         if (arrayIndex < 0)
             {
             continue;
             }
         CPcsCache* cache = iAlgorithm->GetCache(arrayIndex);
-        cache->GetContactsForKeyL(cachePoolId, elements);
+        cache->GetContactsForKeyL(numValue, elements);
 
         // Get the supported data fields for this data store
         RArray<TInt> supportedDataFields;
-        CleanupClosePushL( supportedDataFields );
         cache->GetDataFields(supportedDataFields);
 
-        // Get the filtered data fields for this data store
-        TUint8 filteredDataMatch = CPcsAlgorithm2Utils::FilterDataFieldsL(
-                requiredDataFields, supportedDataFields);
+        // Get the filtered data fields for this data store    		
+        TUint8 filteredDataMatch = FilterDataFieldsL(requiredDataFields, supportedDataFields);
 
         // Filter the results now
-        FilterResultsMultiL(filterHelper, 
-                            elements, 
-                            aPsQuery, 
-                            filteredDataMatch, 
-                            aIsSearchInGroup, 
-                            aContactsInGroup);
+        FilterResultsMultiL(filterHelper, elements, aPsQuery, filteredDataMatch, 
+                            isSearchInGroup, aContactsInGroup, keyboardMode);
 
-        // If alphabetical sorting, get the results for this datastore
+        // If alphabetical sorting, get the results for this datastore               
         if (sortType == EAlphabetical)
             {
             filterHelper->GetResults(*(iMultiSearchResultsArr[dsIndex]));
             }
 
         elements.Reset();
-        CleanupStack::PopAndDestroy( &supportedDataFields ); // Close
+        supportedDataFields.Reset();
         }
-    CleanupStack::PopAndDestroy( &requiredDataFields ); // Close
-    CleanupStack::PopAndDestroy( &dataStores );         // ResetAndDestroy
+    aDataStores.ResetAndDestroy();
+    requiredDataFields.Reset();
 
     // If alphabetical sorting, merge the result sets of all datastores
     if (sortType == EAlphabetical)
         {
         // Form the complete searchResults array
-        CPcsAlgorithm2Utils::FormCompleteSearchResultsL(iMultiSearchResultsArr, 
-                                                        aSearchResults);
+        CPcsAlgorithm2Utils::FormCompleteSearchResultsL(iMultiSearchResultsArr, searchResults);
         }
     else
         {
         // Results are already sorted patternbased
-        filterHelper->GetResults(aSearchResults);
+        filterHelper->GetResults(searchResults);
         }
 
     // Get the sorted match sequence list
-    filterHelper->GetPatternsL(aSearchSeqs);
+    filterHelper->GetPatternsL(searchSeqs);
 
-    PRINT1 ( _L("Number of search results = %d"), aSearchResults.Count() );
+    PRINT1 ( _L("Number of search results = %d"), searchResults.Count() );
 
-    // Cleanup
+    // Cleanup             
     for (TInt i = 0; i < iMultiSearchResultsArr.Count(); i++)
         {
         iMultiSearchResultsArr[i]->Reset();
@@ -205,197 +208,214 @@
         }
 
     iMultiSearchResultsArr.Reset();
-    CleanupStack::PopAndDestroy( &elements ); // Close
-    CleanupStack::PopAndDestroy( filterHelper );
-
-    //__LATENCY_MARKEND ( _L("CPcsAlgorithm2MultiSearchHelper::SearchMultiL") );
+    delete filterHelper;
 
     PRINT ( _L("End CPcsAlgorithm2MultiSearchHelper::SearchMultiL") );
+    __LATENCY_MARKEND ( _L("CPcsAlgorithm2MultiSearchHelper::SearchMultiL") );
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm1MultiSearchHelper::SearchMatchSeqMultiL
-// Function adds matches, and locations based on multi query, and data
-// Duplicate locations are allowed (as they are removed later anyway)
-// Post condition locations in index order
+// CPcsAlgorithm2MultiSearchHelper::SearchInputMultiL
+// Function to search match sequences for multi query
 // ----------------------------------------------------------------------------
-void CPcsAlgorithm2MultiSearchHelper::SearchMatchSeqMultiL( RPointerArray<CPsQuery>& aPsQuery,
-                                                            const TDesC& aData,
-                                                            RPointerArray<TDesC>& aMatchSeq,
-                                                            RArray<TPsMatchLocation>& aMatchLocation )
+void CPcsAlgorithm2MultiSearchHelper::SearchMatchSeqMultiL(RPointerArray<CPsQuery>& aPsQuery, 
+                                                           TDesC& aData, 
+                                                           RPointerArray<TDesC>& aMatchSet,
+                                                           RArray<TPsMatchLocation>& aMatchLocation)
     {
     PRINT ( _L("Enter CPcsAlgorithm2MultiSearchHelper::SearchMatchSeqMultiL") );
-
-    TLex lex(aData);
-    while ( !lex.Eos() ) // Search thru all words
-        {
-        TPtrC currentWord = lex.NextToken(); // next word
-
-        const TInt psQueryCount = aPsQuery.Count(); 
-        for ( TInt queryIndex = 0; queryIndex < psQueryCount; ++queryIndex )
-            {
-            CPsQuery* currentQuery = aPsQuery[queryIndex];
-
-            RArray<TInt> matchPos;
-            CleanupClosePushL( matchPos );
-            RArray<TInt> matchLen;
-            CleanupClosePushL( matchLen );
-            
-            if ( iAlgorithm->FindUtilECE()->MatchRefineL( currentWord, *currentQuery, matchPos, matchLen, ETrue ) )
-                {
-                // Some matches found. Add all of them to result array.
-                ASSERT( matchPos.Count() == matchLen.Count() );
-                
-                TInt wordStartPos = lex.Offset() - currentWord.Length();
-                const TInt matchPosCount =  matchPos.Count(); 
-                for ( TInt i = 0 ; i < matchPosCount; ++i )
-                    {
-                    TPsMatchLocation newLocation = { wordStartPos + matchPos[i], matchLen[i], 
-                            TBidiText::TextDirectionality(currentWord) };
-                    aMatchLocation.AppendL( newLocation );
+    CleanupResetAndDestroyPushL( aMatchSet );
+    CleanupClosePushL( aMatchLocation );
+    
+    RPointerArray<HBufC> queryList;
+    ConvertQueryToListL(aPsQuery, queryList);
 
-                    TPtrC matchPart = currentWord.Mid( matchPos[i], matchLen[i] );
-                    CPcsAlgorithm2Utils::AppendMatchToSeqL( aMatchSeq, matchPart );
-                    }
-                }
-                
-            CleanupStack::PopAndDestroy( &matchLen );
-            CleanupStack::PopAndDestroy( &matchPos );
-            }
+    RPointerArray<HBufC> tempqueryList;
+    // Remember a temporary copy of query list
+    // since we sort the queries
+    for (TInt i = 0; i < queryList.Count(); i++)
+        {
+        tempqueryList.Append(queryList[i]);
         }
-
-    PRINT ( _L("End CPcsAlgorithm2MultiSearchHelper::SearchMatchSeqMultiL") );
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsAlgorithm2MultiSearchHelper::LookupMatchL
-// ----------------------------------------------------------------------------
-void CPcsAlgorithm2MultiSearchHelper::LookupMatchL( CPsQuery& aSearchQuery,
-    const TDesC& aData, TDes& aMatchedData )
-    {
-    _LIT( KSpace, " " );
-    aMatchedData.Zero();
-    RPointerArray<CPsQuery> queryList = MultiQueryL( aSearchQuery );
-    CleanupResetAndDestroyPushL( queryList );
-    // Convert the individual queries to string form
-    RPointerArray<CPsQuery> mySearchQuery;
-    CleanupResetAndDestroyPushL( mySearchQuery );
-
-    // Remember a temporary copy of query list
-    // Copy the content of searchQuery
-    const TInt searchQueryCount = queryList.Count();
-    for (TInt i = 0; i < searchQueryCount; i++ )
-        {
-        CPsQuery* tempQuery = CPsQuery::NewL();
-        CleanupStack::PushL( tempQuery );
-        iAlgorithm->FindUtilECE()->GetPartOfQueryL( *(queryList[i]), 0,
-            queryList[i]->Count() - 1, *tempQuery );
-        mySearchQuery.AppendL( tempQuery );
-        CleanupStack::Pop( tempQuery ); // ownership transferred
-        }
-
-    // Sort the query items according to the length of each query 
-    TLinearOrder<CPsQuery> rule( CPcsAlgorithm2Utils::CompareLength );
-    mySearchQuery.Sort( rule );
-
     // To hold the match results
     RPointerArray<TDesC> tmpMatchSet;
-    CleanupResetAndDestroyPushL( tmpMatchSet );
+    TBool isMatch = ETrue;
+    TUint32 wordMatches = 0;
 
-    TBool isMatch = ETrue;
-    TInt wordMatches = 0;
-
-    // Reset iWordMatches to zero 
-    ClearWordMatches();
+    // Sort the query items before we search them
+    TLinearOrder<HBufC> rule(Compare2);
+    queryList.Sort(rule);
 
     // Check for each query atleast one data element matches
     // Loop from the last query so that longest match is seen first
-    for (TInt queryIndex = mySearchQuery.Count() - 1; queryIndex >= 0; queryIndex-- )
+    for (TInt queryIndex = queryList.Count() - 1; queryIndex >= 0; queryIndex--)
         {
         TBool queryMatch = EFalse;
-        CPsQuery* tmpPsQuery = mySearchQuery[queryIndex];
+        HBufC* tmpQuery = queryList[queryIndex];
+        // Get the original query mode corresponding to this query
+        TInt modeIndex = tempqueryList.Find(tmpQuery);
 
-        TInt wordIndex = -1;
-        TLex lex( aData );
+        TLex lex(aData);
 
         // First word
         TPtrC tmpData = lex.NextToken();
 
+        TInt beg = lex.Offset() - tmpData.Length(); // start index of match sequence
+
+        TInt wordIndex = -1;
         // Search thru multiple words
-        while (tmpData.Length() != 0 )
+        while ((tmpData.Length() != 0) && (!queryMatch))
             {
             wordIndex++;
 
-            // Compare the data against query
-            TBool matched = iAlgorithm->FindUtilECE()->MatchRefineL( tmpData,
-                *tmpPsQuery );
+            TPtr ptr = tmpQuery->Des();
 
-            if ( matched )
+            // Perform two checks.
+            // 1. Ensure that the word is not matched against any previous query
+            // 2. If it is the first match to the query
+            TBool isWordMatch = EFalse;
+            TReal val;
+            Math::Pow(val, 2, wordIndex);
+            isWordMatch = wordMatches & (TUint) val;
+
+            if (!isWordMatch)
                 {
-                // Perform two checks.
-                // 1. Ensure that the word is not matched against any previous query
-                // 2. If it is the first match to the query
-                TBool isWordMatch = IsWordMatch( 0, wordIndex );
-
-                // Check if the current word is not matched to any query
-                // For example, there is a contact named "abc a" and query is key2
-                // The key2 could match the first and second 'a'. So it is required to 
-                // check if the current word has aready been matched before.
-
-                if ( !isWordMatch )
+                // Check if no word is matched till now for this query
+                if (!queryMatch)
                     {
-                    // Check if no word is matched for this query till now
-                    if ( !queryMatch )
-                        {
-                        wordMatches++;
-                        queryMatch = ETrue;
-                        SetWordMap( 0, wordIndex );
-                        // Extract matched character sequence and fill in temp array
-                        TInt len = tmpPsQuery->Count();
-                        if ( iAlgorithm->FindUtilECE()->IsChineseWordIncluded(
-                            tmpData ) )
-                            {
-                            // A Chinese word could be matched by serveral keys
-                            // It is hard to know the matched query length. So set it to 1
-                            // as a trick result
-                            len = 1;
-                            }
+                    queryMatch = ETrue;
+                    //set the word match bit
+                    TReal val;
+                    Math::Pow(val, 2, wordIndex);
+                    wordMatches |= (TUint) val;
+                    }
+
+                TPsMatchLocation tempLocation;
+                // check for directionality of the text
+                TBool found(EFalse);
+                TBidiText::TDirectionality dir = TBidiText::TextDirectionality(tmpData, &found);
 
-                        TPtrC seq = tmpData.Left( len );
-                        CPcsAlgorithm2Utils::AppendMatchToSeqL( tmpMatchSet,
-                            seq );
-                        }
-                    }
+                tempLocation.index = beg;
+                tempLocation.length = 0;
+                tempLocation.direction = dir;
+
+                // Add the match location to the data structure array
+                aMatchLocation.Append(tempLocation);
                 }
+            }
+        // Next word
+        tmpData.Set(lex.NextToken());
+        beg = lex.Offset() - tmpData.Length(); // start index of next word  
 
-            // Next word
-            tmpData.Set( lex.NextToken() );
-            }
 
         // No data element matches the query. Ignore this result.
-        if ( queryMatch == EFalse )
+        if (queryMatch == EFalse)
             {
             isMatch = EFalse;
             break;
             }
         }
 
+    // Count the number of bits set
+    TInt matchCount = 0;
+    matchCount = BitsSet32(wordMatches);
+
     // If match add the element to the result set
-    //  And before adding to the result set, check if there is atleast one match per query
-    if ( isMatch && wordMatches >= mySearchQuery.Count() )
+    // Before adding to the result set, check if there is atleast one match per query
+    // Number of bits set in word matches is atleast equal to total number of queries.
+    if ((isMatch) && (matchCount >= queryList.Count()))
         {
-        const TInt matchCount = tmpMatchSet.Count();
-        for (TInt i = 0; i < matchCount; i++ )
+
+        // Include the match sequences in the final results
+        for (int i = 0; i < tmpMatchSet.Count(); i++)
             {
-            aMatchedData.Append( *tmpMatchSet[i] );
-            aMatchedData.Append( KSpace );
+            TIdentityRelation<TDesC> rule(Compare3);
+            CleanupStack::PushL(tmpMatchSet[i]);
+            if (aMatchSet.Find(tmpMatchSet[i], rule) == KErrNotFound)
+                {
+                aMatchSet.Append(tmpMatchSet[i]);
+                CleanupStack::Pop();
+                }
+            else
+                {
+                CleanupStack::PopAndDestroy();
+                }
             }
-        aMatchedData.TrimRight();
+
+        // Reset tmp match set
+        tmpMatchSet.Reset();
+        }
+    else
+        {
+        tmpMatchSet.ResetAndDestroy();
         }
 
-    CleanupStack::PopAndDestroy( &tmpMatchSet ); // ResetAndDestroy
-    CleanupStack::PopAndDestroy( &mySearchQuery ); // ResetAndDestroy
-    CleanupStack::PopAndDestroy( &queryList ); // ResetAndDestroy
+    // Free the query list
+    queryList.ResetAndDestroy();
+    tempqueryList.Reset();
+    
+    CleanupStack::Pop();
+    CleanupStack::Pop( &aMatchSet );
+
+    PRINT ( _L("End CPcsAlgorithm2MultiSearchHelper::SearchMatchSeqMultiL") );
+    }
+
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2MultiSearchHelper::ConvertQueryToList
+// Converts the multiple search queries to a list
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2MultiSearchHelper::ConvertQueryToListL(RPointerArray<CPsQuery>& aSearchQuery, 
+                                                          RPointerArray<HBufC>& aQueryList)
+    {
+    for (int queryIndex = 0; queryIndex < aSearchQuery.Count(); queryIndex++)
+        {
+        CPsQuery* query = aSearchQuery[queryIndex];
+
+        HBufC* tmpSearchQuery = HBufC::NewL(KPsQueryMaxLen);
+        TPtr ptr = tmpSearchQuery->Des();
+
+        if (query->KeyboardModeL() == EItut) // ITU
+            {
+            keyMap->GetNumericKeyString(query->QueryAsStringLC(), ptr);
+            CleanupStack::PopAndDestroy();
+            }
+        else if (query->KeyboardModeL() == EQwerty) // QWERTY
+            {
+            ptr = query->QueryAsStringLC();
+            ptr.LowerCase();
+            CleanupStack::PopAndDestroy();
+            }
+        else // UNDEFINED
+            {
+            ExtractQueryL(*query, ptr);
+            ptr.LowerCase();
+            }
+        aQueryList.Append(tmpSearchQuery);
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2MultiSearchHelper::ConvertdDataToKeyBoardModeL
+// Converts the input data to the key board mode specified by the query
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2MultiSearchHelper::ConvertdDataToKeyBoardModeL(CPsQuery* aQuery, 
+                                                                  TPtrC aInputData, 
+                                                                  TBuf<KPsQueryMaxLen>& aOutputData)
+    {
+    if (aQuery->KeyboardModeL() == EItut)
+        {
+        keyMap->GetNumericKeyString(aInputData, aOutputData);
+        }
+    else if (aQuery->KeyboardModeL() == EQwerty)
+        {
+        aOutputData = aInputData;
+        aOutputData.LowerCase();
+        }
+    else
+        {
+        ExtractQueryL(aInputData, *aQuery, aOutputData);
+        aOutputData.LowerCase();
+        }
     }
 
 // ----------------------------------------------------------------------------
@@ -403,81 +423,63 @@
 // Subset search function. Refer the above function for more description.
 // ----------------------------------------------------------------------------
 void CPcsAlgorithm2MultiSearchHelper::FilterResultsMultiL(CPcsAlgorithm2FilterHelper* aAlgorithmFilterHelper, 
-                                                          RPointerArray<CPcsPoolElement>& aSearchSet,
-                                                          RPointerArray<CPsQuery>& aSearchQuery, 
+                                                          RPointerArray<CPcsPoolElement>& searchSet,
+                                                          RPointerArray<CPsQuery>& searchQuery, 
                                                           TUint8 aFilteredDataMatch,
-                                                          TBool aIsSearchInGroup, 
-                                                          const RArray<TInt>& aContactsInGroup)
+                                                          TBool isSearchInGroup, 
+                                                          RArray<TInt>& aContactsInGroup,
+                                                          TInt keyboardMode)
     {
     PRINT ( _L("Enter CPcsAlgorithm2MultiSearchHelper::FilterResultsMultiL") );
 
-    //__LATENCY_MARK ( _L("CPcsAlgorithm2MultiSearchHelper::FilterResultsMultiL") );
-
-    TInt maxcount = 0;
-    
     // Convert the individual queries to string form
     RPointerArray<CPsQuery> mySearchQuery;
-    CleanupResetAndDestroyPushL( mySearchQuery );
 
     // Remember a temporary copy of query list
     // Copy the content of searchQuery
-    const TInt searchQueryCount = aSearchQuery.Count(); 
-    for (TInt i=0; i < searchQueryCount; i++)
+    for (TInt i=0; i<searchQuery.Count(); i++)
         {
         CPsQuery* tempQuery = CPsQuery::NewL();
-        CleanupStack::PushL( tempQuery );
-        iAlgorithm->FindUtilECE()->GetPartOfQueryL(
-                *(aSearchQuery[i]), 0, aSearchQuery[i]->Count()-1, *tempQuery );
-        mySearchQuery.AppendL(tempQuery);
-        CleanupStack::Pop(tempQuery); // ownership transferred
+        iAlgorithm->FindUtilECE()->GetPartOfQueryL(*(searchQuery[i]), 0, 
+                                                   searchQuery[i]->Count()-1, *tempQuery);
+        mySearchQuery.Append(tempQuery);
         }
 
     // Sort the query items according to the length of each query 
-    TLinearOrder<CPsQuery> rule(CPcsAlgorithm2Utils::CompareLength);
+    TLinearOrder<CPsQuery> rule(Compare4);
     mySearchQuery.Sort(rule);
 
     // To hold the match results
     RPointerArray<TDesC> tmpMatchSet;
-    CleanupResetAndDestroyPushL( tmpMatchSet );
 
-    // Parse thru each search set elements and filter the results
-    const TInt searchSetCount = aSearchSet.Count(); 
-    for (TInt index = 0; index < searchSetCount; index++)
+    // Parse thru each search set elements and filter the results    
+    for (int index = 0; index < searchSet.Count(); index++)
         {
-        CPcsPoolElement* poolElement = static_cast<CPcsPoolElement*> (aSearchSet[index]);
+        CPcsPoolElement* poolElement = static_cast<CPcsPoolElement*> (searchSet[index]);
         CPsData* psData = poolElement->GetPsData();
         psData->ClearDataMatches();
 
-        // Skip the contact if we are doing a group search and contact doesn't belong to the group
-        if ( aIsSearchInGroup && 
-             aContactsInGroup.Find( psData->Id() ) == KErrNotFound )
-            {
-            continue;
-            }
-        
         TBool isMatch = ETrue;
-        TInt wordMatches = 0;
+        TUint8 wordMatches = 0;
 
         // Reset iWordMatches to zero 
         ClearWordMatches();
 
         // Check for each query atleast one data element matches
         // Loop from the last query so that longest match is seen first
-        for (TInt queryIndex = mySearchQuery.Count() - 1; queryIndex >= 0; queryIndex--)
+        for (TInt queryIndex = mySearchQuery.Count() - 1; queryIndex >= 0; queryIndex--)            
             {
             TBool queryMatch = EFalse;
             CPsQuery* tmpPsQuery = mySearchQuery[queryIndex];
 
-            const TInt dataElementCount = psData->DataElementCount();
-            for (TInt dataIndex = 0; dataIndex < dataElementCount; dataIndex++)
+            for (TInt dataIndex = 0; dataIndex < psData->DataElementCount(); dataIndex++)
                 {
                 // Filter off data fields not required in search
-                TUint8 bitIndex = 1 << dataIndex;
-                TUint8 filter = bitIndex & aFilteredDataMatch;
-                
-                // Omit the data fields which is not required in search
-                // or not matched with the pool element
-                if ( filter == 0x0 ) 
+                TReal bitIndex;
+                Math::Pow(bitIndex, 2, dataIndex);
+
+                TUint8 filter = (TUint8) bitIndex & aFilteredDataMatch;
+                if (filter == 0x0)
                     {
                     // Move to next data
                     continue;
@@ -495,9 +497,27 @@
                     {
                     wordIndex++;
                     
+                    TPtrC queryPtr = tmpPsQuery->QueryAsStringLC();
+                    TBool matched = EFalse;
+                    
+                    if (keyboardMode == EModeUndefined)
+                        {
+                        matched = iAlgorithm->FindUtilECE()->MatchRefineL(tmpData, *tmpPsQuery);
+                        }
+                    else if (keyboardMode == EItut)
+                        {
+                        matched = iAlgorithm->FindUtil()->Interface()->
+                                  MatchRefineL(tmpData, queryPtr, ECustomConverter, iAlgorithm);
+                        }
+                    else // Qwerty
+                        {
+                        matched = iAlgorithm->FindUtil()->Interface()->MatchRefineL(tmpData, queryPtr);
+                        
+                        }
+                    
+                    CleanupStack::PopAndDestroy(); // queryPtr
+                    
                     // Compare the data against query
-                    TBool matched = iAlgorithm->FindUtilECE()->MatchRefineL(tmpData, *tmpPsQuery);
-                    
                     if (matched)
                         {
                         psData->SetDataMatch(dataIndex);
@@ -520,18 +540,25 @@
 
                             // Extract matched character sequence and fill in temp array
                             TInt len = tmpPsQuery->Count();
-                            if (iAlgorithm->FindUtilECE()->IsChineseWordIncluded(tmpData))
+                            if (iAlgorithm->FindUtilECE()->IsChineseWord(tmpData))
                                 {
                                 len = 1;
                                 }
 
-                            TPtrC seq = tmpData.Left(len);
-                            CPcsAlgorithm2Utils::AppendMatchToSeqL( tmpMatchSet, seq );
-                            
-                            // TODO: Match seqs could be extracted from actual
-                            //       match locations by using the other overload of
-                            //       CFindUtilChineseECE::MatchRefineL().
-                            //       Currently, match seq data is not used by clients.
+                            HBufC* seq = HBufC::NewL(len);
+                            *seq = tmpData.Mid(0, len);
+
+                            seq->Des().UpperCase();
+                            TIdentityRelation<TDesC> searchRule(Compare3);
+                            if (tmpMatchSet.Find(seq, searchRule) == KErrNotFound)
+                                {
+                                tmpMatchSet.Append(seq);
+                                }
+                            else
+                                {
+                                delete seq;
+                                seq = NULL;
+                                }
                             }
                         }
 
@@ -547,50 +574,112 @@
                 break;
                 }
             }
-        
 
         // If match add the element to the result set
         //  And before adding to the result set, check if there is atleast one match per query
-        if ( isMatch && wordMatches >= mySearchQuery.Count() )
+        if ((isMatch) && (wordMatches >= mySearchQuery.Count()))
             {
-            aAlgorithmFilterHelper->AddL(psData, tmpMatchSet);
-            maxcount++;
+            if (isSearchInGroup)
+                {
+                if (aContactsInGroup.Find(psData->Id()) != KErrNotFound)
+                    {
+                    aAlgorithmFilterHelper->AddL(psData, tmpMatchSet);
+                    }
+                }
+            else
+                {
+                aAlgorithmFilterHelper->AddL(psData, tmpMatchSet);
+                }
             }
-        
-        if ( iMaxCount != -1 && maxcount > iMaxCount )
-            {
-            break;
-            }
-        
+
         // Cleanup the match sequence array as 
         // they are stored in pattern details structure
         tmpMatchSet.ResetAndDestroy();
         }
 
-    CleanupStack::PopAndDestroy( &tmpMatchSet );   // ResetAndDestroy
-    CleanupStack::PopAndDestroy( &mySearchQuery ); // ResetAndDestroy
-
-    //__LATENCY_MARKEND ( _L("CPcsAlgorithm2MultiSearchHelper::FilterResultsMultiL") );
+    mySearchQuery.Reset();
 
     PRINT ( _L("End CPcsAlgorithm2MultiSearchHelper::FilterResultsMultiL") );
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm2MultiSearchHelper::SetWordMap
+// CPcsAlgorithm2MultiSearchHelper::SetWordMap()
 // ----------------------------------------------------------------------------
 void CPcsAlgorithm2MultiSearchHelper::SetWordMap(TInt aIndex, TInt aPosition)
     {
-    TUint8 val = 1 << aPosition;
-    iWordMatches[aIndex] |= val;
+    TReal val;
+    Math::Pow(val, 2, aPosition);
+
+    iWordMatches[aIndex] |= (TUint8) val;
+    }
+
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2MultiSearchHelper::IsWordMatch()
+// ----------------------------------------------------------------------------
+TBool CPcsAlgorithm2MultiSearchHelper::IsWordMatch(TInt aDataIndex, TInt aWordIndex)
+    {
+    TReal val;
+    Math::Pow(val, 2, aWordIndex);
+
+    return (iWordMatches[aDataIndex] & (TUint8) val);
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm2MultiSearchHelper::IsWordMatch
+// CPcsAlgorithm2MultiSearchHelper::ExtractQueryL()
+// Extracts the query as a string. If the mode of query item is ITU numeric
+// character is used. Else the character is used.
+// ----------------------------------------------------------------------------
+void CPcsAlgorithm2MultiSearchHelper::ExtractQueryL(CPsQuery& aQuery, TDes& aOutput)
+    {
+    for (int i = 0; i < aQuery.Count(); i++)
+        {
+        if (aQuery.GetItemAtL(i).Mode() == EItut)
+            {
+            TBuf<KPsQueryMaxLen> outBuf;
+            keyMap->GetNumericKeyString(aQuery.QueryAsStringLC(), outBuf);
+            aOutput.Append(outBuf[i]);
+            CleanupStack::PopAndDestroy();
+            }
+        else
+            {
+            aOutput.Append(aQuery.GetItemAtL(i).Character());
+            }
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2MultiSearchHelper::ExtractQueryL()
+// Converts the input data refering the modes in the query.
+// If the mode of query item is ITU numeric character is used. Else the character
+// is used.
 // ----------------------------------------------------------------------------
-TBool CPcsAlgorithm2MultiSearchHelper::IsWordMatch(TInt aDataIndex, TInt aWordIndex)
+void CPcsAlgorithm2MultiSearchHelper::ExtractQueryL(TDesC& aInput, CPsQuery& aQuery, TDes& aOutput)
     {
-    TUint8 val = 1 << aWordIndex;
-    return (iWordMatches[aDataIndex] & val);
+    TInt len = -1;
+
+    // Always loop thru the lowest length
+    if (aInput.Length() > aQuery.Count())
+        {
+        len = aQuery.Count();
+        }
+    else
+        {
+        len = aInput.Length();
+        }
+
+    for (int i = 0; i < len; i++)
+        {
+        if (aQuery.GetItemAtL(i).Mode() == EItut)
+            {
+            TBuf<KPsQueryMaxLen> outBuf;
+            keyMap->GetNumericKeyString(aInput, outBuf);
+            aOutput.Append(outBuf[i]);
+            }
+        else
+            {
+            aOutput.Append(aInput[i]);
+            }
+        }
     }
 
 // ----------------------------------------------------------------------------
@@ -610,7 +699,7 @@
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm2MultiSearchHelper::ClearWordMatches
+// CPcsAlgorithm2MultiSearchHelper::BitsSet32
 // Function to reset the iWordMatches
 // ----------------------------------------------------------------------------
 void CPcsAlgorithm2MultiSearchHelper::ClearWordMatches()
@@ -640,14 +729,13 @@
             {
             // Scan the end of the word
             TInt end = beg;
-            while ( end < textLength && !aQuery.GetItemAtL(end).Character().IsSpace() )
+            for (; end < textLength && !aQuery.GetItemAtL(end).Character().IsSpace(); ++end)
                 {
-                end++;
                 }
 
             // Create a new query object and append
             CPsQuery* newQuery = CPsQuery::NewL();
-            for (TInt i = beg; i < end; i++)
+            for (int i = beg; i < end; i++)
                 {
                 CPsQueryItem* item = CPsQueryItem::NewL();
                 item->SetCharacter(aQuery.GetItemAtL(i).Character());
@@ -664,6 +752,35 @@
     return query;
     }
 
+// ----------------------------------------------------------------------------
+// CPcsAlgorithm2MultiSearchHelper::FilterDataFieldsL()
+// Constructs a bit pattern using the required/supported data fields
+// For example, 6, 4 and 27 are supported fields <-- 00000111
+//              6 and 4 are required fields      <-- 00000011
+// Bit pattern returned is 00000011.
+// ----------------------------------------------------------------------------
+TUint8 CPcsAlgorithm2MultiSearchHelper::FilterDataFieldsL(RArray<TInt>& aRequiredDataFields, 
+                                                          RArray<TInt>& aSupportedDataFields)
+    {
+    TUint8 filteredMatch = 0x0;
+
+    for (int i = 0; i < aSupportedDataFields.Count(); i++)
+        {
+        for (int j = 0; j < aRequiredDataFields.Count(); j++)
+            {
+            if (aSupportedDataFields[i] == aRequiredDataFields[j])
+                {
+                TReal val;
+                Math::Pow(val, 2, i);
+
+                filteredMatch |= (TUint8) val;
+                }
+            }
+        }
+
+    return filteredMatch;
+    }
+
 // End of file
 
 
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2Utils.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsAlgorithm2Utils.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -18,7 +18,6 @@
 // INCLUDES
 #include "CPcsAlgorithm2Utils.h"
 #include "CPsData.h"
-#include "CPsQuery.h"
 #include "CPcsDefs.h"
 #include "CPcsCache.h"
 #include <collate.h>
@@ -34,15 +33,16 @@
 // Merges all the respective data store result sets to single set in sorted order.
 // ----------------------------------------------------------------------------
 void CPcsAlgorithm2Utils::FormCompleteSearchResultsL(RPointerArray<CPSDATA_R_PTR_ARRAY>& aSearchResultsArr,
-                                                     RPointerArray<CPsData>& aSearchResults)
+                                                     RPointerArray<CPsData>& SearchResults)
     {
+    CleanupClosePushL( SearchResults );
+    
     TInt maxIndex = 0;
     TInt maxValue = aSearchResultsArr[maxIndex]->Count();
-    TLinearOrder<CPsData> rule(CPcsAlgorithm2Utils::CompareDataBySortOrderL);
+    TLinearOrder<CPsData> rule(CPcsAlgorithm2Utils::CompareDataBySortOrder);
 
     // Find the largest array in aSearchResultsArr
-    const TInt searchResultsArrCount = aSearchResultsArr.Count(); 
-    for (TInt i = 1; i < searchResultsArrCount; i++)
+    for (TInt i = 1; i < aSearchResultsArr.Count(); i++)
         {
         if (aSearchResultsArr[i]->Count() > maxValue)
             {
@@ -52,15 +52,13 @@
         }
 
     // Assign the largets array to searchresults 
-    const TInt cnt = aSearchResultsArr[maxIndex]->Count();
-    for (TInt i = 0; i < cnt; i++)
+    for (TInt i = 0; i < aSearchResultsArr[maxIndex]->Count(); i++)
         {
-        aSearchResults.Append((*(aSearchResultsArr[maxIndex]))[i]);
+        SearchResults.Append((*(aSearchResultsArr[maxIndex]))[i]);
         }
 
     // Merge the remaining result arrays to the largest array in sequential order
-
-    for (TInt i = 0; i < searchResultsArrCount; i++)
+    for (TInt i = 0; i < aSearchResultsArr.Count(); i++)
         {
         // Check if we are not copying again the largest array
         if ((i != maxIndex) && ((aSearchResultsArr[i])->Count() != 0))
@@ -68,10 +66,11 @@
             TInt numElements = (aSearchResultsArr[i])->Count();
             for (TInt j = 0; j < numElements; j++)
                 {
-                aSearchResults.InsertInOrderAllowRepeatsL((*(aSearchResultsArr[i]))[j], rule);
+                SearchResults.InsertInOrderAllowRepeatsL((*(aSearchResultsArr[i]))[j], rule);
                 }
             }
         }
+    CleanupStack::Pop();
     }
 
 // ----------------------------------------------------------------------------
@@ -99,149 +98,100 @@
     }
 
 // ----------------------------------------------------------------------------
-// CPcsAlgorithm2Utils::CompareDataBySortOrderL()
+// CPcsAlgorithm2Utils::CompareDataBySortOrder()
 // TLinearOrder rule for comparison of data objects
 // ----------------------------------------------------------------------------
-TInt CPcsAlgorithm2Utils::CompareDataBySortOrderL(const CPsData& aObject1,
-                                                  const CPsData& aObject2)
+TInt CPcsAlgorithm2Utils::CompareDataBySortOrder(const CPsData& aObject1,
+                                                 const CPsData& aObject2)
     {
-    TInt compareRes = 0;
-
-    if( CPsData::CompareById(aObject1, aObject2) )
-        {
-        return compareRes;
-        }
+    _LIT(KSpace, " ");
 
     // Fetch the cache list stored in TLS to recover the sort order
     typedef RPointerArray<CPcsCache> PTR;
-    PTR* pcsCache = static_cast<PTR*>(Dll::Tls());
-    User::LeaveIfNull(pcsCache);
+    PTR* pcsCache = static_cast<PTR*> (Dll::Tls());
 
-    CPcsCache* cache1 = (*pcsCache)[aObject1.UriId()];
-    CPcsCache* cache2 = (*pcsCache)[aObject2.UriId()];
-    RArray<TInt> indexOrder1;
-    RArray<TInt> indexOrder2;
+    // Data1
+    TBuf<255> data1(KNullDesC);
+    TInt uriId1 = aObject1.UriId();
+    CPcsCache* cache = (*pcsCache)[uriId1];
+
+    RArray<TInt> indexOrder;
 
     // Get the index order based on sort order from the cache
-    cache1->GetIndexOrder(indexOrder1);
-    CleanupClosePushL(indexOrder1);
-    cache2->GetIndexOrder(indexOrder2);
-    CleanupClosePushL(indexOrder2);
+    cache->GetIndexOrder(indexOrder);
 
-    // Check if Sort Order is identical (it must be for same cache)
-    TBool sameIndexOrder = ETrue;
-    if ( indexOrder1.Count() != indexOrder2.Count() )
+    // Append sort order elements first
+    for (int i = 0; i < indexOrder.Count(); i++)
         {
-        sameIndexOrder = EFalse;
-        }
-    else
-        {
-        for ( TInt i = 0; i < indexOrder1.Count(); i++ )
+        TInt index = indexOrder[i];
+        if (index < aObject1.DataElementCount() && aObject1.Data(index))
             {
-            if (indexOrder1[i] != indexOrder2[i])
-                {
-                sameIndexOrder = EFalse;
-                break;
-                }
+            // Trim the unnecessary white spaces/special chars before we compare
+            TBuf<255> str(KNullDesC);
+
+            str = aObject1.Data(index)->Des();
+            CPcsAlgorithm2Utils::MyTrim(str);
+
+            data1 += str;
+            data1 += KSpace;
             }
         }
 
-    // Sort Orders among diffent caches should be the same, anyway
-    // if caches and SO are different we compare by cache URI index
-    if (!sameIndexOrder)
-        {
-        compareRes = aObject1.UriId() - aObject2.UriId();
-
-        CleanupStack::PopAndDestroy(&indexOrder2);
-        CleanupStack::PopAndDestroy(&indexOrder1);
-        return compareRes;
-        }
+    /* --- NOT SURE IF THIS BEHAVIOR IS REQUIRED ---
+     // Append remaining elements in order
+     for ( int i = 0; i < aObject1.DataElementCount(); i++ )
+     {
+     if ( indexOrder.Find(i) == KErrNone && aObject1.Data(i) )
+     {
+     data1 += aObject1.Data(i)->Des();
+     data1 += KSpace;
+     }	     
+     }
+     */
 
-    // The comparison between contacts data is done for the sort order
-    // fields skipping the ones that are empty
-    TInt indexCount = indexOrder1.Count();
-    TInt idx1 = 0;
-    TInt idx2 = 0;
-    while ( compareRes == 0 && idx1 < indexCount && idx2 < indexCount )
+    // Data2
+    TBuf<255> data2(KNullDesC);
+    TInt uriId2 = aObject2.UriId();
+    cache = (*pcsCache)[uriId2];
+
+    indexOrder.Reset();
+
+    // Get the index order based on sort order from the cache
+    cache->GetIndexOrder(indexOrder);
+
+    // Append sort order elements first
+    for (int i = 0; i < indexOrder.Count(); i++)
         {
-        // Get contact field of 1st contact
-        TInt object1Idx = indexOrder1[idx1];
-        HBufC* strCompare1 = aObject1.Data(object1Idx)->Des().AllocLC();
-        TPtr strCompare1Ptr( strCompare1->Des() );
-        CPcsAlgorithm2Utils::MyTrim( strCompare1Ptr );
-
-        // Get contact field of 2nd contact
-        TInt object2Idx = indexOrder2[idx2];
-        HBufC* strCompare2 = aObject2.Data(object2Idx)->Des().AllocLC();
-        TPtr strCompare2Ptr( strCompare2->Des() );
-        CPcsAlgorithm2Utils::MyTrim( strCompare2Ptr );
-
-        if ( strCompare1->Length() > 0 && strCompare2->Length() > 0 )
+        TInt index = indexOrder[i];
+        if (index < aObject2.DataElementCount() && aObject2.Data(index))
             {
-            compareRes = CPcsAlgorithm2Utils::MyCompareC(*strCompare1, *strCompare2);
-            idx1++;
-            idx2++;
-            }
-        else // Increment only the index of the contact with empty field
-            {
-            if ( strCompare1->Length() == 0 )
-                idx1++;
-            if ( strCompare2->Length() == 0 )
-                idx2++;
-            }
-
-        CleanupStack::PopAndDestroy(strCompare2);
-        CleanupStack::PopAndDestroy(strCompare1);
-        }
+            // Trim the unnecessary white spaces/special chars before we compare
+            TBuf<255> str(KNullDesC);
 
-    // We do not return that contacts are equal by SO
-    if ( compareRes == 0 )
-        {
-        if ( idx1 != idx2 )
-            {
-            // Compare by index position
-            // If idx1 > idx2 and SO is "FN LN" it means for instance that:
-            //     Contact1=[FN:"",      LN:"Smith"],  idx1=2
-            //     Contact2=[FN:"Smith", LN:"Donald"], idx2=1
-            // Therefore Contact1="Smith" is < than Contact2="Smith Donald"
-            // and the return value of this method has to be < 0 (idx2-idx1)
+            str = aObject2.Data(index)->Des();
+            CPcsAlgorithm2Utils::MyTrim(str);
 
-            compareRes = idx2 - idx1;
-            }
-        else
-            {
-            // Compare by URI ID as 1st choice and Contact ID as 2nd choice
-
-            compareRes == ( aObject1.UriId() != aObject2.UriId() ) ?
-                aObject1.UriId() - aObject2.UriId() : aObject1.Id() - aObject2.Id();
+            data2 += str;
+            data2 += KSpace;
             }
         }
 
-    CleanupStack::PopAndDestroy(&indexOrder2);
-    CleanupStack::PopAndDestroy(&indexOrder1);
-
-    return compareRes;
-    }
+    /* --- NOT SURE IF THIS BEHAVIOR IS REQUIRED ---
+     // Append remaining elements in order
+     for ( int i = 0; i < aObject2.DataElementCount(); i++ )
+     {
+     if ( indexOrder.Find(i) == KErrNone && aObject2.Data(i) )
+     {
+     data2 += aObject2.Data(i)->Des();
+     data2 += KSpace;
+     }	     
+     }
+     */
 
-// ----------------------------------------------------------------------------
-// CPcsAlgorithm2Utils::CompareExact()
-// 
-// ----------------------------------------------------------------------------
-TBool CPcsAlgorithm2Utils::CompareExact(const TDesC& aFirst, const TDesC& aSecond)
-    {
-    return aFirst == aSecond;
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsAlgorithm2Utils::CompareLength()
-// 
-// ----------------------------------------------------------------------------
-TInt CPcsAlgorithm2Utils::CompareLength(const CPsQuery& aFirst, const CPsQuery& aSecond)
-    {
-    CPsQuery& first = const_cast<CPsQuery&> (aFirst);
-    CPsQuery& second = const_cast<CPsQuery&> (aSecond);
-    
-    return (first.Count() - second.Count());
+    indexOrder.Reset();
+    data1.TrimAll();
+    data2.TrimAll();
+    return (CPcsAlgorithm2Utils::MyCompareC(data1, data2));
     }
 
 // ----------------------------------------------------------------------------
@@ -283,90 +233,5 @@
     return ETrue;
     }
 
-// ----------------------------------------------------------------------------
-// CPcsAlgorithm1Helper::FilterDataFieldsL()
-// Constructs a bit pattern using the required/supported data fields
-// For example, 6, 4 and 27 are supported fields <-- 00000111
-//              6 and 4 are required fields      <-- 00000011
-// Bit pattern returned is 00000011.
-// ----------------------------------------------------------------------------
-TUint8 CPcsAlgorithm2Utils::FilterDataFieldsL(const RArray<TInt>& aRequiredDataFields,
-                                              const RArray<TInt>& aSupportedDataFields)
-{
-    TUint8 filteredMatch = 0x0;
-   const TInt supportedDataFieldsCount = aSupportedDataFields.Count();
-   const TInt requiredDataFieldsCount = aRequiredDataFields.Count(); 
-    for ( TInt i = 0; i < supportedDataFieldsCount; i++ )
-    {
-        for ( TInt j = 0; j < requiredDataFieldsCount; j++ )
-        {
-            if ( aSupportedDataFields[i] == aRequiredDataFields[j] )
-            {
-                TUint8 val = 1 << i;
-                filteredMatch |= val;
-            }
-        }
-    }
-
-    return filteredMatch;
-}
-
-// ----------------------------------------------------------------------------
-// CPcsAlgorithm2Utils::AppendMatchToSeqL
-// ----------------------------------------------------------------------------
-void CPcsAlgorithm2Utils::AppendMatchToSeqL( 
-        RPointerArray<TDesC>& aMatchSeq, const TDesC& aMatch )
-    {
-    HBufC* seq = aMatch.AllocLC();
-    seq->Des().UpperCase();
-    TIdentityRelation<TDesC> rule(CompareExact);
-    if ( aMatchSeq.Find(seq, rule) == KErrNotFound )
-        {
-        aMatchSeq.AppendL(seq);
-        CleanupStack::Pop( seq );
-        }
-    else 
-        {
-        CleanupStack::PopAndDestroy( seq );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsAlgorithm2Utils::MatchesOverlap
-// Check if two match location items have overlapping indices.
-// ----------------------------------------------------------------------------
-TBool CPcsAlgorithm2Utils::MatchesOverlap( const TPsMatchLocation& aFirst, 
-                                           const TPsMatchLocation& aSecond )
-    {
-    TBool overlap = EFalse;
-    
-    if ( aFirst.index == aSecond.index )
-        {
-        overlap = ETrue;
-        }
-    else
-        {
-        // give arguments alias names where first begins before the second
-        TInt firstPos( aFirst.index );
-        TInt firstLen( aFirst.length );
-        TInt secondPos( aSecond.index );
-        if ( firstPos > secondPos )
-            {
-            firstPos = aSecond.index;
-            firstLen = aSecond.length;
-            secondPos = aFirst.index;
-            }
-        
-        // there is an overlap if the end of the first comes after
-        // beginning of the second
-        if ( firstPos + firstLen > secondPos )
-            {
-            overlap = ETrue;
-            }
-        }
-    
-    return overlap;
-    }
-
 // End of File
 
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsCache.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsCache.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -22,7 +22,6 @@
 
 // INCLUDE FILES
 #include <MVPbkContactLink.h>
-#include <vpbkeng.rsg>
 
 #include "FindUtilChineseECE.h"
 #include "CPsData.h"
@@ -38,7 +37,7 @@
 // CPcsCache::NewL
 // Two Phase Construction
 // ----------------------------------------------------------------------------
-CPcsCache* CPcsCache::NewL(CPcsAlgorithm2* aAlgorithm, const TDesC& aURI, 
+CPcsCache* CPcsCache::NewL(CPcsAlgorithm2* aAlgorithm, TDesC& aURI, 
                            CPcsKeyMap& aKeyMap, TUint8 aUriId)
     {
     PRINT ( _L("Enter CPcsCache::NewL") );
@@ -70,7 +69,7 @@
 // CPcsCache::ConstructL
 // 2nd Phase Constructor
 // ----------------------------------------------------------------------------
-void CPcsCache::ConstructL(CPcsAlgorithm2* aAlgorithm, const TDesC& aURI, 
+void CPcsCache::ConstructL(CPcsAlgorithm2* aAlgorithm, TDesC& aURI, 
                            CPcsKeyMap& aKeyMap, TUint8 aUriId)
     {
     PRINT ( _L("Enter CPcsCache::ConstructL") );
@@ -81,14 +80,13 @@
     //Update the caching status for this cache
     iCacheStatus = ECachingNotStarted;
 
-    iKeyMap = &aKeyMap;
+    keyMap = &aKeyMap;
 
-    // Populate iKeyArr
-    const TInt keyMapPoolcount =  aKeyMap.PoolCount();
-    for (TInt i = 0; i < keyMapPoolcount; i++)
+    // Populate keyArr
+    for (TInt i = 0; i < aKeyMap.PoolCount(); i++)
         {
-        RPointerArray<CPcsPoolElement>* keyMap = new (ELeave) RPointerArray<CPcsPoolElement> (1);
-        iKeyArr.InsertL(keyMap, i);
+        RPointerArray<CPcsPoolElement> *keyMap = new (ELeave) RPointerArray<CPcsPoolElement> (1);
+        keyArr.InsertL(keyMap, i);
         }
 
     PRINT ( _L("End CPcsCache::ConstructL") );
@@ -102,15 +100,86 @@
     {
     PRINT ( _L("Enter CPcsCache::~CPcsCache") );
 
-    delete iURI;
+    if (iURI)
+        {
+        delete iURI;
+        }
+
+    // Loop thru cache info and free and the data elements
+    THashMapIter<TInt, TInt> iter(cacheInfo);
+
+    do
+        {
+        TInt* id = const_cast<TInt*> (iter.NextKey());
+
+        if (id == NULL)
+            break;
+
+        TInt* poolMap = iter.CurrentValue();
+
+        if (poolMap == NULL)
+            {
+            continue;
+            }
+
+        CPsData *data = NULL;
+        for (int keyIndex = 0; keyIndex <= keyArr.Count(); keyIndex++)
+            {
+            TBool present = GetPoolMap(*poolMap, keyIndex);
+
+            if (!present)
+                {
+                continue;
+                }
 
-    RemoveAllFromCache(); // cleans up iMasterPool and iCacheInfo
-   
-    iKeyArr.ResetAndDestroy();
+            RPointerArray<CPcsPoolElement> tmpKeyMap = *(keyArr[keyIndex]);
+            for (int arrayIndex = 0; arrayIndex < tmpKeyMap.Count(); arrayIndex++)
+                {
+                CPcsPoolElement *element = tmpKeyMap[arrayIndex];
+                TInt localId = element->GetPsData()->Id();
+                if (*id == localId)
+                    {
+                    data = element->GetPsData();
+                    delete element;
+                    keyArr[keyIndex]->Remove(arrayIndex);
+                    }
+                }
+            };
+
+        // Remove this element from master pool
+        for (int arrayIndex = 0; arrayIndex < masterPool.Count(); arrayIndex++)
+            {
+            CPsData *dataElement = masterPool[arrayIndex];
+            TInt localId = dataElement->Id();
+            if (*id == localId)
+                {
+                masterPool.Remove(arrayIndex);
+                }
+            }
+
+        if (data)
+            {
+            delete data;
+            }
+
+        }
+    while (1);
+
+    for (TInt i = 0; i < keyArr.Count(); i++)
+        {
+        keyArr[i]->ResetAndDestroy();
+        delete keyArr[i];
+        keyArr[i] = NULL;
+        }
+
+    masterPool.ResetAndDestroy();
+
+    cacheInfo.Close();
+
+    keyArr.Reset();
     iDataFields.Reset();
     iSortOrder.Reset();
     iIndexOrder.Reset();
-    iMasterPoolBackup.Close();
 
     PRINT ( _L("End CPcsCache::~CPcsCache") );
     }
@@ -122,18 +191,15 @@
 void CPcsCache::GetContactsForKeyL(TInt aKeyId, RPointerArray<CPcsPoolElement>& aData)
     {
     PRINT ( _L("Enter CPcsCache::GetContactsForKeyL") );
-
-    if ( aKeyId >= 0 && aKeyId < iKeyArr.Count() )
+    CleanupClosePushL( aData );
+    RPointerArray<CPcsPoolElement> arr = *keyArr[aKeyId];
+    for (int i = 0; i < arr.Count(); i++)
         {
-        const RPointerArray<CPcsPoolElement>& arr = *iKeyArr[aKeyId];
-        const TInt arrCount = arr.Count();
-        for (TInt i = 0; i < arrCount; i++)
-            {
-            CPcsPoolElement* value = arr[i];
-            aData.AppendL(value);
-            }
+        CPcsPoolElement* value = arr[i];
+        aData.AppendL(value);
         }
 
+    CleanupStack::Pop();
     PRINT ( _L("End CPcsCache::GetContactsForKeyL") );
     }
 
@@ -144,14 +210,13 @@
 void CPcsCache::GetAllContentsL(RPointerArray<CPsData>& aData)
     {
     PRINT ( _L("Enter CPcsCache::GetAllContentsL") );
-    
-    const TInt masterPoolCount =  iMasterPool.Count(); 
-    for (TInt i = 0; i < masterPoolCount; i++)
+    CleanupClosePushL( aData );
+    for (int i = 0; i < masterPool.Count(); i++)
         {
-        CPsData* value = iMasterPool[i];
+        CPsData* value = masterPool[i];
         aData.AppendL(value);
         }
-
+    CleanupStack::Pop();
     PRINT ( _L("End CPcsCache::GetAllContentsL") );
     }
 
@@ -159,7 +224,7 @@
 // CPcsCache::AddToPool
 // Adds a contact to cache
 // ----------------------------------------------------------------------------
-void CPcsCache::AddToPoolL(TUint64& aPoolMap, CPsData& aData)
+void CPcsCache::AddToPoolL(TInt& aPoolMap, CPsData& aData)
     {
     // Temp hash to remember the location of pool elements
     // First TInt  = Pool 
@@ -167,43 +232,68 @@
     // Required for memory optimization so that more than one pool
     // element doesn't get added for the same data
     RHashMap<TInt, TInt> elementHash;
-    CleanupClosePushL( elementHash );
-    TLinearOrder<CPcsPoolElement> rule(CPcsPoolElement::CompareByDataL);
+    TLinearOrder<CPcsPoolElement> rule(CPcsPoolElement::CompareByData);
 
-    // Parse thru each data element
-    const TInt dataElementCount = aData.DataElementCount();
-    for (TInt dataIndex = 0; dataIndex < dataElementCount; dataIndex++)
+    // Parse thru each data element    
+    for (int dataIndex = 0; dataIndex < aData.DataElementCount(); dataIndex++)
         {
         // Stores first key for each word
-        RArray<TChar> firstCharArr;
-        CleanupClosePushL( firstCharArr );
+        RArray<TChar> firstKey;
 
         // Recover the first character
-        if ( aData.Data(dataIndex) )
+        if (aData.Data(dataIndex) && aData.Data(dataIndex)->Length() != 0)
             {
-            GetFirstCharsForDataL( *aData.Data(dataIndex), firstCharArr );
+            // Split the data into words	
+            CWords* words = CWords::NewLC(*aData.Data(dataIndex));
+
+            // Store the first numeric key for each word
+            for (int i = 0; i < words->MdcaCount(); i++)
+                {
+                TChar firstChar;
+                for (int j = 0; j < words->MdcaPoint(i).Length(); j++)
+                    {
+                    firstChar = (words->MdcaPoint(i))[j];
+                    TBuf<20> word;
+                    word.Append(firstChar);
+                    if (iAlgorithm->FindUtilECE()->IsChineseWord(word))
+                        {
+                        RPointerArray<HBufC> spellList;
+                        if (iAlgorithm->FindUtilECE()->T9ChineseTranslationL(firstChar, spellList))
+                            {
+                            for (int j = 0; j < spellList.Count(); j++)
+                                {
+                                firstKey.Append(keyMap->KeyForCharacter(*(spellList[j]->Ptr())));
+                                }
+                            }
+                        else
+                            {
+                            firstKey.Append( keyMap->KeyForCharacter(firstChar));
+                            }
+                        spellList.ResetAndDestroy();
+                        }
+                    else
+                        {
+                        firstKey.Append(keyMap->KeyForCharacter(firstChar));
+                        }
+                    }
+                }
+
+            CleanupStack::PopAndDestroy(words);
             }
-        
-        // Get the corresponding Pool IDs
-        RArray<TInt> poolIdArr;
-        CleanupClosePushL( poolIdArr );
-        GetPoolIdsForCharsL( firstCharArr, poolIdArr );
 
-        const TInt poolIdArrCount = poolIdArr.Count();
-        for (TInt poolArrIndex = 0; poolArrIndex < poolIdArrCount ; poolArrIndex++)
+        for (TInt wordIndex = 0; wordIndex < firstKey.Count(); wordIndex++)
             {
-            
-            TInt poolId = poolIdArr[poolArrIndex];
+            TInt arrayIndex = keyMap->PoolIdForCharacter(firstKey[wordIndex]);
 
             CPcsPoolElement* element = NULL;
 
             // Check if an element already exists in the pool for this data
             TInt* loc = NULL;
-            loc = elementHash.Find(poolId);
+            loc = elementHash.Find(arrayIndex);
             if (loc != NULL)
                 {
                 // Exists. Then recover ...
-                RPointerArray<CPcsPoolElement> tmpKeyMap = *(iKeyArr[poolId]);
+                RPointerArray<CPcsPoolElement> tmpKeyMap = *(keyArr[arrayIndex]);
                 element = tmpKeyMap[*loc];
                 }
 
@@ -214,31 +304,30 @@
                 element->SetDataMatch(dataIndex);
 
                 // Insert to pool
-                iKeyArr[poolId]->InsertInOrderAllowRepeatsL(element, rule);
-                TInt index = iKeyArr[poolId]->FindInOrderL(element, rule);
+                keyArr[arrayIndex]->InsertInOrderAllowRepeatsL(element, rule);
+                TInt index = keyArr[arrayIndex]->FindInOrderL(element, rule);
 
-                // Set the bit for this pool
-                SetPoolMap(aPoolMap, poolId);
+                // Set the bit for this pool					
+                SetPoolMap(aPoolMap, arrayIndex);
 
                 // Store the array index in the temp hash
-                elementHash.InsertL(poolId, index);
+                elementHash.InsertL(arrayIndex, index);
                 }
             else // Pool element exists. Just alter the data match attribute
                 {
                 element->SetDataMatch(dataIndex);
 
-                // Set the bit for this pool
-                SetPoolMap(aPoolMap, poolId);
+                // Set the bit for this pool					
+                SetPoolMap(aPoolMap, arrayIndex);
                 }
 
             } // for 2 loop
 
-        CleanupStack::PopAndDestroy( &poolIdArr );    // Close
-        CleanupStack::PopAndDestroy( &firstCharArr ); // Close
+        firstKey.Reset();
 
         } // for 1 loop
 
-    CleanupStack::PopAndDestroy( &elementHash );  // Close
+    elementHash.Close();
     }
 
 // ---------------------------------------------------------------------
@@ -248,19 +337,19 @@
 void CPcsCache::AddToCacheL(CPsData& aData)
     {
     // Protect against duplicate items getting added
-    if (iCacheInfo.Find(aData.Id()) != NULL)
+    if (cacheInfo.Find(aData.Id()) != NULL)
         {
         return;
         }
 
     // Include this element in the pool     
-    TUint64 poolMap = 0;
+    TInt poolMap = 0;
     AddToPoolL(poolMap, aData);
-    iCacheInfo.InsertL(aData.Id(), poolMap);
+    cacheInfo.InsertL(aData.Id(), poolMap);
 
     // Include this element in master pool        
-    TLinearOrder<CPsData> rule(CPcsAlgorithm2Utils::CompareDataBySortOrderL);
-    iMasterPool.InsertInOrderAllowRepeatsL(&aData, rule);
+    TLinearOrder<CPsData> rule(CPcsAlgorithm2Utils::CompareDataBySortOrder);
+    masterPool.InsertInOrderAllowRepeatsL(&aData, rule);
     }
 
 // ---------------------------------------------------------------------
@@ -271,7 +360,7 @@
     {
     CPsData *data = NULL;
 
-    TUint64* poolMap = iCacheInfo.Find(aItemId);
+    TInt* poolMap = cacheInfo.Find(aItemId);
 
     if (poolMap == NULL)
         {
@@ -279,8 +368,7 @@
         }
 
     // Remove this element from pools
-    const TInt keyArrCount = iKeyArr.Count();
-    for (TInt keyIndex = 0; keyIndex < keyArrCount; keyIndex++)
+    for (int keyIndex = 0; keyIndex <= keyArr.Count(); keyIndex++)
         {
         TBool present = GetPoolMap(*poolMap, keyIndex);
 
@@ -289,9 +377,8 @@
             continue;
             }
 
-        const RPointerArray<CPcsPoolElement>& tmpKeyMap = *(iKeyArr[keyIndex]);
-        
-        for (TInt arrayIndex = 0; arrayIndex < tmpKeyMap.Count(); arrayIndex++)
+        RPointerArray<CPcsPoolElement> tmpKeyMap = *(keyArr[keyIndex]);
+        for (int arrayIndex = 0; arrayIndex < tmpKeyMap.Count(); arrayIndex++)
             {
             CPcsPoolElement *element = tmpKeyMap[arrayIndex];
             TInt id = element->GetPsData()->Id();
@@ -299,19 +386,19 @@
                 {
                 data = element->GetPsData();
                 delete element;
-                iKeyArr[keyIndex]->Remove(arrayIndex);
+                keyArr[keyIndex]->Remove(arrayIndex);
                 }
             }
         }
 
     // Remove this element from master pool
-    for (TInt arrayIndex = 0; arrayIndex < iMasterPool.Count(); arrayIndex++)
+    for (int arrayIndex = 0; arrayIndex < masterPool.Count(); arrayIndex++)
         {
-        CPsData *dataElement = iMasterPool[arrayIndex];
+        CPsData *dataElement = masterPool[arrayIndex];
         TInt id = dataElement->Id();
         if (id == aItemId)
             {
-            iMasterPool.Remove(arrayIndex);
+            masterPool.Remove(arrayIndex);
             }
         }
 
@@ -323,178 +410,51 @@
         }
 
     // Clear up cache information
-    iCacheInfo.Remove(aItemId);
+    cacheInfo.Remove(aItemId);
     }
 
 // ---------------------------------------------------------------------
 // CPcsCache::RemoveAllFromCacheL
 // 
 // ---------------------------------------------------------------------
-void CPcsCache::RemoveAllFromCache()
+void CPcsCache::RemoveAllFromCacheL()
     {
-    PRINT ( _L("Enter CPcsCache::RemoveAllFromCache") );
+    PRINT ( _L("Enter CPcsCache::RemoveAllFromCacheL") );
 
-    const TInt keyArrCount = iKeyArr.Count();
-    for ( TInt i = 0 ; i < keyArrCount ; i++ )
+    for (TInt i = 0; i < keyArr.Count(); i++)
         {
-        iKeyArr[i]->ResetAndDestroy();
+        keyArr[i]->ResetAndDestroy();
+
         }
 
-    iMasterPool.ResetAndDestroy();
-    iCacheInfo.Close();
+    masterPool.ResetAndDestroy();
+    cacheInfo.Close();
 
-    PRINT ( _L("End CPcsCache::RemoveAllFromCache") );
+    PRINT ( _L("End CPcsCache::RemoveAllFromCacheL") );
     }
 
 // ---------------------------------------------------------------------
 // CPcsCache::SetPoolMap
 // 
 // ---------------------------------------------------------------------
-void CPcsCache::SetPoolMap(TUint64& aPoolMap, TInt aArrayIndex)
+void CPcsCache::SetPoolMap(TInt& aPoolMap, TInt arrayIndex)
     {
-    __ASSERT_DEBUG( aArrayIndex < 64, User::Panic(_L("CPcsCache"), KErrOverflow ) );
+    TReal val;
+    Math::Pow(val, 2, arrayIndex);
 
-    /* Some platforms do not support 64 bits shift operations.
-     * Split to two 32 bits operations.
-     */
-    
-    TUint32 poolMapH = I64HIGH(aPoolMap);
-    TUint32 poolMapL = I64LOW(aPoolMap);
-    
-    TUint32 valH = 0;
-    TUint32 valL = 0;
-    if (aArrayIndex < 32)
-        {
-        valL = 1 << aArrayIndex;
-        }
-    else
-        {
-        valH = 1 << (aArrayIndex-32);
-        }
-
-    poolMapH |= valH;
-    poolMapL |= valL;
-    
-    aPoolMap = MAKE_TUINT64(poolMapH, poolMapL);
+    aPoolMap |= (TInt) val;
     }
 
 // ---------------------------------------------------------------------
 // CPcsCache::GetPoolMap
 // 
 // ---------------------------------------------------------------------
-TBool CPcsCache::GetPoolMap(TUint64& aPoolMap, TInt aArrayIndex)
+TBool CPcsCache::GetPoolMap(TInt& aPoolMap, TInt arrayIndex)
     {
-    __ASSERT_DEBUG( aArrayIndex < 64, User::Panic(_L("CPcsCache"), KErrOverflow ) );
-
-    /* Some platforms do not support 64 bits shift operations.
-     * Split to two 32 bits operations.
-     */
-
-    TUint32 poolMapH = I64HIGH(aPoolMap);
-    TUint32 poolMapL = I64LOW(aPoolMap);
-    
-    TUint32 valH = 0;
-    TUint32 valL = 0;
-    if (aArrayIndex < 32)
-        {
-        valL = 1 << aArrayIndex;
-        }
-    else
-        {
-        valH = 1 << (aArrayIndex-32);
-        }
-
-    TBool ret = (poolMapH & valH) || (poolMapL & valL);
-
-    return (ret);
-    }
-
-// ---------------------------------------------------------------------
-// CPcsCache::GetFirstCharsForDataL
-// 
-// ---------------------------------------------------------------------
-void CPcsCache::GetFirstCharsForDataL( const TDesC& aData, RArray<TChar>& aFirstChars ) const
-    {
-    // Split the data into words
-    CWords* words = CWords::NewLC(aData);
+    TReal val;
+    Math::Pow(val, 2, arrayIndex);
 
-    // Find indexing characters for each word
-    for (TInt i = 0; i < words->MdcaCount(); i++)
-        {
-        TPtrC16 word = words->MdcaPoint(i);
-        TBool lastCharIsChinese = EFalse;
-        
-        // If the word contains any Chinese characters, then it is
-        // stored to cache according all the available spellings of
-        // all the Chinese characters
-        if ( iAlgorithm->FindUtilECE()->IsChineseWordIncluded(word) )
-            {
-            const TInt wordLength = word.Length();
-            for (TInt j = 0; j < wordLength; j++)
-                {
-                TText curChar = word[j];
-                RPointerArray<HBufC> spellList;
-                CleanupResetAndDestroyPushL( spellList );
-                if ( iAlgorithm->FindUtilECE()->DoTranslationL(curChar, spellList) )
-                    {
-                    lastCharIsChinese = ETrue;
-                    // Append first char of each spelling
-                    const TInt spellListCount = spellList.Count();
-                    for (TInt k = 0; k < spellListCount; k++)
-                        {
-                        const HBufC* spelling = spellList[k];
-                        aFirstChars.AppendL( (*spelling)[0] );
-                        }
-                    }
-                else
-                    {
-                    if ( lastCharIsChinese )
-                        {
-                        aFirstChars.AppendL( word[j] );
-                        lastCharIsChinese = EFalse;
-                        }
-                    }
-                CleanupStack::PopAndDestroy( &spellList ); // ResetAndDestroy
-                }
-            }
-        
-        // If the first charcter of the word is non-Chinese, then it's stored to the
-        // cache according this first character. Other characters of the word may or
-        // may not be Chinese.
-        if ( !iAlgorithm->FindUtilECE()->IsChineseWordIncluded( word.Left(1) ) )
-            {
-            aFirstChars.AppendL( word[0] );
-            }
-        }
-    CleanupStack::PopAndDestroy(words);
-    }
-
-// ---------------------------------------------------------------------
-// CPcsCache::GetPoolIdsForCharsL
-// 
-// ---------------------------------------------------------------------
-void CPcsCache::GetPoolIdsForCharsL( const RArray<TChar>& aChars, RArray<TInt>& aPoolIds ) const
-    {
-    // There can potentially be two pool IDs for each character. 
-    // Reserve memory for this upfront to prevent unnecessary reallocations.
-    aPoolIds.ReserveL( aChars.Count() * 2 );
-    
-    const TInt charsCount = aChars.Count() ;
-    for ( TInt i = 0 ; i < charsCount ; ++i )
-        {
-        TChar character = aChars[i];
-        TInt itutPoolId = iKeyMap->PoolIdForCharacter( character, EPredictiveItuT );
-        if ( itutPoolId != KErrNotFound )
-            {
-            aPoolIds.AppendL( itutPoolId );
-            }
-        
-        TInt qwertyPoolId = iKeyMap->PoolIdForCharacter( character, EPredictiveQwerty );
-        if ( qwertyPoolId != KErrNotFound )
-            {
-            aPoolIds.AppendL( qwertyPoolId );
-            }
-        }
+    return (aPoolMap & (TInt) val);
     }
 
 // ---------------------------------------------------------------------
@@ -512,8 +472,7 @@
 // ---------------------------------------------------------------------
 void CPcsCache::SetDataFields(RArray<TInt>& aDataFields)
     {
-    const TInt dataFieldsCount = aDataFields.Count();
-    for (TInt i(0); i < dataFieldsCount; i++)
+    for (TInt i(0); i < aDataFields.Count(); i++)
         {
         iDataFields.Append(aDataFields[i]);
         }
@@ -525,8 +484,7 @@
 // ---------------------------------------------------------------------
 void CPcsCache::GetDataFields(RArray<TInt>& aDataFields)
     {
-    const TInt dataFieldsCount = iDataFields.Count();
-    for (TInt i(0); i < dataFieldsCount; i++)
+    for (TInt i(0); i < iDataFields.Count(); i++)
         {
         aDataFields.Append(iDataFields[i]);
         }
@@ -577,8 +535,8 @@
     PRINT ( _L("Enter CPcsCache::SetSortOrder") );
 
     iSortOrder.Reset();
-    const TInt sortOrderCount = aSortOrder.Count();
-    for (TInt i(0); i < sortOrderCount; i++)
+
+    for (TInt i(0); i < aSortOrder.Count(); i++)
         {
         iSortOrder.Append(aSortOrder[i]);
         }
@@ -595,8 +553,8 @@
 void CPcsCache::GetSortOrder(RArray<TInt>& aSortOrder)
     {
     aSortOrder.Reset();
-    const TInt sortOrderCount =  iSortOrder.Count();
-    for (TInt i(0); i < sortOrderCount; i++)
+
+    for (TInt i(0); i < iSortOrder.Count(); i++)
         {
         aSortOrder.Append(iSortOrder[i]);
         }
@@ -609,8 +567,8 @@
 void CPcsCache::GetIndexOrder(RArray<TInt>& aIndexOrder)
     {
     aIndexOrder.Reset();
-    const TInt indexOrderCount = iIndexOrder.Count();
-    for (TInt i(0); i < indexOrderCount; i++)
+
+    for (TInt i(0); i < iIndexOrder.Count(); i++)
         {
         aIndexOrder.Append(iIndexOrder[i]);
         }
@@ -624,11 +582,9 @@
     {
     iIndexOrder.Reset();
 
-    const TInt sortOrderCount = iSortOrder.Count();
-    const TInt dataFieldsCount = iDataFields.Count(); 
-    for (TInt i = 0; i < sortOrderCount; i++)
+    for (int i = 0; i < iSortOrder.Count(); i++)
         {
-        for (TInt j = 0; j <dataFieldsCount; j++)
+        for (int j = 0; j < iDataFields.Count(); j++)
             {
             if (iSortOrder[i] == iDataFields[j])
                 {
@@ -645,64 +601,24 @@
 // ---------------------------------------------------------------------
 void CPcsCache::ResortdataInPoolsL()
     {
-    // copy iMasterPool data into iMasterPoolBackup
-    const TInt masterPoolCount = iMasterPool.Count();
-    for (TInt i = 0; i < masterPoolCount; i++ )
+    // copy masterPool data into masterPoolBackup
+    for (TInt i = 0; i < masterPool.Count(); i++ )
         {
-        iMasterPoolBackup.Append( iMasterPool[i] );
+        masterPoolBackup.Append( masterPool[i] );
         }
     //Now reset the key array
-    const TInt keyArrCount = iKeyArr.Count(); 
-    for (TInt i = 0; i <keyArrCount; i++ )
+    for (TInt i = 0; i < keyArr.Count(); i++ )
         {
-        iKeyArr[i]->ResetAndDestroy();
+        keyArr[i]->ResetAndDestroy();
         }
-    iMasterPool.Reset();
-    iCacheInfo.Close();
-    //now add data again from the iMasterPoolBackup
-    const TInt masterPoolBackupCount = iMasterPoolBackup.Count();
-    for (TInt i = 0; i < masterPoolBackupCount; i++ )
+    masterPool.Reset();
+    cacheInfo.Close();
+    //now add data again from the masterPoolBackup
+    for (TInt i = 0; i < masterPoolBackup.Count(); i++ )
         {
-        CPsData* temp = iMasterPoolBackup[i];
+        CPsData* temp = static_cast<CPsData*>(masterPoolBackup[i]);
         AddToCacheL( *temp );
         }
-    iMasterPoolBackup.Reset();
-    }
-
-// ---------------------------------------------------------------------
-// CPcsCache::GetFirstNameIndex
-// 
-// ---------------------------------------------------------------------
-TInt CPcsCache::GetFirstNameIndex() const
-    {
-    TInt fnIndex = KErrNotFound;
-    const TInt dataFieldsCount = iDataFields.Count();
-    for ( TInt i = 0 ; i < dataFieldsCount && fnIndex == KErrNotFound ; ++i )
-        {
-        if ( iDataFields[i] == R_VPBK_FIELD_TYPE_FIRSTNAME )
-            {
-            fnIndex = i;
-            }
-        }
-    return fnIndex;
-    }
-
-// ---------------------------------------------------------------------
-// CPcsCache::GetLastNameIndex
-// 
-// ---------------------------------------------------------------------
-TInt CPcsCache::GetLastNameIndex() const
-    {
-    TInt lnIndex = KErrNotFound;
-    const TInt dataFieldsCount = iDataFields.Count();
-    for ( TInt i = 0 ; i < dataFieldsCount && lnIndex == KErrNotFound ; ++i )
-        {
-        if ( iDataFields[i] == R_VPBK_FIELD_TYPE_LASTNAME )
-            {
-            lnIndex = i;
-            }
-        }
-    return lnIndex;
-    }
-
+    masterPoolBackup.Reset();
+    } 
 // End of file
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsKeyMap.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsKeyMap.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -23,37 +23,9 @@
 #include "FindUtilChineseECE.h"
 #include "CPcsDebug.h"
 #include "CPcsKeyMap.h"
-#include "CPsQueryItem.h"
-#include <PtiEngine.h>
-#include <PtiKeyMapData.h>
 #include <bldvariant.hrh>
 #include <AknFepInternalCRKeys.h>
 
-
-// Unnamed namespace for local definitions
-namespace {
-
-#ifdef _DEBUG
-    enum TPanicCode
-    {
-        EPanicPreCond_MultipleSingleCharMatching = 1,
-        EPanicPreCond_MultipleUIPriorityMatching = 2,
-        EPanicPreCond_MultipleEnglishPriorityMatching = 3,
-        EPanicPreCond_MultipleOthersPriorityMatching = 4,
-        EPanic_OverflowInPoolIndex = 5,
-        EPanic_InvalidKeyboardType = 6
-   };
-
-    void Panic(TInt aReason)
-    {
-        _LIT(KPanicText, "CPcsKeyMap");
-        User::Panic(KPanicText, aReason);
-    }
-#endif // DEBUG
-
-} // namespace
-
-
 // ============================== MEMBER FUNCTIONS ============================
 
 // ----------------------------------------------------------------------------
@@ -89,14 +61,11 @@
 void CPcsKeyMap::ConstructL(CPcsAlgorithm2* aAlgorithm)
     {
     iLanguageNotSupported.Append(ELangJapanese);
-    iLanguageNotSupported.Append(ELangKorean);
 
     iAlgorithm = aAlgorithm;
     iPtiEngine = CPtiEngine::NewL();
-
-    SetupKeyboardTypesL();
+	
     ConstructKeymapL();
-    SetSpaceAndZeroOnSameKey();
     }
 
 // ----------------------------------------------------------------------------
@@ -105,18 +74,17 @@
 // ----------------------------------------------------------------------------
 void CPcsKeyMap::ReconstructKeymapL()
     {
+    TLanguage lang = iAlgorithm->FindUtilECE()->CurrentInputLanguage();
+        if (lang == ELangPrcChinese || !IsLanguageSupportedL(lang))
+            lang = ELangEnglish;
+
+    TInt keyboardType = CurrentKeyBoardTypeL();
+    
     // Clear the keymap data array first when reconstruct the keymap.
     ResetKeyMap();
     
-    // Always add English mappings first
-    AddKeyMapforConcreteKeyboardL( ELangEnglish );
-    
-    // Then append the mappings of the current input language
-    TLanguage lang = iAlgorithm->FindUtilECE()->CurrentInputLanguage();
-    if ( lang != ELangEnglish && IsLanguageSupportedL(lang) )
-        {
-        AddKeyMapforConcreteKeyboardL( lang );
-        }
+    // Add new keymap to the keymap data array according the current writing language.
+    AddKeyMapforConcreteKeyboardL( keyboardType, lang );
     }
 
 // ----------------------------------------------------------------------------
@@ -125,107 +93,106 @@
 // ----------------------------------------------------------------------------
 void CPcsKeyMap::ConstructKeymapL()
     {
-    ConstructConcreteKeyMapL();
-    
-    // Always add English mappings first
-    AddKeyMapforConcreteKeyboardL( ELangEnglish );
+    TLanguage lang = iAlgorithm->FindUtilECE()->CurrentInputLanguage();
+    if (lang == ELangPrcChinese || !IsLanguageSupportedL(lang))
+        lang = ELangEnglish;
+
+    TInt keyboardType = CurrentKeyBoardTypeL();
     
-    // Then append the mappings of the current input language
-    TLanguage lang = iAlgorithm->FindUtilECE()->CurrentInputLanguage();
-    if ( lang != ELangEnglish && IsLanguageSupportedL(lang) )
-        {
-        AddKeyMapforConcreteKeyboardL( lang );
-        }
+    ConstructConcreteKeyMapL( keyboardType, lang );
     
     PRINT ( _L("----------------------------------------"));
+    
     }
 
 // ----------------------------------------------------------------------------
-// CPcsKeyMap::SetupKeyboardTypesL
-// Initialise the keyboard type variables
+// CPcsKeyMap::CurrentKeyBoardTypeL
+// 
 // ----------------------------------------------------------------------------
-void CPcsKeyMap::SetupKeyboardTypesL()
+TInt CPcsKeyMap::CurrentKeyBoardTypeL()
     {
+    TInt keyBoardType = EPtiKeyboardNone;
+    
+#ifdef RD_INTELLIGENT_TEXT_INPUT
+    
     TInt physicalKeyboard = 0;
     CRepository* aknFepRepository = CRepository::NewL( KCRUidAknFep );
+    // Get all the physical keyboards which are connected to the phone currently.
     aknFepRepository->Get( KAknFepPhysicalKeyboards, physicalKeyboard );
     delete aknFepRepository;
-
-    PRINT1 ( _L("CPcsKeyMap::ConstructL: Physical keyboard support flag = 0x%02X"), physicalKeyboard );
+    
+    
+    PRINT1 ( _L("CPcsKeyMap::CurrentKeyBoardTypeL: Physical keyboard support flag = 0x%02X"), physicalKeyboard );
 
     // Constants follow the definition of KAknFepPhysicalKeyboards
-    const TInt KPtiKeyboard12Key = 0x01;
-    const TInt KPtiKeyboardQwerty4x12 = 0x02;
-    const TInt KPtiKeyboardQwerty4x10 = 0x04;
-    const TInt KPtiKeyboardQwerty3x11 = 0x08;
-    const TInt KPtiKeyboardHalfQwerty = 0x10;
-    const TInt KPtiKeyboardCustomQwerty = 0x20; 
+    const TInt ptiKeyboard12Key = 0x01;         // Default
+    // const TInt ptiKeyboardQwerty4x12 = 0x02;    // Not used at the moment
+    const TInt ptiKeyboardQwerty4x10 = 0x04;
+    // const TInt ptiKeyboardQwerty3x11 = 0x08;    // Not used at the moment
+    const TInt ptiKeyboardHalfQwerty = 0x10;
+    // const TInt ptiKeyboardCustomQwerty = 0x20;  // Not used at the moment
 
-    // Setup ITU-T mode first.
-    // Use always 12-key mode since all the supported devices should have at least
-    // virtual ITU-T available.
-    iItutKeyboardType = EPtiKeyboard12Key;
-    // TODO: ITU-T type could be set to "none" if device does not have either
-    // virtual keypad or hardware ITU-T available. This could be decided according
-    // some cenrep value, feature flag, device model, or platform version.
-    
-    // Then setup QWERTY mode. On real-life devices there should never
-    // be more than one QWERTY keyboard available but on emulator there can be several.
-    // Use the first one found in the following precedence
-    if ( physicalKeyboard & KPtiKeyboardQwerty3x11 )
+    // If there are more than 1 keyboards on HW, The priority from high to low for 
+    // selecting keyboard is EPtiKeyboard12Key, EPtiKeyboardHalfQwerty, EPtiKeyboardQwerty4x10  
+    if ( physicalKeyboard & ptiKeyboard12Key )
         {
-        iQwertyKeyboardType = EPtiKeyboardQwerty3x11;
+        keyBoardType = EPtiKeyboard12Key;
         }
-    else if ( physicalKeyboard & KPtiKeyboardQwerty4x10 )
+    else if ( physicalKeyboard & ptiKeyboardHalfQwerty )
         {
-        iQwertyKeyboardType = EPtiKeyboardQwerty4x10;
-        }
-    else if ( physicalKeyboard & KPtiKeyboardQwerty4x12 )
-        {
-        iQwertyKeyboardType = EPtiKeyboardQwerty4x12;
+        keyBoardType = EPtiKeyboardHalfQwerty;
         }
-    else if ( physicalKeyboard & KPtiKeyboardCustomQwerty )
+    else if ( physicalKeyboard & ptiKeyboardQwerty4x10 )
         {
-        iQwertyKeyboardType = EPtiKeyboardCustomQwerty;
-        }
-    else if ( physicalKeyboard & KPtiKeyboardHalfQwerty )
-        {
-        iQwertyKeyboardType = EPtiKeyboardHalfQwerty;
+        keyBoardType = EPtiKeyboardQwerty4x10;
         }
     else
+#endif
         {
-        iQwertyKeyboardType = EPtiKeyboardNone;
+        keyBoardType = EPtiKeyboard12Key;
         }
-    
-    // Decide, which keyboard is used for the "default" matching mode.
-    // If there is physical ITU-T available, or there's no physical QWERTY,
-    // then ITU-T is default.
-    iItutIsDefault = (physicalKeyboard & KPtiKeyboard12Key) || 
-                     (iQwertyKeyboardType == EPtiKeyboardNone);
-    
-    PRINT1 ( _L("CPcsKeyMap::ConstructL: ITU-T Keyboard chosen for Predictive Search = %d"), iItutKeyboardType );
-    PRINT1 ( _L("CPcsKeyMap::ConstructL: QWERTY Keyboard chosen for Predictive Search = %d"), iQwertyKeyboardType );
+    return keyBoardType;
     }
 
-
 // ----------------------------------------------------------------------------
 // CPcsKeyMap::ConstructConcreteKeyMapL
 // 
 // ----------------------------------------------------------------------------
-void CPcsKeyMap::ConstructConcreteKeyMapL()
+void CPcsKeyMap::ConstructConcreteKeyMapL( TInt aKeyboardType, TLanguage aLanguage )
     {
-    if ( iItutKeyboardType != EPtiKeyboardNone )
+    switch ( aKeyboardType )
         {
-        // Construct for Itut keyboard by default
-        PRINT ( _L("CPcsKeyMap::ConstructConcreteKeyMapL: Construct keymap for ITU-T"));
-        ConstructForItutKeyboardL();
-        }
-    if ( iQwertyKeyboardType != EPtiKeyboardNone )
-        {
-        // Construct for any QWERTY keyboard
-        PRINT1 ( _L("CPcsKeyMap::ConstructConcreteKeyMapL: Construct keymap for QWERTY keyboard type %d"), 
-                 iQwertyKeyboardType );
-        ConstructForQwertyKeyboardL( iQwertyKeyboardType );
+        case EPtiKeyboard12Key:
+            {
+            // Construct for Itut keyboard by default
+            PRINT ( _L("CPcsKeyMap::ConstructConcreteKeyMapL: Construct keymap for ContructForItutKeyboardL"));
+            
+            ContructForItutKeyboardL( aLanguage );
+            break;
+            }
+        case EPtiKeyboardHalfQwerty:
+            {
+            // Construct for Half Qwerty keyboard
+            PRINT ( _L("CPcsKeyMap::ConstructConcreteKeyMapL: Construct keymap for ContructForHalfQwertyKeyboardL"));
+            
+            ContructForHalfQwertyKeyboardL( aLanguage );
+            break;
+            }
+        case EPtiKeyboardQwerty4x10:
+            {
+            // Construct for 4x10 Qwerty keyboard
+            PRINT ( _L("CPcsKeyMap::ConstructConcreteKeyMapL: Construct keymap for ContructFor4x10QwertyKeyboardL"));
+            
+            ContructFor4x10QwertyKeyboardL( aLanguage );
+            break;
+            }
+        default:
+            {
+            // Construct for Itut keyboard
+            PRINT ( _L("CPcsKeyMap::ConstructConcreteKeyMapL: Construct keymap for ContructForItutKeyboardL"));
+            
+            ContructForItutKeyboardL( aLanguage );
+            }
         }
     }
 
@@ -233,16 +200,49 @@
 // CPcsKeyMap::AddKeyMapforConcreteKeyboardL
 // 
 // ----------------------------------------------------------------------------
-void CPcsKeyMap::AddKeyMapforConcreteKeyboardL( TLanguage aLanguage )
+void CPcsKeyMap::AddKeyMapforConcreteKeyboardL( TInt aKeyboardType, TLanguage aLanguage )
     {
-    if ( iItutKeyboardType != EPtiKeyboardNone )
+    // If it's TW or HK variant, the key map for English also needs add to current key map.
+    TBool needAddEnglishKeyMap = ( aLanguage == ELangTaiwanChinese || aLanguage == ELangHongKongChinese );
+    
+    // Add the keymap for current writing language.
+    switch ( aKeyboardType )
         {
-        AddKeyMapforItutL( aLanguage );
-        }
-    
-    if ( iQwertyKeyboardType != EPtiKeyboardNone )
-        {
-        AddKeyMapForQwertyKeyboardL( aLanguage, iQwertyKeyboardType );
+        case EPtiKeyboard12Key:
+            {
+            AddKeyMapforItutL( aLanguage );
+            if ( needAddEnglishKeyMap )
+                {
+                AddKeyMapforItutL( ELangEnglish );
+                }
+            break;
+            }
+        case EPtiKeyboardHalfQwerty:
+            {
+            AddKeyMapforHalfQwertyKeyboardL( aLanguage );
+            if ( needAddEnglishKeyMap )
+                {
+                AddKeyMapforHalfQwertyKeyboardL( ELangEnglish );
+                }
+            break;
+            }
+        case EPtiKeyboardQwerty4x10:
+            {
+            AddKeyMapfor4x10QwertyKeyboardL( aLanguage );
+            if ( needAddEnglishKeyMap )
+                {
+                AddKeyMapfor4x10QwertyKeyboardL( ELangEnglish );
+                }
+            break;
+            }
+        default:
+            {
+            AddKeyMapforItutL( aLanguage );
+            if ( needAddEnglishKeyMap )
+                {
+                AddKeyMapforItutL( ELangEnglish );
+                }
+            }
         }
     }
 
@@ -252,18 +252,12 @@
 // ----------------------------------------------------------------------------
 void CPcsKeyMap::ResetKeyMap()
     {
-    const TInt ItutKeyMappingsCount = iItutKeyMappings.Count();
-    const TInt qwertyKeyMappingsCount = iQwertyKeyMappings.Count();
-    for (TInt i = 0; i < ItutKeyMappingsCount; i++)
+    for (TInt i = 0; i < iAllKeyMappingsPtrArr.Count(); i++)
         {
-        iItutKeyMappings[i]->iKeyMappingArray.Reset();
+        iAllKeyMappingsPtrArr[i]->iKeyMappingArray.Close();
         }
-    for (TInt i = 0; i < qwertyKeyMappingsCount; i++)
-        {
-        iQwertyKeyMappings[i]->iKeyMappingArray.Reset();
-        }
+
     }
-
 // ----------------------------------------------------------------------------
 // CPcsKeyMap::~CPcsKeyMap
 // Destructor
@@ -274,162 +268,137 @@
 
     // Cleanup local arrays
     iLanguageNotSupported.Reset();
-    iItutKeyMappings.ResetAndDestroy();
-    iItutKeys.Close();
-    iQwertyKeyMappings.ResetAndDestroy();
-    iQwertyKeys.Close();
+    iAllKeyMappingsPtrArr.ResetAndDestroy();
+    iKeysForPoolFormation.Close();
     delete iPtiEngine;
     }
 
 // ----------------------------------------------------------------------------
-// CPcsKeyMap::GetMixedKeyStringForQueryL
-// aDestStr will have the length as the number of items in aSrcQuery.
-// ----------------------------------------------------------------------------
-void CPcsKeyMap::GetMixedKeyStringForQueryL(
-        CPsQuery& aSrcQuery, TDes& aDestStr) const
-{
-    PRINT ( _L("Enter CPcsKeyMap::GetMixedKeyStringForQueryL") ); 
-
-    GetMixedKeyStringForDataL( aSrcQuery, aSrcQuery.QueryAsStringLC(), aDestStr );
-    CleanupStack::PopAndDestroy(); //result of QueryAsStringLC
-
-    PRINT ( _L("End CPcsKeyMap::GetMixedKeyStringForQueryL") );
-}
-
-// ----------------------------------------------------------------------------
-// CPcsKeyMap::GetMixedKeyStringForDataL
-// aDestStr will have the same length as aSrcData. aSrcQuery can be shorter.
+// CPcsKeyMap::GetNumericKeyStringL
+// 
 // ----------------------------------------------------------------------------
-void CPcsKeyMap::GetMixedKeyStringForDataL(
-        CPsQuery& aSrcQuery, const TDesC& aSrcData, TDes& aDestStr) const
-{
-    PRINT ( _L("Enter CPcsKeyMap::GetMixedKeyStringForDataL") );
+void CPcsKeyMap::GetNumericKeyString(const TDesC& aSrcStr, TDes& aDestStr)
+    {
+    for (int i = 0; i < aSrcStr.Length(); i++)
+        {
+        TInt index = KeyForCharacter(aSrcStr[i]);
 
-    const TInt srcDataLength = aSrcData.Length(); 
-    for ( TInt i = 0; i < srcDataLength; ++i )
-        {
-        TChar character( aSrcData[i] );
-        character.LowerCase();
-        if ( i < aSrcQuery.Count() )
+        // If a character is not mapped to numeric key append the character
+        if (index == -1)
             {
-            CPsQueryItem& currentItem = aSrcQuery.GetItemAtL(i);
-            TKeyboardModes curMode = ResolveKeyboardMode( currentItem.Mode() );
-            TPtiKey key = KeyForCharacter( aSrcData[i], curMode );
-            // If a character is not mapped to any key or it's entered in non-predictive mode,
-            // then append the character as exact.
-            if ( EPtiKeyNone == key )
-                {
-                aDestStr.Append( character );
-                }
-            else
-                {
-                aDestStr.Append( DefaultCharForKey(key, curMode) );
-                }
+            aDestStr.Append(aSrcStr[i]);
             }
         else
             {
-            // characters over query length are taken as exact
-            aDestStr.Append( character );
+            aDestStr.Append(index);
             }
         }
-
-    PRINT1 ( _L("CPcsKeyMap::GetMixedKeyStringForDataL: Return string: \"%S\""),
-             &aDestStr );
-
-    PRINT ( _L("End CPcsKeyMap::GetMixedKeyStringForDataL") );
-}
+    }
 
 // ----------------------------------------------------------------------------
 // CPcsKeyMap::KeyForCharacter
 // 
 // ----------------------------------------------------------------------------
-TPtiKey CPcsKeyMap::KeyForCharacter(TText aChar, TKeyboardModes aKbMode) const
+TInt CPcsKeyMap::KeyForCharacter(const TChar& aChar)
     {
-    const RPointerArray<TKeyMappingData>* keyMappings = KeyMappings( aKbMode );
-    
-    // Don't return any key in the exact mode
-    if ( !keyMappings )
-        {
-        return EPtiKeyNone;
-        }
-    
     TInt index = KErrNotFound;
 
-    TText lChar = User::LowerCase(aChar);
+    TChar lChar = User::LowerCase(aChar);
 
-    const TInt count = keyMappings->Count() - 1;
+    TInt count = iAllKeyMappingsPtrArr.Count() - 1;
 
     for (TInt i = 0; i < count; i++)
         {
-        index = (*keyMappings)[i]->iKeyMappingArray.Find(lChar);
+        index = iAllKeyMappingsPtrArr[i]->iKeyMappingArray.Find(lChar);
         if (index != KErrNotFound)
             {
-            return (*keyMappings)[i]->iKey;
+            return (TInt) iAllKeyMappingsPtrArr[i]->key;
             }
         }
 
-    return EPtiKeyNone;
+    return index;
     }
-
 // ----------------------------------------------------------------------------
-// CPcsKeyMap::AddKeyMapForQwertyKeyboardL
+// CPcsKeyMap::ContructForHalfQwertyKeyboardL
 // 
 // ----------------------------------------------------------------------------
-void CPcsKeyMap::AddKeyMapForQwertyKeyboardL(TLanguage aLanguage, TPtiKeyboardType aKbType)
+void CPcsKeyMap::ContructForHalfQwertyKeyboardL(TLanguage aLanguage)
     {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    iPtiEngine->ActivateLanguageL(aLanguage);
-    iPtiEngine->SetKeyboardType(aKbType);
+#ifdef RD_INTELLIGENT_TEXT_INPUT    
+
+    iKeysForPoolFormation.Append(EPtiKeyQwertyQ);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyE);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyT);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyU);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyO);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyA);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyD);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyG);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyJ);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyL);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyZ);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyC);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyB);
+    iKeysForPoolFormation.Append(EPtiKeyQwertyM);
+    iKeysForPoolFormation.Append(EPtiKeyQwerty0);
+    // one additional pool for special characters not mapped too any keys. 
+    // This should always be the last one in the arrary
+    iKeysForPoolFormation.Append(EPtiKeyNone);
 
+    // Now add the keymap arrays to hold the keymap data
+    for (TInt i = 0; i < iKeysForPoolFormation.Count(); i++)
+        {
+        TKeyMappingData *keyData = new (ELeave) TKeyMappingData;
+        keyData->key = iKeysForPoolFormation[i];
+        iAllKeyMappingsPtrArr.Append(keyData);
+        }
+    //  Add the keymap for current language
+    AddKeyMapforHalfQwertyKeyboardL(aLanguage);
+
+    // If it's TW or HK variant, add the keymap for English language
+    if (aLanguage == ELangTaiwanChinese || aLanguage == ELangHongKongChinese)
+        {
+        AddKeyMapforHalfQwertyKeyboardL(ELangEnglish);
+        }
+
+    PRINT ( _L("----------------------------------------"));
+#endif // RD_INTELLIGENT_TEXT_INPUT
+    }
+// ----------------------------------------------------------------------------
+// CPcsKeyMap::AddKeyMapforHalfQwertyKeyboardL
+// 
+// ----------------------------------------------------------------------------
+void CPcsKeyMap::AddKeyMapforHalfQwertyKeyboardL(TLanguage aLanguage)
+    {
+#ifdef RD_INTELLIGENT_TEXT_INPUT     	
     // Make a language object based on current language
-    CPtiCoreLanguage* coreLanguage = static_cast<CPtiCoreLanguage*>(iPtiEngine->GetLanguage( aLanguage ));
+    CPtiCoreLanguage* iCoreLanguage = static_cast<CPtiCoreLanguage*>(iPtiEngine->GetLanguage(  aLanguage));
 
     //Perfrom the key mappings only if the corelanguage is available
-    if (coreLanguage)
+    if (iCoreLanguage)
         {
         // Get the keyboard mappings for the language
-        CPtiKeyMapData* ptiKeyMapData = coreLanguage->RawKeyMapData();
+        CPtiHalfQwertyKeyMappings* ptiKeyMappings = static_cast<CPtiHalfQwertyKeyMappings*> 
+                (iCoreLanguage->GetHalfQwertyKeymappings());
 
-        const TInt qwertyKeyMappingsCount = iQwertyKeyMappings.Count() - 1;
-        for (TInt i = 0; i < qwertyKeyMappingsCount; i++)
+        iPtiEngine->ActivateLanguageL(aLanguage, EPtiEngineHalfQwerty);
+        iPtiEngine->SetKeyboardType(EPtiKeyboardHalfQwerty);
+
+        for (TInt i = 0; i < iAllKeyMappingsPtrArr.Count() - 1; i++)
             {
-            AddDataForQwertyKeyboardL( ptiKeyMapData, aKbType, 
-                    iQwertyKeys[i], *(iQwertyKeyMappings[i]) );
+            AddDataForHalfQwertyKeyboardL( ptiKeyMappings, iKeysForPoolFormation[i], *(iAllKeyMappingsPtrArr[i]));
             }
         }
 #endif // RD_INTELLIGENT_TEXT_INPUT        
     }
 
 // ----------------------------------------------------------------------------
-// CPcsKeyMap::ConstructForQwertyKeyboardL
-// Destructor
-// ----------------------------------------------------------------------------
-void CPcsKeyMap::ConstructForQwertyKeyboardL(TPtiKeyboardType aKbType)
-    {
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    CreateKeyListFromKeyBindingTable( iQwertyKeys, aKbType );
-
-    // Now add the keymap arrays to hold the keymap data
-    const TInt qwertyKeysCount = iQwertyKeys.Count();
-    for (TInt i = 0; i < qwertyKeysCount; i++)
-        {
-        TKeyMappingData* keyData = new (ELeave) TKeyMappingData;
-        keyData->iKey = iQwertyKeys[i];
-        iQwertyKeyMappings.Append(keyData);
-        }
-
-    PRINT ( _L("----------------------------------------"));
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsKeyMap::AddDataForQwertyKeyboardL
+// CPcsKeyMap::AddDataForHalfQwertyKeyboardL
 // 
 // ----------------------------------------------------------------------------
-void CPcsKeyMap::AddDataForQwertyKeyboardL(CPtiKeyMapData* aPtiKeyMapData,
-                                           TPtiKeyboardType aKbType,
-                                           TPtiKey aKey,
-                                           TKeyMappingData& aKeyDataList)
+void CPcsKeyMap::AddDataForHalfQwertyKeyboardL( CPtiHalfQwertyKeyMappings* aPtiKeyMappings, 
+                                               TPtiKey aKey,  
+                                               TKeyMappingData& aKeyDataList)
     {
 #ifdef RD_INTELLIGENT_TEXT_INPUT     	
     TPtiTextCase caseArray[] =
@@ -442,15 +411,171 @@
         EPtiCaseChrUpper
         };
     
-    for (TInt i = 0; i < sizeof(caseArray) / sizeof(TPtiTextCase); i++)
+    TBuf<50> iResult;
+    for (int i = 0; i < sizeof(caseArray) / sizeof(TPtiTextCase); i++)
         {
-        TPtrC result = aPtiKeyMapData->DataForKey(aKbType, aKey, caseArray[i]);
+        iResult.Zero();
+        aPtiKeyMappings->GetDataForKey(aKey, iResult, caseArray[i]);
+
+        for (int j = 0; j < iResult.Length(); j++)
+            aKeyDataList.iKeyMappingArray.Append(iResult[j]);
+
+        PRINT2 ( _L("CPcsKeyMap: Mapping for Key %c = %S"), aKey,&iResult)
+        }
+#endif // RD_INTELLIGENT_TEXT_INPUT        
+    }
+
+// ----------------------------------------------------------------------------
+// CPcsKeyMap::ContructFor4x10QwertyKeyboardL
+// Destructor
+// ----------------------------------------------------------------------------
+void CPcsKeyMap::ContructFor4x10QwertyKeyboardL(TLanguage aLanguage)
+    {
+#ifdef RD_INTELLIGENT_TEXT_INPUT     
+// The special 4x10 Qwerty keyboard for Sonja.
+    iKeysForPoolFormation.Append( EPtiKeyQwertyA );
+    iKeysForPoolFormation.Append( EPtiKeyQwerty8 );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyC );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyD );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyE );
+    iKeysForPoolFormation.Append( EPtiKeyQwerty4 );
+    iKeysForPoolFormation.Append( EPtiKeyQwerty5 );
+    iKeysForPoolFormation.Append( EPtiKeyQwerty6 );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyI );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyHash ); // Could have been EPtiKeyQwertyJ, EPtiKeyHash
+    iKeysForPoolFormation.Append( EPtiKeyQwertyK );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyL );
+    iKeysForPoolFormation.Append( EPtiKeyQwerty0 );
+    iKeysForPoolFormation.Append( EPtiKeyQwerty9 );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyO );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyP );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyQ );
+    iKeysForPoolFormation.Append( EPtiKeyQwerty1 );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyS );
+    iKeysForPoolFormation.Append( EPtiKeyQwerty2 );
+    iKeysForPoolFormation.Append( EPtiKeyStar );    // Could have been EPtiKeyQwertyU
+    iKeysForPoolFormation.Append( EPtiKeyQwertyV );    // Could have been EPtiKeyQwerty7
+    iKeysForPoolFormation.Append( EPtiKeyQwertyW );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyX );
+    iKeysForPoolFormation.Append( EPtiKeyQwerty3 );
+    iKeysForPoolFormation.Append( EPtiKeyQwertyZ );
+    
+    // one additional pool for special characters not mapped too any keys. 
+    // This should always be the last one in the arrary
+    iKeysForPoolFormation.Append(EPtiKeyNone);
+
+    // Now add the keymap arrays to hold the keymap data
+    for (TInt i = 0; i < iKeysForPoolFormation.Count(); i++)
+        {
+        TKeyMappingData *keyData = new (ELeave) TKeyMappingData;
+        keyData->key = iKeysForPoolFormation[i];
+        iAllKeyMappingsPtrArr.Append(keyData);
+        }
+
+    //  Add the keymap for current language
+    AddKeyMapfor4x10QwertyKeyboardL(aLanguage);
+
+    // If it's TW or HK variant, add the keymap for English language
+    if (aLanguage == ELangTaiwanChinese || aLanguage == ELangHongKongChinese)
+        {
+        AddKeyMapfor4x10QwertyKeyboardL(ELangEnglish);
+        }
+
+    PRINT ( _L("----------------------------------------"));
+#endif //RD_INTELLIGENT_TEXT_INPUT
+    }
 
-        const TInt resultLength = result.Length(); 
-        for (TInt j = 0; j < resultLength; j++)
-            aKeyDataList.iKeyMappingArray.Append(result[j]);
+// ----------------------------------------------------------------------------
+// CPcsKeyMap::AddKeyMapfor4x10QwertyKeyboardL
+// 
+// ----------------------------------------------------------------------------
+void CPcsKeyMap::AddKeyMapfor4x10QwertyKeyboardL(TLanguage aLanguage)
+    {
+#ifdef RD_INTELLIGENT_TEXT_INPUT     	
+    // Make a language object based on current language
+    CPtiCoreLanguage* iCoreLanguage = static_cast<CPtiCoreLanguage*>(iPtiEngine->GetLanguage(aLanguage));
+
+    //Perfrom the key mappings only if the corelanguage is available
+    if (iCoreLanguage)
+        {
+        // Get the keyboard mappings for the language
+        CPtiQwertyKeyMappings* iPtiKeyMappings = static_cast<CPtiQwertyKeyMappings *> 
+                (iCoreLanguage->GetQwertyKeymappings());
+        iPtiEngine->SetKeyboardType(EPtiKeyboardQwerty4x10);
+
+        for (TInt i = 0; i < iAllKeyMappingsPtrArr.Count() - 1; i++)
+            {
+            AddDataFor4x10QwertyKeyboardL(iPtiKeyMappings, iKeysForPoolFormation[i], *(iAllKeyMappingsPtrArr[i]));
+            }
+
+#ifdef HACK_FOR_E72_J_KEY
+        AddDataFor4x10QwertyKeyboardE72HackL();
+#endif // HACK_FOR_E72_J_KEY
+        }
+#endif //RD_INTELLIGENT_TEXT_INPUT        
+
+    }
+
+#ifdef HACK_FOR_E72_J_KEY
+// ----------------------------------------------------------------------------
+// CPcsKeyMap::AddDataFor4x10QwertyKeyboardE72HackL
+//
+// Key code for J/# key in Sonja is EPtiKeyQwertyHash (127).
+// No returned character code ('J', 'j', '#') has 127 as ASCII value.
+// In this case we must add key to the list of characters for the pool.
+// ----------------------------------------------------------------------------
+void CPcsKeyMap::AddDataFor4x10QwertyKeyboardE72HackL()
+    {
+#ifdef RD_INTELLIGENT_TEXT_INPUT    
+    PRINT ( _L("Enter CPcsKeyMap::AddDataFor4x10QwertyKeyboardE72HackL") );
 
-        PRINT2 ( _L("CPcsKeyMap: Mapping for Key %c = %S"), aKey, &result)
+    TPtiKey keyValue = (TPtiKey) EPtiKeyQwertyHash;
+    TInt keyIndex = iKeysForPoolFormation.Find(keyValue);    
+
+    PRINT3 ( _L("CPcsKeyMap: ===== At index %d appending key to list: '%c' (#%d) -Hack-for-E72-"),
+             keyIndex, (TInt) keyValue, (TInt) keyValue);
+
+    if ( KErrNotFound != keyIndex )
+        {
+        iAllKeyMappingsPtrArr[keyIndex]->iKeyMappingArray.Append(keyValue);
+        }
+
+    PRINT ( _L("CPcsKeyMap: ===================================================") );  
+
+    PRINT ( _L("End CPcsKeyMap::AddDataFor4x10QwertyKeyboardE72HackL") );
+#endif // RD_INTELLIGENT_TEXT_INPUT    
+    }
+#endif // HACK_FOR_E72_J_KEY
+
+// ----------------------------------------------------------------------------
+// CPcsKeyMap::AddDataFor4x10QwertyKeyboardL
+// 
+// ----------------------------------------------------------------------------
+void CPcsKeyMap::AddDataFor4x10QwertyKeyboardL(CPtiQwertyKeyMappings* iPtiKeyMappings, 
+                                               TPtiKey aKey,  
+                                               TKeyMappingData& aKeyDataList)
+    {
+#ifdef RD_INTELLIGENT_TEXT_INPUT     	
+    TPtiTextCase caseArray[] =
+            {
+            EPtiCaseUpper,
+            EPtiCaseLower,
+            EPtiCaseFnLower,
+            EPtiCaseFnUpper,
+            EPtiCaseChrLower,
+            EPtiCaseChrUpper
+            };
+        
+    TBuf<50> iResult;
+    for (int i = 0; i < sizeof(caseArray) / sizeof(TPtiTextCase); i++)
+        {
+        iResult.Zero();
+        iPtiKeyMappings->GetDataForKey(aKey, iResult, caseArray[i]);
+
+        for (int j = 0; j < iResult.Length(); j++)
+            aKeyDataList.iKeyMappingArray.Append(iResult[j]);
+
+        PRINT2 ( _L("CPcsKeyMap: Mapping for Key %c = %S"), aKey, &iResult)
         }
 #endif //RD_INTELLIGENT_TEXT_INPUT        
     }
@@ -459,33 +584,42 @@
 // CPcsKeyMap::ContructForItutKeyboardL
 // 
 // ----------------------------------------------------------------------------
-void CPcsKeyMap::ConstructForItutKeyboardL()
+void CPcsKeyMap::ContructForItutKeyboardL(TLanguage aLanguage)
     {
     // Add the keys for Pool formation
-    iItutKeys.Append(EPtiKey0);
-    iItutKeys.Append(EPtiKey1);
-    iItutKeys.Append(EPtiKey2);
-    iItutKeys.Append(EPtiKey3);
-    iItutKeys.Append(EPtiKey4);
-    iItutKeys.Append(EPtiKey5);
-    iItutKeys.Append(EPtiKey6);
-    iItutKeys.Append(EPtiKey7);
-    iItutKeys.Append(EPtiKey8);
-    iItutKeys.Append(EPtiKey9);
+    iKeysForPoolFormation.Append(EPtiKey0);
+    iKeysForPoolFormation.Append(EPtiKey1);
+    iKeysForPoolFormation.Append(EPtiKey2);
+    iKeysForPoolFormation.Append(EPtiKey3);
+    iKeysForPoolFormation.Append(EPtiKey4);
+    iKeysForPoolFormation.Append(EPtiKey5);
+    iKeysForPoolFormation.Append(EPtiKey6);
+    iKeysForPoolFormation.Append(EPtiKey7);
+    iKeysForPoolFormation.Append(EPtiKey8);
+    iKeysForPoolFormation.Append(EPtiKey9);
     // one additional pool for special characters not mapped too any keys. 
     // This should always be the last one in the arrary
-    iItutKeys.Append(EPtiKeyNone);
+    iKeysForPoolFormation.Append(EPtiKeyNone);
 
     // Now add the keymap arrays to hold the keymap data
-    const TInt ltutKeysCount = iItutKeys.Count();
-    for (TInt i = 0; i < ltutKeysCount; i++)
+    for (TInt i = 0; i < iKeysForPoolFormation.Count(); i++)
         {
         TKeyMappingData *keyData = new (ELeave) TKeyMappingData;
-        keyData->iKey = iItutKeys[i];
-        iItutKeyMappings.Append(keyData);
+        keyData->key = iKeysForPoolFormation[i];
+        iAllKeyMappingsPtrArr.Append(keyData);
+        }
+
+    //  Add the keymap for current language
+    AddKeyMapforItutL(aLanguage);
+
+    // If it's TW or HK variant, add the keymap for English language
+    if (aLanguage == ELangTaiwanChinese || aLanguage == ELangHongKongChinese)
+        {
+        AddKeyMapforItutL(ELangEnglish);
         }
 
     PRINT ( _L("----------------------------------------"));
+
     }
 
 // ----------------------------------------------------------------------------
@@ -494,31 +628,29 @@
 // ----------------------------------------------------------------------------
 void CPcsKeyMap::AddKeyMapforItutL(TLanguage aLanguage)
     {
-    // Activate given language and get corresponding language object
-    iPtiEngine->ActivateLanguageL(aLanguage);
-    CPtiCoreLanguage* coreLanguage = static_cast<CPtiCoreLanguage*> (iPtiEngine->GetLanguage(aLanguage));
+    // Make a language object based on current language
+    CPtiCoreLanguage* iCoreLanguage = static_cast<CPtiCoreLanguage*> (iPtiEngine->GetLanguage(aLanguage));
 
     //Perfrom the key mappings only if the corelanguage is available
-    if (coreLanguage)
+    if (iCoreLanguage)
         {
         // Get the keyboard mappings for the language
-        CPtiKeyMapData* ptiKeyMapData = coreLanguage->RawKeyMapData();
+        CPtiKeyMappings* iPtiKeyMappings =  static_cast<CPtiKeyMappings*> 
+                (iCoreLanguage->GetKeymappings());
 
-        const TInt ltutKeyMappingsCount = iItutKeyMappings.Count() - 1;
-        for (TInt i = 0; i < ltutKeyMappingsCount; i++)
+        for (TInt i = 0; i < iAllKeyMappingsPtrArr.Count() - 1; i++)
             {
-            AddDataForItutKeyboardL(ptiKeyMapData, iItutKeys[i], *(iItutKeyMappings[i]));
+            AddDataForItutKeyboardL(iPtiKeyMappings, iKeysForPoolFormation[i], *(iAllKeyMappingsPtrArr[i]));
             }
         }
 
-    if ( (aLanguage == ELangPrcChinese || aLanguage == ELangTaiwanChinese || aLanguage == ELangHongKongChinese) && 
-         (iAlgorithm->FindUtilECE()->CurrentSearchMethod() == EAdptSearchStroke) )
+    if (iAlgorithm->FindUtilECE()->CurrentInputLanguage() == ELangHongKongChinese)
         {
-        (*(iItutKeyMappings[1])).iKeyMappingArray.Append(0x4E00); //heng
-        (*(iItutKeyMappings[2])).iKeyMappingArray.Append(0x4E28); //shu
-        (*(iItutKeyMappings[3])).iKeyMappingArray.Append(0x4E3F); //pie
-        (*(iItutKeyMappings[4])).iKeyMappingArray.Append(0x4E36); //dian
-        (*(iItutKeyMappings[5])).iKeyMappingArray.Append(0x4E5B); //zhe
+        (*(iAllKeyMappingsPtrArr[1])).iKeyMappingArray.Append(0x4E00); //heng
+        (*(iAllKeyMappingsPtrArr[2])).iKeyMappingArray.Append(0x4E28); //shu
+        (*(iAllKeyMappingsPtrArr[3])).iKeyMappingArray.Append(0x4E3F); //pie
+        (*(iAllKeyMappingsPtrArr[4])).iKeyMappingArray.Append(0x4E36); //dian
+        (*(iAllKeyMappingsPtrArr[5])).iKeyMappingArray.Append(0x4E5B); //zhe
         }
 
     }
@@ -526,80 +658,18 @@
 // CPcsKeyMap::AddDataForItutKeyboardL
 // 
 // ----------------------------------------------------------------------------
-void CPcsKeyMap::AddDataForItutKeyboardL(CPtiKeyMapData* aPtiKeyMapData, TPtiKey aKey, TKeyMappingData& aKeyDataList)
+void CPcsKeyMap::AddDataForItutKeyboardL(CPtiKeyMappings* iPtiKeyMappings, TPtiKey aKey, TKeyMappingData& aKeyDataList)
     {
     TPtiTextCase caseArray[] = { EPtiCaseUpper, EPtiCaseLower };
-    for (TInt i = 0; i< sizeof(caseArray) / sizeof(TPtiTextCase); i++)
-        {
-        TPtrC result = aPtiKeyMapData->DataForKey(EPtiKeyboard12Key, aKey, caseArray[i]);
-        const TInt resultLength =  result.Length();
-        for (TInt j = 0; j < resultLength; j++)
-            aKeyDataList.iKeyMappingArray.Append(result[j]);
-        PRINT2 ( _L("CPcsKeyMap: Mapping for Key %c = %S"), aKey,&result)
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsKeyMap::CreateKeyMapFromKeyBindingTable
-//
-// ----------------------------------------------------------------------------
-void CPcsKeyMap::CreateKeyListFromKeyBindingTable( RArray<TPtiKey>& aKeyArray, 
-        TPtiKeyboardType aKbType )
-    {
-    PRINT ( _L("Enter CPcsKeyMap::CreateKeyListFromKeyBindingTable") );
-
-    // Use Eglish mappings to list the keys on the keyboard
-    TRAP_IGNORE( iPtiEngine->ActivateLanguageL( ELangEnglish ) );
-    CPtiCoreLanguage* ptiLang = 
-            static_cast<CPtiCoreLanguage*>(iPtiEngine->GetLanguage( ELangEnglish ));
-
-    if (ptiLang)
+    TBuf<50> iResult;
+    for (int i = 0; i< sizeof(caseArray) / sizeof(TPtiTextCase); i++)
         {
-        const CPtiKeyMapData* keyMapData = ptiLang->RawKeyMapData();
-        const TPtiKeyBinding* table = NULL;
-        TInt numItems = 0;
-        if ( keyMapData )
-            {
-            table = keyMapData->KeyBindingTable(aKbType, numItems);
-            }
-        else
-            {
-            PRINT( _L("CPcsKeyMap::CreateKeyListFromKeyBindingTable: #### Failed to get RawKeyMapData ####") );
-            }
-        
-        PRINT1 ( _L("CPcsKeyMap::CreateKeyListFromKeyBindingTable: Num of Items in KeyBindingTable is %d"), numItems );
-
-        // Get from the key table the keys for constructing the pools
-        if (table)
-            {
-            for (TInt i = 0; i < numItems; i++)
-                {
-                TPtiKey key = (TPtiKey) table[i].iScanCode;
-                // Get all keys with same EPtiCaseLower or EPtiCaseUpper case
-                // Only for one of the casing to avoid repetitions
-                if ( (EPtiKeyNone != key) && (EPtiCaseLower == table[i].iCase) )
-                    {
-                    PRINT3 ( _L("CPcsKeyMap::CreateKeyListFromKeyBindingTable: Adding pool %d with key '%c' (0x%02X)"),
-                            aKeyArray.Count(), key, key );
-                    aKeyArray.Append( key );
-                    }
-                }
-            }
-        else
-            {
-            PRINT ( _L("CPcsKeyMap::CreateKeyListFromKeyBindingTable: ##### Failed to create Key List (KeyBindingTable) #####") );
-            }
+        iResult.Zero();
+        iPtiKeyMappings->GetDataForKey(aKey, iResult, caseArray[i]);
+        for (int j = 0; j < iResult.Length(); j++)
+            aKeyDataList.iKeyMappingArray.Append(iResult[j]);
+        PRINT2 ( _L("CPcsKeyMap: Mapping for Key %c = %S"), aKey,&iResult)
         }
-    else
-        {
-        PRINT ( _L("CPcsKeyMap::CreateKeyListFromKeyBindingTable: ##### Failed to create Key List (Language) #####") );
-        }
-
-    // one additional pool for special characters not mapped too any keys. 
-    // This should always be the last one in the arrary
-    aKeyArray.Append(EPtiKeyNone);
-
-    PRINT ( _L("End CPcsKeyMap::CreateKeyListFromKeyBindingTable") );
     }
 
 // ----------------------------------------------------------------------------
@@ -610,8 +680,7 @@
     {
 
     TBool flag = ETrue;
-    const TInt languageNotSupportedCount = iLanguageNotSupported.Count();
-    for (TInt i = 0; i < languageNotSupportedCount; i++)
+    for (int i = 0; i < iLanguageNotSupported.Count(); i++)
         {
         if (iLanguageNotSupported[i] == aLang)
             {
@@ -621,131 +690,31 @@
 
     return flag;
     }
-
-// ----------------------------------------------------------------------------
-// CPcsKeyMap::PoolIdForKey
-//
-// ----------------------------------------------------------------------------
-TInt CPcsKeyMap::PoolIdForKey(TPtiKey aKey, TKeyboardModes aKbMode) const
-    {
-    __ASSERT_DEBUG( (aKbMode==EPredictiveItuT || aKbMode==EPredictiveQwerty),
-                    Panic(EPanic_InvalidKeyboardType) );
-    
-    // From logical point of view, the Pool ID is an index of the key in
-    // an array which is formed by concatenating QWERTY keys array in the end
-    // of the ITU-T keys array.
-    TInt poolId = KErrNotFound;
-    if ( aKbMode == EPredictiveItuT && iItutKeys.Count() )
-        {
-        poolId = iItutKeys.Find(aKey);
-        // IF the key is not found, then it should go to the special pool,
-        // which is the pool of the dummy key in the ITU-T keys array
-        if (KErrNotFound == poolId)
-            {
-            poolId = iItutKeys.Count() - 1;
-            }
-        }
-    else if ( aKbMode == EPredictiveQwerty && iQwertyKeys.Count() )
-        {
-        poolId = iQwertyKeys.Find(aKey);
-        // IF the key is not found, then it should go to the special pool,
-        // which is the pool of the dummy key in the QWERTY keys array
-        if (KErrNotFound == poolId)
-            {
-            poolId = iQwertyKeys.Count() - 1;
-            }
-        // Pools of QWERTY keys come after pools of ITU-T keys
-        poolId += iItutKeys.Count();
-        }
-
-    // Pool ID must never exceed value 63, because CPcsCache class
-    // stores these values as bitmask into 64 bit variable.
-    __ASSERT_DEBUG( poolId < 64, Panic(EPanic_OverflowInPoolIndex) );
-    return poolId;
-    }
-
 // ----------------------------------------------------------------------------
 // CPcsKeyMap::PoolIdForCharacter
 // 
 // ----------------------------------------------------------------------------
-TInt CPcsKeyMap::PoolIdForCharacter( TChar aChar, TKeyboardModes aKbMode )
+TInt CPcsKeyMap::PoolIdForCharacter(TChar aChar)
     {
-    // Pools are formed according the predictive keyboard mapping(s).
-    // When selecting pool for non-predictive mode, we use the pool of the
-    // default keyboard. The non-predictive matches should be a sub set of the
-    // predictive matches of the default keyboard, although strictly speaking,
-    // there' no guarantee for this.
-    if ( aKbMode == ENonPredictive || aKbMode == EPredictiveDefaultKeyboard )
-        {
-        aKbMode = ( iItutIsDefault ? EPredictiveItuT : EPredictiveQwerty );
-        }
-
+    TInt numValue = KErrNotFound;
+    
     // If character is a Chinese word character, then we select the
     // pool ID according the first character of the first spelling of the word.
     TRAP_IGNORE( aChar = FirstCharFromSpellingL( aChar ) );
-
-    TPtiKey key = KeyForCharacter( aChar, aKbMode );
-    TInt poolId = PoolIdForKey( key, aKbMode );
-
-    return poolId;
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsKeyMap::PoolCount
-// 
-// ----------------------------------------------------------------------------
-TInt CPcsKeyMap::PoolCount()
-    {
-    return iItutKeyMappings.Count() + iQwertyKeyMappings.Count();
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsKeyMap::GetSpaceAndZeroOnSameKey
-// 
-// ----------------------------------------------------------------------------
-TBool CPcsKeyMap::GetSpaceAndZeroOnSameKey( TKeyboardModes aMode )
-    {
-    // Resolve ambiguous keyboard mode
-    aMode = ResolveKeyboardMode( aMode );
     
-    if ( aMode == EPredictiveItuT )
+    TInt key = KeyForCharacter(aChar);
+    if (key != KErrNotFound)
         {
-        return iSpaceAndZeroOnSameKeyOnItut;
-        }
-    else if ( aMode == EPredictiveQwerty )
-        {
-        return iSpaceAndZeroOnSameKeyOnQwerty;
+        numValue = iKeysForPoolFormation.Find((TPtiKey) key);
         }
     else
         {
-        return EFalse;
+        // IF the key is not found, then it should go to the special pool,
+        // which is the last pool of iAllKeyMappingsPtrArr
+        numValue = iAllKeyMappingsPtrArr.Count() - 1;
         }
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsKeyMap::SetSpaceAndZeroOnSameKey
-// 
-// ----------------------------------------------------------------------------
-void CPcsKeyMap::SetSpaceAndZeroOnSameKey()
-    {
-    static const TInt KSpace = 0x20; // ASCII for " "
-    static const TInt KZero  = 0x30; // ASCII for "0"
 
-    TChar charSpace(KSpace);
-    TChar charZero(KZero);
-
-    TPtiKey keySpace;
-    TPtiKey keyZero;
-    
-    // ITU-T mode
-    keySpace = KeyForCharacter(charSpace, EPredictiveItuT);
-    keyZero = KeyForCharacter(charZero, EPredictiveItuT);
-    iSpaceAndZeroOnSameKeyOnItut = (keySpace == keyZero);
-    
-    // QWERTY mode
-    keySpace = KeyForCharacter(charSpace, EPredictiveQwerty);
-    keyZero = KeyForCharacter(charZero, EPredictiveQwerty);
-    iSpaceAndZeroOnSameKeyOnQwerty = (keySpace == keyZero);
+    return numValue;
     }
 
 // ----------------------------------------------------------------------------
@@ -757,7 +726,7 @@
     TChar translated( aChar );
     TBuf<1> temp;
     temp.Append( aChar );
-    if ( iAlgorithm->FindUtilECE()->IsChineseWordIncluded( temp ) )
+    if ( iAlgorithm->FindUtilECE()->IsChineseWord( temp ) )
         {
         RPointerArray<HBufC> spellList;
         CleanupResetAndDestroyPushL( spellList );
@@ -769,91 +738,12 @@
         }
     return translated;
     }
-
 // ----------------------------------------------------------------------------
-// CPcsKeyMap::KeyMappings
-//
-// ----------------------------------------------------------------------------
-const RPointerArray<TKeyMappingData>* CPcsKeyMap::KeyMappings( TKeyboardModes aMode ) const
-    {
-    const RPointerArray<TKeyMappingData>* mappings = NULL;
-    
-    if ( aMode == EPredictiveItuT )
-        {
-        mappings = &iItutKeyMappings;
-        }
-    else if ( aMode == EPredictiveQwerty )
-        {
-        mappings = &iQwertyKeyMappings;
-        }
-    else if ( aMode == ENonPredictive )
-        {
-        mappings = NULL;
-        }
-    else
-        {
-        mappings = NULL;
-        __ASSERT_DEBUG( EFalse, Panic( EPanic_InvalidKeyboardType ) );
-        }
-    
-    return mappings;
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsKeyMap::ResolveKeyboardMode
+// CPcsKeyMap::PoolCount
 // 
 // ----------------------------------------------------------------------------
-TKeyboardModes CPcsKeyMap::ResolveKeyboardMode( TKeyboardModes aKbMode ) const
+TInt CPcsKeyMap::PoolCount()
     {
-    TKeyboardModes resolvedMode = aKbMode;
-    
-    // Substitute "default predictive" mode with actual mode
-    if ( resolvedMode == EPredictiveDefaultKeyboard )
-        {
-        resolvedMode = ( iItutIsDefault ? EPredictiveItuT : EPredictiveQwerty );
-        }
-
-    // Substitute predictive mode with non-predictive mode if corresponding
-    // keyboard mappings are not available.
-    if ( ( resolvedMode == EPredictiveItuT && iItutKeyboardType == EPtiKeyboardNone ) ||
-         ( resolvedMode == EPredictiveQwerty && iQwertyKeyboardType == EPtiKeyboardNone ) )
-        {
-        PRINT1( _L("CPcsKeyMap::ResolveKeyboardMode: Mappings for requested mode %d unavailable. Falling back to non-predictive mode!"), aKbMode );
-        resolvedMode = ENonPredictive;
-        }
-    
-    return resolvedMode;
-    }
-
-// ----------------------------------------------------------------------------
-// CPcsKeyMap::DefaultCharForKey
-// 
-// ----------------------------------------------------------------------------
-TText CPcsKeyMap::DefaultCharForKey( TPtiKey aKey, TKeyboardModes aKbMode ) const
-    {
-    // On ITU-T, the Pti key code can be directly interpreted as unicode character.
-    // Thus, default characters for keys are 1,2,3,4,5,6,7,8,9,0,*,#.
-    TText defChar = aKey;
-    
-    // On QWERTY, using PtiKey values directly is not safe since all PtiKey values are
-    // not codepoints of printable Unicode characters.
-    // Treating these arbitrary numerical values as Unicode characters could break 
-    // the uniqueness of keys when collated comparison is used. Also, converting same
-    // data multiple times to "compare format" would then break the data.
-    if ( aKbMode == EPredictiveQwerty )
-        {
-        // Take first mapped character of the key and convert it to upper case.
-        TInt index = iQwertyKeys.Find( aKey );
-        if ( index != KErrNotFound )
-            {
-            const RArray<TInt>& mappings = iQwertyKeyMappings[index]->iKeyMappingArray;
-            if ( mappings.Count() )
-                {
-                defChar = User::UpperCase( mappings[0] );
-                }
-            }
-        }
-    
-    return defChar;
+    return iAllKeyMappingsPtrArr.Count();
     }
 // End of file
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsPoolElement.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/CPcsPoolElement.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -73,25 +73,26 @@
 }
 
 // ----------------------------------------------------------------------------
-// CPcsPoolElement::CompareByDataL
-// 
+// CPcsPoolElement::CompareByData
+// Calls CPsData::CompareByData to compare CPsData objects
 // 
 // ----------------------------------------------------------------------------
-TInt CPcsPoolElement::CompareByDataL ( const CPcsPoolElement& aObject1,  const CPcsPoolElement& aObject2 )
+TInt CPcsPoolElement::CompareByData ( const CPcsPoolElement& aObject1,  const CPcsPoolElement& aObject2 )
 {
-    CPsData *data1 = const_cast<CPcsPoolElement&> (aObject1).GetPsData();
-    CPsData *data2 = const_cast<CPcsPoolElement&> (aObject2).GetPsData();  
-    return (CPcsAlgorithm2Utils::CompareDataBySortOrderL(*(data1), *(data2)));
+  CPsData *data1 = const_cast<CPcsPoolElement&> (aObject1).GetPsData();
+  CPsData *data2 = const_cast<CPcsPoolElement&> (aObject2).GetPsData();  
+  return (CPcsAlgorithm2Utils::CompareDataBySortOrder(*(data1), *(data2)));
 }
 
 // CPcsPoolElement::IsDataMatch
 // 
 // ----------------------------------------------------------------------------		
-TBool CPcsPoolElement::IsDataMatch(TInt aIndex)
+TBool CPcsPoolElement::IsDataMatch (TInt aIndex)
 {
-    __ASSERT_DEBUG( aIndex < 8, User::Panic( _L("CPcsPoolElement"), KErrOverflow ) );
-    TUint8 val = 1 << aIndex;
-    return (iDataMatchAttribute & val);
+	TReal val;
+	Math::Pow(val, 2, aIndex);
+
+	return(iDataMatchAttribute & (TUint8)val);	
 }
 
 // ----------------------------------------------------------------------------
@@ -100,9 +101,10 @@
 // ----------------------------------------------------------------------------
 void CPcsPoolElement::SetDataMatch(TInt aIndex)
 {
-    __ASSERT_DEBUG( aIndex < 8, User::Panic( _L("CPcsPoolElement"), KErrOverflow ) );
-    TUint8 val = 1 << aIndex;
-    iDataMatchAttribute |= val;
+	TReal val;
+	Math::Pow(val, 2, aIndex);
+
+	iDataMatchAttribute |= (TUint8)val;	
 }
 
 // ----------------------------------------------------------------------------
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/CPsDataPluginInterface.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/CPsDataPluginInterface.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -15,7 +15,6 @@
 *
 */
 
-
 // INCLUDE FILES
 #include "CPsDataPluginInterface.h"
 #include "CPsDataPlugin.h"
@@ -110,8 +109,7 @@
     
     // Instantiate plugins for all impUIds by calling 
     // InstantiatePlugInFromImpUidL
-    const TInt infoArrayCount = infoArray.Count();
-    for ( TInt i=0; i < infoArrayCount; i++ )
+    for ( TInt i=0; i<infoArray.Count(); i++ )
     {
         // Get imp info
         CImplementationInformation& info( *infoArray[i] );
@@ -180,8 +178,8 @@
 {
 
     PRINT ( _L("Enter CPsDataPluginInterface::RequestForDataL") );
-   const TInt instancesCount = iPsDataPluginInstances.Count();
-    for ( TInt idx = 0; idx < instancesCount; idx++ )
+   
+    for ( TInt idx = 0; idx < iPsDataPluginInstances.Count(); idx++ )
     {
         if(iPsDataPluginInstances[idx]->IsDataStoresSupportedL(aDataStore))
         {
@@ -202,8 +200,8 @@
 {
 
     PRINT ( _L("Enter CPsDataPluginInterface::GetAllSupportedDataStoresL") );
-    const TInt instancesCount = iPsDataPluginInstances.Count();
-    for ( TInt idx = 0; idx < instancesCount; idx++ )
+   
+    for ( TInt idx = 0; idx < iPsDataPluginInstances.Count(); idx++ )
     {       
        iPsDataPluginInstances[idx]->GetSupportedDataStoresL(aDataStores);
     }
@@ -221,23 +219,20 @@
 
     PRINT ( _L("Enter CPsDataPluginInterface::GetAllSupportedDataStoresL") );
    
-    const TInt instancesCount = iPsDataPluginInstances.Count();
-    for ( TInt idx = 0; idx < instancesCount; idx++ )
-    {
-       RPointerArray<TDesC> dataStores;
-       CleanupClosePushL( dataStores );
-       iPsDataPluginInstances[idx]->GetSupportedDataStoresL(dataStores);
+    for ( TInt idx = 0; idx < iPsDataPluginInstances.Count(); idx++ )
+    {   
+       RPointerArray<TDesC> aDataStores;    
+       iPsDataPluginInstances[idx]->GetSupportedDataStoresL(aDataStores);
        
-       const TInt dataStoresCount = dataStores.Count();
-       for ( TInt i(0); i < dataStoresCount; i++)
-       {
-	       	if ( dataStores[i]->Compare(aUri) == 0)
+       for( TInt i(0); i<aDataStores.Count(); i++)
+       {       	
+	       	if( aDataStores[i]->Compare(aUri) == 0)
 	       	{
 	       		iPsDataPluginInstances[idx]->GetSupportedDataFieldsL(aDataFields);
 	       		break;
-	       	}
+	       	}    	
        }
-       CleanupStack::PopAndDestroy( &dataStores ); // Close
+       aDataStores.Reset();
     }
     
     PRINT ( _L("End CPsDataPluginInterface::GetAllSupportedDataStoresL") );
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/FindUtilChineseECE.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/FindUtilChineseECE.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -20,12 +20,11 @@
 #include <AknFepInternalCRKeys.h>
 #include <aknedsts.h>
 #include <coeaui.h>
-#include <AvkonInternalCRKeys.h>
-
 // The below code is commented out because current CFindUtilChineseECE is used
 // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
 // for the further merging work (merge from FindUtil 5.0)
 #if 0
+#include <AvkonInternalCRKeys.h>
 #include <aknenv.h> //phonebook
 #include <aknappui.h>
 #include <aknapp.h>
@@ -46,13 +45,12 @@
 const TUint16 KZhuyinstart = 0x3105;
 const TInt KZhuyincount = 37;
 const TInt KSeperator = 2626;
-const TUint16 KMinUnicodeHz = 0x4e00;
-const TUint16 KMaxUnicodeHz = 0x9fa5;
-const TUint16 KStrokeHorizontalValue = 0x4e00;
-const TUint16 KStrokeVerticalValue = 0x4e28;
-const TUint16 KStrokeDownToLeftValue = 0x4e3f;
-const TUint16 KStrokeDownToRightValue = 0x4e36;
-const TUint16 KStrokeBendingValue = 0x4e5b;
+const TInt16 KMinUnicodeHz = 0x4e00;
+const TInt16 KStrokeHorizontalValue = 0x4e00;
+const TInt16 KStrokeVerticalValue = 0x4e28;
+const TInt16 KStrokeDownToLeftValue = 0x4e3f;
+const TInt16 KStrokeDownToRightValue = 0x4e36;
+const TInt16 KStrokeBendingValue = 0x4e5b;
 const TInt KSysInputMode = -1;
 const TInt KLeftToRightFlag =0x200e;
 const TInt KRightToLeftFlag =0x200f;
@@ -64,7 +62,6 @@
 const TUid KUidPhoneBookServer = {0x10207277};
 #endif
 
-
 _LIT(KWildChar, "*");
 _LIT(KUnderLine, "_");
 _LIT(KMiddleLine, "-");
@@ -73,6 +70,28 @@
 _LIT(KPanicReason, "Abnormal input parameters!");
 
 const TInt KLitLineFeed(8233);
+
+// CleanupStack helpers for item owning RPointerArrays
+template <class T>
+class CleanupResetAndDestroy
+    {
+public:
+    inline static void PushL( T& aRef )
+        { 
+        CleanupStack::PushL( TCleanupItem( &ResetAndDestroy, &aRef ) ); 
+        }
+private:
+    inline static void ResetAndDestroy( TAny *aPtr )
+        { 
+        static_cast<T*>( aPtr )->ResetAndDestroy();
+        }
+    };
+
+template <class T>
+inline void CleanupResetAndDestroyPushL( T& aRef )
+    { 
+    CleanupResetAndDestroy<T>::PushL( aRef );
+    }
 // ======== MEMBER FUNCTIONS ========
 
 // ---------------------------------------------------------
@@ -97,16 +116,25 @@
 void CFindUtilChineseECE::ConstructL(CPcsAlgorithm2* aAlgorithm)
     {
     iRepositoryFind = CRepository::NewL(KCRUidAknFep);
+    // The below code is commented out because current CFindUtilChineseECE is used
+    // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
+    // for the further merging work (merge from FindUtil 5.0)
+#if 0   
     iRepositoryFindAdaptive = CRepository::NewL(KCRUidAvkon);
+#endif
 
     iWatcher = CFindRepositoryWatcher::NewL(KCRUidAknFep, 
         TCallBack(HandleFindRepositoryCallBack, this), 
         iRepositoryFind);
 
+    // The below code is commented out because current CFindUtilChineseECE is used
+    // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
+    // for the further merging work (merge from FindUtil 5.0)
+#if 0
     iWatcherAdaptive = CFindRepositoryWatcher::NewL(KCRUidAvkon,
         TCallBack(HandleFindRepositoryCallBack, this),
-        iRepositoryFindAdaptive);
-
+        iRepositoryFindAdaptive);                                        
+#endif
     iAlgorithm = aAlgorithm;
     OpenL();
 
@@ -118,11 +146,19 @@
 //
 CFindUtilChineseECE::CFindUtilChineseECE() :
 iLanguage(ELangTest),
-iCurInputMode(KSysInputMode),
-iSearchMethod(EAdptSearchPinyin),
+iSupportPRCChinese(EFalse),
+iCurInputMode(KSysInputMode)
+// The below code is commented out because current CFindUtilChineseECE is used
+// on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
+// for the further merging work (merge from FindUtil 5.0)
+#if 0
+iSearchMethodPRC(EAdptSearchPinyin),
+iSearchMethodTaiWan(EAdptSearchZhuyin),
+iSearchMethodHongKong(EAdptSearchStroke),
 iSearchMethodAdaptive(EFalse)
-    {
-    }
+#endif
+    	    {
+    	    }
 
 // ---------------------------------------------------------
 // Destructor
@@ -132,9 +168,15 @@
     {
     delete iPtiEngine;
     delete iWatcher;
+    delete iPtiEnginePrc;
     delete iRepositoryFind;
+    // The below code is commented out because current CFindUtilChineseECE is used
+    // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
+    // for the further merging work (merge from FindUtil 5.0)
+#if 0
     delete iWatcherAdaptive;
     delete iRepositoryFindAdaptive;
+#endif
     }
 
 // ---------------------------------------------------------
@@ -146,36 +188,12 @@
     if (!iPtiEngine)
         {
         iPtiEngine = CPtiEngine::NewL();
+        iSupportPRCChinese = IsSupportLanguage(ELangPrcChinese);
         }
 
     if (aLanguage != iLanguage)
         {
-        // We only support Chinese languages. If input language is changed
-        // to non-Chinese, then first available Chinese language is used
-        // instead.
-        if ( aLanguage == ELangPrcChinese ||
-             aLanguage == ELangTaiwanChinese ||
-             aLanguage == ELangHongKongChinese )
-            {
-            iLanguage = aLanguage;
-            }
-        else if ( IsSupportLanguage(ELangPrcChinese) )
-            {
-            iLanguage = ELangPrcChinese;
-            }
-        else if ( IsSupportLanguage(ELangTaiwanChinese) )
-            {
-            iLanguage = ELangTaiwanChinese;
-            }
-        else if ( IsSupportLanguage(ELangHongKongChinese) )
-            {
-            iLanguage = ELangHongKongChinese;
-            }
-        else
-            {
-            iLanguage = aLanguage;
-            }
-        
+        iLanguage = aLanguage;
         iPtiEngine->ActivateLanguageL(iLanguage);
         iPtiEngine->EnableToneMarks(EFalse);
         }
@@ -199,10 +217,6 @@
 //
 TBool CFindUtilChineseECE::DoTranslationL(TInt16 aHZUnicode, RPointerArray<HBufC>& aSpellList)
     {
-    // Always translate according the adaptive search method setting
-    return T9ChineseTranslationAdaptiveL(aHZUnicode, aSpellList);
-    
-#if 0
     // The below code is commented out because current CFindUtilChineseECE is used
     // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
     // for the further merging work (merge from FindUtil 5.0)
@@ -250,14 +264,13 @@
 #endif
     return ETrue;
 
-#endif
     }
 
 // ---------------------------------------------------------
 // Find pane text is including stroke symbol
 // ---------------------------------------------------------
 //
-TInt CFindUtilChineseECE::IsStrokeSymbol(const TUint16 aFindWord)
+TInt CFindUtilChineseECE::IsStrokeSymbol(const TInt aFindWord)
     {
     TInt strokeValue = 0;
 
@@ -285,7 +298,24 @@
     return strokeValue;
     }
 
-#if 0
+TInt CFindUtilChineseECE::CategoryOfLang(TLanguage aLanguage)
+    {
+    TInt ret = 0;
+    if (iLanguage == ELangPrcChinese || ( aLanguage == ELangEnglish && iSupportPRCChinese ))
+        {
+        ret = 1;
+        }
+    else if (aLanguage == ELangTaiwanChinese)
+        {
+        ret = 2;
+        }
+    else if (aLanguage == ELangHongKongChinese)
+        {
+        ret = 3;
+        }
+    return ret;
+    }
+
 // ---------------------------------------------------------
 // Do translate for Chinese word
 // ---------------------------------------------------------
@@ -293,6 +323,7 @@
 TBool CFindUtilChineseECE::T9ChineseTranslationL(TInt16 aHZUnicode, RPointerArray<HBufC>& aSpellList)
     {
     TBuf<KMaxWordInterpretationLen> wordInterpretationBuf;
+    TBuf<KMaxWordInterpretationLen> numInterpretationBuf;
 
     if (iLanguage == ELangPrcChinese)
         {
@@ -358,8 +389,11 @@
 
     return ETrue;
     }
-#endif
 
+// The below code is commented out because current CFindUtilChineseECE is used
+// on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
+// for the further merging work (merge from FindUtil 5.0)
+#if 0    
 // ---------------------------------------------------------
 // Do translate for Chinese word
 // ---------------------------------------------------------
@@ -369,59 +403,121 @@
     {
     TBuf<KMaxWordInterpretationLen> wordInterpretationBuf;
 
-    switch(iSearchMethod)
+    if ( iLanguage == ELangPrcChinese )
         {
-        case EAdptSearchPinyin:
-            if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiPinyin)
+        if(iSearchMethodPRC == EAdptSearchPinyin)
+            {
+            if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiPinyin) 
+                != KErrNone)
+                {
+                return EFalse;
+                }	
+            }
+        else if(iSearchMethodPRC == EAdptSearchStroke)    
+            {
+            if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiStrokes) 
                 != KErrNone)
                 {
                 return EFalse;
-                }
-             break;
-        case EAdptSearchStroke:
-            if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiStrokes)
+                }	
+            }
+        else
+            {
+            return EFalse;	
+            }    
+
+        }
+    else if ( iLanguage == ELangTaiwanChinese )
+        {
+        if(iSearchMethodTaiWan == EAdptSearchZhuyin)
+            {
+            if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiZhuyin) 
                 != KErrNone)
                 {
                 return EFalse;
-                }
-            break;
-        case EAdptSearchZhuyin:
-            if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiZhuyin)
+                }	
+            }
+        else if(iSearchMethodTaiWan == EAdptSearchStroke)    
+            {
+            if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiStrokes) 
                 != KErrNone)
                 {
                 return EFalse;
-                }   
-            break;
-        case EAdptSearchNormalCangjie:
-            if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiCangJie)
-                != KErrNone)
-                {
-                return EFalse;
-                }
-            break;
-        case EAdptSearchEasyCangjie:
-            if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiEasyCangjie) 
-                != KErrNone)
-                {
+                }	
+            }
+        else
+            {
+            return EFalse;	
+            }       
+        }
+    else if ( iLanguage == ELangHongKongChinese )
+        {
+        switch(iSearchMethodHongKong)
+            {
+            case EAdptSearchNormalCangjie:
+                if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiCangJie) 
+                    != KErrNone)
+                    {
+                    return EFalse;
+                    }
+                break;
+            case EAdptSearchEasyCangjie:
+                if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiEasyCangjie) 
+                    != KErrNone)
+                    {
+                    return EFalse;
+                    }
+                break;
+            case EAdptSearchAdvCangjie:
+                if ((iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiCangJie) != KErrNone)
+                    &&(iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiEasyCangjie) != KErrNone))
+                    {
+                    return EFalse;
+                    }
+                break;
+            case EAdptSearchStroke:
+                if (iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiStrokes) 
+                    != KErrNone)
+                    {
+                    return EFalse;
+                    }
+                break;
+            default:
+                return EFalse;        	
+            }
+
+        }
+    else if ( iLanguage == ELangEnglish )
+        {
+        if (!iSupportPRCChinese)
+            {
+            return EFalse;
+            }
+
+        TInt err = KErrNone;
+        if (!iPtiEnginePrc)
+            {
+            iPtiEnginePrc = CPtiEngine::NewL(EFalse);
+            TRAP(err, iPtiEnginePrc->ActivateLanguageL(ELangPrcChinese));
+            }   
+
+        if (err == KErrNone)
+            {
+            if (iPtiEnginePrc->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiPinyin) 
+                != KErrNone) 
+
                 return EFalse;
-                }
-            break;
-        case EAdptSearchAdvCangjie:
-            if ((iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiCangJie) != KErrNone)
-                &&(iPtiEngine->GetSpelling(aHZUnicode, wordInterpretationBuf, EPtiEasyCangjie) != KErrNone))
-                {
-                return EFalse;
-                }
-            break;
-        default:
-            return EFalse;
+            }
         }
-
+    else
+        {
+        return EFalse;
+        }
 
     TInt len = wordInterpretationBuf.Length();
     TInt start = 0;
 
-    if( iSearchMethod != EAdptSearchAdvCangjie )
+    if( iSearchMethodHongKong != EAdptSearchAdvCangjie )
         {
         for (TInt i =0; i < len; i++)
             {
@@ -432,7 +528,7 @@
                 }
             }
 
-        aSpellList.Append((wordInterpretationBuf.MidTPtr(start, len-start)).Alloc());
+        aSpellList.Append((wordInterpretationBuf.MidTPtr(start, len-start)).Alloc());   	
         }
     //Could look advanced cangjie as normal and easy cangjie
     else 
@@ -468,7 +564,8 @@
         }
 
     return ETrue;
-    }
+    } 
+#endif
 
 // ---------------------------------------------------------
 // Find pane text is including separator
@@ -486,71 +583,75 @@
 void CFindUtilChineseECE::OpenL()
     {
     TInt inputLanguage = 0;
-    TInt searchMode = 0;
+    //TInt searchMode =0;
 
     if (iRepositoryFind != NULL)
         {
         iRepositoryFind->Get(KAknFepInputTxtLang, inputLanguage);
         }
 
-    // The following sets iLangueage to inputLanguage if inputLanguage
-    // is Chinese. If inputLanguage is non-Chinese, iLanguage will be
-    // set to first available Chinese language.
     OpenT9InterfaceL((TLanguage) inputLanguage);
 
+    // The below code is commented out because current CFindUtilChineseECE is used
+    // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
+    // for the further merging work (merge from FindUtil 5.0)
+#if 0
     if (iRepositoryFindAdaptive != NULL)
         {
         iRepositoryFindAdaptive->Get(KAknAvkonAdaptiveSearchEnabled, iSearchMethodAdaptive);
         }
-    if (iLanguage == ELangPrcChinese)
+    if( inputLanguage == ELangPrcChinese)
         {
-        iRepositoryFindAdaptive->Get(KAknAdaptiveSearchChinesePRC , searchMode);
-        if (searchMode == 0)
+        iRepositoryFindAdaptive->Get(KAknAdaptiveSearchChinesePRC , searchMode);	
+        if(searchMode ==0)
             {
-            iSearchMethod = EAdptSearchPinyin;
+            iSearchMethodPRC = EAdptSearchPinyin;	
             }
-        else if (searchMode == 1)
+        else if(searchMode ==1)
             {
-            iSearchMethod = EAdptSearchStroke;
+            iSearchMethodPRC = EAdptSearchStroke;	
             }
         }
-    else if (iLanguage == ELangTaiwanChinese)
+    else if(inputLanguage == ELangTaiwanChinese)
         {
         iRepositoryFindAdaptive->Get(KAknAdaptiveSearchChineseTW , searchMode);
-        if (searchMode == 0)
+        if(searchMode ==0)
             {
-            iSearchMethod = EAdptSearchZhuyin;
+            iSearchMethodTaiWan = EAdptSearchZhuyin;	
             }
-        else if (searchMode == 1)
+        else if(searchMode ==1)
             {
-            iSearchMethod = EAdptSearchStroke;
-            }
+            iSearchMethodTaiWan = EAdptSearchStroke;	
+            }	
         }
-    else if (iLanguage == ELangHongKongChinese)
+    else if(inputLanguage == ELangHongKongChinese)
         {
         iRepositoryFindAdaptive->Get(KAknAdaptiveSearchChineseHongkong  , searchMode);
-        if (searchMode == 1)
-            {
+        if(searchMode ==1)
+            {	    
             iRepositoryFind->Get(KAknFepCangJieMode , searchMode);
 
             switch (searchMode)
                 {
                 case 0:
-                    iSearchMethod = EAdptSearchNormalCangjie;
+                    iSearchMethodHongKong = EAdptSearchNormalCangjie;
                     break;
                 case 1:
-                    iSearchMethod = EAdptSearchEasyCangjie;
+                    iSearchMethodHongKong = EAdptSearchEasyCangjie;
                     break;
                 case 2:
-                    iSearchMethod = EAdptSearchAdvCangjie;
+                    iSearchMethodHongKong = EAdptSearchAdvCangjie;
                     break;
                 }
+
             }
-        else if (searchMode == 0)
+        else if(searchMode ==0)
             {
-            iSearchMethod = EAdptSearchStroke;
+            iSearchMethodHongKong = EAdptSearchStroke;	
             }
+
         }
+#endif
     }
 
 // ---------------------------------------------------------
@@ -581,7 +682,7 @@
 
     TBool ret = EFalse;
     // Check Chinese word in find pane
-    TBool chineseWord = IsChineseWordIncluded(aWord);
+    TBool chineseWord = IsChineseWord(aWord);
 
     if (chineseWord)
         {
@@ -750,25 +851,8 @@
 //
 TBool CFindUtilChineseECE::MatchRefineL(const TDesC& aItemString, CPsQuery& aPsQuery)
     {
-    RArray<TInt> ignore1;
-    CleanupClosePushL( ignore1 );
-    RArray<TInt> ignore2;
-    CleanupClosePushL( ignore2 );
-    
-    TBool match = MatchRefineL( aItemString, aPsQuery, ignore1, ignore2, EFalse );
-    
-    CleanupStack::PopAndDestroy( &ignore2 );
-    CleanupStack::PopAndDestroy( &ignore1 );
-    
-    return match;
-    }
-
-TBool CFindUtilChineseECE::MatchRefineL(const TDesC& aItemString, CPsQuery& aPsQuery, 
-        RArray<TInt>& aMatchPos, RArray<TInt>& aMatchLength, TBool aHighLight )
-    {
     TBuf<KMaxWordLength> tempBuf;
     TBuf<KMaxWordLength> itemString;
-    TBool haschineseword = EFalse; 
 
     itemString.Zero();
     if ( KMaxWordLength > aItemString.Length() )
@@ -786,10 +870,12 @@
         if(itemString[0]== KLeftToRightFlag || itemString[0]== KRightToLeftFlag)
             {
             itemString.Delete(0,1);
-            itemString.Delete((itemString.Length()-1),1);
+            itemString.Delete((itemString.Length()-1),1);    
             }
         }
 
+    TBool haschineseword = EFalse; 
+
     // Check function parameter
     if (aPsQuery.Count() == 0)
         {
@@ -802,8 +888,8 @@
         }
 
     TBool ret = EFalse;
+
     CPsQuery* query = CPsQuery::NewL();
-    CleanupStack::PushL( query );
     GetPartOfQueryL(aPsQuery, 0, aPsQuery.Count()-1, *query);
     RemoveSeparatorL(*query);
     TPtrC queryStrPtr = query->QueryAsStringLC();
@@ -826,63 +912,78 @@
         {
         iCurInputMode = KSysInputMode;
         }
-    
-    TBool inputMethodStroke = EFalse;
-    if(iLanguage == ELangHongKongChinese && iCurInputMode == 0x0020)
-        {
-        inputMethodStroke = ETrue;
-        }
-      
-    // Check if any Chinese word in find pane
-    if ( IsChineseWordIncluded(tempBuf) )
+
+    // Check Chinese word in find pane
+    if (IsChineseWord(tempBuf))
         {
         haschineseword = ETrue;
         ret = IncludeString(aItemString, tempBuf);
-      
-        if( IsAllChineseWord( tempBuf ))
+
+        if (ret)
             {
-            CleanupStack::PopAndDestroy( query );
             return ret;
             }
+        /*    else
+            {
+            // if Stroke Symbol in HongKong
+            TBool strokeSymHK = (IsStrokeSymbolInString(tempBuf)) && 
+                                 (iLanguage == ELangHongKongChinese) &&
+                                 iCurInputMode == 0x0020;
+
+            if (!strokeSymHK)
+                {
+                return ret;
+                }
+            }*/
         }
 
-   
-    // There are two steps to do when searchstring includes Chinese character 
-    //
-    // step 1:  check whether itemstring includes the chinese charactor in the searchstring
-    //              If not, return EFalse. Otherwise, go to step2
-    //
-    // step2:  If itemstring includes the chinese charactor in the searchstring, translate 
-    //             the Chinese character in the searchstring to spellList and reconstruct the query.
+    //Find if search string has chinese word. 
+    //Compare with item string if find chinese word in item string then delete it from search and item string.
+    //if not then return EFalse.
+    TBool InputMethodStroke = EFalse;
+    if(iLanguage == ELangHongKongChinese && iCurInputMode == 0x0020)
+        {
+        InputMethodStroke = ETrue;
+        }
+    
     if (haschineseword)
         {
         TInt ii=0;
-        
-        // Step 1: 
-        // E.g: itemstring = "0x4E00,0x4E8C,0x4E09,0x56DB,0x4E94" 
-        // (Unicode of Chinese number "1 2 3 4 5")
-        // searchstring1 = "0x4E00,x,y,z,0x4E09"
-        // searchstring2 = "0x4E8C,0x4E00"
-        // searchstring3 = "0x4E00,0x4E5D" 
-        // In this case, searchstring2 and searchstring3 will return EFalse, 
-        // only searchstring1 will be translated to spellList in step 2
+        TBool leftDifferentChinese = EFalse; //Fixed for ESSG-7PJ6GF, flag the different Chinese character at the left of aSearchText.
         while (ii< tempBuf.Length())
             {
-            TInt lastFindCursor = -1;
-            if( (TUint16)tempBuf[ii] <= KMaxUnicodeHz 
-                && (TUint16)tempBuf[ii]>= KMinUnicodeHz
-                && ( !inputMethodStroke ||(inputMethodStroke &&
-                    !IsStrokeSymbol(tempBuf[ii])) ) )
+            if ((TInt)tempBuf[ii]>= KMinUnicodeHz && (!InputMethodStroke
+                    ||(InputMethodStroke && !IsStrokeSymbol(tempBuf[ii]))))
                 {
                 TInt Findcursor = itemString.Locate(tempBuf[ii]);
-                if( KErrNotFound == Findcursor || Findcursor < lastFindCursor )
+                if (Findcursor != KErrNotFound)
                     {
-                    CleanupStack::PopAndDestroy( query );
-                    return EFalse;
+                    if ((Findcursor == itemString.Length()-1)&& (ii
+                            ==tempBuf.Length()-1))
+                        {
+                        //Start:Fixed for ESSG-7PJ6GF
+                        if ( leftDifferentChinese || IsChineseWord(
+                            itemString.Left( Findcursor ) ) )
+                            {
+                            //if the different Chinese character at the left or middle, return false.
+                            return EFalse;
+                            }
+                        //End:Fixed for ESSG-7PJ6GF
+                        return ETrue;
+                        }
+                    itemString.Delete(0, Findcursor+1);
+                    tempBuf.Delete(0, ii+1);
+                    ii=0;
                     }
                 else
                     {
-                    lastFindCursor = Findcursor;
+                    //Start:Fixed for ESSG-7PJ6GF
+                    if ( IsChineseWord( tempBuf.Left( ii + 1 ) ) )
+                        {
+                        //flag the different Chinese character at the left.
+                        leftDifferentChinese = ETrue;
+                        }
+                    //End:Fixed for ESSG-7PJ6GF
                     ii++;
                     }
                 }
@@ -891,70 +992,9 @@
                 ii++;
                 }
             }
-            
-        ii = 0;
-        // Counter of queryItem
-        TInt queryItemCount = 0;
-        
-        //Step 2: 
-        // Translating searchstring to spellList and reconstruct query
-         while ( ii< tempBuf.Length() )
-             {            
-             // If it is a valid chinese character
-             if ( (TUint16)tempBuf[ii] <= KMaxUnicodeHz 
-                 && (TUint16)tempBuf[ii]>= KMinUnicodeHz
-                 && ( !inputMethodStroke ||(inputMethodStroke &&
-                     !IsStrokeSymbol(tempBuf[ii])) ) )
-                 {
-                 RPointerArray<HBufC> spellList;
-                 
-                 // If successfully translating the chinese character to spellList( Pinyin,Zhuyin or stroke )
-                 // then reconstruct the query, replace the Chinese character with its spellList in the query.
-                 // Otherwise, just increase the counter of queryItem.
-                 if( DoTranslationL(TInt16(tempBuf[ii]), spellList) )
-                     {                    
-                     // Replace the queryItem by the translated spelling
-                     CPsQueryItem& tempItem = query->GetItemAtL(queryItemCount);
-                     const TKeyboardModes tempMode = tempItem.Mode();
-                     
-                     // Remove the Chinese character queryItem
-                     query->Remove(queryItemCount);
-                     
-                     // Reconstruct the query, replace Chinese character with its spellList
-                     for(TInt cnt = 0; cnt < spellList[0]->Length(); cnt++)
-                         {
-                         // Add a new query item to query
-                         CPsQueryItem* newItem = CPsQueryItem::NewL();   
-                         CleanupStack::PushL(newItem);
-                         newItem->SetCharacter(  (*spellList[0])[cnt] );
-                         newItem->SetMode(tempMode);
-   
-                         query->InsertL(*newItem, queryItemCount + cnt );
-                         CleanupStack::Pop(newItem);  
-                         }
-                    
-                     queryItemCount += spellList[0]->Length();
-                     }
-                 else
-                     {
-                     queryItemCount++;
-                     }
-                     
-                 ii++;
-                 spellList.ResetAndDestroy();
-                 spellList.Close();
-
-                 }
-             //if not, just pass it by     
-             else
-                 {
-                 ii++;
-                 queryItemCount++;
-                 }
-             }
 
         }
-    
+
     // Array for item string
     RPointerArray<STRINGINFO> stringInfoArr;
     // Split item string
@@ -962,13 +1002,13 @@
 
     if (stringInfoArr.Count() > 0)
         {
-        ret = MatchSegmentL(stringInfoArr, *query, aMatchPos, aMatchLength, aHighLight);
+        ret = MatchSegmentL(stringInfoArr, *query);
         }
 
     stringInfoArr.ResetAndDestroy();
     stringInfoArr.Close();
 
-    CleanupStack::PopAndDestroy( query );
+    delete query;
 
     return ret;
     }
@@ -978,7 +1018,7 @@
 // ---------------------------------------------------------
 //
 void CFindUtilChineseECE::SplitItemStringL(RPointerArray<STRINGINFO>& aStringInfoArr, 
-    const TDesC& aItemString)
+    const TDesC &aItemString)
     {
     TBuf<KMaxWordLength> tempBuf;
     TBuf<KMaxWordLength> englishBuf;
@@ -989,7 +1029,8 @@
     chineseBuf.Zero();
 
     TInt index = 0;
-    TBool isChinese = EFalse;
+    TUint32 temp = 0;
+    TInt32 distance = 0;
     const TInt strLength = aItemString.Length();
 
     for (; index < strLength; index++)
@@ -998,35 +1039,35 @@
             {
             // Check Chinese and English Buf. If it is not empty, 
             // add buf to Array
-            InsertStrInforArrayL(aStringInfoArr, chineseBuf, ETrue, index);
-            InsertStrInforArrayL(aStringInfoArr, englishBuf, EFalse, index);
+            InsertStrInforArrayL(aStringInfoArr, chineseBuf, ETrue);
+            InsertStrInforArrayL(aStringInfoArr, englishBuf, EFalse);
             continue;
             }
 
-        isChinese = ((TUint16)aItemString[index] >= KMinUnicodeHz && 
-                               (TUint16)aItemString[index] <= KMaxUnicodeHz);
-        
-        if ( !isChinese )// English word
+        temp = aItemString[index];
+        distance = (TInt32)(temp - KMinUnicodeHz);
+
+        if (distance < 0)// English word
             {
             // Chinese word is end and add to array
-            InsertStrInforArrayL(aStringInfoArr, chineseBuf, ETrue, index);
+            InsertStrInforArrayL(aStringInfoArr, chineseBuf, ETrue);
 
             // Add English word to array
-            englishBuf.Append(aItemString[index]);
+            englishBuf.Append((TChar) aItemString[index]);
             }
         else // Chinese word
             {
             // English word is end and add to array
-            InsertStrInforArrayL(aStringInfoArr, englishBuf, EFalse, index);
+            InsertStrInforArrayL(aStringInfoArr, englishBuf, EFalse);
 
             // Add Chinese word to array
-            chineseBuf.Append(aItemString[index]);
+            chineseBuf.Append((TChar) aItemString[index]);
             }
         }
 
     // Finish loop check buffer is empty
-    InsertStrInforArrayL(aStringInfoArr, chineseBuf, ETrue, index);
-    InsertStrInforArrayL(aStringInfoArr, englishBuf, EFalse, index);
+    InsertStrInforArrayL(aStringInfoArr, chineseBuf, ETrue);
+    InsertStrInforArrayL(aStringInfoArr, englishBuf, EFalse);
     }
 
 // ---------------------------------------------------------
@@ -1034,8 +1075,9 @@
 // ---------------------------------------------------------
 //
 void CFindUtilChineseECE::InsertStrInforArrayL(RPointerArray<STRINGINFO>& aStringInfoArr, 
-    TDes &aSegmentStr, TBool aChinese, TInt aIndexAfterStr)
+    TDes &aSegmentStr, const TBool aChinese)
     {
+    CleanupResetAndDestroyPushL( aStringInfoArr );
     if (aSegmentStr.Length() <= 0)
         {
         return;
@@ -1047,10 +1089,10 @@
     strInfo->segmentString.Copy(aSegmentStr);
     strInfo->segmentString.LowerCase();
     strInfo->isChinese = aChinese;
-    strInfo->segmentPos = aIndexAfterStr - aSegmentStr.Length();
 
     aStringInfoArr.AppendL(strInfo);
     aSegmentStr.Zero();
+    CleanupStack::Pop( &aStringInfoArr );
     }
 
 // ---------------------------------------------------------
@@ -1058,133 +1100,107 @@
 // ---------------------------------------------------------
 //
 TBool CFindUtilChineseECE::MatchSegmentL(RPointerArray<STRINGINFO>& aStringInfoArr, 
-    CPsQuery& aQuery, RArray<TInt>& aMatchPos, RArray<TInt>& aMatchLength, TBool aHighLight )
+    CPsQuery& aQuery)
     {
     const TInt arrayLength = aStringInfoArr.Count();
     const TInt searchStrLength = aQuery.Count();
+    TInt searchStrIndex = 0;
     STRINGINFO* pStringInfo;
     TInt index = 0;
-    TBool ret = EFalse;
-    TBool hasChinese = EFalse;
 
-    // First check if there is a full match in non-Chinese in any one segment
+    // First only check English
     for (; index < arrayLength; index++)
         {
-        pStringInfo = aStringInfoArr[index];
-        TPtrC currentSeg( pStringInfo->segmentString );
-        TInt matchLen( 0 );
-
-        // Compare word
-        if (pStringInfo->isChinese)
-            {
-            hasChinese = ETrue;
-            }
-        else
-            {
-            matchLen = MatchStringL( currentSeg, aQuery );
-            }
-        
-        // If full match is found
-        if ( matchLen == searchStrLength  )
-            {
-            //Only append postion of non-Chinese character
-            if(  !pStringInfo->isChinese )
-                {
-                aMatchPos.Append( pStringInfo->segmentPos );
-                aMatchLength.Append( matchLen );
-                }
-            ret =   ETrue;
-            
-            // If there is no need to HighLight the matched part, return immediately
-            // Otherwise, continue to find all the matched positions
-            if( !aHighLight ) 
-                return ret;
-            }
-        }
-    
-    // Then search through segments again, this time considering
-    // also cases where matching part continues over several segments.
-    // This algorithm is greedy and heuristic and can't necesarily find
-    // all the matches in the segments after the first one.
-    TPtrC segCurrent;
-    TInt searchStrIndextemp = 0;
-    TInt searchStrIndexMax = 0;
-    TInt searchStrIndex = 0;
-    index = 0;
-
-    // Loop through seqments until whole query is matched
-    for (; index < arrayLength && !ret ; index++)
-        {
         // Create an empty CPsQuery
         CPsQuery* tempQuery = CPsQuery::NewL();
-        CleanupStack::PushL( tempQuery );
+        pStringInfo = aStringInfoArr[index];
 
-        GetPartOfQueryL( aQuery, searchStrIndex, searchStrLength - 1, *tempQuery );
+        GetPartOfQueryL( aQuery, searchStrIndex, searchStrLength - 1,
+            *tempQuery );
 
-        pStringInfo = aStringInfoArr[index];
-        segCurrent.Set( pStringInfo->segmentString );
+        // Compare word
+        if (!pStringInfo->isChinese)
+            {
+            searchStrIndex += MatchString(pStringInfo->segmentString, *tempQuery);
+            }
 
-        if (pStringInfo->isChinese)
+        delete tempQuery;
+        tempQuery = NULL;
+
+        if (searchStrIndex >= searchStrLength)
             {
-            // find the longest substring matching the query
-            searchStrIndexMax = 0;
-            for (TInt i = 0; i< segCurrent.Length(); i++)
+            return ETrue;
+            }
+        }
+
+    TBuf<KMaxWordLength> bufcurrent;
+    TBuf<KMaxWordLength> tempbufcurrent;
+    TInt searchStrIndextemp = 0;
+    TInt searchStrIndexMax = 0;
+    // Find Chinese and English
+    searchStrIndex = 0;
+    index = 0;
+
+    for (; index < arrayLength; index++)
+        {
+        // Create an empty CPsQuery
+        CPsQuery* tempQuery = CPsQuery::NewL();
+        pStringInfo = aStringInfoArr[index];
+
+        GetPartOfQueryL( aQuery, searchStrIndex, searchStrLength - 1,
+            *tempQuery );
+        searchStrIndexMax = 0;
+
+        bufcurrent = pStringInfo->segmentString;
+
+        for(TInt i =0;i< pStringInfo->segmentString.Length();i++)
+            {
+            tempbufcurrent = bufcurrent.Mid(i);
+            if (pStringInfo->isChinese)
                 {
-                TPtrC tempSeg( segCurrent.Mid(i) );
-                TInt startIdx( KErrNotFound );
-                TInt endIdx( KErrNotFound );
-                searchStrIndextemp = MatchChineseStringL(tempSeg, *tempQuery, startIdx, endIdx);
-                if (searchStrIndextemp > searchStrIndexMax)
+                TInt temp=0;
+                searchStrIndextemp = MatchChineseStringL(tempbufcurrent, *tempQuery, temp);  
+                if(searchStrIndextemp > searchStrIndexMax)
                     {
                     searchStrIndex -= searchStrIndexMax;
                     searchStrIndexMax = searchStrIndextemp;
                     searchStrIndex += searchStrIndexMax;
                     }
-                
-                if (searchStrIndex >= searchStrLength)
-                    {
-                    // found substring which consumes whole query, no need to find any longer
-                    break;
-                    }
+                }
+            else
+                {
+                searchStrIndex += MatchString(pStringInfo->segmentString, *tempQuery);
                 }
-            }
-        else // not chinese
-            {
-            TInt matchLen = MatchStringL(segCurrent, *tempQuery);
-            searchStrIndex += matchLen;
-            if ( matchLen )
+
+            if (searchStrIndex >= searchStrLength)
                 {
-                aMatchPos.Append( pStringInfo->segmentPos );
-                aMatchLength.Append( matchLen );
+                delete tempQuery;
+                tempQuery = NULL;
+                return ETrue;
+                }
+            else if(!pStringInfo->isChinese)
+                {
+                break;
                 }
             }
 
-        if (searchStrIndex >= searchStrLength)
-            {
-             ret = ETrue; // also breaks us out from the loop
-            }
-        else if ( !pStringInfo->isChinese && !hasChinese )
-            {
-           CleanupStack::PopAndDestroy( tempQuery );
-            break;
-            }
-        
-        CleanupStack::PopAndDestroy( tempQuery );
+        delete tempQuery;
+        tempQuery = NULL;
         }
 
-    return ret;
+    return EFalse;
     }
 
 // ---------------------------------------------------------
 // Search Chinese word in input text 
 // ---------------------------------------------------------
 //
-TInt CFindUtilChineseECE::MatchChineseStringL(const TDesC& aSearhTargetString, CPsQuery& aQuery, 
-        TInt& aMatchStartIdx, TInt& aMatchEndIdx)
+TInt CFindUtilChineseECE::MatchChineseStringL(const TDesC& aSearhTargetString, CPsQuery& aQuery, TInt& aIndex)
     {
     const TInt stringLength = aSearhTargetString.Length();
     const TInt searchLength = aQuery.Count();
     TInt index = 0;
+    //TBuf<KMaxWordLength> tempBuf;
     TBuf<KMaxWordLength> previousBuf;
     TInt curMatchCount = 0;
     TInt preMatchCount = 0;
@@ -1192,13 +1208,6 @@
     TInt curSearchIndex = 0;
     TBool bFullMatched = EFalse;
     TBool bContinue = EFalse;
-    TBool bPrevReplaced = EFalse;
-    aMatchStartIdx = KErrNotFound;
-    aMatchEndIdx = KErrNotFound;
-    
-    CPsQuery* tempFullQuery = CPsQuery::NewL();
-    CleanupStack::PushL( tempFullQuery );
-    GetPartOfQueryL( aQuery, 0, aQuery.Count() - 1, *tempFullQuery );
 
     for (; index < stringLength; index++)
         {
@@ -1217,17 +1226,17 @@
 
         // Get left string
         CPsQuery* tempQuery = CPsQuery::NewL();
-        CleanupStack::PushL( tempQuery );
-        GetPartOfQueryL( aQuery, curSearchIndex, searchLength - 1, *tempQuery );
+        GetPartOfQueryL( aQuery, curSearchIndex, searchLength - 1,
+            *tempQuery );
 
-        // Get Matched count and the matched index in list
-        curMatchCount = MaxMatchInListL(spellList, *tempQuery, previousBuf, matchIndex, 
-            bFullMatched, preMatchCount, bContinue, bPrevReplaced, *tempFullQuery);
+        // Get Matched count and the matched index in list     
+        curMatchCount = MaxMatchInList(spellList, *tempQuery, previousBuf, matchIndex, 
+            bFullMatched, preMatchCount, bContinue);
 
         // There is a string matched in list 
         if (curMatchCount != 0)
             {
-            previousBuf.Copy(*spellList[matchIndex]);
+            previousBuf.Copy(spellList[matchIndex]->Des());
 
             if (curMatchCount == previousBuf.Length())
                 {
@@ -1238,7 +1247,7 @@
                 bFullMatched = EFalse;
                 }
 
-            // If it is repeat match, continue
+            // If it is repeat match, continue     
             if (!bContinue)
                 {
                 curSearchIndex += curMatchCount;
@@ -1249,14 +1258,6 @@
                 previousBuf.Zero();
                 curMatchCount = 0;
                 }
-
-            // Store the index of first matched Han character
-            if ( bPrevReplaced || aMatchStartIdx == KErrNotFound )
-                {
-                aMatchStartIdx = index;
-                }
-            // Store the index of last matched Han character
-            aMatchEndIdx = index;
             }
         else
             {
@@ -1268,17 +1269,13 @@
                 }
 
             curSearchIndex = 0;
-            
-            // Any earlier partial match is discarded, reset the matching part indices
-            aMatchStartIdx = KErrNotFound;
-            aMatchEndIdx = KErrNotFound;
             }
 
         spellList.ResetAndDestroy();//destroy spellList
         spellList.Close();
         preMatchCount = curMatchCount;
 
-        CleanupStack::PopAndDestroy( tempQuery );
+        delete tempQuery;
         tempQuery = NULL;
 
         // Search to End and return
@@ -1287,9 +1284,8 @@
             break;
             }
         }
-    CleanupStack::PopAndDestroy( tempFullQuery );
-    tempFullQuery = NULL;
 
+    aIndex = index;
     return curSearchIndex;
     }
 
@@ -1297,11 +1293,11 @@
 // Maximal matched count in spelling list  
 // ---------------------------------------------------------
 //
-TInt CFindUtilChineseECE::MaxMatchInListL(RPointerArray<HBufC> &aSpellList, CPsQuery& aQuery,
+TInt CFindUtilChineseECE::MaxMatchInList(RPointerArray<HBufC> &spellList, CPsQuery& aQuery,
     TDesC& aPreviouStr, TInt& aMatchIndex, const TBool aFullMatched, 
-    const TInt aMatchedCount, TBool& aAgain, TBool& aPrevReplaced, CPsQuery& aFullQuery)
+    const TInt aMatchedCount, TBool& aAgain)
     {
-    const TInt itemCount = aSpellList.Count();
+    const TInt itemCount = spellList.Count();
     TInt matchCount = 0;
     TBool selfMatch = EFalse;
     aMatchIndex = 0;
@@ -1324,9 +1320,9 @@
         repeatCount = 0;
         loopFlag = EFalse;
         tempBuf.Zero();
-        tempBuf.Copy( *aSpellList[index] );
+        tempBuf.Copy(spellList[index]->Des());
 
-        temp = MatchStringL(tempBuf, aQuery);
+        temp = MatchString(tempBuf, aQuery);
         if(temp != 0)
             {
             selfMatch = ETrue;
@@ -1341,11 +1337,11 @@
             // Previous word is fully matched
             if (aFullMatched)
                 {
-                repeatCount = ReverseMatchStringL(aPreviouStr, tempBuf, aFullQuery );
+                repeatCount = ReverseMatchString(aPreviouStr, tempBuf);
                 // Find repeat and remove it, search again
                 if (repeatCount != 0)
                     {
-                    temp = MatchStringL(tempBuf.Right(tempBuf.Length() - repeatCount), aQuery);
+                    temp = MatchString(tempBuf.Right(tempBuf.Length() - repeatCount), aQuery);
 
                     if (temp == 0)
                         {
@@ -1356,14 +1352,14 @@
                 }
             else
                 {
-                repeatCount = MatchStringL(aPreviouStr, tempBuf, aFullQuery);
+                repeatCount = MatchString(aPreviouStr, tempBuf);
 
                 // Find repeat and remove it, search again
                 if (repeatCount != 0)
                     {
                     if (aMatchedCount <= repeatCount)
                         {
-                        temp = MatchStringL(tempBuf.Right(tempBuf.Length() - aMatchedCount), aQuery);
+                        temp = MatchString(tempBuf.Right(tempBuf.Length() - aMatchedCount), aQuery);
 
                         if (temp == 0)
                             {
@@ -1375,11 +1371,11 @@
 
                 if (temp == 0)
                     {
-                    repeatCount = ReverseMatchStringL(aPreviouStr.Left(aMatchedCount), tempBuf, aFullQuery);
+                    repeatCount = ReverseMatchString(aPreviouStr.Left(aMatchedCount), tempBuf);
 
                     if (repeatCount != 0)
                         {
-                        temp = MatchStringL(tempBuf.Right(tempBuf.Length() - repeatCount), aQuery);
+                        temp = MatchString(tempBuf.Right(tempBuf.Length() - repeatCount), aQuery);
 
                         if (temp == 0)
                             {
@@ -1418,20 +1414,16 @@
             aMatchIndex = index;
             aAgain = loopFlag;
             }
-        if (matchCount == aQuery.Count() && selfMatch)
+        if(matchCount == aQuery.Count() && selfMatch)
             {
             break;
             }
         }
-    
-    // Was the previous match replaced with a longer match from this spell list
-    aPrevReplaced = ( matchCount && repeatCount );
-    
     return matchCount;
     }
 
 // ---------------------------------------------------------
-// Search the text is include the input text  
+// Search the taxt is include the input text  
 // ---------------------------------------------------------
 //
 TBool CFindUtilChineseECE::IncludeString(const TDesC& aFirst, const TDesC& aSecond)
@@ -1463,22 +1455,29 @@
 // Search text in other text  
 // ---------------------------------------------------------
 //
-TInt CFindUtilChineseECE::MatchStringL(const TDesC& aFirst, const TDesC& aSecond, CPsQuery& aFullQuery)
+TInt CFindUtilChineseECE::MatchString(const TDesC& aFirst, const TDesC& aSecond)
     {
     const TInt secondStrLength = aSecond.Length();
     const TInt firstStrLength = aFirst.Length();
 
-    const TInt compareCount = Min( firstStrLength, secondStrLength );
+    const TInt compareCount = firstStrLength > secondStrLength ? secondStrLength
+        : firstStrLength;
     TInt index = 0;
-    TBuf<KMaxWordInterpretationLen> firstNumInterpretationBuf;
-    TBuf<KMaxWordInterpretationLen> secondNumInterpretationBuf;
-    
-    iAlgorithm->GetKeyMap()->GetMixedKeyStringForDataL(aFullQuery, aFirst, firstNumInterpretationBuf);
-    iAlgorithm->GetKeyMap()->GetMixedKeyStringForDataL(aFullQuery, aSecond, secondNumInterpretationBuf);
+
+    TBuf<KMaxWordLength> tempStr;
+    // translate search target string into numeric string before match
+    if (iAlgorithm)
+        {
+        iAlgorithm->Converter( aFirst, tempStr );
+        }
+    else
+        {
+        tempStr.Copy(aFirst);
+        }
 
     for (; index < compareCount; index++)
         {
-        if (firstNumInterpretationBuf.Left(index + 1).FindC(secondNumInterpretationBuf.Left(index + 1)) == KErrNotFound)
+        if (tempStr.Left(index + 1).FindC(aSecond.Left(index + 1)) == KErrNotFound)
             {
             break;
             }
@@ -1486,32 +1485,32 @@
     // Match count
     return index;
     }
-
 // ---------------------------------------------------------
 // Search CPsQuery in aSearhTargetStr
 // ---------------------------------------------------------
 //
-TInt CFindUtilChineseECE::MatchStringL(const TDesC& aSearhTargetStr, CPsQuery& aQuery)
+TInt CFindUtilChineseECE::MatchString(const TDesC& aSearhTargetStr, CPsQuery& aQuery)
     {
     const TInt secondStrLength = aQuery.Count();
     const TInt firstStrLength = aSearhTargetStr.Length();
     TBuf<KMaxWordInterpretationLen> numInterpretationBuf;
-    TBuf<KMaxWordInterpretationLen> queryStr;
 
-    const TInt compareCount = Min( firstStrLength, secondStrLength );
-
+    const TInt compareCount = firstStrLength > secondStrLength ? secondStrLength
+        : firstStrLength;
     TInt index = 0;
 
-    iAlgorithm->GetKeyMap()->GetMixedKeyStringForDataL(aQuery, aSearhTargetStr, numInterpretationBuf);
-    iAlgorithm->GetKeyMap()->GetMixedKeyStringForQueryL(aQuery, queryStr);
+    ConvertdDataToKeyBoardModeL(aQuery, aSearhTargetStr, numInterpretationBuf);
 
+    TPtrC queryStr = aQuery.QueryAsStringLC();
     for (; index < compareCount; index++)
         {
+
         if (numInterpretationBuf.Left(index + 1).FindC(queryStr.Left(index + 1)) == KErrNotFound)
             {
             break;
             }
         }
+    CleanupStack::PopAndDestroy();
 
     // Match count
     return index;
@@ -1521,22 +1520,32 @@
 // Search text by reverse  
 // ---------------------------------------------------------
 //
-TInt CFindUtilChineseECE::ReverseMatchStringL(const TDesC& aFirst, const TDesC& aSecond, CPsQuery& aFullQuery)
+TInt CFindUtilChineseECE::ReverseMatchString(const TDesC& aFirst, const TDesC& aSecond)
     {
     const TInt secondStrLength = aSecond.Length();
     const TInt firstStrLength = aFirst.Length();
     TInt compareCount = firstStrLength > secondStrLength ? secondStrLength : firstStrLength;
     TInt index = 0;
     TInt matchCount = 0;
-    TBuf<KMaxWordInterpretationLen> firstNumInterpretationBuf;
-    TBuf<KMaxWordInterpretationLen> secondNumInterpretationBuf;
-    
-    iAlgorithm->GetKeyMap()->GetMixedKeyStringForDataL(aFullQuery, aFirst, firstNumInterpretationBuf);
-    iAlgorithm->GetKeyMap()->GetMixedKeyStringForDataL(aFullQuery, aSecond, secondNumInterpretationBuf);
-    
+
     for (; index < compareCount; index++)
         {
-        if( firstNumInterpretationBuf.Right( index + 1 ).FindC( secondNumInterpretationBuf.Left( index + 1 ) ) != KErrNotFound )
+        TBuf<KMaxWordLength> firstConvStr;
+        TBuf<KMaxWordLength> secondConvStr;
+
+        // translate compared target string into numeric string before match
+        if ( iAlgorithm )
+            {
+            iAlgorithm->Converter( aFirst, firstConvStr );
+            iAlgorithm->Converter( aSecond, secondConvStr );
+            }
+        else
+            {
+            firstConvStr.Copy( aFirst );
+            secondConvStr.Copy( aSecond );
+            }
+
+        if( firstConvStr.Right( index + 1 ).FindC( secondConvStr.Left( index + 1 ) ) != KErrNotFound )
             {
             matchCount = index + 1;
             }
@@ -1558,16 +1567,14 @@
 // Find pane text is including Chinese word  
 // ---------------------------------------------------------
 //
-TBool CFindUtilChineseECE::IsChineseWordIncluded(const TDesC& aWord)
+TBool CFindUtilChineseECE::IsChineseWord(const TDesC& aWord)
     {
     TBool IsChineseSearchStr = EFalse;
     const TInt len = aWord.Length();
 
     for (TInt ii = 0; ii < len; ii++)
         {
-
-        if ( ((TUint16) aWord[ii] >= KMinUnicodeHz) &&
-            ((TUint16) aWord[ii] <= KMaxUnicodeHz) )
+        if ((TInt) aWord[ii] >= KMinUnicodeHz)
             {
             IsChineseSearchStr = ETrue;
             break;
@@ -1587,7 +1594,7 @@
 
     for (TInt index = 0; index < len; index++)
         {
-        if (IsStrokeSymbol(TUint16(aWord[index])) != 0)
+        if (IsStrokeSymbol(TInt(aWord[index])) != 0)
             {
             return ETrue;
             }
@@ -1595,33 +1602,6 @@
     return EFalse;
     }
 
-// --------------------------------------------------------
-// Find pane text is all Chinese word(s)
-// --------------------------------------------------------
-//
-TBool CFindUtilChineseECE::IsAllChineseWord(const TDesC& aWord)
-    {
-    TBool isChineseWord = ETrue;
-    const TInt len = aWord.Length();
-    
-    TBool InputMethodStroke = EFalse;
-    if(iLanguage == ELangHongKongChinese && iCurInputMode == 0x0020)
-        {
-        InputMethodStroke = ETrue;
-        }
-    
-    for( TInt i = 0; i < len; i++ )
-        {
-        if( (( TUint16 )aWord[i] > KMaxUnicodeHz ) ||  (( TUint16 )aWord[i] < KMinUnicodeHz )
-            || ( InputMethodStroke && IsStrokeSymbol(aWord[i]) ) )
-            {
-            isChineseWord = EFalse;
-            break;
-            }
-        }
-    return isChineseWord;
-    }
-
 // ---------------------------------------------------------
 // Find pane text is including zhuyin symbol  
 // ---------------------------------------------------------
@@ -1663,37 +1643,108 @@
 TInt CFindUtilChineseECE::HandleFindRepositoryCallBack(TAny* aPtr)
     {
     TInt ret = KErrNone;
-    CFindUtilChineseECE* self = static_cast<CFindUtilChineseECE*> (aPtr);
-
-    // Get changed key either from language repository (AknFepRepository)
-    // or from adaptive repository (AvkonRepository).
-    TUint32 changedKey = self->iWatcher->ChangedKey();
-    if ( changedKey == NCentralRepositoryConstants::KInvalidNotificationId )
-        {
-        changedKey = self->iWatcherAdaptive->ChangedKey();
-        }
-
+    CFindUtilChineseECE *self = static_cast<CFindUtilChineseECE*> (aPtr);
+    TInt searchMode = 0;
 
-    // Update the search method if input language or any search method variable
-    // changed
-    if ( changedKey == KAknFepInputTxtLang ||
-         changedKey == KAknAdaptiveSearchChinesePRC ||
-         changedKey == KAknAdaptiveSearchChineseTW ||
-         changedKey == KAknAdaptiveSearchChineseHongkong ||
-         changedKey == KAknFepCangJieMode ||
-         changedKey == KAknAvkonAdaptiveSearchEnabled )
+    if (self->iWatcher->ChangedKey() == KAknFepInputTxtLang)
         {
-        TChineseSearchMethod prevSearchMethods = self->iSearchMethod;
+        TInt inputLanguage = 0;
+        self->iRepositoryFind->Get(KAknFepInputTxtLang, inputLanguage);
 
-        TRAP( ret, self->OpenL() );
-        
-        // Reconstruct cache if search method got changed
-        if ( ret == KErrNone && prevSearchMethods != self->iSearchMethod )
+        TInt prevCategory = self->CategoryOfLang(self->iLanguage);
+        TRAP(ret, self->OpenT9InterfaceL(TLanguage(inputLanguage)));
+
+        TInt category = self->CategoryOfLang(TLanguage(inputLanguage));
+        if (prevCategory != category && category != 0)
             {
             TRAP(ret, self->iAlgorithm->ReconstructCacheDataL());
             }
         }
-    
+
+    // The below code is commented out because current CFindUtilChineseECE is used
+    // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
+    // for the further merging work (merge from FindUtil 5.0)
+#if 0    
+    if(self->iWatcherAdaptive->ChangedKey() == KAknAvkonAdaptiveSearchEnabled)
+        {
+        self->iRepositoryFindAdaptive->Get(KAknAvkonAdaptiveSearchEnabled, self->iSearchMethodAdaptive);
+        }
+
+    if (self->iWatcherAdaptive->ChangedKey() == KAknAdaptiveSearchChinesePRC)
+        {
+        self->iRepositoryFindAdaptive->Get(KAknAdaptiveSearchChinesePRC, searchMode);
+
+        if(searchMode ==0)
+            {
+            self->iSearchMethodPRC = EAdptSearchPinyin;	
+            }
+        else if(searchMode ==1)
+            {
+            self->iSearchMethodPRC = EAdptSearchStroke;	
+            }
+        }
+
+    if (self->iWatcherAdaptive->ChangedKey() == KAknAdaptiveSearchChineseTW )
+        {
+        self->iRepositoryFindAdaptive->Get(KAknAdaptiveSearchChineseTW , searchMode);
+
+        if(searchMode ==0)
+            {
+            self->iSearchMethodTaiWan = EAdptSearchZhuyin;	
+            }
+        else if(searchMode ==1)
+            {
+            self->iSearchMethodTaiWan = EAdptSearchStroke;	
+            }
+        }
+
+    if (self->iWatcherAdaptive->ChangedKey() == KAknAdaptiveSearchChineseHongkong )
+        {
+        self->iRepositoryFindAdaptive->Get(KAknAdaptiveSearchChineseHongkong , searchMode);
+
+        if(searchMode ==1)
+            {
+            self->iRepositoryFind->Get(KAknFepCangJieMode , searchMode);
+
+            switch (searchMode)
+                {
+                case 0:
+                    self->iSearchMethodHongKong = EAdptSearchNormalCangjie;
+                    break;
+                case 1:
+                    self->iSearchMethodHongKong = EAdptSearchEasyCangjie;
+                    break;
+                case 2:
+                    self->iSearchMethodHongKong = EAdptSearchAdvCangjie;
+                    break;	
+                }
+
+            }
+        else if(searchMode ==0)
+            {
+            self->iSearchMethodHongKong = EAdptSearchStroke;	
+            }
+        }
+
+    if (self->iWatcher->ChangedKey() == KAknFepCangJieMode )
+        {
+        self->iRepositoryFind->Get(KAknFepCangJieMode , searchMode);
+
+        switch (searchMode)
+            {
+            case 0:
+                self->iSearchMethodHongKong = EAdptSearchNormalCangjie;
+                break;
+            case 1:
+                self->iSearchMethodHongKong = EAdptSearchEasyCangjie;
+                break;
+            case 2:
+                self->iSearchMethodHongKong = EAdptSearchAdvCangjie;
+                break;	
+            }
+
+        }
+#endif
     return ret;
     }
 
@@ -1726,6 +1777,11 @@
         }
     }
 
+void CFindUtilChineseECE::SetKeyboardMode(TInt aMode)
+    {
+    iKeyboardMode = aMode;
+    }
+
 // The below code is commented out because current CFindUtilChineseECE is used
 // on 3.2.3 which is not supported adaptive search. It will be easy to keep these code 
 // for the further merging work (merge from FindUtil 5.0)
@@ -1742,7 +1798,7 @@
             {
             aNextChars = aNextChars->ReAllocL( aNextChars->Des().MaxLength()+10 );
             }		
-        aNextChars->Des().Append(aCh);
+        aNextChars->Des().Append(aCh);								
         }
     }    
 
@@ -1934,7 +1990,7 @@
             // Compare word
             if (!pStringInfo->isChinese)
                 {
-                searchStrIndex += MatchStringL(pStringInfo->segmentString,
+                searchStrIndex += MatchString(pStringInfo->segmentString,
                     transSearchBuf);
                 }
 
@@ -2014,7 +2070,7 @@
 
         }
     tempSpellList.ResetAndDestroy();
-    if(ReverseMatchStringL(aCurrentBuf,temp)>0)
+    if(ReverseMatchString(aCurrentBuf,temp)>0)
         {
         if (pStringInfo->isChinese)
             {
@@ -2264,7 +2320,7 @@
     //Find if search string has chinese word. 
     //Compare with item string if find chinese word in item string then delete it from search and item string.
 
-    if(IsChineseWordIncluded(tempBuf))
+    if(IsChineseWord(tempBuf))
         {
         if(TrimChineseCharacterL(itemString,tempBuf,aNextChars))
             {
@@ -2349,7 +2405,7 @@
                 }
             else
                 {//english words and chinese words don't coexist in same segment
-                matchLength = MatchStringL(bufcurrent, transSearchBuf);
+                matchLength = MatchString(bufcurrent, transSearchBuf);
                 searchStrIndex +=matchLength;
                 if (searchStrIndex >= searchStrLength)
                     {
@@ -2498,6 +2554,58 @@
     }
 #endif
 
+// ----------------------------------------------------------------------------
+// CFindUtilChineseECE::ConvertdDataToKeyBoardModeL
+// Converts the input data to the key board mode specified by the query
+// ----------------------------------------------------------------------------
+void CFindUtilChineseECE::ConvertdDataToKeyBoardModeL(CPsQuery& aQuery, 
+    const TDesC& aSearchTargetStr, 
+    TBuf<KMaxWordInterpretationLen>& aOutputNumInterpretationStr)
+    {    
+    if (iKeyboardMode == EItut)
+        {
+        iAlgorithm->GetKeyMap()->GetNumericKeyString(aSearchTargetStr, aOutputNumInterpretationStr);
+        }
+    else if (iKeyboardMode == EQwerty)
+        {
+        aOutputNumInterpretationStr = aSearchTargetStr;
+        aOutputNumInterpretationStr.LowerCase();
+        }
+    else
+        {
+
+        TInt len = -1;
+        TBuf<KPsQueryMaxLen> outBuf;
+
+        iAlgorithm->GetKeyMap()->GetNumericKeyString(aSearchTargetStr, outBuf);
+
+        // Always loop thru the lowest length
+        if (aSearchTargetStr.Length() > aQuery.Count() )
+            {
+            len = aQuery.Count();
+            }
+        else
+            {
+            len = aSearchTargetStr.Length();
+            }
+
+        // Interprete search target str according to the query char mode
+        for (TInt i = 0; i < len; i++)
+            {
+            if (aQuery.GetItemAtL(i).Mode() == EItut)
+                {
+                aOutputNumInterpretationStr.Append(outBuf[i]);
+                }
+            else
+                {
+                aOutputNumInterpretationStr.Append(aSearchTargetStr[i]);
+                }
+            }
+
+        aOutputNumInterpretationStr.LowerCase();
+        }
+    }
+
 void CFindUtilChineseECE::GetPartOfQueryL(CPsQuery& aSrcQuery, TInt aStartIndex, 
     TInt aEndIndex, CPsQuery& aDestQuery)
     {
@@ -2516,6 +2624,7 @@
 
             aDestQuery.AppendL(*newItem);
             }
+
         }
     else 
         {
@@ -2542,7 +2651,6 @@
                 // ajust index after remove
                 index--; 
                 }
-                break;
             default:
                 continue;
             } // switch
--- a/predictivesearch/PcsAlgorithm/Algorithm2/src/chinesefindutils.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsAlgorithm/Algorithm2/src/chinesefindutils.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -66,11 +66,7 @@
     TCallBack aCallBack,
     CRepository* aRepository)
     :
-    iUid(aUid), 
-    iKey(aKey), 
-    iChangedKey(NCentralRepositoryConstants::KInvalidNotificationId), 
-    iCallBack(aCallBack), 
-    iRepository(aRepository)
+    iUid(aUid), iKey(aKey), iCallBack(aCallBack), iRepository(aRepository)
     {
     }
 
--- a/predictivesearch/PcsServer/group/PcsServer.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsServer/group/PcsServer.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,4 +44,4 @@
 LIBRARY       bafl.lib
 LIBRARY       ecom.lib
 LIBRARY       PcsUtils.lib
-LIBRARY       featmgr.lib
+LIBRARY       FeatMgr.lib
--- a/predictivesearch/PcsServer/inc/CPcsServer.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsServer/inc/CPcsServer.h	Wed Oct 13 14:15:33 2010 +0300
@@ -58,6 +58,11 @@
          */			                  
 	    CPcsPluginInterface* PluginInterface();
 	    
+	    /**
+         * Returns ETrue if there is Chinese variant feature in phone
+         */	
+	    TBool  IsChineseVariant() const;
+	    
     private:
     
         /**
@@ -80,6 +85,11 @@
          * A PCS algorithm instance (owned)
          */
     	CPcsPluginInterface* iPcs;
+		
+		/**
+         * Flag for whether there is Chinese in phone
+         */	
+    	TBool iIsChineseVariant;
 };
 
 #endif // End of file
--- a/predictivesearch/PcsServer/src/CPcsServer.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsServer/src/CPcsServer.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -44,7 +44,7 @@
     self->StartL(KPcsServerName);
     CleanupStack::Pop(); 
     
-     PRINT ( _L("End CPcsServer::NewL") );
+    PRINT ( _L("End CPcsServer::NewL") );
     
     return self;
 }
@@ -70,17 +70,18 @@
 	iPcs = CPcsPluginInterface::NewL();
     
 	// Check if the phone is chinese feature id installed
-	TBool isChineseVariant = IsChineseFeatureInitilizedL();
+	iIsChineseVariant = IsChineseFeatureInitilizedL();
     // Create the plugin for the required algorithm
     // Matches the ECOM Plugin's display name definition in rss file
     // Check for the chinese feature id flag.
-	if(isChineseVariant) 
+	if(iIsChineseVariant) 
 	    {
 	    // Chinese variant phones. Use Algorithm 2
 	    PRINT ( _L("Enter CPcsServer::ConstructL() - Chinese Variant Phone Algorithm Instantiated") );
 	    TBuf<KAlgorithmNameMaxLen> algorithmName(KPcsAlgorithm_Chinese);
 	    iPcs->InstantiateAlgorithmL(algorithmName);
-	      
+	    
+	    
 	    }
 	else 
 	    {
@@ -133,7 +134,7 @@
 CPcsPluginInterface* CPcsServer::PluginInterface()
 {
 	return iPcs;
-}
+};
 
 // ----------------------------------------------------------------------------
 // CPcsServer::IsChineseFeatureInitilizedL()
@@ -150,3 +151,12 @@
     
     return chineseFeatureInitialized;
 }
+
+// ----------------------------------------------------------------------------
+// CPcsServer::IsChineseVariant() const
+// Returns ETrue if there is Chinese variant feature in phone
+// ---------------------------------------------------------------------------- 
+TBool CPcsServer::IsChineseVariant() const
+    {
+    return iIsChineseVariant;
+    }
--- a/predictivesearch/PcsServer/src/CPcsSession.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsServer/src/CPcsSession.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -240,11 +240,10 @@
 void CPcsSession::GetAsyncPcsResultsL(const RMessage2& aMessage)
 {
     __LATENCY_MARK ( _L("CPcsSession::GetAsyncPcsResultsL") );
-    PRINT( _L("Enter CPcsSession::GetAsyncPcsResultsL") );
+    PRINT ( _L("Enter CPcsSession::GetAsyncPcsResultsL") );
 
     if ( iBufferOverFlow == EFalse )
     {
-
         // -------------------------------------------------------------
 
 	    // Read search query from the message
@@ -255,10 +254,20 @@
         RPointerArray<CPsClientData> searchResults;
         RPointerArray<CPsPattern> searchSeqs;
 
-        iServer->PluginInterface()->PerformSearchL(*iSettings,
-                                                   *psQuery,
-                                                   searchResults,
-                                                   searchSeqs);
+
+        if( !iServer->IsChineseVariant() )
+             {
+             PRINT ( _L("----Algorithm1 search----") );
+             iServer->PluginInterface()->PerformSearchL(*iSettings,
+                                                        *psQuery,
+                                                        searchResults,
+                                                        searchSeqs);
+             }
+         else
+             {
+             PRINT ( _L("----Algorithm2 fake search----") );
+             }       
+
         CleanupStack::PopAndDestroy( psQuery );
 
 		// Dynamic data buffer
@@ -384,11 +393,18 @@
     // To hold matched location
     RArray<TPsMatchLocation> sequenceLoc;
 
-	iServer->PluginInterface()->SearchInputL(*psQuery,
-	                                         *data,
-	                                         searchSeqs,
-	                                         sequenceLoc);
-
+    if( !iServer->IsChineseVariant() )
+         {
+         PRINT ( _L("----Algorithm1 searchinput----") );
+         iServer->PluginInterface()->SearchInputL(*psQuery,
+                                                  *data,
+                                                  searchSeqs,
+                                                  sequenceLoc);
+         }
+     else
+         {
+         PRINT ( _L("----Algorithm2 fake searchinput----") );
+         }       
 
     // Delete the search query and search data
 	CleanupStack::PopAndDestroy( data );
@@ -462,7 +478,7 @@
 void CPcsSession::SearchMatchStringL(const RMessage2& aMessage)
 {
     PRINT ( _L("Enter CPcsSession::SearchMatchStringL") );
-    //__LATENCY_MARK ( _L("CPcsSession::SearchMatchStringL") );
+    __LATENCY_MARK ( _L("CPcsSession::SearchMatchStringL") );
 
     // -------------------------------------------------------------
 
@@ -509,8 +525,7 @@
     CleanupStack::PopAndDestroy(des);
     
     PRINT ( _L("End CPcsSession::SearchMatchStringL") );
-    //__LATENCY_MARKEND ( _L("CPcsSession::SearchMatchStringL") );
-
+    __LATENCY_MARKEND ( _L("CPcsSession::SearchMatchStringL") );
 }
 
 // ----------------------------------------------------------------------------
--- a/predictivesearch/PcsServerClientAPI/group/PsServerClientAPI.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/PcsServerClientAPI/group/PsServerClientAPI.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -41,4 +41,4 @@
 
 LIBRARY       PcsUtils.lib
 LIBRARY       VPbkEng.lib
-LIBRARY       ecom.lib
+LIBRARY       eCom.lib
--- a/predictivesearch/adapters/contacts/group/pscontactdatastore.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/adapters/contacts/group/pscontactdatastore.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -49,7 +49,7 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         euser.lib
-LIBRARY         ecom.lib
+LIBRARY         eCom.lib
 LIBRARY         efsrv.lib 
 
 LIBRARY         flogger.lib
@@ -57,6 +57,6 @@
 LIBRARY         PcsUtils.lib
 LIBRARY         VPbkEng.lib
 LIBRARY         centralrepository.lib
-LIBRARY         featmgr.lib
-LIBRARY         Pbk2Presentation.lib
+LIBRARY         FeatMgr.lib
+LIBRARY         pbk2presentation.lib
 
--- a/predictivesearch/adapters/contacts/inc/cpcscontactstore.h	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/adapters/contacts/inc/cpcscontactstore.h	Wed Oct 13 14:15:33 2010 +0300
@@ -267,7 +267,7 @@
         /**
          * Issues request to active object to call RunL method
          */
-        void IssueRequest( TInt aTimeDelay );
+        void IssueRequest( TInt timeDelay );
 
         /**
          * Creates a sort order depending on the fields specified in the cenrep
--- a/predictivesearch/adapters/contacts/src/cpcscontactfetch.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/adapters/contacts/src/cpcscontactfetch.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -35,7 +35,7 @@
 #include <MVPbkContactFieldTextData.h>
 #include <MVPbkContactStoreProperties.h>
 #include <MVPbkContactLink.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <VPbkContactStoreUris.h>
 #include <CVPbkContactViewDefinition.h>
 #include <MVPbkContactViewBase.h>
--- a/predictivesearch/adapters/contacts/src/cpcscontactstore.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/predictivesearch/adapters/contacts/src/cpcscontactstore.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -36,7 +36,7 @@
 #include <MVPbkContactFieldTextData.h>
 #include <MVPbkContactStoreProperties.h>
 #include <MVPbkContactLink.h>
-#include <vpbkeng.rsg>
+#include <VPbkEng.rsg>
 #include <VPbkContactStoreUris.h>
 #include <CVPbkContactViewDefinition.h>
 #include <MVPbkContactViewBase.h>
--- a/presencecache/presencecacheutils/group/presencecacheutils.mmp	Wed Sep 15 11:56:55 2010 +0300
+++ b/presencecache/presencecacheutils/group/presencecacheutils.mmp	Wed Oct 13 14:15:33 2010 +0300
@@ -45,7 +45,7 @@
 LIBRARY                 euser.lib
 LIBRARY                 bafl.lib
 LIBRARY                 estor.lib
-LIBRARY                 VPbkEng.lib
+LIBRARY                 vpbkeng.lib
 LIBRARY                 ecom.lib
 // UNICODE CONVERSION
 LIBRARY                 charconv.lib